﻿@keyframes check{0%{height:0;left:0;top:8px;width:0}50%{height:0;left:0;top:8px;width:4px}100%{height:10px;left:4px;top:0;width:4px}}@keyframes checkindeterminate{0%{width:0}100%{width:10px}}.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}:host([hidden]){display:none}:host(.justify-center) .ids-checkbox .checkmark,:host(.justify-center) .ids-checkbox:not([color]) input[type=checkbox]~.checkmark{top:calc(50% - 8px)}:host([no-margins]) .ids-checkbox,:host([no-margin]) .ids-checkbox{margin:var(--ids-space-none)}:host([no-margins]) .ids-checkbox label.empty,:host([no-margin]) .ids-checkbox label.empty{position:relative;top:4px}:host([margin-block-end=none]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-none:not(.no-margins){margin-block-end:var(--ids-space-none)}:host([margin-block-end="4xs"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-4xs:not(.no-margins){margin-block-end:var(--ids-space-4xs)}:host([margin-block-end="3xs"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-3xs:not(.no-margins){margin-block-end:var(--ids-space-3xs)}:host([margin-block-end="2xs"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-2xs:not(.no-margins){margin-block-end:var(--ids-space-2xs)}:host([margin-block-end=xs]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-xs:not(.no-margins){margin-block-end:var(--ids-space-xs)}:host([margin-block-end=sm]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-sm:not(.no-margins){margin-block-end:var(--ids-space-sm)}:host([margin-block-end=md]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-md:not(.no-margins){margin-block-end:var(--ids-space-md)}:host([margin-block-end=lg]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-lg:not(.no-margins){margin-block-end:var(--ids-space-lg)}:host([margin-block-end=xl]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-xl:not(.no-margins){margin-block-end:var(--ids-space-xl)}:host([margin-block-end="2xl"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-2xl:not(.no-margins){margin-block-end:var(--ids-space-2xl)}:host([margin-block-end="3xl"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-3xl:not(.no-margins){margin-block-end:var(--ids-space-3xl)}:host([margin-block-end="4xl"]:not([no-margins])) .ids-checkbox,.ids-checkbox.margin-block-end-4xl:not(.no-margins){margin-block-end:var(--ids-space-4xl)}:host(.event-type-checkbox) .ids-checkbox .ids-label-text{max-width:150px}.ids-checkbox{margin-bottom:var(--ids-checkbox-margin-bottom);pointer-events:none}.ids-checkbox label{cursor:normal;pointer-events:none;user-select:none;padding-inline-start:var(--ids-checkbox-padding-inline-start);margin-inline-end:var(--ids-checkbox-margin-inline-end);position:relative;inset-inline-start:0;display:block}.ids-checkbox label.empty::before{content:" "}.ids-checkbox label.required .label-checkbox span::after{position:relative;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);font-size:var(--ids-font-size-md);color:var(--ids-input-required-indicator-color-text-default);content:"*";margin-inline-start:1px;top:-4px;vertical-align:text-top}.ids-checkbox label.no-required-indicator .label-checkbox span::after,.ids-checkbox label.empty .label-checkbox span::after{content:""}.ids-checkbox label.no-required-indicator,.ids-checkbox label.empty{min-height:20px}.ids-checkbox .label-checkbox{cursor:var(--ids-cursor-pointer);pointer-events:none;position:relative;inset-inline-start:var(--ids-checkbox-label-inset-inline-start, 0);top:var(--ids-checkbox-label-top, 1px)}.ids-checkbox .label-checkbox span{pointer-events:auto;white-space:normal}.ids-checkbox.label-align-start{text-align:start}.ids-checkbox.label-align-end{text-align:end}.ids-checkbox.label-align-center{text-align:center}.ids-checkbox.label-align-justify{text-align:justify}.ids-checkbox.disabled label{cursor:var(--ids-cursor-default);opacity:var(--ids-checkbox-opacity-disabled)}.ids-checkbox.disabled label.required .label-checkbox span::after{color:var(--ids-input-required-indicator-color-text-disabled)}.ids-checkbox.hitbox{padding-top:var(--ids-space-12);padding-bottom:var(--ids-space-12)}.ids-checkbox.hitbox label{padding-inline-start:42px}.ids-checkbox.hitbox label span.checkmark{margin-inline-start:14px}.ids-checkbox.hitbox .validation-message{margin-inline-start:14px}.ids-checkbox.horizontal{margin-inline-end:var(--ids-space-12);display:inline-block}.ids-checkbox input[type=checkbox]{position:absolute;cursor:var(--ids-cursor-pointer);opacity:0;height:0;width:0}.ids-checkbox input[type=checkbox]~.checkmark{position:absolute;border:var(--ids-checkbox-border);border-radius:var(--ids-checkbox-border-radius);height:14px;width:14px;left:0;top:3px;cursor:var(--ids-cursor-pointer);pointer-events:auto}.ids-checkbox input[type=checkbox].error~.checkmark{border-color:var(--ids-checkbox-color-border-error)}.ids-checkbox input[type=checkbox]:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected);border-color:var(--ids-checkbox-color-border-selected)}.ids-checkbox input[type=checkbox]:checked~.checkmark::after{position:absolute;display:block;border:var(--ids-font-size-2xs) solid var(--ids-checkbox-color-border-selected-after);border-width:var(--ids-checkbox-border-width-selected-after);animation:check .15s ease-out;transform:rotate(45deg);content:"";height:10px;left:4px;top:0;width:4px}.ids-checkbox input[type=checkbox].indeterminate~.checkmark{background-color:var(--ids-checkbox-color-background-indeterminate);border-color:var(--ids-checkbox-color-border-indeterminate)}.ids-checkbox input[type=checkbox].indeterminate~.checkmark::after{position:absolute;animation:checkindeterminate .15s ease-out;display:block;border:1px solid var(--ids-checkbox-color-border-indeterminate-after);border-width:var(--ids-checkbox-border-width-indeterminate);content:"";height:6px;left:2px;top:0;transform:none;width:10px}.ids-checkbox input[type=checkbox]:focus~.checkmark{border-color:var(--ids-checkbox-color-border-focus);box-shadow:var(--ids-checkbox-shadow-focus)}.ids-checkbox input[type=checkbox]:focus.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error);box-shadow:var(--ids-checkbox-shadow-focus-error)}.ids-checkbox input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox input[type=checkbox]:disabled~.label-checkbox{cursor:var(--ids-cursor-default);color:var(--ids-checkbox-color-text-disabled)}.ids-checkbox input[type=checkbox]:disabled.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error)}.ids-checkbox input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox.no-animation input[type=checkbox]:checked~.checkmark::after{animation:none}.ids-checkbox[color=green] input[type=checkbox]~.checkmark{background-color:var(--ids-color-green-70);border-color:var(--ids-color-green-70)}.ids-checkbox[color=green] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=green] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=green] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-green-70)}.ids-checkbox[color=purple] input[type=checkbox]~.checkmark{background-color:var(--ids-color-purple-70);border-color:var(--ids-color-purple-70)}.ids-checkbox[color=purple] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=purple] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=purple] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-purple-70)}.ids-checkbox[color=blue] input[type=checkbox]~.checkmark{background-color:var(--ids-color-blue-70);border-color:var(--ids-color-blue-70)}.ids-checkbox[color=blue] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=blue] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=blue] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-blue-70)}.ids-checkbox[color=orange] input[type=checkbox]~.checkmark{background-color:var(--ids-color-orange-70);border-color:var(--ids-color-orange-70)}.ids-checkbox[color=orange] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=orange] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=orange] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-orange-70)}.ids-checkbox[color=red] input[type=checkbox]~.checkmark{background-color:var(--ids-color-red-70);border-color:var(--ids-color-red-70)}.ids-checkbox[color=red] input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}.ids-checkbox[color=red] input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}.ids-checkbox[color=red] input[type=checkbox]:focus~.checkmark{border-color:var(--ids-color-red-70)}.ids-checkbox .validation-message{margin-top:var(--ids-space-2xs);margin-inline-start:-1px}.ids-checkbox.has-focus input[type=checkbox]~.checkmark{border-color:var(--ids-checkbox-focus-border-color);box-shadow:var(--ids-checkbox-focus-box-shadow)}:host(.in-flex-item) .ids-checkbox{align-content:center;min-height:var(--ids-checkbox-inline-min-height, auto);margin-bottom:0}@media(width < 320px){:host(.in-flex-item) .ids-checkbox{margin-top:auto}}:host([label-position=inline-start]) .ids-checkbox{min-height:var(--ids-checkbox-inline-min-height, auto);display:flex;align-items:center}@media(width < 320px){:host([label-position=inline-start]) .ids-checkbox label{display:block;padding-inline-start:var(--ids-checkbox-padding-inline-start)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:auto;display:inline;order:2}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{display:contents;order:1}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;inset-inline-start:0;top:3px}}@container (width < 320px){:host([label-position=inline-start]) .ids-checkbox label{display:block;padding-inline-start:var(--ids-checkbox-padding-inline-start)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:auto;display:inline;order:2}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{display:contents;order:1}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;inset-inline-start:0;top:3px}}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;gap:var(--ids-space-xs);padding-inline-start:0}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width, auto);flex-shrink:0;display:flex;align-items:center}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper .checkmark{position:absolute;border:var(--ids-checkbox-border);border-radius:var(--ids-checkbox-border-radius);height:14px;width:14px;left:0;top:3px;position:relative;top:0;inset-inline-start:0;inset-inline-end:unset}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected);border-color:var(--ids-checkbox-color-border-selected)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:checked~.checkmark::after{position:absolute;display:block;border:var(--ids-font-size-2xs) solid var(--ids-checkbox-color-border-selected-after);border-width:var(--ids-checkbox-border-width-selected-after);animation:check .15s ease-out;transform:rotate(45deg);content:"";height:10px;left:4px;top:0;width:4px}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox].indeterminate~.checkmark{background-color:var(--ids-checkbox-color-background-indeterminate);border-color:var(--ids-checkbox-color-border-indeterminate)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox].indeterminate~.checkmark::after{position:absolute;animation:checkindeterminate .15s ease-out;display:block;border:1px solid var(--ids-checkbox-color-border-indeterminate-after);border-width:var(--ids-checkbox-border-width-indeterminate);content:"";height:6px;left:2px;top:0;transform:none;width:10px}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:focus~.checkmark{border-color:var(--ids-checkbox-color-border-focus);box-shadow:var(--ids-checkbox-shadow-focus)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:focus.error~.checkmark{border-color:var(--ids-checkbox-color-border-focus-error);box-shadow:var(--ids-checkbox-shadow-focus-error)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:disabled~.checkmark{background-color:var(--ids-checkbox-color-background-disabled);border-color:var(--ids-checkbox-color-border-disabled);cursor:var(--ids-cursor-default)}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper input[type=checkbox]:disabled:checked~.checkmark{background-color:var(--ids-checkbox-color-background-selected-disabled);border-color:var(--ids-checkbox-color-border-selected-disabled)}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed label{gap:unset}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed label::before{display:none}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed label ids-text{display:none}:host([label-position=inline-start]) .ids-checkbox.label-state-hidden label::before{display:none}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-end;text-align:end;top:unset;min-width:var(--ids-label-width, var(--ids-label-width-inline-start, 140px))}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start;min-width:unset}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start;min-width:unset}}:host([label-position=top]),:host(:not([label-position])){margin-top:var(--ids-checkbox-top-margin, 0)}:host([label-position=top]) .ids-checkbox,:host(:not([label-position])) .ids-checkbox{min-height:var(--ids-checkbox-inline-min-height, auto);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}:host([dir=rtl]) input[type=checkbox]~.checkmark{left:initial;right:0}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label{padding-inline-start:var(--ids-space-sm);overflow:hidden;text-overflow:ellipsis;vertical-align:top;display:flex;width:auto;min-width:max-content}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .label-checkbox{min-width:max-content;flex:1 1 auto}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .label-checkbox span{white-space:unset;overflow:hidden;text-overflow:ellipsis;display:block}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label ids-text::part(text),:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .ids-text{display:unset;position:relative;top:-1px}:host(.multiselect-checkbox.ellipsis[size=full]) .ids-checkbox label{display:flex;max-width:100%}:host(.multiselect-checkbox.ellipsis[size=full]) .ids-checkbox label .label-checkbox span{white-space:nowrap}:host(.multiselect-loaded) .ids-checkbox{text-indent:0;position:relative;top:-5px}:host(.multiselect-loaded) .ids-checkbox label{margin-inline-end:0;padding-inline-start:var(--ids-space-sm)}:host(.multiselect-checkbox) input[type=checkbox]:not(:checked):not(:disabled)~.checkmark{background-color:var(--ids-checkbox-color-background-multiselect);top:2px}:host(.multiselect-checkbox){margin-top:auto;margin-bottom:auto}:host(.multiselect-checkbox) .ids-checkbox ids-text{top:2px}:host(.multiselect-checkbox) .ids-checkbox ids-text:not(.empty){inset-inline-start:4px}:host([label-wrap=ellipsis]) .ids-checkbox label{min-width:0}:host([label-wrap=ellipsis]) .ids-checkbox .label-checkbox{display:block;width:var(--ids-label-width, 100%);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis]) .ids-checkbox .label-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox label{min-width:0}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox{display:block;width:var(--ids-label-width, 100%);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox{max-width:75%}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox.label-align-end .label-checkbox{margin-inline-start:auto}:host([label-wrap=ellipsis-no-stretch]) .ids-checkbox.label-align-center .label-checkbox{margin-inline:auto}:host([label-wrap=wrap-no-stretch]) .ids-checkbox .label-checkbox{max-width:75%}:host([label-wrap=wrap-no-stretch].in-flex-item) .ids-checkbox .label-checkbox{--ids-label-wrap-max-width: none}@media(width > 320px){:host([start-label-width]:not([label-position=inline-start])) .ids-checkbox{padding-inline-start:calc(var(--ids-start-label-width) + var(--ids-label-padding-inline-end))}}@container (max-width: 320px){:host([start-label-width]:not([label-position=inline-start])) .ids-checkbox{padding-inline-start:0}}.ids-checkbox .ids-label-text{padding-inline-end:var(--ids-checkbox-label-padding-inline-end, 0)}:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-checkbox .label-checkbox,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-checkbox .label-checkbox{max-width:none}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtY2hlY2tib3giLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcyIsImlkcy1jaGVja2JveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQW9JQSxpQkFDRSxHQUNFLFNBQ0EsT0FDQSxRQUNBLFFBR0YsSUFDRSxTQUNBLE9BQ0EsUUFDQSxVQUdGLEtBQ0UsWUFDQSxTQUNBLE1BQ0EsV0FJSiw4QkFDRSxHQUNFLFFBR0YsS0FDRSxZQy9KSixvQkNTRSxtQ0FDQSxrQ0RQQSxhQUNBLDhFQUNBLGdDQUNBLHNDQUVBLG9DQUNFLG9DQUdGLDZCQUNFLDJDQUdGLDhCQUNFLHVDQUdGLDBCQUNFLHVDQUVBLG1DQUNFLGlDQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGlDQUlKLDBCQUNFLHFDQUVBLG1DQUNFLDhCQUlKLHlCQUNFLG9DQUVBLGtDQUNFLCtCQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGdDQUlKLDRCQUNFLGFBS0Ysb0RBQ0UsYUVoRUYsbUdBRUUsYUFDQSw2Q0FHQSwrR0FDRSw2QkFDQSw2Q0FDQSxxQkFDQSxzQkFDQSxjQUlGLDJJQUNFLFdBQ0Esd0NBRUEseUJBSkYsMklBS0ksdUJBS0Ysc0JBREYsbUlBRUksb0JBQ0Esb0JBR0Ysb0NBTkYsbUlBT0ksb0JBQ0Esb0JBSUoseUJBcENGLG1HQXFDSSxlQUNBLDhDQUVBLCtHQUNFLGNBQ0Esb0JBQ0EsUUFHRixxSUFDRSxRQUdGLCtJQUNFLFFBQ0EsY0FDQSxZQUdGLDJJQUNFLGNBQ0EsZUFDQSxR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SEosNkJBTUUsZ0JBQ0EsbUJBRUEsb0RBQ0UsUUFFQSxnRUFDRSx1QkF2aEJGLGlEQUNFLFlBR0YsMkRBQ0UsY0FDQSxtQ0FDQSxlQUNBLGdCQUNBLHVCQUNBLG1CQUVBLGdFQUNFLGdCQUNBLHVCQUNBLG1CQWZKLDREQUNFLFlBR0Ysc0VBQ0UsY0FDQSxtQ0FDQSxlQUNBLGdCQUNBLHVCQUNBLG1CQUVBLDJFQUNFLGdCQUNBLHVCQUNBLG1CQVNKLHNFQUNFLGNBMmdCSixzRkFDRSx5QkFHRix5RkFDRSxtQkFqaEJBLGtFQUNFLGNBeWhCSiwrRUFDRSxpQ0FXRixzQkFDRSw0RUFDRSwrRkFJSiw4QkFDRSw0RUFDRSx3QkFLTiw4QkFDRSxtRUFHRixrTUFFRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2hlY2tib3ggTWl4aW5zLlxuICovXG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gVW5jaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtdW5jaGVja2VkKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItcmFkaXVzKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAzcHg7XG59XG5cbkBtaXhpbiBjaGVja2JveC11bmNoZWNrZWQtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZXJyb3IpO1xufVxuXG4vLyBDaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZC1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogdmFyKC0taWRzLWZvbnQtc2l6ZS0yeHMpIHNvbGlkIHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQtYWZ0ZXIpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItd2lkdGgtc2VsZWN0ZWQtYWZ0ZXIpO1xuICBhbmltYXRpb246IGNoZWNrIDAuMTVzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDRweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNHB4O1xufVxuXG4vLyBJbmRldGVybWluYXRlXG5AbWl4aW4gY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtaW5kZXRlcm1pbmF0ZSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogY2hlY2tpbmRldGVybWluYXRlIDAuMTVzIGVhc2Utb3V0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlLWFmdGVyKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXdpZHRoLWluZGV0ZXJtaW5hdGUpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiA2cHg7XG4gIGxlZnQ6IDJweDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4vLyBEaXNhYmxlZFxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkLWRpc2FibGVkKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXRleHQge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi8vIEZvY3VzXG5AbWl4aW4gY2hlY2tib3gtZm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWZvY3VzLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LXNoYWRvdy1mb2N1cy1lcnJvcik7XG59XG5cbi8vIENvbG9yZWRcbiRjb2xvci1uYW1lczogJ2dyZWVuJyAncHVycGxlJyAnYmx1ZScgJ29yYW5nZScgJ3JlZCc7XG4kY29sb3ItdmFyczogLS1pZHMtY29sb3ItZ3JlZW4tNzAgLS1pZHMtY29sb3ItcHVycGxlLTcwIC0taWRzLWNvbG9yLWJsdWUtNzAgLS1pZHMtY29sb3Itb3JhbmdlLTcwIC0taWRzLWNvbG9yLXJlZC03MDtcblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQoKSB7XG4gIEBlYWNoICRuYW1lIGluICRjb2xvci1uYW1lcyB7XG4gICAgJGk6IGxpc3QuaW5kZXgoJGNvbG9yLW5hbWVzLCAkbmFtZSk7XG4gICAgJGNvbG9yOiB2YXIoI3tsaXN0Lm50aCgkY29sb3ItdmFycywgJGkpfSk7XG5cbiAgICAmW2NvbG9yPScjeyRuYW1lfSddIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgY2hlY2sge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tpbmRldGVybWluYXRlIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgJi5oYXMtY3VzdG9tLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci15ZWxsb3ctMzApO1xuICAgIH1cbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLW9yYW5nZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1yZWQtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWJsdWUtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWdyZWVuLTMwKTtcbiAgICB9XG4gIH1cblxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3N1cHByZXNzLWVycm9yLW1lc3NhZ2VdKSB7XG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAyNDYzcHg7XG4kYnJlYWtwb2ludC14bDogMTE4M3B4O1xuJGJyZWFrcG9pbnQtbGc6IDkyOHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDkyN3B4O1xuJGJyZWFrcG9pbnQtc206IDc2N3B4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuJGJyZWFrcG9pbnQtbW9iaWxlLWZ1bGwtd2lkdGg6IDEwMjRweDtcblxuLy8gU2V0cyBUZXh0IEFudGlhbGlhc2luZ1xuQG1peGluIGFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIHZlbmRvciBwcmVmaXhlZCB0cmFuc2l0aW9ucyBmb3IgcmVndWxhciBhdHRyaWJ1dGVzIChub24tdmVuZG9yIHByZWZpeGVkKVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zLWxpc3QuLi4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbnMtbGlzdDtcbiAgfVxufVxuXG4vLyBtYWtlIHRoZSB0ZXh0IGludmlzaWJsZSB2aXN1YWxseSBidXQgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhdWRpYmxlKCkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tZGVwcmVjYXRlZCAqL1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IHZhcigtLWlkcy1sYWJlbC1wb3NpdGlvbi1pbmxpbmUtZ2FwLCA4cHgpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgLnRleHRhcmVhLWZpZWxkLWdyb3VwIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKDBweCAtIHZhcigtLWlkcy1zcGFjZS0yeHMpKTtcblxuICAgICAgICAvLyBMYWJlbCBhbmQgZmllbGQgc2l0IHNpZGUtYnktc2lkZSBhdCB0aGlzIGJyZWFrcG9pbnQsIHNvIHRoZSB3cmFwcGVkXG4gICAgICAgIC8vIG1lc3NhZ2UgYmVsb3cgbXVzdCBpbmRlbnQgdG8gdGhlIGZpZWxkIHN0YXJ0LiBBcHBsaWVkIHVuY29uZGl0aW9uYWxseVxuICAgICAgICAvLyAobm90IG9ubHkgdmlhIHRoZSBKUyBgLndyYXBwZWRgIGNsYXNzKSBzbyBhbGlnbm1lbnQgaXMgZGV0ZXJtaW5pc3RpY1xuICAgICAgICAvLyBhbmQgbm90IHN1YmplY3QgdG8gUmVzaXplT2JzZXJ2ZXIgdGltaW5nLlxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyA2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0wMCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgICAgfVxuXG4gICAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG5cbiAgICAgICYubGFiZWwtc3RhdGUtY29sbGFwc2VkIHtcbiAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGFsaWduZWQ6IHVzZSB2aWV3cG9ydCBtZWRpYSBxdWVyeSBpbnN0ZWFkIG9mIGNvbnRhaW5lciBxdWVyeVxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtob3Jpem9udGFsLWFsaWduZWRdKSB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGNvbnRhaW5lci10eXBlOiBub3JtYWw7XG5cbiAgICBAbWVkaWEgKHdpZHRoIDw9ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBnYXA6IHZhcigtLWlkcy1sYWJlbC1hbGlnbm1lbnQtZ2FwKTtcblxuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBBdC91bmRlciB0aGUgeHMgYnJlYWtwb2ludCB0aGUgbGFiZWwgc3RhY2tzIG9uIHRvcCBvZiB0aGUgZmllbGQsIHNvIHRoZVxuICAgICAgLy8gZW5kIGFsaWdubWVudCAocmlnaHQtYWxpZ25lZCwgZnVsbCBsYWJlbCB3aWR0aCkgbXVzdCByZXNldCB0byBzdGFydC5cbiAgICAgIC8vIEtlcHQgaW4gc3luYyB3aXRoIHRoZSBzdGFja2luZyBydWxlIGJlbG93IChgbWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c2ApXG4gICAgICAvLyBzbyB0aGUgYm91bmRhcnkgYXQgZXhhY3RseSAkYnJlYWtwb2ludC14cyBkb2Vzbid0IGxlYXZlIHRoZSBsYWJlbFxuICAgICAgLy8gcmlnaHQtYWxpZ25lZCBhbmQgb3ZlcmZsb3dpbmcgdGhlIGZpZWxkLlxuICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgICYucmVxdWlyZWQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC01cHg7XG4gICAgICAgICAgdG9wOiA3cHg7XG5cbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgIH1cblxuICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgICYucmVxdWlyZWQgLmxhYmVsLWNoZWNrYm94IHNwYW4ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN3aXRjaCBsYWJlbC1hbGlnbm1lbnQgZW5kXG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICAgIC5pZHMtc3dpdGNoIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmFkaW8gZ3JvdXAgbGFiZWwtYWxpZ25tZW50IGVuZFxuICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl1bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG4gIH1cbn1cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1zdGFydCBwb3NpdGlvblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdW2Vycm9yLXRyYWNrZXJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiB2YWxpZGF0aW9uIGlzIHByZXNlbnQgd2l0aCBzaHJpbmstdmFsdWUsIHVzZSBncmlkIHRvIGtlZXAgZmllbGQgd2lkdGggc3RhYmxlXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgICYuc20sICYubW0sICYubWQsICYubGcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAuaWRzLWlucHV0IGxhYmVsIHtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbGFiZWwtbWF4LWhlaWdodC1pbmxpbmUtc3RhcnQpO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtcmFkaW8tZ3JvdXAsXG4gIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgICBpZHMtdGV4dCB7XG4gICAgICAmLmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSB7XG4gIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1pbnB1dC1tYXJnaW4tYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgQGNvbnRhaW5lciAod2lkdGggPiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBweFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdpZHRoPVwiMFwiXSkge1xuICAvLyBXaGVuIGEgbGFiZWwgaXMgXCJpbmxpbmUtc3RhcnRcIiBhbmQgYGxhYmVsLXdpZHRoPVwiMHB4XCJgIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXNcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYud3JhcHBlZCAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIDExcHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIExhYmVsIGJyZWFrIGJlaGF2aW9yIGZvciBpbmxpbmUtZW5kIHBvc2l0aW9uXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J3Nocmluay1sYWJlbCddKSB7XG4gIEBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdicmVhayddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLy8gS2VlcCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGJlbG93IHRoZSBmaWVsZFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtaW5wdXQge1xuICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gV2hlbiBsYWJlbC13cmFwIGNvbnN0cmFpbnMgdGhlIGxhYmVsIHNpemUsIGVuc3VyZSBpdCBzdGF5cyB2ZXJ0aWNhbGx5IGNlbnRlcmVkXG4vLyBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgdG8gZmlsbCB0aGUgZmxleCBjb250YWluZXIgaGVpZ2h0XG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cImVsbGlwc2lzLW5vLXN0cmV0Y2hcIl06bm90KFtsYWJlbC1icmVhaz1cImJyZWFrXCJdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXTpub3QoW2xhYmVsLWJyZWFrPVwiYnJlYWtcIl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsIHtcbiAgICAgIGFsaWduLXNlbGY6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dCBhcmVhXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXTpub3QoW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSk6bm90KFtzaXplPSdmdWxsJ10pKSB7XG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzcwcHggKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpKTtcblxuICAgICAgLnRleHRhcmVhLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzcwcHggKyB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmlsdGVyIGZpZWxkXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICAvLyBGaWx0ZXIgZmllbGQgc3BlY2lmaWMgcnVsZXNcbiAgICAgICNvcGVyYXRvci1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrYm94ZXNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkge1xuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtkaXI9J3J0bCddKSAuaWRzLWNoZWNrYm94IHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSYWRpbyBidXR0b25zXG4vLyBUaGUgaW5saW5lIChzaWRlKSBsYWJlbCBsYXlvdXQgaXMgdG9nZ2xlZCBieSBgb25MYWJlbFBvc2l0aW9uQ2hhbmdlYCBpblxuLy8gaWRzLXJhZGlvLWdyb3VwIHZpYSB0aGUgYGxhYmVsLWlubGluZWAgLyBgbGFiZWwtaW5saW5lLWVuZC1zdGFja2VkYCBjbGFzc2VzLFxuLy8gd2hpY2ggYXJlIGRyaXZlbiBieSB0aGUgZ3JvdXAncyBvd24gd2lkdGguIFRoaXMgbGV0cyB0aGUgbGF5b3V0IHJlc3BvbmQgdG9cbi8vIGl0cyBjb250YWluZXIgcmF0aGVyIHRoYW4gdGhlIHZpZXdwb3J0LlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUsXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGZsZXgtc3RhcnQpO1xuICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8vIFdoZW4gYGhvcml6b250YWxgIGlzIHNldCwgdGhlIG9wdGlvbnMgZmxvdyBpbiBhIHJvdyByZWdhcmRsZXNzIG9mIHRoZSBpbmxpbmVcbi8vIGxhYmVsIHBvc2l0aW9uLCBzbyB0aGUgc2xvdCBtdXN0IG5vdCBmb3JjZSBhIHZlcnRpY2FsIHN0YWNrLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUuaG9yaXpvbnRhbCxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZS5ob3Jpem9udGFsIHtcbiAgc2xvdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICBzbG90IHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vLyBOYXJyb3cgYGlubGluZS1lbmRgOiBzdGFjayB3aXRoIHRoZSBsYWJlbCBiZW5lYXRoIHRoZSBvcHRpb25zXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUtZW5kLXN0YWNrZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcbiAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICBzbG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLy8gU3dpdGNoXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuc2xpZGVyIHtcbiAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgcmlnaHQ6IC00NXB4O1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkgLmlkcy1zd2l0Y2ggbGFiZWwge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1zd2l0Y2gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuc2xpZGVyIHtcbiAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG59XG5cbi8vIERhdGEgTGFiZWxcbkBtZWRpYSAod2lkdGggPiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLWRhdGEtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDhweDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuZGF0YSxcbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBiZWhhdmlvclxuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiAwO1xuXG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuOmhvc3QoaWRzLWNoZWNrYm94W2xhYmVsLXN0YXRlPVwiY29sbGFwc2VkXCJdKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1lbmRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS0yLCAwLjVyZW0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPVwiaGlkZGVuXCJdKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICAgIC5pZHMtaW5wdXQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEp1c3QgdGhlIGxhYmVsIHdpZHRoXG46aG9zdCB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEsXG4gIC5pZHMtY2hlY2tib3gsXG4gIC5pZHMtcmFkaW8sXG4gIC5pZHMtc3dpdGNoLFxuICAuaWRzLWRhdGEtbGFiZWwsXG4gIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICBsYWJlbCxcbiAgICAubGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIERlY2xhcmVkIGxhc3Qgc28gbGFiZWwtc3RhdGUgd2lucyBvdmVyIGxhYmVsLWFsaWdubWVudC9sYWJlbC1icmVhay9sYWJlbC13cmFwLFxuLy8ga2VlcGluZyB0aGUgcmFkaW8gZ3JvdXAgbGFiZWwgaGlkZGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIG90aGVyIGxheW91dCBhdHRyaWJ1dGVzLlxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT0nY29sbGFwc2VkJ10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtcmFkaW8tZ3JvdXAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXN0YXRlPSdoaWRkZW4nXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1zdGF0ZT0naGlkZGVuJ10pIHtcbiAgLmlkcy1yYWRpby1ncm91cCBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluJyBhcyBjaGVja2JveDtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4nIGFzIHZhbGlkO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcycgYXMgbGFiZWwtcG9zaXRpb247XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgKjtcblxuLy8gTWl4aW4gZm9yIGNoZWNrYm94IGxhYmVsIHdyYXAgZWxsaXBzaXNcbkBtaXhpbiBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1lbGxpcHNpcyB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoLCAxMDAlKTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGNoZWNrYm94IGxhYmVsIHdyYXAgbm8tc3RyZXRjaFxuQG1peGluIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLW5vLXN0cmV0Y2gge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtoaWRkZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbjpob3N0KC5qdXN0aWZ5LWNlbnRlcikgLmlkcy1jaGVja2JveCAuY2hlY2ttYXJrLFxuOmhvc3QoLmp1c3RpZnktY2VudGVyKSAuaWRzLWNoZWNrYm94Om5vdChbY29sb3JdKSBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xufVxuXG46aG9zdChbbm8tbWFyZ2luc10pIC5pZHMtY2hlY2tib3gsXG46aG9zdChbbm8tbWFyZ2luXSkgLmlkcy1jaGVja2JveCB7XG4gIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gIGxhYmVsLmVtcHR5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA0cHg7XG4gIH1cbn1cblxuJG1hcmdpbi1ibG9jay1lbmQtdG9rZW5zOiAnbm9uZScsICc0eHMnLCAnM3hzJywgJzJ4cycsICd4cycsICdzbScsICdtZCcsICdsZycsICd4bCcsICcyeGwnLCAnM3hsJywgJzR4bCc7XG5cbkBlYWNoICR0b2tlbiBpbiAkbWFyZ2luLWJsb2NrLWVuZC10b2tlbnMge1xuICA6aG9zdChbbWFyZ2luLWJsb2NrLWVuZD0nI3skdG9rZW59J106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtY2hlY2tib3gsXG4gIC5pZHMtY2hlY2tib3gubWFyZ2luLWJsb2NrLWVuZC0jeyR0b2tlbn06bm90KC5uby1tYXJnaW5zKSB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLSN7JHRva2VufSk7XG4gIH1cbn1cblxuOmhvc3QoLmV2ZW50LXR5cGUtY2hlY2tib3gpIC5pZHMtY2hlY2tib3gge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuLmlkcy1jaGVja2JveCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1jaGVja2JveC1tYXJnaW4tYm90dG9tKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgbGFiZWwge1xuICAgIGN1cnNvcjogbm9ybWFsO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtY2hlY2tib3gtbWFyZ2luLWlubGluZS1lbmQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmVtcHR5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCAubGFiZWwtY2hlY2tib3ggc3Bhbjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1tZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LXJlcXVpcmVkLWluZGljYXRvci1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgY29udGVudDogJyonO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMXB4O1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgIH1cblxuICAgICYubm8tcmVxdWlyZWQtaW5kaWNhdG9yLFxuICAgICYuZW1wdHkge1xuICAgICAgLmxhYmVsLWNoZWNrYm94IHNwYW46OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG5cbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0taWRzLWNoZWNrYm94LWxhYmVsLWluc2V0LWlubGluZS1zdGFydCwgMCk7XG4gICAgdG9wOiB2YXIoLS1pZHMtY2hlY2tib3gtbGFiZWwtdG9wLCAxcHgpO1xuXG4gICAgc3BhbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFiZWwgdGV4dCBhbGlnbm1lbnRcbiAgJi5sYWJlbC1hbGlnbiB7XG4gICAgJi1zdGFydCB7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmLWVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgfVxuXG4gICAgJi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtanVzdGlmeSB7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQgbGFiZWwge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtY2hlY2tib3gtb3BhY2l0eS1kaXNhYmxlZCk7XG5cbiAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuOjphZnRlciB7XG4gICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gICYuaGl0Ym94IHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLTEyKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA0MnB4O1xuXG4gICAgICBzcGFuLmNoZWNrbWFyayB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC11bmNoZWNrZWQoKTtcblxuICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgJi5lcnJvciB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtdW5jaGVja2VkLWVycm9yKCk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1jaGVja2VkKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZC1hZnRlcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaW5kZXRlcm1pbmF0ZSB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1mb2N1cygpO1xuICAgIH1cblxuICAgICY6Zm9jdXMuZXJyb3IgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWZvY3VzLWVycm9yKCk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgfiAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC10ZXh0KCk7XG4gICAgICB9XG5cbiAgICAgICYuZXJyb3IgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uby1hbmltYXRpb24ge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB+IC5jaGVja21hcms6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcmVkIENoZWNrYm94ZXNcbiAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY29sb3JlZCgpO1xuXG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gIH1cblxuICAmLmhhcy1mb2N1cyB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtZm9jdXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogdmFyKC0taWRzLWNoZWNrYm94LWlubGluZS1taW4taGVpZ2h0LCBhdXRvKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLWNoZWNrYm94IHtcbiAgLy8gVmVydGljYWwgY2VudGVyaW5nIHdoZW4gaW4gZm9ybS1sYXlvdXQgd2l0aCBhbGlnbi1pdGVtcz1cInN0YXJ0XCJcbiAgLy8gVXNlcyBtaW4taGVpZ2h0IGFuZCB0b3AtbWFyZ2luIGZyb20gZm9ybS1sYXlvdXQgY3VzdG9tIHByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogdmFyKC0taWRzLWNoZWNrYm94LWlubGluZS1taW4taGVpZ2h0LCBhdXRvKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBSZXNwb25zaXZlOiByZXZlcnQgdG8gZGVmYXVsdCBsYXlvdXQgYmVsb3cgYnJlYWtwb2ludC14c1xuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuICAgIH1cblxuICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGNoZWNrYm94LXdyYXBwZXIgYW5kIHVzZSB0aGUgZGVmYXVsdCBpbnB1dC9jaGVja21hcmsgb3V0c2lkZSBpdFxuICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIC5jaGVja21hcmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG4gICAgfVxuXG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgY2hlY2tib3gtd3JhcHBlciBhbmQgdXNlIHRoZSBkZWZhdWx0IGlucHV0L2NoZWNrbWFyayBvdXRzaWRlIGl0XG4gICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICBvcmRlcjogMTtcblxuICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0OiBpbmxpbmUtc3RhcnQgbGF5b3V0IChsYWJlbCBmaXJzdCwgdGhlbiBjaGVja2JveClcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAubGFiZWwtY2hlY2tib3gge1xuICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgsIGF1dG8pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtdW5jaGVja2VkKCk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IHVuc2V0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLmluZGV0ZXJtaW5hdGUgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmZvY3VzLmVycm9yIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1mb2N1cy1lcnJvcigpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106ZGlzYWJsZWQge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1zdGF0ZS1jb2xsYXBzZWQge1xuICAgIGxhYmVsIHtcbiAgICAgIGdhcDogdW5zZXQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGlkcy10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYubGFiZWwtc3RhdGUtaGlkZGVuIHtcbiAgICBsYWJlbCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbCBhbGlnbm1lbnQgZW5kIGZvciBpbmxpbmUtc3RhcnQgY2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddKSAuaWRzLWNoZWNrYm94IHtcbiAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICB0b3A6IHVuc2V0O1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoLCB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0LCAxNDBweCkpO1xuICB9XG5cbiAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yIHRvcC9kZWZhdWx0IGxhYmVsIHBvc2l0aW9uLCB1c2UgbWFyZ2luLXRvcCB0byBhbGlnbiB3aXRoIGlucHV0IGZpZWxkc1xuLy8gVXNpbmcgbWFyZ2luIGluc3RlYWQgb2YgYWxpZ24tc2VsZjplbmQgc28gdmFsaWRhdGlvbiBtZXNzYWdlcyBkb24ndCBzaGlmdCB0aGUgY2hlY2tib3hcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0ndG9wJ10pLFxuOmhvc3QoOm5vdChbbGFiZWwtcG9zaXRpb25dKSkge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtY2hlY2tib3gtdG9wLW1hcmdpbiwgMCk7XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogdmFyKC0taWRzLWNoZWNrYm94LWlubGluZS1taW4taGVpZ2h0LCBhdXRvKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gTmVnYXRlIHNvbWUgcnVsZXMgZm9yIFJUTFxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG46aG9zdCgubXVsdGlzZWxlY3QtY2hlY2tib3guZWxsaXBzaXMpIHtcbiAgLmlkcy1jaGVja2JveCBsYWJlbCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcblxuICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZHMtdGV4dDo6cGFydCh0ZXh0KSxcbiAgICAuaWRzLXRleHQge1xuICAgICAgZGlzcGxheTogdW5zZXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KC5tdWx0aXNlbGVjdC1jaGVja2JveC5lbGxpcHNpc1tzaXplPSdmdWxsJ10pIHtcbiAgLmlkcy1jaGVja2JveCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAubGFiZWwtY2hlY2tib3ggc3BhbiB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCgubXVsdGlzZWxlY3QtbG9hZGVkKSB7XG4gIC5pZHMtY2hlY2tib3gge1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01cHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNdWx0aXNlbGVjdCBjaGVja2JveFxuOmhvc3QoLm11bHRpc2VsZWN0LWNoZWNrYm94KSB7XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKTpub3QoOmRpc2FibGVkKSB+IC5jaGVja21hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLW11bHRpc2VsZWN0KTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG5cbiAgLmlkcy1jaGVja2JveCBpZHMtdGV4dCB7XG4gICAgdG9wOiAycHg7XG5cbiAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNHB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtd3JhcD0nZWxsaXBzaXMnXSkge1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xufVxuXG46aG9zdChbbGFiZWwtd3JhcD0nZWxsaXBzaXMtbm8tc3RyZXRjaCddKSB7XG4gIEBpbmNsdWRlIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLWVsbGlwc2lzKCk7XG4gIEBpbmNsdWRlIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLW5vLXN0cmV0Y2goKTtcblxuICAuaWRzLWNoZWNrYm94LmxhYmVsLWFsaWduLWVuZCAubGFiZWwtY2hlY2tib3gge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gIH1cblxuICAuaWRzLWNoZWNrYm94LmxhYmVsLWFsaWduLWNlbnRlciAubGFiZWwtY2hlY2tib3gge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J3dyYXAtbm8tc3RyZXRjaCddKSB7XG4gIEBpbmNsdWRlIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLW5vLXN0cmV0Y2goKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J3dyYXAtbm8tc3RyZXRjaCddLmluLWZsZXgtaXRlbSkge1xuICAuaWRzLWNoZWNrYm94IC5sYWJlbC1jaGVja2JveCB7XG4gICAgLS1pZHMtbGFiZWwtd3JhcC1tYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLy8gRW1wdHkgaW5saW5lLXN0YXJ0IHNwYWNlciBmb3IgYWxpZ25pbmcgY2hlY2tib3hlcyB3aXRoIGZvcm0gZmllbGRzIHRoYXQgdXNlXG4vLyBsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiLiBCZWxvdyB0aGUgeHMgYnJlYWtwb2ludCwgc2libGluZyBmb3JtIGZpZWxkc1xuLy8gY29sbGFwc2UgdG8gYSBzdGFja2VkIGxheW91dCBhbmQgdGhlIGNoZWNrYm94IHNob3VsZCBzaXQgZmx1c2guIFRoZSB2aWV3cG9ydFxuLy8gQG1lZGlhIHJ1bGUgaGFuZGxlcyB0aGUgbm8tY29udGFpbmVyLWFuY2VzdG9yIGNhc2U7IHRoZSBAY29udGFpbmVyIHJ1bGVcbi8vIGhhbmRsZXMgdGhlIGNhc2Ugd2hlcmUgYW4gYW5jZXN0b3IgKGUuZy4gaWRzLXNwbGl0dGVyLXBhbmUgY29udGFpbmVyLXF1ZXJpZXMpXG4vLyBwcm92aWRlcyBhIGNvbnRhaW5tZW50IGNvbnRleHQsIHNvIHRoZSBzcGFjZXIgZm9sbG93cyBwYW5lIHJlc2l6ZXMuXG46aG9zdChbc3RhcnQtbGFiZWwtd2lkdGhdOm5vdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1zdGFydC1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKSk7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtY2hlY2tib3ggLmlkcy1sYWJlbC10ZXh0IHtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtY2hlY2tib3gtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kLCAwKTtcbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXSkgLmlkcy1jaGVja2JveCAubGFiZWwtY2hlY2tib3gsXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkgLmlkcy1jaGVja2JveCAubGFiZWwtY2hlY2tib3gge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4iXX0= */