﻿@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: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][label-state=collapsed]) .ids-input label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea label,:host([label-position=inline-start][label-alignment][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{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]) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .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)}: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)}@media(width < 320px){:host(.in-flex-item) .ids-checkbox{margin-top:auto}}:host(.in-flex-item:last-child) .ids-checkbox{margin-bottom:0}: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}@media(width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start}}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox .label-checkbox{justify-content:flex-start;text-align:start}}: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;align-items: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}:host(.multiselect-checkbox.ellipsis) .ids-checkbox label .label-checkbox{min-width:0}: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-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-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-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}:host([label-position=inline-start][label-wrap=wrap]) .ids-checkbox label.required .label-checkbox span::after{content:""}:host([label-position=inline-start][label-wrap=wrap]) .ids-checkbox label.required .label-checkbox{position:relative}:host([label-position=inline-start][label-wrap=wrap]) .ids-checkbox label.required .label-checkbox::after{position:absolute;inset-inline-end:calc(-1*var(--ids-space-xs));top:0;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:"*";line-height:1}@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)}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtY2hlY2tib3giLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtbGFiZWwtcG9zaXRpb24tbWl4aW4uc2NzcyIsImlkcy1jaGVja2JveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJDQXFJQSxpQkFDRSxHQUNFLFNBQ0EsT0FDQSxRQUNBLFFBR0YsSUFDRSxTQUNBLE9BQ0EsUUFDQSxVQUdGLEtBQ0UsWUFDQSxTQUNBLE1BQ0EsV0FJSiw4QkFDRSxHQUNFLFFBR0YsS0FDRSxZQ2hLSixvQkNRRSxtQ0FDQSxrQ0ROQSxhQUNBLDhFQUNBLGdDQUNBLHNDQUVBLG9DQUNFLG9DQUdGLDZCQUNFLDJDQUdGLDhCQUNFLHVDQUdGLDBCQUNFLHVDQUVBLG1DQUNFLGlDQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGlDQUlKLDBCQUNFLHFDQUVBLG1DQUNFLDhCQUlKLHlCQUNFLG9DQUVBLGtDQUNFLCtCQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGdDQUlKLDRCQUNFLGFBS0Ysb0RBQ0UsYUVoRUYsbUdBRUUsYUFDQSw2Q0FHQSwrR0FDRSw2QkFDQSw2Q0FDQSxxQkFDQSxzQkFDQSxjQUlGLDJJQUNFLFdBQ0Esd0NBRUEseUJBSkYsMklBS0ksdUJBS0Ysc0JBREYsbUlBRUksb0JBQ0Esb0JBR0Ysb0NBTkYsbUlBT0ksb0JBQ0Esb0JBSUoseUJBcENGLG1HQXFDSSxlQUNBLFFBRUEsK0dBQ0UsY0FDQSxvQkFDQSxRQUdGLHFJQUNFLFFBR0YsK0lBQ0UsUUFDQSxjQUNBLFlBR0YsMklBQ0UsY0FDQSxlQUNBLFFBQ0Esb0RBTUEsd0RBS04sbURBQ0UsK0JBR0YseUJBQ0UsbURBQ0UsYUFDQSxlQUNBLDZDQUdBLHlEQUNFLGFBQ0EsbUJBQ0EsV0FDQSw2Q0FDQSxzQkFDQSx3QkFHRixtRUFDRSw2QkFDQSxjQUdGLHFFQUNFLGtCQUNBLG9CQUdGLG9FQUNFLE9BR0YsdUVBQ0UsV0FDQSx1RUFDQSx3Q0FJQSw2RkFDRSwyQkFNUiw4QkFDRSxtREFDRSxhQUNBLGVBQ0EsNkNBR0EseURBQ0UsYUFDQSxtQkFDQSxXQUNBLDZDQUNBLHNCQUNBLHdCQUdGLG1FQUNFLDZCQUNBLGNBR0YscUVBQ0Usa0JBQ0Esb0JBR0Ysb0VBQ0UsT0FHRix1RUFDRSxXQUNBLHVFQUNBLHlDQVFOLHVFQUNFLHNCQUVBLHVCQUhGLHVFQUlJLGFBQ0EsZUFDQSw2Q0FFQSw2RUFDRSxhQUNBLG1CQUNBLFdBQ0EsNkNBQ0EsdURBQ0Esc0JBQ0Esd0JBR0YsdUZBQ0UsNkJBQ0EsY0FHRix5RkFDRSxrQkFDQSxvQkFHRix3RkFDRSxPQUdGLDJGQUNFLFdBQ0EsdUVBQ0EseUNBT04sNklBRUUsbUNBRUEsc1VBRUUsb0JBQ0EsNkNBQ0EseUJBQ0EsZUFFQSw0QkFQRixzVUFRSSw0QkFSSixzVUFXRSxrQkFPQSx1QkFsQkYsc1VBbUJJLDJCQUNBLGlCQUNBLGtCQUdGLDRCQXhCRixzVUF5QkksMkJBQ0EsaUJBQ0Esa0JBSUEsc1lBQ0Usb0JBQ0Esa0JBQ0EsaUJBQ0Esc0JBQ0EsUUFHQSw0QkFSRixzWUFTSSxpQkFDQSxpQkFDQSwwQkFJRix1QkFmRixzWUFnQkksaUJBQ0EsaUJBQ0EsMEJBT1YsMkVBQ0UsT0FJQSw4RUFDRSxlQUNBLHFCQUVBLHVCQUpGLDhFQUtJLGtCQUdGLDRCQVJGLDhFQVNJLGtCQUlBLG1IQUNFLG9CQUNBLGtCQUNBLGlCQUNBLFdBQ0EsU0FPUixzQkFFSSw0RUFDRSxvQkFDQSxtQkFDQSx5QkFDQSxlQUVBLDJCQU5GLDRFQU9JLDZCQUdGLHlDQVZGLDRFQVdJLDRCQVFOLHFHQUNFLG9CQUNBLG1CQUNBLHlCQUlKLDJCQUVJLHFHQUNFLDRCQVdKLGtaQUVFLGFBTUosK1JBRUUsMENBT0YsZ2NBRUUsYUFDQSxpQkFFQSx3ZEFDRSxjQUdGLG9nQkFDRSxZQUNBLGNBSUYsZ2hCQUNFLFdBQ0Esc0JBUUosa1hBRUUsYUFDQSxNQUNBLDBDQUNBLDBDQUVBLDBZQUNFLGNBQ0EsV0FHRixzYkFDRSxjQUNBLFdBQ0EsWUFHRixrY0FDRSxpQkFDQSxXQUNBLFdBQ0Esc0JBQ0Esd0NBR0Ysa2VBQ0UsY0FDQSxzQkFHRix3L0NBQ0UsMENBTUosbUVBQ0Usb0RBSUEsZ0dBQ0UsbUJBQ0Esb0JBT0EsdU1BQ0UsYUFPTixzQkFDRSxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQUtOLDJCQUNFLGdGQUNFLGFBQ0EsK0NBRUEsMEdBQ0UsNkJBQ0EsY0FHRixxRkFDRSxhQUNBLHNCQUNBLGVBS04sc0JBQ0UsdUpBRUUsY0FHRiw2RUFDRSxPQUlKLDJCQUNFLHVPQUdFLGdCQU1KLHVCQUNFLDZHQUNFLGNBQ0EsTUFFQSxtSEFDRSxnQkFDQSw4Q0FPTixzQkFDRSxnRkFDRSxhQUNBLCtDQUVBLDBHQUNFLDZCQUNBLGNBR0YscUZBQ0UsYUFDQSxzQkFDQSxlQUtMLDJCQUNDLGdGQUNFLGFBQ0EsK0NBRUEsMEdBQ0UsNkJBQ0EsY0FHRixxRkFDRSxhQUNBLHNCQUNBLGVBT04seUlBRUUsYUFDQSxzQkFDQSxvQkFFQSxxSkFDRSxXQUNBLGNBR0YsMktBQ0UsWUFDQSxjQUlGLGlMQUNFLFdBQ0Esc0JBUUosOElBQ0UsYUFRQSxvY0FDRSxpQkFFQSx3ZUFDRSxxQkFFQSxvZ0JBQ0Usc0JBS04sb2ZBQ0Usd0RBUUosbUpBRUUsYUFFQSwrSkFDRSxjQUNBLFFBR0YscUxBQ0UsWUFDQSxjQUNBLFFBSUosd0VBQ0UsK0JBS0Ysc0JBQ0UsOEVBQ0UsYUFDQSwrQ0FFQSx3R0FDRSw2QkFDQSxvQkFDQSxjQUNBLFFBR0YsbUZBQ0UsYUFDQSxzQkFDQSxjQUNBLFNBT04scUlBRUUsYUFDQSxzQkFDQSxvQkFFQSxpSkFDRSxXQUNBLGNBQ0EsUUFHRix1S0FDRSxZQUNBLGNBQ0EsUUFJRiw2S0FDRSxzQkFDQSxRQUlKLGlFQUNFLCtCQUlKLHFDQUNFLHVEQVNFLHNWQUNFLDRDQUdGLDhYQUNFLGlCQU1OLHNCQUVJLG9HQUNFLCtDQUVBLG9IQUNFLDRDQU9SLHNCQUVJLHVEQUNFLGFBQ0EsZUFDQSwrQ0FFQSw2REFDRSw2QkFDQSw2Q0FDQSx1REFDQSxzQkFJRix3RUFDRSxrQkFDQSwwQ0FJRiwyRUFDRSxXQUNBLHlDQVFOLHNCQUVJLGtFQUNFLDZDQUdGLGdGQUNFLDZCQU1SLHlCQUVJLDRGQUNFLGNBR0YsZ0ZBQ0Usc0JBV04sb0lBRUUsYUFDQSxpREFDQSwrQkFFQSx3TEFDRSxpQ0FDQSwyQ0FHRiw4SUFDRSxhQUNBLHNCQVFGLG9LQUNFLG1CQUNBLGVBS0YsMkZBQ0Usb0JBQ0EsUUFHRixzRUFDRSxRQUtKLDZFQUNFLGFBQ0EsK0NBQ0EsK0JBQ0Esc0JBRUEsdUdBQ0UsaUNBQ0EsUUFHRixrRkFDRSxhQUNBLHNCQUNBLFFBS0osc0JBQ0UsaURBQ0UsYUFDQSxlQUNBLCtDQUVBLHVEQUNFLDZCQUNBLDZDQUNBLHVEQUNBLHVCQUNBLHNCQUdGLDhFQUNFLFdBQ0EsWUFJSiw4RUFDRSxxQkFDQSxRQUlBLHVGQUNFLFdBQ0EsZUFNTixzQkFDRSxxREFDRSxhQUNBLG1CQUNBLFFBQ0EsK0NBRUEsNERBQ0UsNkJBQ0EsNkNBQ0Esc0JBQ0EsbUJBQ0EsbUJBR0YsNkhBRUUsYUFDQSw4Q0FNTix5QkFFSSwwSkFHRSxhQUNBLHNCQUNBLGtCQUVBLDRLQUNFLFdBQ0EsaUJBQ0EsaUJBR0Ysc05BQ0Usc0JBTUosb0pBR0UsYUFDQSxzQkFDQSxrQkFDQSwrQkFFQSxzS0FDRSxXQUNBLGlCQUNBLGlCQUdGLGdOQUNFLHVCQU1SLCtCQUNFLHFCQUVBLGtCQUdGLDJDQUNFLGtCQUNBLGNBR0YsOEJBRUksMEpBR0UsYUFDQSxzQkFDQSxrQkFFQSw0S0FDRSxXQUNBLGlCQUNBLGlCQUdGLHNOQUNFLHNCQU1KLG9KQUdFLGFBQ0Esc0JBQ0Esa0JBQ0EsK0JBRUEsc0tBQ0UsV0FDQSxpQkFDQSxpQkFHRixnTkFDRSx1QkFPTix5QkFDRSxvRkFDRSxjQUtOLDhCQUVJLG9GQUNFLGNBY0YsK1dBRUUsNkJBU0osNE1BQ0UsYUFNRixzTUFDRSxrQkN6K0JKLGdCQUNFLGFBR0Ysa0lBRUUsb0JBR0YsbUVBRUUsNkJBRUEsMkZBQ0Usa0JBQ0EsUUFPRixvSEFFRSx1Q0FGRixvSEFFRSxzQ0FGRixvSEFFRSxzQ0FGRixvSEFFRSxzQ0FGRixnSEFFRSxxQ0FGRixnSEFFRSxxQ0FGRixnSEFFRSxxQ0FGRixnSEFFRSxxQ0FGRixnSEFFRSxxQ0FGRixvSEFFRSxzQ0FGRixvSEFFRSxzQ0FGRixvSEFFRSxzQ0FLRiwwREFDRSxnQkFJSixjQUNFLGdEQUNBLG9CQUVBLG9CQUNFLGNBQ0Esb0JBQ0EsaUJBQ0EsOERBQ0Esd0RBQ0Esa0JBQ0EscUJBQ0EsY0FFQSxrQ0FDRSxZQUdGLHlEQUNFLGtCQUNBLDhFQUNBLGtDQUNBLDZEQUNBLFlBQ0Esd0JBQ0EsU0FDQSx3QkFLQSw0SEFDRSxXQUhKLG9FQU1FLGdCQUlKLDhCQUNFLGlDQUNBLG9CQUNBLGtCQUNBLG1FQUNBLHVDQUVBLG1DQUNFLG9CQUNBLG1CQU1GLGdDQUNFLGlCQUdGLDhCQUNFLGVBR0YsaUNBQ0Usa0JBR0Ysa0NBQ0UsbUJBSUosNkJBQ0UsaUNBQ0EsNkNBRUEsa0VBQ0MsOERBSUgscUJBQ0UsZ0NBQ0EsbUNBRUEsMkJBQ0UsMEJBRUEsMENBQ0UseUJBSUoseUNBQ0UseUJBSUoseUJBQ0Usc0NBQ0EscUJBR0YsbUNBQ0Usa0JBQ0EsaUNBQ0EsVUFDQSxTQUNBLFFBRUEsOENKektGLGtCQUNBLGtDQUNBLGdEQUNBLFlBQ0EsV0FDQSxPQUNBLFFJc0tJLGlDQUNBLG9CQUdGLG9ESnRLRixvREkwS0Usc0RKcktGLCtEQUNBLHVESXVLSSw2REpuS0osa0JBQ0EsY0FDQSxzRkFDQSw2REFDQSw4QkFDQSx3QkFDQSxXQUNBLFlBQ0EsU0FDQSxNQUNBLFVJOEpFLDRESnpKRixvRUFDQSw0REkySkksbUVKdkpKLGtCQUNBLDJDQUNBLGNBQ0Esc0VBQ0EsNERBQ0EsV0FDQSxXQUNBLFNBQ0EsTUFDQSxlQUNBLFdJa0pFLG9ESnhIRixvREFDQSw0Q0kySEUsMERKdkhGLDBEQUNBLGtESTJISSx1REp0SkosK0RBQ0EsdURBQ0EsaUNJd0pJLDRESjNJSixpQ0FDQSw4Q0k4SUksNkRKeEpKLDBESTRKSSwrREp4Skosd0VBQ0EsZ0VJOEpFLDBFQUNFLGVKbElBLDJEQW9CSixpQkF2QlUsMEJBd0JWLGFBeEJVLDBCQU9OLG9FQTVDSiwrREFDQSx1REFDQSxpQ0E4Q0ksNEVBdENKLHdFQUNBLGdFQXlDSSxpRUFhSixhQTVCVSwwQkFHTiw0REFvQkosaUJBdkJVLDJCQXdCVixhQXhCVSwyQkFPTixxRUE1Q0osK0RBQ0EsdURBQ0EsaUNBOENJLDZFQXRDSix3RUFDQSxnRUF5Q0ksa0VBYUosYUE1QlUsMkJBR04sMERBb0JKLGlCQXZCVSx5QkF3QlYsYUF4QlUseUJBT04sbUVBNUNKLCtEQUNBLHVEQUNBLGlDQThDSSwyRUF0Q0osd0VBQ0EsZ0VBeUNJLGdFQWFKLGFBNUJVLHlCQUdOLDREQW9CSixpQkF2QlUsMkJBd0JWLGFBeEJVLDJCQU9OLHFFQTVDSiwrREFDQSx1REFDQSxpQ0E4Q0ksNkVBdENKLHdFQUNBLGdFQXlDSSxrRUFhSixhQTVCVSwyQkFHTix5REFvQkosaUJBdkJVLHdCQXdCVixhQXhCVSx3QkFPTixrRUE1Q0osK0RBQ0EsdURBQ0EsaUNBOENJLDBFQXRDSix3RUFDQSxnRUF5Q0ksK0RBYUosYUE1QlUsd0JJNElWLGtDQUNFLGdDQUNBLHlCQUlBLHdEQUNFLG9EQUNBLGdEQU1KLG1DQUNFLHFCQUNBLHVEQUVBLHNCQUpGLG1DQUtJLGlCQU9OLDhDQUNFLGdCQUdGLG1EQUdFLHVEQUNBLGFBQ0EsbUJBR0Esc0JBQ0UseURBQ0UsY0FDQSw4REFHRixtRUFDRSxXQUNBLGVBQ0EsUUFJRixxRUFDRSxpQkFDQSxRQUVBLGdGQUNFLGtCQUNBLHFCQUNBLFNBS04sMkJBQ0UseURBQ0UsY0FDQSw4REFHRixtRUFDRSxXQUNBLGVBQ0EsUUFJRixxRUFDRSxpQkFDQSxRQUVBLGdGQUNFLGtCQUNBLHFCQUNBLFNBTU4seURBQ0UsYUFDQSxtQkFDQSx3QkFDQSx1QkFHRixtRUFDRSxtQ0FDQSxjQUNBLGFBQ0EsbUJBR0YscUVBQ0Usa0JBQ0Esb0JBQ0EsbUJBQ0EsdUJBQ0EsY0FFQSwwRkFDRSxrQkFDQSxVQUNBLFFBQ0EsU0FHRixnRko3VkYsa0JBQ0Esa0NBQ0EsZ0RBQ0EsWUFDQSxXQUNBLE9BQ0EsUUkwVkksa0JBQ0EsTUFDQSxxQkFDQSx1QkFHRiw2R0p2VkYsK0RBQ0EsdURJeVZJLG9ISnJWSixrQkFDQSxjQUNBLHNGQUNBLDZEQUNBLDhCQUNBLHdCQUNBLFdBQ0EsWUFDQSxTQUNBLE1BQ0EsVUlnVkUsbUhKM1VGLG9FQUNBLDRESTZVSSwwSEp6VUosa0JBQ0EsMkNBQ0EsY0FDQSxzRUFDQSw0REFDQSxXQUNBLFdBQ0EsU0FDQSxNQUNBLGVBQ0EsV0lvVUUsMkdKMVNGLG9EQUNBLDRDSTZTRSxpSEp6U0YsMERBQ0Esa0RJNlNJLDhHSnhVSiwrREFDQSx1REFDQSxpQ0kwVUksc0hKbFVKLHdFQUNBLGdFSXdVRSwrRUFDRSxVQUVBLHVGQUNFLGFBR0Ysd0ZBQ0UsYUFRRixvRkFDRSxhQVFOLHdGQUNFLHlCQUNBLGVBQ0EsVUFHRixzQkFDRSx3RkFDRSwyQkFDQSxrQkFJSiwyQkFDRSx3RkFDRSwyQkFDQSxrQkFPTiwwREFFRSw2Q0FFQSxzRkFDRSx1REFDQSxhQUNBLG1CQU1GLGlEQUNFLGFBQ0EsUUFNRiwwREFDRSx5Q0FDQSxnQkFDQSx1QkFDQSxtQkFDQSxhQUdBLDBFQUNFLFlBRUEsK0VBQ0Usa0JBQ0EsZ0JBQ0EsdUJBQ0EsY0FJSixtSkFFRSxjQUNBLGtCQUNBLFNBTUoscUVBQ0UsYUFDQSxlQUVBLDBGQUNFLG1CQU1KLHlDQUNFLGNBQ0Esa0JBQ0EsU0FFQSwrQ0FDRSxvQkFDQSx5Q0FPSiwwRkFDRSxrRUFDQSxRQUhKLDZCQU1FLGdCQUNBLG1CQUVBLG9EQUNFLFFBRUEsZ0VBQ0UsdUJBamhCRiwyREFDRSxjQUNBLG1DQUNBLGVBQ0EsZ0JBQ0EsdUJBQ0EsbUJBRUEsZ0VBQ0UsZ0JBQ0EsdUJBQ0EsbUJBWEosc0VBQ0UsY0FDQSxtQ0FDQSxlQUNBLGdCQUNBLHVCQUNBLG1CQUVBLDJFQUNFLGdCQUNBLHVCQUNBLG1CQVNKLHNFQUNFLGNBeWdCSixzRkFDRSx5QkFHRix5RkFDRSxtQkEvZ0JBLGtFQUNFLGNBc2hCTixrTUFFRSxlQU9FLCtHQUNFLFdBR0YsbUdBQ0Usa0JBRUEsMEdBQ0Usa0JBQ0EsOENBQ0EsTUFDQSw4RUFDQSxrQ0FDQSw2REFDQSxZQUNBLGNBYU4sc0JBQ0UsNEVBQ0UsK0ZBSUosOEJBQ0UsNEVBQ0Usd0JBS04sOEJBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrYm94IE1peGlucy5cbiAqL1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi8vIFVuY2hlY2tlZFxuQG1peGluIGNoZWNrYm94LXVuY2hlY2tlZCgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXJhZGl1cyk7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogM3B4O1xufVxuXG5AbWl4aW4gY2hlY2tib3gtdW5jaGVja2VkLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWVycm9yKTtcbn1cblxuLy8gQ2hlY2tlZFxuQG1peGluIGNoZWNrYm94LWNoZWNrZWQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IHZhcigtLWlkcy1mb250LXNpemUtMnhzKSBzb2xpZCB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkLWFmdGVyKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXdpZHRoLXNlbGVjdGVkLWFmdGVyKTtcbiAgYW5pbWF0aW9uOiBjaGVjayAwLjE1cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxMHB4O1xuICBsZWZ0OiA0cHg7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDRweDtcbn1cblxuLy8gSW5kZXRlcm1pbmF0ZVxuQG1peGluIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLWluZGV0ZXJtaW5hdGUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItaW5kZXRlcm1pbmF0ZSk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbmltYXRpb246IGNoZWNraW5kZXRlcm1pbmF0ZSAwLjE1cyBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItaW5kZXRlcm1pbmF0ZS1hZnRlcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci13aWR0aC1pbmRldGVybWluYXRlKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogNnB4O1xuICBsZWZ0OiAycHg7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWR0aDogMTBweDtcbn1cblxuLy8gRGlzYWJsZWRcbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cy1lcnJvcik7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZC1kaXNhYmxlZCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC10ZXh0IHtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBjb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4vLyBGb2N1c1xuQG1peGluIGNoZWNrYm94LWZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LXNoYWRvdy1mb2N1cyk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1mb2N1cy1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cy1lcnJvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXMtZXJyb3IpO1xufVxuXG4vLyBDb2xvcmVkXG4kY29sb3ItbmFtZXM6ICdncmVlbicgJ3B1cnBsZScgJ2JsdWUnICdvcmFuZ2UnICdyZWQnO1xuJGNvbG9yLXZhcnM6IC0taWRzLWNvbG9yLWdyZWVuLTcwIC0taWRzLWNvbG9yLXB1cnBsZS03MCAtLWlkcy1jb2xvci1ibHVlLTcwIC0taWRzLWNvbG9yLW9yYW5nZS03MCAtLWlkcy1jb2xvci1yZWQtNzA7XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkKCkge1xuICBAZWFjaCAkbmFtZSBpbiAkY29sb3ItbmFtZXMge1xuICAgICRpOiBsaXN0LmluZGV4KCRjb2xvci1uYW1lcywgJG5hbWUpO1xuICAgICRjb2xvcjogdmFyKCN7bGlzdC5udGgoJGNvbG9yLXZhcnMsICRpKX0pO1xuXG4gICAgJltjb2xvcj0nI3skbmFtZX0nXSBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNvbG9yZWQtYm94KCRjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY29sb3JlZC1ib3gtZm9jdXMoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQtYm94KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZC1ib3gtZm9jdXMoJGNvbG9yKSB7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuXG5cbi8vIEFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgY2hlY2sge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tpbmRldGVybWluYXRlIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG5cbiAgJi5oYXMtY3VzdG9tLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIH1cblxuICAuaWRzLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gICYuYWxlcnQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci15ZWxsb3ctMzApO1xuICAgIH1cbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci13YXJuaW5nLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLW9yYW5nZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1yZWQtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1pbmZvLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWJsdWUtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWdyZWVuLTMwKTtcbiAgICB9XG4gIH1cblxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3N1cHByZXNzLWVycm9yLW1lc3NhZ2VdKSB7XG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAyNDYzcHg7XG4kYnJlYWtwb2ludC14bDogMTE4M3B4O1xuJGJyZWFrcG9pbnQtbGc6IDkyOHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDkyN3B4O1xuJGJyZWFrcG9pbnQtc206IDc2N3B4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuXG4vLyBTZXRzIFRleHQgQW50aWFsaWFzaW5nXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gdmVuZG9yIHByZWZpeGVkIHRyYW5zaXRpb25zIGZvciByZWd1bGFyIGF0dHJpYnV0ZXMgKG5vbi12ZW5kb3IgcHJlZml4ZWQpXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMtbGlzdC4uLikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9ucy1saXN0O1xuICB9XG59XG5cbi8vIG1ha2UgdGhlIHRleHQgaW52aXNpYmxlIHZpc3VhbGx5IGJ1dCByZWFkYWJsZSBieSBzY3JlZW4gcmVhZGVyc1xuQG1peGluIGF1ZGlibGUoKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkICovXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG5cbiAgICAgICAgLy8gTGFiZWwgYW5kIGZpZWxkIHNpdCBzaWRlLWJ5LXNpZGUgYXQgdGhpcyBicmVha3BvaW50LCBzbyB0aGUgd3JhcHBlZFxuICAgICAgICAvLyBtZXNzYWdlIGJlbG93IG11c3QgaW5kZW50IHRvIHRoZSBmaWVsZCBzdGFydC4gQXBwbGllZCB1bmNvbmRpdGlvbmFsbHlcbiAgICAgICAgLy8gKG5vdCBvbmx5IHZpYSB0aGUgSlMgYC53cmFwcGVkYCBjbGFzcykgc28gYWxpZ25tZW50IGlzIGRldGVybWluaXN0aWNcbiAgICAgICAgLy8gYW5kIG5vdCBzdWJqZWN0IHRvIFJlc2l6ZU9ic2VydmVyIHRpbWluZy5cbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgNnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMDApO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuXG4gICAgICAmLmxhYmVsLXN0YXRlLWNvbGxhcHNlZCB7XG4gICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBhbGlnbmVkOiB1c2Ugdmlld3BvcnQgbWVkaWEgcXVlcnkgaW5zdGVhZCBvZiBjb250YWluZXIgcXVlcnlcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11baG9yaXpvbnRhbC1hbGlnbmVkXSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBjb250YWluZXItdHlwZTogbm9ybWFsO1xuXG4gICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gQXQvdW5kZXIgdGhlIHhzIGJyZWFrcG9pbnQgdGhlIGxhYmVsIHN0YWNrcyBvbiB0b3Agb2YgdGhlIGZpZWxkLCBzbyB0aGVcbiAgICAgIC8vIGVuZCBhbGlnbm1lbnQgKHJpZ2h0LWFsaWduZWQsIGZ1bGwgbGFiZWwgd2lkdGgpIG11c3QgcmVzZXQgdG8gc3RhcnQuXG4gICAgICAvLyBLZXB0IGluIHN5bmMgd2l0aCB0aGUgc3RhY2tpbmcgcnVsZSBiZWxvdyAoYG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNgKVxuICAgICAgLy8gc28gdGhlIGJvdW5kYXJ5IGF0IGV4YWN0bHkgJGJyZWFrcG9pbnQteHMgZG9lc24ndCBsZWF2ZSB0aGUgbGFiZWxcbiAgICAgIC8vIHJpZ2h0LWFsaWduZWQgYW5kIG92ZXJmbG93aW5nIHRoZSBmaWVsZC5cbiAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtNXB4O1xuICAgICAgICAgIHRvcDogN3B4O1xuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBpbml0aWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBsYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggbGFiZWwtYWxpZ25tZW50IGVuZFxuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLXN3aXRjaCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJhZGlvIGdyb3VwIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdGhlIGxhYmVsIGlzIGNvbGxhcHNlZCwgcmVtb3ZlIGl0IGZyb20gdGhlIGlucHV0L3RleHRhcmVhIGxheW91dCBzbyB0aGVcbi8vIGVuZC1hbGlnbmVkIGxhYmVsIGRvZXMgbm90IHJlc2VydmUgc3BhY2UuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudF1bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG4gIH1cbn1cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1zdGFydCBwb3NpdGlvblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdW2Vycm9yLXRyYWNrZXJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiB2YWxpZGF0aW9uIGlzIHByZXNlbnQgd2l0aCBzaHJpbmstdmFsdWUsIHVzZSBncmlkIHRvIGtlZXAgZmllbGQgd2lkdGggc3RhYmxlXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgICYuc20sICYubW0sICYubWQsICYubGcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAuaWRzLWlucHV0IGxhYmVsIHtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbGFiZWwtbWF4LWhlaWdodC1pbmxpbmUtc3RhcnQpO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtcmFkaW8tZ3JvdXAsXG4gIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgICBpZHMtdGV4dCB7XG4gICAgICAmLmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSB7XG4gIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1pbnB1dC1tYXJnaW4tYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgQGNvbnRhaW5lciAod2lkdGggPiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBweFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdpZHRoPVwiMFwiXSkge1xuICAvLyBXaGVuIGEgbGFiZWwgaXMgXCJpbmxpbmUtc3RhcnRcIiBhbmQgYGxhYmVsLXdpZHRoPVwiMHB4XCJgIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXNcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTFweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1lbmQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aC1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXAgY29uc3RyYWlucyB0aGUgbGFiZWwgc2l6ZSwgZW5zdXJlIGl0IHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWRcbi8vIGluc3RlYWQgb2Ygc3RyZXRjaGluZyB0byBmaWxsIHRoZSBmbGV4IGNvbnRhaW5lciBoZWlnaHRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCB7XG4gICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgYXJlYVxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J106bm90KFtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pOm5vdChbc2l6ZT0nZnVsbCddKSkge1xuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbHRlciBmaWVsZFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLy8gRmlsdGVyIGZpZWxkIHNwZWNpZmljIHJ1bGVzXG4gICAgICAjb3BlcmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja2JveGVzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIC0taWRzLWNoZWNrYm94LXBhZGRpbmctaW5saW5lLXN0YXJ0OiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmFkaW8gYnV0dG9uc1xuLy8gVGhlIGlubGluZSAoc2lkZSkgbGFiZWwgbGF5b3V0IGlzIHRvZ2dsZWQgYnkgYG9uTGFiZWxQb3NpdGlvbkNoYW5nZWAgaW5cbi8vIGlkcy1yYWRpby1ncm91cCB2aWEgdGhlIGBsYWJlbC1pbmxpbmVgIC8gYGxhYmVsLWlubGluZS1lbmQtc3RhY2tlZGAgY2xhc3Nlcyxcbi8vIHdoaWNoIGFyZSBkcml2ZW4gYnkgdGhlIGdyb3VwJ3Mgb3duIHdpZHRoLiBUaGlzIGxldHMgdGhlIGxheW91dCByZXNwb25kIHRvXG4vLyBpdHMgY29udGFpbmVyIHJhdGhlciB0aGFuIHRoZSB2aWV3cG9ydC5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBmbGV4LXN0YXJ0KTtcbiAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4vLyBXaGVuIGBob3Jpem9udGFsYCBpcyBzZXQsIHRoZSBvcHRpb25zIGZsb3cgaW4gYSByb3cgcmVnYXJkbGVzcyBvZiB0aGUgaW5saW5lXG4vLyBsYWJlbCBwb3NpdGlvbiwgc28gdGhlIHNsb3QgbXVzdCBub3QgZm9yY2UgYSB2ZXJ0aWNhbCBzdGFjay5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLmhvcml6b250YWwsXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUuaG9yaXpvbnRhbCB7XG4gIHNsb3Qge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLy8gTmFycm93IGBpbmxpbmUtZW5kYDogc3RhY2sgd2l0aCB0aGUgbGFiZWwgYmVuZWF0aCB0aGUgb3B0aW9uc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLWVuZC1zdGFja2VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG4gIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8vIFN3aXRjaFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIC5pZHMtc3dpdGNoIGxhYmVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtc3dpdGNoIHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiAtNDVweDtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEYXRhIExhYmVsXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1kYXRhLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAubGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmRhdGEsXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgYmVoYXZpb3JcbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLWVuZFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkge1xuICAtLWlkcy1sYWJlbC13aWR0aDogMDtcblxuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbjpob3N0KGlkcy1jaGVja2JveFtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBKdXN0IHRoZSBsYWJlbCB3aWR0aFxuOmhvc3Qge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhLFxuICAuaWRzLWNoZWNrYm94LFxuICAuaWRzLXJhZGlvLFxuICAuaWRzLXN3aXRjaCxcbiAgLmlkcy1kYXRhLWxhYmVsLFxuICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgbGFiZWwsXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEZWNsYXJlZCBsYXN0IHNvIGxhYmVsLXN0YXRlIHdpbnMgb3ZlciBsYWJlbC1hbGlnbm1lbnQvbGFiZWwtYnJlYWsvbGFiZWwtd3JhcCxcbi8vIGtlZXBpbmcgdGhlIHJhZGlvIGdyb3VwIGxhYmVsIGhpZGRlbiByZWdhcmRsZXNzIG9mIHRoZSBvdGhlciBsYXlvdXQgYXR0cmlidXRlcy5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLXJhZGlvLWdyb3VwIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT0naGlkZGVuJ10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtc3RhdGU9J2hpZGRlbiddKSB7XG4gIC5pZHMtcmFkaW8tZ3JvdXAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJAdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jaGVja2JveC1taXhpbicgYXMgY2hlY2tib3g7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluJyBhcyB2YWxpZDtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MnIGFzIGxhYmVsLXBvc2l0aW9uO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIE1peGluIGZvciBjaGVja2JveCBsYWJlbCB3cmFwIGVsbGlwc2lzXG5AbWl4aW4gaWRzLWNoZWNrYm94LWxhYmVsLXdyYXAtZWxsaXBzaXMge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoLCAxMDAlKTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGNoZWNrYm94IGxhYmVsIHdyYXAgbm8tc3RyZXRjaFxuQG1peGluIGlkcy1jaGVja2JveC1sYWJlbC13cmFwLW5vLXN0cmV0Y2gge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtoaWRkZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbjpob3N0KC5qdXN0aWZ5LWNlbnRlcikgLmlkcy1jaGVja2JveCAuY2hlY2ttYXJrLFxuOmhvc3QoLmp1c3RpZnktY2VudGVyKSAuaWRzLWNoZWNrYm94Om5vdChbY29sb3JdKSBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLmNoZWNrbWFyayB7XG4gIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xufVxuXG46aG9zdChbbm8tbWFyZ2luc10pIC5pZHMtY2hlY2tib3gsXG46aG9zdChbbm8tbWFyZ2luXSkgLmlkcy1jaGVja2JveCB7XG4gIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gIGxhYmVsLmVtcHR5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA0cHg7XG4gIH1cbn1cblxuJG1hcmdpbi1ibG9jay1lbmQtdG9rZW5zOiAnbm9uZScsICc0eHMnLCAnM3hzJywgJzJ4cycsICd4cycsICdzbScsICdtZCcsICdsZycsICd4bCcsICcyeGwnLCAnM3hsJywgJzR4bCc7XG5cbkBlYWNoICR0b2tlbiBpbiAkbWFyZ2luLWJsb2NrLWVuZC10b2tlbnMge1xuICA6aG9zdChbbWFyZ2luLWJsb2NrLWVuZD0nI3skdG9rZW59J106bm90KFtuby1tYXJnaW5zXSkpIC5pZHMtY2hlY2tib3gsXG4gIC5pZHMtY2hlY2tib3gubWFyZ2luLWJsb2NrLWVuZC0jeyR0b2tlbn06bm90KC5uby1tYXJnaW5zKSB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLSN7JHRva2VufSk7XG4gIH1cbn1cblxuOmhvc3QoLmV2ZW50LXR5cGUtY2hlY2tib3gpIC5pZHMtY2hlY2tib3gge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuLmlkcy1jaGVja2JveCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1jaGVja2JveC1tYXJnaW4tYm90dG9tKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgbGFiZWwge1xuICAgIGN1cnNvcjogbm9ybWFsO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtY2hlY2tib3gtbWFyZ2luLWlubGluZS1lbmQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmVtcHR5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCAubGFiZWwtY2hlY2tib3ggc3Bhbjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1tZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LXJlcXVpcmVkLWluZGljYXRvci1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgY29udGVudDogJyonO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMXB4O1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgIH1cblxuICAgICYubm8tcmVxdWlyZWQtaW5kaWNhdG9yLFxuICAgICYuZW1wdHkge1xuICAgICAgLmxhYmVsLWNoZWNrYm94IHNwYW46OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG5cbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0taWRzLWNoZWNrYm94LWxhYmVsLWluc2V0LWlubGluZS1zdGFydCwgMCk7XG4gICAgdG9wOiB2YXIoLS1pZHMtY2hlY2tib3gtbGFiZWwtdG9wLCAxcHgpO1xuXG4gICAgc3BhbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFiZWwgdGV4dCBhbGlnbm1lbnRcbiAgJi5sYWJlbC1hbGlnbiB7XG4gICAgJi1zdGFydCB7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmLWVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgfVxuXG4gICAgJi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtanVzdGlmeSB7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQgbGFiZWwge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtY2hlY2tib3gtb3BhY2l0eS1kaXNhYmxlZCk7XG5cbiAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuOjphZnRlciB7XG4gICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gICYuaGl0Ym94IHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLTEyKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA0MnB4O1xuXG4gICAgICBzcGFuLmNoZWNrbWFyayB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC11bmNoZWNrZWQoKTtcblxuICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgJi5lcnJvciB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtdW5jaGVja2VkLWVycm9yKCk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1jaGVja2VkKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZC1hZnRlcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaW5kZXRlcm1pbmF0ZSB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1mb2N1cygpO1xuICAgIH1cblxuICAgICY6Zm9jdXMuZXJyb3IgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWZvY3VzLWVycm9yKCk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgfiAubGFiZWwtY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC10ZXh0KCk7XG4gICAgICB9XG5cbiAgICAgICYuZXJyb3IgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uby1hbmltYXRpb24ge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB+IC5jaGVja21hcms6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcmVkIENoZWNrYm94ZXNcbiAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY29sb3JlZCgpO1xuXG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gIH1cblxuICAmLmhhcy1mb2N1cyB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtZm9jdXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmluLWZsZXgtaXRlbSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogdmFyKC0taWRzLWNoZWNrYm94LWlubGluZS1taW4taGVpZ2h0LCBhdXRvKTtcblxuICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gT25seSBkcm9wIHRoZSBib3R0b20gbWFyZ2luIHdoZW4gdGhlIGNoZWNrYm94IGlzIGxhc3QgaW4gaXRzIGZsZXgtaXRlbSAoZmxleFxuLy8gYGdhcGAgaGFuZGxlcyBzcGFjaW5nKTsga2VlcCBpdCB3aGVuIGEgc2libGluZyBmaWVsZCBmb2xsb3dzIGluIHRoZSBzYW1lIGl0ZW0uXG46aG9zdCguaW4tZmxleC1pdGVtOmxhc3QtY2hpbGQpIC5pZHMtY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLWNoZWNrYm94IHtcbiAgLy8gVmVydGljYWwgY2VudGVyaW5nIHdoZW4gaW4gZm9ybS1sYXlvdXQgd2l0aCBhbGlnbi1pdGVtcz1cInN0YXJ0XCJcbiAgLy8gVXNlcyBtaW4taGVpZ2h0IGFuZCB0b3AtbWFyZ2luIGZyb20gZm9ybS1sYXlvdXQgY3VzdG9tIHByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogdmFyKC0taWRzLWNoZWNrYm94LWlubGluZS1taW4taGVpZ2h0LCBhdXRvKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBSZXNwb25zaXZlOiByZXZlcnQgdG8gZGVmYXVsdCBsYXlvdXQgYmVsb3cgYnJlYWtwb2ludC14c1xuICBAbWVkaWEgKHdpZHRoIDwgJGJyZWFrcG9pbnQteHMpIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuICAgIH1cblxuICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGNoZWNrYm94LXdyYXBwZXIgYW5kIHVzZSB0aGUgZGVmYXVsdCBpbnB1dC9jaGVja21hcmsgb3V0c2lkZSBpdFxuICAgIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIC5jaGVja21hcmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1jaGVja2JveC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG4gICAgfVxuXG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgY2hlY2tib3gtd3JhcHBlciBhbmQgdXNlIHRoZSBkZWZhdWx0IGlucHV0L2NoZWNrbWFyayBvdXRzaWRlIGl0XG4gICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICBvcmRlcjogMTtcblxuICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0OiBpbmxpbmUtc3RhcnQgbGF5b3V0IChsYWJlbCBmaXJzdCwgdGhlbiBjaGVja2JveClcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAubGFiZWwtY2hlY2tib3gge1xuICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgsIGF1dG8pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja2JveC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtdW5jaGVja2VkKCk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IHVuc2V0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLmluZGV0ZXJtaW5hdGUgfiAuY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LmNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmZvY3VzLmVycm9yIH4gLmNoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1mb2N1cy1lcnJvcigpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106ZGlzYWJsZWQge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC5jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1zdGF0ZS1jb2xsYXBzZWQge1xuICAgIGxhYmVsIHtcbiAgICAgIGdhcDogdW5zZXQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGlkcy10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYubGFiZWwtc3RhdGUtaGlkZGVuIHtcbiAgICBsYWJlbCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbCBhbGlnbm1lbnQgZW5kIGZvciBpbmxpbmUtc3RhcnQgY2hlY2tib3hlc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9J2VuZCddKSAuaWRzLWNoZWNrYm94IHtcbiAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICB0b3A6IHVuc2V0O1xuICB9XG5cbiAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvciB0b3AvZGVmYXVsdCBsYWJlbCBwb3NpdGlvbiwgdXNlIG1hcmdpbi10b3AgdG8gYWxpZ24gd2l0aCBpbnB1dCBmaWVsZHNcbi8vIFVzaW5nIG1hcmdpbiBpbnN0ZWFkIG9mIGFsaWduLXNlbGY6ZW5kIHNvIHZhbGlkYXRpb24gbWVzc2FnZXMgZG9uJ3Qgc2hpZnQgdGhlIGNoZWNrYm94XG46aG9zdChbbGFiZWwtcG9zaXRpb249J3RvcCddKSxcbjpob3N0KDpub3QoW2xhYmVsLXBvc2l0aW9uXSkpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taWRzLWNoZWNrYm94LXRvcC1tYXJnaW4sIDApO1xuXG4gIC5pZHMtY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1jaGVja2JveC1pbmxpbmUtbWluLWhlaWdodCwgYXV0byk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi8vIE5lZ2F0ZSBzb21lIHJ1bGVzIGZvciBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cblxuOmhvc3QoLm11bHRpc2VsZWN0LWNoZWNrYm94LmVsbGlwc2lzKSB7XG4gIC5pZHMtY2hlY2tib3ggbGFiZWwge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG5cbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWRzLXRleHQ6OnBhcnQodGV4dCksXG4gICAgLmlkcy10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCgubXVsdGlzZWxlY3QtY2hlY2tib3guZWxsaXBzaXNbc2l6ZT0nZnVsbCddKSB7XG4gIC5pZHMtY2hlY2tib3ggbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLmxhYmVsLWNoZWNrYm94IHNwYW4ge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLm11bHRpc2VsZWN0LWxvYWRlZCkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNXB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTXVsdGlzZWxlY3QgY2hlY2tib3hcbjpob3N0KC5tdWx0aXNlbGVjdC1jaGVja2JveCkge1xuICBpbnB1dFt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCk6bm90KDpkaXNhYmxlZCkgfiAuY2hlY2ttYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1tdWx0aXNlbGVjdCk7XG4gICAgdG9wOiAycHg7XG4gIH1cblxuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuXG4gIC5pZHMtY2hlY2tib3ggaWRzLXRleHQge1xuICAgIHRvcDogMnB4O1xuXG4gICAgJjpub3QoLmVtcHR5KSB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDRweDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ10pIHtcbiAgQGluY2x1ZGUgaWRzLWNoZWNrYm94LWxhYmVsLXdyYXAtZWxsaXBzaXMoKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG5cbiAgLmlkcy1jaGVja2JveC5sYWJlbC1hbGlnbi1lbmQgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveC5sYWJlbC1hbGlnbi1jZW50ZXIgLmxhYmVsLWNoZWNrYm94IHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtY2hlY2tib3gtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd3JhcD0nd3JhcC1uby1zdHJldGNoJ10pIC5pZHMtY2hlY2tib3ggLmxhYmVsLWNoZWNrYm94LFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13cmFwPSdlbGxpcHNpcy1uby1zdHJldGNoJ10pIC5pZHMtY2hlY2tib3ggLmxhYmVsLWNoZWNrYm94IHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXA9XCJ3cmFwXCIgd2l0aCBpbmxpbmUtc3RhcnQsIG1vdmUgdGhlIHJlcXVpcmVkIGFzdGVyaXNrIGZyb21cbi8vIHRyYWlsaW5nIHRoZSB0ZXh0IHRvIGEgdG9wLWFsaWduZWQgcG9zaXRpb24gYWZ0ZXIgdGhlIGxhYmVsLWNoZWNrYm94IGVsZW1lbnRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtd3JhcD0nd3JhcCddKSB7XG4gIC5pZHMtY2hlY2tib3ggbGFiZWwucmVxdWlyZWQge1xuICAgIC5sYWJlbC1jaGVja2JveCBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAubGFiZWwtY2hlY2tib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1tZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEVtcHR5IGlubGluZS1zdGFydCBzcGFjZXIgZm9yIGFsaWduaW5nIGNoZWNrYm94ZXMgd2l0aCBmb3JtIGZpZWxkcyB0aGF0IHVzZVxuLy8gbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIi4gQmVsb3cgdGhlIHhzIGJyZWFrcG9pbnQsIHNpYmxpbmcgZm9ybSBmaWVsZHNcbi8vIGNvbGxhcHNlIHRvIGEgc3RhY2tlZCBsYXlvdXQgYW5kIHRoZSBjaGVja2JveCBzaG91bGQgc2l0IGZsdXNoLiBUaGUgdmlld3BvcnRcbi8vIEBtZWRpYSBydWxlIGhhbmRsZXMgdGhlIG5vLWNvbnRhaW5lci1hbmNlc3RvciBjYXNlOyB0aGUgQGNvbnRhaW5lciBydWxlXG4vLyBoYW5kbGVzIHRoZSBjYXNlIHdoZXJlIGFuIGFuY2VzdG9yIChlLmcuIGlkcy1zcGxpdHRlci1wYW5lIGNvbnRhaW5lci1xdWVyaWVzKVxuLy8gcHJvdmlkZXMgYSBjb250YWlubWVudCBjb250ZXh0LCBzbyB0aGUgc3BhY2VyIGZvbGxvd3MgcGFuZSByZXNpemVzLlxuOmhvc3QoW3N0YXJ0LWxhYmVsLXdpZHRoXTpub3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkpIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtc3RhcnQtbGFiZWwtd2lkdGgpICsgdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCkpO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLWNoZWNrYm94IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaWRzLWNoZWNrYm94IC5pZHMtbGFiZWwtdGV4dCB7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWNoZWNrYm94LWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCwgMCk7XG59XG4iXX0= */