taskgenius_taskgenius-plugin/styles.css
2025-11-06 22:57:26 +08:00

18429 lines
1.4 MiB

/* @settings
name: Task Genius
id: task-genius
settings:
-
id: task-colors-heading
title: Checkbox Status Colors
type: heading
level: 1
-
id: task-completed-color
title: Completed Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#4caf50'
-
id: task-doing-color
title: Doing Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#80dee5'
default-dark: '#379fa7'
-
id: task-in-progress-color
title: In Progress Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f9d923'
default-dark: '#ffc107'
-
id: task-abandoned-color
title: Abandoned Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#eb5353'
default-dark: '#f44336'
-
id: task-planned-color
title: Planned Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9c27b0'
default-dark: '#ce93d8'
-
id: task-question-color
title: Question Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#2196f3'
default-dark: '#42a5f5'
-
id: task-important-color
title: Important Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-star-color
title: Star Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ffc107'
default-dark: '#ffd54f'
-
id: task-quote-color
title: Quote Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#607d8b'
default-dark: '#90a4ae'
-
id: task-location-color
title: Location Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#795548'
default-dark: '#8d6e63'
-
id: task-bookmark-color
title: Bookmark Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ff9800'
default-dark: '#ffb74d'
-
id: task-information-color
title: Information Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#00bcd4'
default-dark: '#26c6da'
-
id: task-idea-color
title: Idea Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9c27b0'
default-dark: '#ce93d8'
-
id: task-pros-color
title: Pros Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#66bb6a'
-
id: task-cons-color
title: Cons Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-fire-color
title: Fire Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ff5722'
default-dark: '#ff7043'
-
id: task-key-color
title: Key Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ffd700'
default-dark: '#ffd700'
-
id: task-win-color
title: Win Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#66bb6a'
default-dark: '#81c784'
-
id: task-up-color
title: Up Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4caf50'
default-dark: '#66bb6a'
-
id: task-down-color
title: Down Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f44336'
default-dark: '#ef5350'
-
id: task-note-color
title: Note Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#9e9e9e'
default-dark: '#bdbdbd'
-
id: task-amount-color
title: Amount/Savings Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#8bc34a'
default-dark: '#aed581'
-
id: task-speech-color
title: Speech Bubble Task Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#03a9f4'
default-dark: '#29b6f6'
-
id: progress-bar-colors
title: Progress Bar Colors
type: heading
level: 1
-
id: progress-0-color
title: 0% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#ae431e'
default-dark: '#ae431e'
-
id: progress-25-color
title: 25% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#e5890a'
default-dark: '#e5890a'
-
id: progress-50-color
title: 50% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#b4c6a6'
default-dark: '#b4c6a6'
-
id: progress-75-color
title: 75% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#6bcb77'
default-dark: '#6bcb77'
-
id: progress-100-color
title: 100% Progress Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#4d96ff'
default-dark: '#4d96ff'
-
id: progress-background-color
title: Progress Bar Background Color
type: variable-themed-color
opacity: false
format: hex
default-light: '#f1f1f1'
default-dark: '#f1f1f1'
*/
/* src/styles/progressbar.css */
.cm-task-progress-bar {
display: inline-block;
position: relative;
margin-left: 5px;
margin-bottom: 1px;
}
.no-progress-bar .cm-task-progress-bar {
display: none !important;
}
.HyperMD-header .cm-task-progress-bar {
display: inline-block;
position: relative;
margin-left: 5px;
margin-bottom: 5px;
}
.progress-bar-inline {
height: 8px;
position: relative;
}
.progress-bar-inline-empty {
background-color: var(--progress-background-color);
}
.progress-bar-inline-0 {
background-color: var(--progress-0-color);
}
.progress-bar-inline-1 {
background-color: var(--progress-25-color);
}
.progress-bar-inline-2 {
background-color: var(--progress-50-color);
}
.progress-bar-inline-3 {
background-color: var(--progress-75-color);
}
.progress-bar-inline-complete {
background-color: var(--progress-100-color);
}
.progress-completed {
background-color: var(--task-completed-color);
z-index: 3;
}
.progress-in-progress {
background-color: var(--task-in-progress-color);
z-index: 2;
position: absolute;
top: 0;
height: 100%;
}
.progress-abandoned {
background-color: var(--task-abandoned-color);
z-index: 1;
position: absolute;
top: 0;
height: 100%;
}
.progress-planned {
background-color: var(--task-planned-color);
z-index: 1;
position: absolute;
top: 0;
height: 100%;
}
.progress-bar-inline-background {
color: #000 !important;
background-color: var(--progress-background-color);
border-radius: 10px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 85px;
position: relative;
overflow: hidden;
}
.progress-bar-inline-background.hidden {
display: none;
}
.cm-task-progress-bar .task-status-indicator {
display: inline-block;
margin-right: 2px;
}
.cm-task-progress-bar .completed-indicator {
color: var(--task-completed-color);
}
.cm-task-progress-bar .in-progress-indicator {
color: var(--task-in-progress-color);
}
.cm-task-progress-bar .abandoned-indicator {
color: var(--task-abandoned-color);
}
.cm-task-progress-bar .planned-indicator {
color: var(--task-planned-color);
}
.cm-task-progress-bar.with-number {
display: inline-flex;
align-items: center;
}
.HyperMD-header .cm-task-progress-bar.with-number .progress-bar-inline-background,
.HyperMD-header .cm-task-progress-bar.with-number .progress-status {
margin-bottom: 5px;
}
.cm-task-progress-bar.with-number .progress-bar-inline-background {
margin-bottom: -2px;
width: 42px;
}
.cm-task-progress-bar.with-number .progress-status {
font-size: 13px;
margin-left: 3px;
}
.theme-dark .progress-completed {
background-color: var(--task-completed-color);
}
.theme-dark .progress-in-progress {
background-color: var(--task-in-progress-color);
}
.theme-dark .progress-abandoned {
background-color: var(--task-abandoned-color);
}
.theme-dark .progress-planned {
background-color: var(--task-planned-color);
}
.task-progress-bar-popover {
width: 400px;
}
/* src/styles/modal.css */
.confirm-modal-buttons {
display: flex;
gap: var(--size-4-3);
justify-content: flex-end;
margin-top: var(--size-4-3);
}
.list-config-modal {
min-width: 400px;
max-width: 600px;
}
.list-config-description {
margin-bottom: var(--size-4-3);
color: var(--text-muted);
font-size: var(--font-smaller);
}
.list-config-container {
margin: var(--size-4-3) 0;
max-height: 300px;
overflow-y: auto;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-2-3);
}
.list-config-empty {
text-align: center;
padding: var(--size-4-6);
}
.list-config-empty-text {
color: var(--text-muted);
font-style: italic;
margin: 0;
}
.list-config-item {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-2);
}
.list-config-item:last-child {
margin-bottom: 0;
}
.list-config-input {
flex: 1;
padding: var(--size-2-1) var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-ui-small);
}
.list-config-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.list-config-delete-btn {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border: none;
background: var(--background-modifier-error);
color: var(--text-on-accent);
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
}
.list-config-delete-btn:hover {
background: var(--background-modifier-error-hover);
}
.list-config-delete-icon {
font-size: 14px;
font-weight: bold;
line-height: 1;
}
.bulk-date-picker-modal .modal-content {
min-width: 320px;
}
.bulk-date-offset-modal .modal-content {
min-width: 400px;
max-width: 500px;
}
.bulk-offset-button-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: var(--size-2-3);
}
.bulk-offset-button-container button {
width: 100%;
}
.bulk-offset-custom-section {
margin-top: var(--size-4-6);
padding-top: var(--size-4-3);
border-top: 1px solid var(--background-modifier-border);
}
.bulk-offset-custom-section label {
display: block;
margin-bottom: var(--size-2-3);
font-weight: 500;
color: var(--text-normal);
}
.modal-description {
margin-bottom: var(--size-4-3);
color: var(--text-muted);
font-size: var(--font-ui-small);
}
/* src/styles/date-picker.css */
.date-picker-root-container {
display: flex;
flex-direction: column;
width: 100%;
min-width: 500px;
max-width: 600px;
}
.date-picker-root-container .date-picker-main-panel {
display: flex;
gap: var(--size-2-3);
padding: var(--size-2-3);
}
.date-picker-root-container .date-picker-left-panel {
flex: 1;
min-width: 200px;
border-right: 1px solid var(--background-modifier-border);
}
.date-picker-root-container .date-picker-right-panel {
flex: 1;
min-width: 250px;
}
.date-picker-root-container .date-picker-section-title {
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
margin-bottom: var(--size-4-2);
color: var(--text-normal);
}
.date-picker-root-container .quick-options-container {
display: flex;
flex-direction: column;
gap: var(--size-2-1);
max-height: 195px;
overflow: auto;
overflow-x: hidden;
}
.date-picker-root-container .quick-option-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-2-2) var(--size-4-2);
cursor: pointer;
transition: background-color 0.2s ease;
}
.date-picker-root-container .quick-option-item:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .quick-option-item.selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.date-picker-root-container .quick-option-item.clear-option {
border-top: 1px solid var(--background-modifier-border);
margin-top: var(--size-2-2);
padding-top: var(--size-2-3);
color: var(--text-error);
}
.date-picker-root-container .quick-option-item.clear-option:hover {
color: var(--text-on-accent);
background-color: var(--background-modifier-error-hover);
}
.date-picker-root-container .quick-option-label {
font-size: var(--font-ui-small);
font-weight: var(--font-medium);
}
.date-picker-root-container .quick-option-date {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-family: var(--font-monospace);
}
.date-picker-root-container .quick-option-item.selected .quick-option-date {
color: var(--text-on-accent);
}
.date-picker-root-container .calendar-container {
display: flex;
flex-direction: column;
}
.date-picker-root-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--size-4-2);
padding: 0 var(--size-2-2);
}
.date-picker-root-container .calendar-nav-btn {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
}
.date-picker-root-container .calendar-nav-btn:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .calendar-month-year {
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
color: var(--text-normal);
}
.date-picker-root-container .calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
background-color: var(--background-modifier-border);
border-radius: var(--radius-s);
overflow: hidden;
}
.date-picker-root-container .calendar-day-header {
background-color: var(--background-secondary);
padding: var(--size-2-2);
text-align: center;
font-size: var(--font-ui-smaller);
font-weight: var(--font-bold);
color: var(--text-muted);
}
.date-picker-root-container .calendar-day {
background-color: var(--background-primary);
padding: var(--size-2-2);
text-align: center;
font-size: var(--font-ui-small);
cursor: pointer;
transition: background-color 0.2s ease;
min-height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.date-picker-root-container .calendar-day:hover {
background-color: var(--background-modifier-hover);
}
.date-picker-root-container .calendar-day.other-month {
color: var(--text-faint);
background-color: var(--background-secondary);
}
.date-picker-root-container .calendar-day.today {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
font-weight: var(--font-bold);
}
.date-picker-root-container .calendar-day.selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: var(--font-bold);
}
.date-picker-root-container .calendar-day.today.selected {
background-color: var(--interactive-accent);
box-shadow: inset 0 0 0 2px var(--text-on-accent);
}
.date-picker-popover.tg-menu {
z-index: 20;
position: fixed;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
box-shadow: var(--shadow-l);
max-height: 80vh;
overflow: auto;
}
.date-picker-popover.tg-menu .date-picker-popover-content {
padding: 0;
}
@media (max-width: 768px) {
.date-picker-root-container .date-picker-main-panel {
flex-direction: column;
gap: var(--size-4-2);
}
.date-picker-root-container .date-picker-left-panel {
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
padding-right: 0;
padding-bottom: var(--size-4-2);
}
.date-picker-root-container {
min-width: 300px;
max-width: 400px;
}
.date-picker-root-container .calendar-day {
min-height: 40px;
font-size: var(--font-ui-medium);
}
}
.date-picker-root-container .date-picker-widget-error {
color: var(--text-error);
background-color: var(--background-modifier-error);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
}
/* src/styles/task-details.css */
.task-details .panel-toggle-container {
left: 10px;
}
.task-details {
width: 300px;
flex-shrink: 0;
border-left: 1px solid var(--background-modifier-border);
height: 100%;
overflow-y: auto;
display: flex;
flex-direction: column;
transition: all 0.3s ease-in-out;
position: relative;
min-width: 250px;
max-width: 400px;
background-color: var(--background-secondary);
order: 1;
}
.task-genius-container.details-hidden .task-details {
width: 0;
opacity: 0;
margin-right: -300px;
overflow: hidden;
}
.task-genius-container.details-visible .task-details {
width: 350px;
opacity: 1;
margin-right: 0;
}
.is-phone .task-details,
.is-mobile .task-details {
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 100%;
max-width: 100%;
z-index: 10;
transform: translateX(100%);
}
.is-phone .task-genius-container.details-hidden .task-details,
.is-mobile .task-genius-container.details-hidden .task-details,
.is-mobile .tg-fluent-container.details-hidden .task-details {
width: 100%;
margin-right: 0;
transform: translateX(100%);
}
.is-phone .task-genius-container.details-visible .task-details,
.is-mobile .task-genius-container.details-visible .task-details,
.is-mobile .tg-fluent-container.details-visible .task-details {
width: calc(100% - var(--size-4-12));
transform: translateX(0);
}
.is-phone .task-genius-container.details-visible::before,
.is-mobile .task-genius-container.details-visible::before,
.is-mobile .tg-fluent-container.details-visible::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .details-close-btn,
.is-mobile .details-close-btn {
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .details-header,
.is-mobile .details-header {
padding: var(--size-4-4);
}
.details-empty {
display: flex;
height: 100%;
align-items: center;
justify-content: center;
text-align: center;
color: var(--text-muted);
padding: 20px;
}
.details-header {
padding: var(--size-4-4);
padding-bottom: var(--size-4-3);
padding-top: var(--size-4-3);
font-weight: 600;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.1em;
}
.details-content {
padding: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
overflow-y: auto;
padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8));
}
.details-name {
margin: 0 0 8px 0;
padding: 0;
font-size: 1.3em;
line-height: 1.3;
}
.details-status-container {
display: flex;
justify-content: space-between;
align-items: center;
}
.details-status-label {
text-transform: uppercase;
font-size: var(--font-ui-small);
}
.details-status {
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
background-color: var(--color-accent);
color: var(--text-on-accent);
font-size: var(--font-ui-small);
}
.details-status-selector {
display: flex;
justify-content: space-evenly;
align-items: center;
}
.menu-item-title:has(.status-option) {
display: flex;
align-items: center;
gap: 4px;
}
.menu-item:has(.status-option-checkbox) .menu-item-icon {
display: none;
}
.menu-item:has(.status-option-icon) .menu-item-icon {
display: none;
}
.status-option-icon {
display: flex;
align-items: center;
justify-content: center;
margin-right: var(--size-2-2);
}
.status-option-checkbox {
display: flex;
align-items: center;
justify-content: center;
}
.status-option {
display: flex;
justify-content: center;
text-transform: uppercase;
}
.status-option.current {
outline-offset: 2px;
outline: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
outline-style: dashed;
}
.status-option:not(.current) {
opacity: 0.8;
}
.status-option:not(.current):hover {
opacity: 1;
}
.status-option input.task-list-item-checkbox {
margin-inline-end: 0;
}
.details-metadata {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.metadata-field {
display: flex;
flex-direction: column;
gap: 2px;
}
.metadata-label {
font-size: 0.8em;
color: var(--text-muted);
}
.metadata-value {
word-break: break-word;
font-size: 0.95em;
}
.details-actions {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 8px;
margin-bottom: var(--size-4-4);
}
.details-edit-btn,
.details-toggle-btn {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 6px 12px;
color: var(--text-normal);
cursor: pointer;
font-size: var(--font-ui-small);
}
.details-edit-btn:hover,
.details-toggle-btn:hover {
background-color: var(--interactive-hover);
}
.details-toggle-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.details-edit-form {
display: flex;
flex-direction: column;
gap: 12px;
}
.details-form-field {
display: flex;
flex-direction: column;
gap: 4px;
}
.details-form-label {
font-size: 0.8em;
color: var(--text-muted);
font-weight: 500;
}
.details-form-input {
width: 100%;
}
.details-edit-content {
font-weight: 500;
}
.details-form-input input,
.details-form-input select {
width: 100%;
padding: 6px 8px;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.date-input {
width: 100%;
padding: 6px 8px;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
}
.field-description {
font-size: 0.7em;
color: var(--text-muted);
margin-top: 2px;
}
.tags-editor {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
}
.tags-editor__list {
display: flex;
flex-wrap: wrap;
gap: 6px;
flex: 1;
}
.tags-editor__tag {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border-radius: 999px;
background-color: var(--background-modifier-border);
color: var(--text-muted);
font-size: 0.8em;
line-height: 1.4;
}
.tags-editor__tag-label {
color: var(--text-normal);
}
.tags-editor__remove {
background: none;
border: none;
color: var(--text-muted);
cursor: pointer;
font-size: 0.8em;
line-height: 1;
padding: 0 2px;
}
.tags-editor__remove:hover {
color: var(--text-error);
}
.tags-editor__add {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-size: 1em;
}
.tags-editor__add:hover {
background: var(--interactive-accent-hover);
}
.tags-editor__input {
min-width: 140px;
}
.tags-editor__input input {
width: 100%;
padding: 4px 6px;
}
.tags-editor__input--hidden {
display: none;
}
.tags-editor__empty {
font-size: 0.8em;
color: var(--text-muted);
}
.tags-editor__tag div.clickable-icon {
padding: 0;
--icon-size: 12px;
}
.details-form-buttons {
display: flex;
justify-content: space-between;
margin-top: 16px;
gap: 8px;
}
.details-form-buttons button {
flex: 1;
justify-content: center;
}
.details-form-error {
color: var(--text-error);
font-size: 0.8em;
margin-top: 8px;
padding: 8px;
background-color: var(--background-modifier-error);
border-radius: 4px;
}
.details-edit-file-btn {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 6px 12px;
color: var(--text-normal);
cursor: pointer;
font-size: var(--font-ui-small);
}
.details-edit-file-btn:hover {
background-color: var(--interactive-hover);
}
.is-mobile .tg-fluent-container .task-details {
position: fixed;
right: 0;
top: 0;
bottom: 0;
height: 100vh;
width: 85vw;
max-width: 400px;
z-index: 1001;
background-color: var(--background-secondary);
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
}
.is-mobile .task-details .details-close-btn:hover {
background-color: var(--background-modifier-active-hover);
}
.is-mobile .details-content {
padding-bottom: var(--size-4-12);
}
@media screen and (max-width: 768px) {
.task-omnifocus-container {
flex-direction: column;
}
.task-sidebar {
width: 100%;
max-width: 100%;
height: auto;
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
}
.task-content {
width: 100%;
flex: 1;
}
.task-details {
width: 100%;
max-width: 100%;
border-left: none;
}
}
.project-source-indicator {
display: flex;
align-items: center;
gap: 4px;
margin-top: 4px;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.85em;
line-height: 1.2;
}
.project-source-indicator .indicator-icon {
font-size: 0.9em;
}
.project-source-indicator .indicator-text {
color: var(--text-muted);
}
.project-source-indicator.readonly-indicator {
border: 1px solid var(--background-modifier-error);
}
.project-source-indicator.readonly-indicator .indicator-text {
color: var(--text-error);
font-weight: 500;
}
.project-source-indicator.override-indicator {
border: 1px solid var(--background-modifier-accent);
}
.project-source-indicator.override-indicator .indicator-text {
color: var(--text-accent);
}
.field-description.readonly-description {
color: var(--text-error);
font-size: 0.8em;
margin-top: 4px;
font-style: italic;
}
.field-description.override-description {
color: var(--text-accent);
font-size: 0.8em;
margin-top: 4px;
font-style: italic;
}
.project-source-indicator.inline-indicator {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 10;
margin-top: 2px;
padding: 2px 6px;
font-size: 0.75em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.project-source-indicator.table-indicator {
position: absolute;
top: 2px;
right: 2px;
padding: 1px 3px;
font-size: 0.7em;
border-radius: 2px;
z-index: 5;
}
.project-source-indicator.table-indicator .indicator-icon {
font-size: 0.8em;
}
.task-table-cell.readonly-cell {
background-color: var(--background-modifier-error-hover);
opacity: 0.8;
}
.project-container.project-readonly {
position: relative;
}
.project-container.project-readonly .project-source-indicator {
margin-top: 8px;
}
/* src/styles/onCompletion.css */
.oncompletion-configurator {
display: flex;
flex-direction: column;
gap: 12px;
padding: 12px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background-color: var(--background-secondary);
}
.oncompletion-action-type {
display: flex;
flex-direction: column;
gap: 6px;
}
.oncompletion-label {
font-weight: 600;
color: var(--text-normal);
font-size: 0.9em;
}
.oncompletion-config {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid var(--background-modifier-border-hover);
}
.oncompletion-field {
display: flex;
flex-direction: column;
gap: 4px;
}
.oncompletion-description {
font-size: 0.8em;
color: var(--text-muted);
font-style: italic;
margin-top: 2px;
}
.oncompletion-action-type .dropdown {
width: 100%;
}
.oncompletion-field .text-input {
width: 100%;
padding: 6px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
}
.oncompletion-field .text-input:focus {
border-color: var(--interactive-accent);
outline: none;
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.oncompletion-field .checkbox-container {
display: flex;
align-items: center;
gap: 8px;
}
.task-id-suggestion {
font-weight: 600;
color: var(--text-accent);
}
.task-content-preview {
font-size: 0.85em;
color: var(--text-muted);
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 300px;
}
.file-name {
font-weight: 500;
color: var(--text-normal);
}
.file-path {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 2px;
}
.action-type-suggestion {
font-weight: 600;
color: var(--text-accent);
}
.action-description {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 2px;
}
.oncompletion-configurator.invalid {
border-color: var(--text-error);
background-color: var(--background-modifier-error);
}
.oncompletion-configurator.valid {
border-color: var(--text-success);
}
.oncompletion-validation-message {
font-size: 0.8em;
margin-top: 4px;
padding: 4px 6px;
border-radius: 3px;
}
.oncompletion-validation-message.error {
color: var(--text-error);
background-color: var(--background-modifier-error);
}
.oncompletion-validation-message.success {
color: var(--text-success);
}
.task-details .oncompletion-configurator {
margin-top: 8px;
border: none;
background-color: transparent;
padding: 0;
}
.task-details .oncompletion-field {
margin-bottom: 8px;
}
@media (max-width: 768px) {
.oncompletion-configurator {
padding: 8px;
gap: 8px;
}
.oncompletion-config {
gap: 8px;
}
.task-content-preview {
max-width: 200px;
}
}
.theme-dark .oncompletion-configurator {
background-color: var(--background-primary-alt);
}
.theme-dark .oncompletion-field .text-input {
background-color: var(--background-secondary);
border-color: var(--background-modifier-border-hover);
}
@media (prefers-contrast: high) {
.oncompletion-configurator {
border-width: 2px;
}
.oncompletion-field .text-input {
border-width: 2px;
}
.oncompletion-field .text-input:focus {
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
}
.oncompletion-config {
transition: all 0.2s ease-in-out;
}
.oncompletion-field {
opacity: 1;
transform: translateY(0);
transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.oncompletion-field.entering {
opacity: 0;
transform: translateY(-10px);
}
.oncompletion-field.exiting {
opacity: 0;
transform: translateY(10px);
}
.oncompletion-modal {
--dialog-width: 600px;
--dialog-max-width: 90vw;
--dialog-max-height: 80vh;
}
.oncompletion-modal .modal-content {
padding: 0;
max-height: var(--dialog-max-height);
overflow-y: auto;
}
.oncompletion-modal-content {
padding: 20px;
max-height: 60vh;
overflow-y: auto;
}
.oncompletion-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
padding: 16px 20px;
border-top: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.oncompletion-modal-buttons button {
min-width: 80px;
}
.inline-oncompletion-button-container {
display: inline-flex;
align-items: center;
}
.inline-oncompletion-config-button {
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
cursor: pointer;
transition: all 0.15s ease;
min-width: 100px;
text-align: left;
}
.inline-oncompletion-config-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.inline-oncompletion-config-button:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.inline-oncompletion-config-button:active {
background-color: var(--background-modifier-active);
transform: scale(0.98);
}
@media (max-width: 768px) {
.oncompletion-modal {
--dialog-width: 95vw;
--dialog-max-height: 85vh;
}
.oncompletion-modal-content {
padding: 16px;
max-height: 65vh;
}
.oncompletion-modal-buttons {
padding: 12px 16px;
flex-direction: column-reverse;
}
.oncompletion-modal-buttons button {
width: 100%;
min-width: unset;
}
}
/* src/styles/universal-suggest.css */
.universal-suggest-item {
display: flex;
align-items: center;
cursor: pointer;
border-radius: 4px;
transition: background-color 0.1s ease;
}
.universal-suggest-item:hover {
background-color: var(--background-modifier-hover);
}
.universal-suggest-item.is-selected {
background-color: var(--background-modifier-active-hover);
}
.universal-suggest-container {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
overflow: hidden;
}
.universal-suggest-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin-right: 12px;
color: var(--text-muted);
flex-shrink: 0;
}
.universal-suggest-content {
flex: 1;
min-width: 0;
}
.universal-suggest-label {
font-weight: 500;
color: var(--text-normal);
margin-bottom: 2px;
}
.universal-suggest-description {
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.3;
}
.cm-editor .cm-line .universal-suggest-trigger {
background-color: var(--background-modifier-accent);
color: var(--text-accent);
border-radius: 2px;
padding: 1px 2px;
}
.suggestion-container .universal-suggest-item {
border-bottom: 1px solid var(--background-modifier-border);
}
.suggestion-container .universal-suggest-item:last-child {
border-bottom: none;
}
.theme-dark .universal-suggest-item:hover {
background-color: var(--background-modifier-hover);
}
.theme-dark .universal-suggest-item.is-selected {
background-color: var(--background-modifier-active-hover);
}
@media (prefers-contrast: high) {
.universal-suggest-item {
border: 1px solid var(--background-modifier-border);
margin-bottom: 2px;
}
.universal-suggest-item:hover,
.universal-suggest-item.is-selected {
border-color: var(--text-accent);
}
}
/* src/styles/kanban/kanban.css */
.tg-kanban-view {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.tg-kanban-filters {
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
display: flex;
flex-direction: row-reverse;
gap: 8px;
padding: 8px;
padding-bottom: 0;
padding-top: 0;
}
.tg-kanban-controls-container {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
.tg-kanban-sort-container {
display: flex;
align-items: center;
gap: 4px;
}
.tg-kanban-sort-button {
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
font-size: var(--font-ui-small);
}
.tg-kanban-sort-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.tg-kanban-toggle-container {
display: flex;
align-items: center;
gap: 4px;
}
.tg-kanban-toggle-label {
display: flex;
align-items: center;
gap: 6px;
font-size: var(--font-ui-small);
color: var(--text-normal);
cursor: pointer;
}
.tg-kanban-toggle-checkbox {
margin: 0;
}
.tg-kanban-filter-input {
flex-grow: 1;
padding: 6px 10px;
font-size: var(--font-ui-small);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
margin-right: 10px;
}
.tg-kanban-filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.tg-kanban-column-container {
display: flex;
flex-grow: 1;
overflow-x: auto;
overflow-y: hidden;
padding: 10px;
gap: 10px;
height: 100%;
-webkit-overflow-scrolling: touch;
overscroll-behavior-x: auto;
scroll-snap-type: x proximity;
scroll-behavior: smooth;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column-container {
overscroll-behavior-x: none;
scroll-snap-type: none;
}
}
.tg-kanban-column {
flex: 0 0 280px;
display: flex;
flex-direction: column;
background-color: var(--background-secondary);
border-radius: var(--radius-m);
height: 100%;
max-height: 100%;
overflow: hidden;
border: 1px solid var(--background-modifier-border);
scroll-snap-align: start;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column {
scroll-snap-align: none;
}
}
.tg-kanban-column-header {
padding: 8px 12px;
font-size: var(--font-ui-mediumn);
font-weight: 600;
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-transform: uppercase;
display: flex;
align-items: center;
}
.tg-kanban-column-content {
flex-grow: 1;
overflow-y: auto;
padding: 8px;
display: flex;
flex-direction: column;
gap: 8px;
background-color: var(--background-secondary-alt);
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
scroll-behavior: smooth;
}
@media (hover: hover) and (pointer: fine) {
.tg-kanban-column-content {
overscroll-behavior: none;
}
}
.tg-kanban-card {
background-color: var(--background-primary);
border-radius: var(--radius-s);
padding: 10px 12px;
border: 1px solid var(--background-modifier-border);
font-size: var(--font-ui-small);
cursor: grab;
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
max-width: 100%;
box-sizing: border-box;
white-space: nowrap;
text-overflow: ellipsis;
touch-action: manipulation;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
.tg-kanban-card .tg-kanban-card-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.tg-kanban-card:hover {
border-color: var(--background-modifier-border-hover);
box-shadow: var(--shadow-m);
}
.tg-kanban-card.task-completed {
background-color: var(--background-secondary);
opacity: 0.7;
}
.tg-kanban-card.task-completed .tg-kanban-card-content {
text-decoration: line-through;
color: var(--text-muted);
}
.tg-kanban-card-container {
display: flex;
align-items: flex-start;
margin-bottom: 6px;
}
.tg-kanban-card-content p:last-child {
margin-bottom: 0;
margin-block-end: 0;
margin-block-start: 0;
}
.tg-kanban-card-metadata {
display: flex;
flex-wrap: wrap;
gap: 4px 8px;
font-size: var(--font-ui-small);
color: var(--text-muted);
}
.tg-kanban-card-metadata .task-date,
.tg-kanban-card-metadata .task-tags-container,
.tg-kanban-card-metadata .task-priority {
display: flex;
align-items: center;
gap: 4px;
padding: 2px 5px;
background-color: var(--background-secondary);
border-radius: var(--radius-s);
margin-inline-start: 0;
margin-inline-end: 0;
margin-left: 0;
margin-right: 0;
}
.tg-kanban-card-metadata .task-tag {
background-color: var( --background-modifier-accent-hover );
color: var(--text-accent);
padding: 1px 4px;
border-radius: var(--radius-s);
font-size: calc(var(--font-ui-small) * 0.9);
}
.tg-kanban-card-metadata .task-due-date.task-overdue {
color: var(--text-error);
background-color: var(--background-error);
}
.tg-kanban-card-metadata .task-due-date.task-due-today {
color: var(--text-warning);
background-color: var(--background-warning);
}
.tg-kanban-card-metadata .task-priority.priority-1 {
color: var(--text-accent);
}
.tg-kanban-card-metadata .task-priority.priority-2 {
color: var(--text-warning);
}
.tg-kanban-card-metadata .task-priority.priority-3 {
color: var(--text-error);
font-weight: bold;
}
.tg-kanban-card-dragging {
box-shadow: var(--shadow-l);
}
.tg-kanban-card-ghost {
background-color: var(--background-secondary-alt);
border: 1px dashed var(--background-modifier-border);
box-shadow: none;
}
.tg-kanban-column-content.tg-kanban-drop-target-active {
outline: 2px dashed var(--background-modifier-accent-hover);
outline-offset: -2px;
}
.tg-kanban-column-content.tg-kanban-drop-target-hover {
background-color: var(--background-modifier-accent-hover);
}
.tg-kanban-card--drop-indicator-before {
margin-top: 10px;
border-top: 2px dashed var(--interactive-accent);
transition: margin-top 0.1s ease-out, border-top 0.1s ease-out;
}
.tg-kanban-card--drop-indicator-after {
margin-bottom: 10px;
border-bottom: 2px dashed var(--interactive-accent);
transition: margin-bottom 0.1s ease-out, border-bottom 0.1s ease-out;
}
.tg-kanban-column-content--drop-indicator-empty {
border: 2px dashed var(--interactive-accent);
min-height: 50px;
box-sizing: border-box;
margin-top: 5px;
margin-bottom: 5px;
}
.tg-kanban-card {
transition:
margin 0.1s ease-out,
padding 0.1s ease-out,
border 0.1s ease-out,
transform 0.2s ease-out,
box-shadow 0.2s ease-in-out,
background-color 0.2s ease-in-out;
}
.drop-target-active {
background-color: rgba(0, 128, 0, 0.2);
outline: 2px dashed green;
}
.tg-kanban-add-card-container {
padding: 8px;
border-top: 1px solid var(--background-modifier-border);
flex-shrink: 0;
}
.task-genius-add-card-container {
padding: 8px;
margin-top: auto;
text-align: center;
}
.tg-kanban-add-card-button {
--icon-size: 16px;
width: 100%;
padding: 6px 12px;
border: none;
background-color: transparent;
color: var(--text-muted);
border-radius: var(--radius-s);
cursor: pointer;
font-size: var(--font-ui-small);
text-align: left;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.tg-kanban-add-card-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-kanban-column-dragging {
transform: rotate(5deg);
opacity: 0.8;
box-shadow: var(--shadow-xl);
z-index: 1000;
}
.tg-kanban-column-ghost {
background-color: var(--background-modifier-border);
border: 2px dashed var(--background-modifier-accent);
opacity: 0.5;
}
.tg-kanban-column-header {
cursor: grab;
}
.tg-kanban-column-header:active {
cursor: grabbing;
}
/* src/components/features/task/filter/in-view/filter.css */
.filter-component {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-primary);
min-height: 48px;
flex: 1;
}
.filter-pills-container {
display: flex;
flex-wrap: wrap;
gap: var(--size-4-2);
flex: 1;
}
.filter-controls {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-left: auto;
}
.filter-pill {
display: flex;
align-items: center;
gap: var(--size-4-1);
padding: 5px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
font-size: var(--font-ui-small);
animation: filter-pill-appear 200ms ease-out;
transition: background-color var(--duration-fast), transform var(--duration-fast);
}
.filter-pill-remove .clickable-icon:hover {
background-color: unset;
}
.filter-pill:hover {
background-color: var(--background-tertiary);
}
.filter-pill-category {
font-weight: 500;
color: var(--text-muted);
}
.filter-pill-value {
color: var(--text-normal);
}
.filter-pill-remove {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
background: transparent;
border: none;
padding: 0;
margin-left: var(--size-4-1);
cursor: pointer;
color: var(--text-faint);
font-size: 14px;
line-height: 1;
transition: background-color var(--duration-fast), color var(--duration-fast);
}
.filter-pill-remove:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.filter-pill-remove-icon {
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.filter-add-button,
.filter-clear-all-button {
display: flex;
align-items: center;
padding: 6px 10px;
font-size: var(--font-ui-small);
cursor: pointer;
}
.filter-add-button {
gap: var(--size-4-1);
color: var(--text-muted);
}
.filter-add-icon {
font-weight: var(--font-bold);
display: flex;
align-items: center;
justify-content: center;
}
.filter-dropdown {
position: fixed;
width: 220px;
background-color: var(--background-primary);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
border: 1px solid var(--background-modifier-border);
z-index: var(--layer-popover);
max-height: 400px;
display: flex;
flex-direction: column;
opacity: 0;
transform: translateY(-8px);
transition: opacity var(--duration-normal), transform var(--duration-normal);
overflow: hidden;
}
.filter-dropdown-visible {
opacity: 1;
transform: translateY(0);
}
.filter-dropdown-header {
padding: var(--size-4-2);
border-bottom: 1px solid var(--background-modifier-border);
}
.filter-dropdown-search {
width: 100%;
padding: var(--size-4-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
font-size: var(--font-ui-small);
outline: none;
}
.filter-dropdown-search:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--focus-ring-color);
}
.filter-dropdown-list {
overflow-y: auto;
max-height: 350px;
}
.filter-dropdown-item {
display: flex;
align-items: center;
padding: var(--size-4-2) var(--size-4-3);
cursor: pointer;
font-size: var(--font-ui-small);
color: var(--text-normal);
transition: background-color var(--duration-fast);
}
.filter-dropdown-item:hover {
background-color: var(--background-secondary);
}
.filter-dropdown-item-label {
flex: 1;
}
.filter-dropdown-item-arrow {
color: var(--text-faint);
font-size: 18px;
}
.filter-dropdown-item-arrow.back {
margin-right: var(--size-4-2);
display: flex;
align-items: center;
justify-content: center;
}
.filter-dropdown-back {
color: var(--text-muted);
}
.filter-dropdown-separator {
height: 1px;
background-color: var(--divider-color);
margin: var(--size-4-1) 0;
}
.filter-dropdown-empty {
padding: var(--size-4-4);
text-align: center;
color: var(--text-faint);
font-size: var(--font-ui-small);
}
.filter-dropdown-value-item {
padding-left: var(--size-4-4);
}
.filter-dropdown-category {
padding: var(--size-4-2) 0;
color: var(--text-muted);
font-weight: 500;
}
.filter-dropdown-value-preview {
padding: var(--size-4-1) var(--size-4-4);
cursor: pointer;
transition: background-color var(--duration-fast);
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.filter-dropdown-value-preview:hover {
background-color: var(--background-secondary);
}
@keyframes filter-pill-appear {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
.filter-pill-removing {
opacity: 0;
transform: scale(0.9);
transition: opacity 150ms ease-out, transform 150ms ease-out;
}
/* src/styles/calendar/view.css */
.full-calendar-container {
container-type: inline-size;
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
flex-grow: 1;
}
.full-calendar-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-2-3) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
margin-bottom: 0;
}
.full-calendar-container .calendar-header button {
margin: 0 var(--size-4-1);
}
.full-calendar-container .calendar-nav,
.full-calendar-container .calendar-view-switcher {
display: flex;
gap: var(--size-2-2);
}
.full-calendar-container .calendar-nav button {
border-radius: var(--radius-s);
text-transform: uppercase;
}
.full-calendar-container .calendar-view-switcher button {
border-radius: var(--radius-s);
text-transform: uppercase;
}
.full-calendar-container .calendar-view-switcher button:not(.is-active),
.full-calendar-container .calendar-nav button:not(.is-active) {
box-shadow: var(--shadow-xs);
border: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-current-date {
font-weight: var(--font-semibold);
font-size: var(--font-ui-large);
text-align: center;
flex-grow: 1;
max-width: max(120px, 40%);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.full-calendar-container .calendar-view-switcher button.is-active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent-hover);
}
.full-calendar-container .calendar-view-container {
flex-grow: 1;
overflow-y: auto;
padding: var(--size-4-2);
position: relative;
display: flex;
flex-direction: column;
}
.full-calendar-container .calendar-weekday-header {
display: grid;
grid-template-columns: repeat(7, 1fr);
text-align: center;
font-size: var(--font-ui-small);
color: var(--text-muted);
padding: var(--size-4-1) 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: -1px;
background-color: var(--background-secondary);
}
.full-calendar-container .calendar-weekday {
padding: var(--size-4-1);
}
.full-calendar-container .calendar-view-container.view-month {
padding: 0;
}
.full-calendar-container .calendar-month-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-auto-rows: minmax(100px, auto);
gap: 1px;
background-color: var(--background-modifier-border);
height: 100%;
}
.full-calendar-container .calendar-day-cell {
background-color: var(--background-primary);
padding: var(--size-4-1);
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
}
.full-calendar-container .calendar-day-cell:hover {
background-color: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.8) !important;
}
.full-calendar-container .calendar-day-cell.is-today {
background-color: var(--background-secondary-alt) !important;
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
}
.full-calendar-container .calendar-day-cell.is-today .calendar-day-number {
color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 1);
}
.full-calendar-container .calendar-day-header {
width: 100%;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
gap: var(--size-4-1);
}
.full-calendar-container .calendar-day-cell:not(.is-today) {
opacity: 0.7;
}
.full-calendar-container .calendar-day-cell.is-other-month {
background-color: var(--background-secondary);
opacity: 0.7;
}
.full-calendar-container .calendar-day-cell.is-weekend {
background-color: var( --background-secondary );
}
.full-calendar-container .calendar-day-number {
font-size: var(--font-ui-small);
text-align: center;
margin-bottom: var(--size-4-1);
flex-shrink: 0;
align-self: flex-end;
}
.full-calendar-container .calendar-events-container {
flex-grow: 1;
overflow: hidden;
position: relative;
}
.full-calendar-container .calendar-event {
background-color: var(--interactive-accent);
--bold-color: var(--text-on-accent);
color: var(--text-on-accent);
border-radius: var(--radius-s);
padding: 2px 4px;
font-size: var(--font-ui-smaller);
margin-bottom: 2px;
margin-bottom: 3px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
display: block;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox) {
display: flex;
flex-direction: row;
align-items: center;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-week-allday {
display: flex;
}
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-month {
display: flex;
}
.full-calendar-container .full-calendar-container .calendar-event:hover {
opacity: 0.8;
}
.full-calendar-container .calendar-event.is-completed {
background-color: var( --background-modifier-success-hover );
text-decoration: line-through;
opacity: 0.7;
}
.full-calendar-container .calendar-event.is-multi-day {
}
.full-calendar-container .calendar-event.is-multi-day.is-start {
}
.full-calendar-container .calendar-event.is-multi-day.is-end {
}
.full-calendar-container .calendar-event.calendar-event-month {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
width: 100%;
box-sizing: border-box;
}
.full-calendar-container .calendar-view-container.view-day {
display: flex;
flex-direction: column;
padding: 0;
}
.full-calendar-container .calendar-timeline-section {
flex-grow: 1;
border-top: 1px solid var(--background-modifier-border);
overflow-y: auto;
padding: var(--size-4-4);
}
.full-calendar-container .calendar-timeline-events-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.full-calendar-container .calendar-timeline-events-container.is-empty {
color: var(--text-faint);
font-style: italic;
text-align: center;
padding: var(--size-4-8);
}
.full-calendar-container .calendar-event-timed {
border: 1px solid var(--background-modifier-border);
overflow: hidden;
display: flex;
flex-direction: column;
width: 100%;
border-radius: var(--radius-s);
transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.full-calendar-container .calendar-event-timed:hover {
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.full-calendar-container .calendar-event-day-timed {
position: relative;
width: 100%;
min-height: 2.5em;
padding: var(--size-4-2);
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-event-day-timed:hover {
background-color: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.full-calendar-container .calendar-event-day-timed.is-completed {
background-color: var(--background-modifier-success-hover);
opacity: 0.7;
text-decoration: line-through;
}
.full-calendar-container .calendar-event-time {
font-size: var(--font-ui-smaller);
font-weight: bold;
padding: 1px 3px;
background-color: rgba(0, 0, 0, 0.1);
border-radius: var(--radius-s);
margin-bottom: var(--size-4-1);
display: inline-block;
width: fit-content;
}
.full-calendar-container .calendar-event-title {
font-size: var(--font-ui-small);
padding: 2px 3px;
flex-grow: 1;
white-space: normal;
word-wrap: break-word;
display: flex;
align-items: center;
}
.full-calendar-container .calendar-view-container.view-week {
display: flex;
flex-direction: column;
padding: 0;
}
.full-calendar-container .calendar-week-header {
display: grid;
grid-template-columns: repeat(7, 1fr);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
text-align: center;
background-color: var(--background-secondary);
font-size: var(--font-ui-medium);
}
.full-calendar-container .calendar-header-cell {
padding: var(--size-4-1) 0;
border-left: 1px solid var(--background-modifier-border-hover);
}
.full-calendar-container .calendar-header-cell:first-child {
border-left: none;
}
.full-calendar-container .calendar-header-cell.is-today .calendar-day-number {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: 50%;
display: inline-block;
width: 1.5em;
height: 1.5em;
line-height: 1.5em;
margin: auto;
margin: auto;
display: flex;
align-items: center;
justify-content: center;
}
.full-calendar-container .calendar-weekday {
font-size: var(--font-ui-small);
color: var(--text-muted);
}
.full-calendar-container .calendar-day-number {
font-size: var(--font-ui-medium);
}
.full-calendar-container .calendar-week-grid-section {
flex-grow: 1;
display: flex;
flex-direction: column;
overflow-y: auto;
border-bottom: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-week-grid {
flex-grow: 1;
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-template-rows: 1fr;
gap: 1px;
background-color: var(--background-modifier-border);
border-top: 1px solid var(--background-modifier-border);
}
.full-calendar-container .calendar-day-column {
background-color: var(--background-primary);
padding: var(--size-4-1);
border-left: none;
display: flex;
flex-direction: column;
gap: var(--size-4-1);
overflow: hidden;
min-width: 0;
}
.full-calendar-container .calendar-day-column:first-child {
}
.full-calendar-container .calendar-day-column.is-weekend {
background-color: var(--background-secondary);
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-weekday-header {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-month-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-header {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-view-container.hide-weekends .mini-month-grid {
grid-template-columns: repeat(5, 1fr) !important;
}
.full-calendar-container .calendar-day-events-container {
flex-grow: 1;
display: flex;
flex-direction: column;
gap: 3px;
}
.full-calendar-container .calendar-event.calendar-event-week-allday {
display: block;
width: 100%;
position: relative;
left: auto;
top: auto;
height: auto;
margin-bottom: 3px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.full-calendar-container .calendar-view-container.view-year {
padding: var(--size-4-4);
}
.full-calendar-container .calendar-year-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--size-4-4);
}
.full-calendar-container .calendar-mini-month {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
overflow: hidden;
}
.full-calendar-container .mini-month-header {
text-align: center;
font-weight: var(--font-semibold);
padding: var(--size-4-2);
background-color: var(--background-secondary-alt);
border-bottom: 1px solid var(--background-modifier-border);
}
.full-calendar-container .mini-month-body {
padding: var(--size-4-2);
}
.full-calendar-container .mini-month-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 2px;
text-align: center;
}
.full-calendar-container .mini-weekday-header {
display: contents;
font-size: var(--font-ui-smaller);
color: var(--text-faint);
font-weight: bold;
}
.full-calendar-container .mini-weekday {
padding-bottom: var(--size-4-1);
}
.full-calendar-container .mini-day-cell {
font-size: var(--font-ui-small);
padding: 1px;
border-radius: var(--radius-s);
line-height: 1.5em;
}
.full-calendar-container .mini-day-cell.is-other-month {
color: var(--text-faint);
opacity: 0.6;
}
.full-calendar-container .mini-day-cell.is-today {
font-weight: bold;
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.full-calendar-container .mini-day-cell.has-events {
font-weight: bold;
}
.agenda-day-section {
display: flex;
width: 100%;
border: 1px solid var(--background-modifier-border);
padding-top: var(--size-4-2);
padding-bottom: var(--size-4-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
}
.agenda-day-date-column {
width: 20%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.agenda-day-events-column {
flex: 1;
}
.full-calendar-container input.task-list-item-checkbox {
scale: 0.9;
}
.full-calendar-container .calendar-view-switcher-selector {
display: none;
}
.calendar-event-ghost {
background-color: var(--background-secondary-alt) !important;
border: 2px dashed var(--background-modifier-border) !important;
opacity: 0.5 !important;
box-shadow: none !important;
}
.calendar-event-dragging {
opacity: 0.9 !important;
box-shadow: var(--shadow-l) !important;
transform: rotate(2deg) !important;
z-index: 1000 !important;
}
.calendar-events-container .calendar-event {
cursor: grab;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.calendar-events-container .calendar-event:hover {
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.calendar-events-container .calendar-event:active {
cursor: grabbing;
}
.calendar-events-container,
.calendar-day-events-container {
min-height: 20px;
border-radius: var(--radius-s);
transition: background-color 0.2s ease;
}
@container (max-width: 600px) {
.full-calendar-container .calendar-view-switcher button {
display: none;
}
.calendar-nav .prev-button {
display: none;
}
.calendar-nav .next-button {
display: none;
}
.full-calendar-container .calendar-view-switcher-selector {
display: block;
}
}
/* src/styles/calendar/event.css */
.full-calendar-container .calendar-event-title-container p {
padding-inline-start: 0;
padding-inline-end: 0;
margin-block-start: 0;
margin-block-end: 0;
}
.full-calendar-container .calendar-event-title-container {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.full-calendar-container .calendar-event-title p {
margin-block-start: 0;
margin-block-end: 0;
}
/* src/styles/calendar/badge.css */
.calendar-badges-container {
display: flex;
flex-direction: row;
gap: 4px;
pointer-events: none;
z-index: 10;
}
.calendar-badge {
color: var(--text-muted);
display: flex;
font-size: 10px;
padding: var(--size-2-1);
border-radius: var(--radius-s);
max-width: 80px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.calendar-day-cell {
position: relative;
}
/* src/styles/gantt/gantt.css */
.gantt-chart-container {
width: 100%;
height: 100%;
overflow: auto;
position: relative;
background-color: var(--background-secondary);
--gantt-header-height: 50px;
--gantt-row-height: 40px;
--gantt-bar-height: 20px;
--gantt-bar-radius: 3px;
--gantt-bg-color: var(--background-secondary);
--gantt-grid-color: var(--background-modifier-border);
--gantt-row-color: var(--background-secondary);
--gantt-bar-color: var(--color-blue);
--gantt-milestone-color: var(--color-purple);
--gantt-progress-color: var(--color-blue);
--gantt-today-color: var(--color-accent);
}
.gantt-svg {
display: block;
font-family: var(--font-interface);
font-size: var(--font-ui-small);
user-select: none;
}
.gantt-header-bg {
fill: var(--background-primary);
stroke: var(--background-modifier-border);
stroke-width: 1px;
}
.gantt-header-text {
fill: var(--text-muted);
font-weight: 500;
}
.gantt-grid-bg {
fill: transparent;
stroke: var(--background-modifier-border);
stroke-width: 0;
}
.gantt-grid-line-vertical {
stroke: var(--background-modifier-border);
stroke-width: 1px;
stroke-dasharray: 2, 2;
}
.gantt-task-item {
cursor: pointer;
}
.gantt-task-bar {
fill: var(--interactive-accent);
stroke: var(--interactive-accent-hover);
stroke-width: 1px;
transition: fill 0.1s ease-in-out;
}
.gantt-task-item:hover .gantt-task-bar {
fill: var(--interactive-accent-hover);
}
.gantt-task-milestone {
fill: var(--color-orange);
stroke: var(--color-orange-border);
stroke-width: 1px;
}
.gantt-task-label {
fill: var(--text-on-accent);
font-size: calc(var(--font-ui-small) * 0.9);
pointer-events: none;
white-space: pre;
}
.gantt-task-bar.status-completed {
fill: var(--color-green);
stroke: var(--color-green-border);
}
.gantt-task-bar.priority-high {
}
.gantt-header {
position: sticky;
top: 0;
left: 0;
right: 0;
z-index: 10;
height: var(--gantt-header-height);
border-bottom: 1px solid var(--gantt-grid-color);
user-select: none;
background-color: var(--gantt-bg-color);
pointer-events: none;
width: 100%;
overflow: hidden;
}
.gantt-header-row {
position: relative;
height: 50%;
width: 100%;
}
.gantt-header-row.primary {
border-bottom: 1px solid var(--gantt-grid-color);
font-weight: 600;
}
.gantt-header-cell {
position: absolute;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 12px;
color: var(--text-normal);
border-right: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
background-color: var(--gantt-bg-color);
pointer-events: auto;
}
.gantt-body {
position: relative;
overflow: auto;
height: 100%;
padding-top: var(--gantt-header-height);
margin-top: calc(var(--gantt-header-height) * -1);
}
.gantt-grid {
position: absolute;
top: var(--gantt-header-height);
left: 0;
height: calc(100% - var(--gantt-header-height));
min-width: 100%;
}
.gantt-grid-column {
position: absolute;
top: 0;
height: 100%;
border-right: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
}
.gantt-grid-column.today {
background-color: var(--gantt-today-color);
}
.gantt-grid-row {
position: absolute;
left: 0;
border-bottom: 1px solid var(--gantt-grid-color);
box-sizing: border-box;
background-color: var(--gantt-row-color);
}
.gantt-grid-row:nth-child(odd) {
background-color: var(--gantt-bg-color);
}
.gantt-bars {
position: absolute;
top: var(--gantt-header-height);
left: 0;
height: calc(100% - var(--gantt-header-height));
min-width: 100%;
pointer-events: none;
}
.gantt-task-container {
position: absolute;
box-sizing: border-box;
pointer-events: auto;
cursor: pointer;
transition: transform 0.1s ease;
}
.gantt-task-container:hover {
z-index: 10;
transform: translateY(-2px);
}
.gantt-task-bar.milestone {
background-color: var(--gantt-milestone-color);
width: 15px !important;
height: 15px !important;
border-radius: 50%;
transform: rotate(45deg);
top: 50%;
margin-top: -7.5px;
left: 50%;
margin-left: -7.5px;
}
.gantt-task-progress {
position: absolute;
top: 0;
left: 0;
height: 100%;
background-color: var(--gantt-progress-color);
opacity: 0.7;
}
.gantt-task-label {
position: absolute;
left: calc(100% + 8px);
top: 0;
white-space: nowrap;
font-size: 12px;
color: var(--text-normal);
line-height: var(--gantt-bar-height);
}
.gantt-task-container.right-aligned .gantt-task-label {
left: auto;
right: calc(100% + 8px);
text-align: right;
}
@media (max-width: 680px) {
.gantt-header-cell {
font-size: 10px;
}
.gantt-task-label {
font-size: 10px;
}
}
.gantt-chart-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
position: relative;
}
.gantt-header-container {
height: 40px;
flex-shrink: 0;
overflow: hidden;
position: relative;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.gantt-header-svg {
display: block;
}
.gantt-header-tick-major,
.gantt-header-tick-minor,
.gantt-header-tick-day,
.gantt-header-today-marker {
stroke: var(--background-modifier-border);
stroke-width: 1;
}
.gantt-header-tick-major {
stroke-width: 1.5;
}
.gantt-header-today-marker {
stroke: var(--color-orange);
stroke-width: 1.5;
stroke-dasharray: 4, 2;
}
.gantt-header-label-major,
.gantt-header-label-minor,
.gantt-header-label-day {
font-size: var(--font-ui-small);
fill: var(--text-muted);
user-select: none;
pointer-events: none;
}
.gantt-header-label-major {
font-weight: 500;
fill: var(--text-normal);
}
.gantt-scroll-container {
flex-grow: 1;
overflow: auto;
position: relative;
}
.gantt-content-wrapper {
position: relative;
background: var(--background-primary);
}
.gantt-grid-line-major,
.gantt-grid-line-minor {
stroke: var(--background-modifier-border-hover);
stroke-width: 0.5;
}
.gantt-grid-line-major {
stroke-width: 1;
}
.gantt-grid-line-horizontal {
stroke: var(--background-modifier-border);
stroke-width: 1;
}
.gantt-grid-today-marker {
stroke: var(--color-orange);
stroke-width: 1;
stroke-dasharray: 4, 2;
}
.gantt-task-item {
cursor: pointer;
}
.gantt-task-bar {
fill: var(--color-blue);
stroke: var(--color-blue-hover);
stroke-width: 0.5;
transition: fill 0.1s ease;
}
.gantt-task-item:hover .gantt-task-bar {
fill: var(--color-accent);
}
.gantt-task-milestone {
fill: var(--color-purple);
stroke: var(--color-purple);
stroke-width: 1;
transition: fill 0.1s ease;
}
.gantt-task-item:hover .gantt-task-milestone {
fill: var(--color-accent);
}
.gantt-task-item.status-done .gantt-task-bar,
.gantt-task-item.status-done .gantt-task-milestone {
fill: var(--color-green);
stroke: var(--color-green);
opacity: 0.7;
}
.gantt-task-item.status-cancelled .gantt-task-bar,
.gantt-task-item.status-cancelled .gantt-task-milestone {
fill: var(--color-red);
stroke: var(--color-red);
opacity: 0.6;
text-decoration: line-through;
}
.gantt-task-item.status-inprogress .gantt-task-bar {
}
.gantt-task-label-fo {
pointer-events: none;
overflow: hidden;
user-select: none;
}
.gantt-task-label-markdown {
color: var(--text-on-accent);
font-size: var(--font-ui-smaller);
line-height: 1.3;
padding: 0 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
align-items: center;
height: 100%;
}
.gantt-task-label-markdown p {
margin: 0 !important;
}
.gantt-milestone-label-container p {
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0;
color: var(--text-normal);
font-size: var(--font-ui-smaller);
line-height: 1.3;
padding: 0 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
align-items: center;
height: 100%;
}
.gantt-task-item.status-done .gantt-task-label-markdown {
color: var(--text-on-accent);
}
.gantt-task-item.status-cancelled .gantt-task-label-markdown {
color: var(--text-on-accent);
text-decoration: line-through;
}
.gantt-milestone-label {
fill: var(--text-normal);
}
.gantt-filter-area {
display: flex;
align-items: center;
justify-content: flex-end;
width: 100%;
padding-left: var(--size-2-2);
padding-right: var(--size-4-2);
background-color: var(--background-primary);
}
.gantt-filter-area .filter-component {
flex: 1;
}
.gantt-offscreen-indicator {
position: absolute;
top: calc(50% + 20px);
transform: translateY(-50%);
width: 8px;
height: 8px;
background-color: rgba(128, 128, 128, 0.6);
border-radius: 50%;
z-index: 10;
pointer-events: none;
display: none;
transition: opacity 0.2s ease-in-out;
opacity: 1;
}
.gantt-offscreen-indicator[style*="display: none"] {
opacity: 0;
}
.gantt-offscreen-indicator-left {
left: 5px;
}
.gantt-offscreen-indicator-right {
right: 5px;
}
.gantt-indicator-container {
position: absolute;
top: 0;
bottom: 0;
width: var(--size-4-3);
z-index: 10;
pointer-events: none;
overflow: hidden;
}
.gantt-indicator-container-left {
left: 0;
}
.gantt-indicator-container-right {
right: 0;
}
.gantt-single-indicator {
position: absolute;
left: var(--size-2-1);
width: var(--size-4-2);
height: var(--size-4-2);
border-radius: 50%;
background-color: var(--text-faint);
pointer-events: auto;
cursor: default;
}
.gantt-single-indicator:hover {
background-color: var(--text-accent);
}
.gantt-chart-container .gantt-indicator-container {
top: calc(var(--header-height, 40px) + var(--filter-height, 0px));
bottom: 15px;
}
.gantt-chart-container .gantt-indicator-container-right {
right: 15px;
}
.gantt-task-label p {
margin: 0;
line-height: var(--gantt-bar-height);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* src/styles/task-list.css */
.task-list {
flex: 1;
overflow-y: auto;
padding: 0;
}
.task-item {
display: flex;
align-items: flex-start;
padding: 8px 16px;
border-bottom: 1px solid var(--background-modifier-border);
cursor: pointer;
gap: var(--size-2-3);
min-height: 40px;
}
.task-item:hover {
background-color: var(--background-secondary-alt);
}
.task-children-container .task-item:hover {
background-color: var(--background-secondary);
}
.task-item.selected {
background-color: var(--background-secondary-alt);
}
.task-item.task-completed .task-item-content {
text-decoration: line-through;
color: var(--text-muted);
}
.task-item .markdown-block.markdown-renderer > p:only-child {
padding: 0;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-checkbox {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-normal);
cursor: pointer;
flex-shrink: 0;
}
.task-item.task-completed .task-checkbox {
color: var(--text-on-accent);
}
.task-item-content {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.task-item-container {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-content-metadata-container {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--size-2-2);
will-change: auto;
}
.task-content-metadata-container.single-line-content {
flex-direction: row;
align-items: center;
}
.task-content-metadata-container.single-line-content .task-item-content {
flex: 1;
min-width: 0;
}
.task-content-metadata-container.single-line-content .task-item-metadata {
flex-shrink: 0;
margin-top: 0;
}
.task-content-metadata-container.multi-line-content {
flex-direction: column;
align-items: flex-start;
}
.task-content-metadata-container.multi-line-content .task-item-content {
}
.task-content-metadata-container.multi-line-content .task-item-metadata {
margin-top: var(--size-2-2);
}
.task-item-metadata {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-top: var(--size-2-2);
}
.task-item-metadata:empty {
display: none;
}
.task-date {
font-size: var(--font-ui-small);
color: var(--text-faint);
white-space: nowrap;
background-color: var(--background-modifier-active-hover);
padding: var(--size-2-1) var(--size-2-3);
border-radius: var(--radius-s);
opacity: 0.8;
}
.task-item:hover .task-date {
opacity: 1;
}
.task-date::before {
display: inline-block;
margin-right: var(--size-2-2);
font-size: xx-small;
display: inline-flex;
transform: translateY(-1px);
}
.tg-kanban-view .task-date::before {
transform: translateY(0);
}
.task-date.task-due-date::before {
content: "\1f4c5";
}
.task-date.task-overdue {
color: var(--text-error);
font-weight: 600;
}
.task-date.task-due-today {
color: var(--task-doing-color);
font-weight: 600;
}
.task-date.task-due-soon {
color: var(--text-warning);
font-weight: 600;
}
.task-date.task-start-date::before {
content: "\1f6eb";
}
.task-date.task-created-date::before {
content: "\2795";
}
.task-date.task-scheduled-date::before {
content: "\23f3";
}
.task-date.task-done-date::before {
content: "\2705";
}
.task-date.task-cancelled-date::before {
content: "\274c";
}
.task-date.task-recurrence::before {
content: "\1f501";
}
.task-date.task-on-completion::before {
content: "\1f3c1";
}
.task-project {
font-size: var(--font-ui-small);
color: var(--text-on-accent);
background-color: var(--color-accent);
border-radius: var(--radius-s);
padding: var(--size-2-1) var(--size-2-3);
white-space: nowrap;
opacity: 0.5;
}
.task-project:has(input) {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
.task-item:hover .task-project {
opacity: 1;
}
.task-project::before {
content: "\1f5c2\fe0f";
margin-right: var(--size-4-2);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: var(--font-ui-small);
}
.task-project:hover {
background-color: var(--background-modifier-active-hover);
color: var(--text-accent-hover);
}
.task-priority {
margin-left: 8px;
font-size: 0.9em;
white-space: nowrap;
}
.task-priority.priority-5 {
color: var(--text-error);
font-weight: 600;
}
.task-priority.priority-4 {
color: var(--text-warning);
font-weight: 600;
}
.task-priority.priority-3 {
color: var(--text-warning);
font-weight: 600;
}
.task-priority.priority-2 {
color: var(--text-warning);
}
.task-priority.priority-1 {
color: var(--text-accent);
}
.task-priority-clickable {
cursor: pointer;
transition: opacity 0.2s ease;
}
.task-priority-clickable:hover {
opacity: 0.7;
}
.add-priority-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin-left: 4px;
padding: 0;
border-radius: 3px;
background: transparent;
color: var(--text-muted);
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.add-priority-btn:hover {
border-color: var(--text-normal);
color: var(--text-normal);
background: var(--background-modifier-hover);
}
.task-item.tree-task-item .task-priority-clickable,
.task-item.tree-task-item .add-priority-btn {
position: absolute;
right: var(--size-4-2);
top: var(--size-4-2);
}
.task-oncompletion {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-muted);
background-color: var(--background-secondary);
white-space: nowrap;
}
.task-oncompletion:hover {
color: var(--text-normal);
}
.task-dependson {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-secondary);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-normal);
white-space: nowrap;
}
.task-dependson:hover {
color: var(--text-error);
}
.task-id {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-accent);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-accent);
white-space: nowrap;
}
.task-id:hover {
background-color: var(--background-modifier-accent-hover);
color: var(--text-accent-hover);
}
.task-tags-container {
display: flex;
flex-wrap: wrap;
gap: var(--size-2-2);
}
.task-tags-container:empty {
display: none;
}
.task-tag {
font-size: var(--font-ui-small);
color: var(--text-normal);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
padding: var(--size-2-1) var(--size-2-3);
white-space: nowrap;
opacity: 0.75;
}
.task-item:hover .task-tag {
opacity: 1;
}
.task-item-content p:has(img) img {
display: block;
width: min(50%, 200px);
}
/* src/styles/task-status-indicator.css */
.task-status-indicator-wrapper {
display: flex;
}
.task-status-indicator {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 var(--size-2-2);
min-height: 20px;
border-radius: var(--radius-s);
font-size: var(--font-ui-small);
color: var(--text-muted);
background-color: var(--background-modifier-hover);
cursor: pointer;
user-select: none;
transition:
background-color 0.15s ease,
color 0.15s ease,
opacity 0.15s ease;
}
.task-status-indicator__text {
padding: 0 var(--size-2-1);
white-space: nowrap;
}
.task-status-indicator:hover {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
.task-status-indicator.is-disabled {
opacity: 0.5;
cursor: default;
}
.task-status-indicator.is-processing {
opacity: 0.7;
cursor: progress;
}
.task-status-indicator.is-completed {
color: var(--text-on-accent);
background-color: var(--background-modifier-success);
}
/* src/styles/inline-editor.css */
.inline-editor {
position: relative;
display: inline-block;
width: 100%;
}
.inline-content-editor {
width: 100%;
min-height: 18px;
border: none;
border-bottom: 1px solid var(--interactive-accent);
border-radius: 0;
padding: 2px 4px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: inherit;
line-height: inherit;
resize: none;
outline: none;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.inline-content-editor:focus {
border-bottom-color: var(--interactive-accent-hover);
background-color: var(--background-primary-alt);
box-shadow: 0 1px 0 0 var(--interactive-accent-hover);
}
.inline-embedded-editor-container {
width: 100%;
min-height: 18px;
border: none;
border-radius: 0;
background-color: transparent;
}
.inline-embedded-editor {
width: 100%;
min-height: 18px;
background-color: transparent;
}
.inline-embedded-editor .cm-editor {
border: none !important;
outline: none !important;
background-color: transparent !important;
border-bottom: 1px solid var(--interactive-accent) !important;
}
.inline-embedded-editor .cm-focused {
outline: none !important;
border-bottom-color: var(--interactive-accent-hover) !important;
background-color: var(--background-primary-alt) !important;
}
.inline-embedded-editor .cm-content {
padding: 2px 4px;
min-height: 18px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.inline-embedded-editor .cm-line {
padding: 0;
}
.inline-metadata-editor {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 6px;
background-color: var(--background-primary-alt);
border: 1px solid var(--interactive-accent);
border-radius: var(--radius-s);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
min-width: 120px;
max-width: 300px;
position: relative;
z-index: 100;
}
.inline-metadata-editor input {
border: unset;
outline: unset;
padding: 0;
height: var(--line-height);
background-color: transparent;
background: transparent;
border-radius: var(--radius-s);
}
.inline-metadata-editor input:focus {
outline: unset;
padding: 0;
background-color: transparent;
}
.inline-metadata-editor:has(input) {
outline: unset;
border: 0;
padding: 0;
background-color: transparent;
border-radius: unset;
}
.inline-project-input,
.inline-tags-input,
.inline-context-input,
.inline-date-input,
.inline-recurrence-input {
flex: 1;
padding: 2px 4px;
border: none;
border-radius: 2px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
min-width: 80px;
transition: background-color 0.15s ease;
}
.inline-project-input:focus,
.inline-tags-input:focus,
.inline-context-input:focus,
.inline-date-input:focus,
.inline-recurrence-input:focus {
background-color: var(--background-primary);
box-shadow: inset 0 0 0 1px var(--interactive-accent);
}
.inline-priority-select {
padding: 2px 4px;
border: none;
border-radius: 2px;
background-color: transparent;
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
cursor: pointer;
min-width: 80px;
}
.inline-priority-select:focus {
background-color: var(--background-primary);
box-shadow: inset 0 0 0 1px var(--interactive-accent);
}
.add-metadata-container {
display: inline-flex;
align-items: center;
margin-left: 4px;
}
.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn {
opacity: 1;
}
.tree-task-item .task-item-container:hover .add-metadata-btn {
opacity: 1;
}
.add-metadata-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border: none;
border-radius: 2px;
background-color: var(--background-secondary);
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s ease;
--icon-size: 10px;
opacity: 0;
padding: 0;
margin: 0;
}
.add-metadata-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
opacity: 1;
}
.add-metadata-btn:active {
background-color: var(--background-modifier-active);
transform: scale(0.95);
}
.add-metadata-btn svg {
width: 10px;
height: 10px;
}
.inline-editor * {
transition:
border-color 0.15s ease,
background-color 0.15s ease,
box-shadow 0.15s ease;
}
.inline-editor input:focus,
.inline-editor textarea:focus,
.inline-editor select:focus {
outline: none;
}
.task-item-metadata .task-date,
.task-item-metadata .task-project,
.task-item-metadata .task-tag {
cursor: pointer;
transition: background-color 0.15s ease, transform 0.15s ease;
position: relative;
}
.task-item-metadata .task-date:hover,
.task-item-metadata .task-project:hover,
.task-item-metadata .task-tag:hover {
background-color: var(--background-modifier-hover);
transform: none;
}
.task-item-metadata .task-date:hover::after,
.task-item-metadata .task-project:hover::after,
.task-item-metadata .task-tag:hover::after {
display: none;
}
.task-item-content {
cursor: pointer;
transition: background-color 0.15s ease;
}
.inline-metadata-editor {
animation: fadeInScale 0.15s ease-out;
}
@keyframes fadeInScale {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}
.inline-editor-placeholder {
min-height: 1em;
display: inline-block;
}
@media (max-width: 768px) {
.inline-project-input,
.inline-tags-input,
.inline-context-input,
.inline-recurrence-input {
min-width: 100px;
font-size: var(--font-ui-smaller);
}
.inline-metadata-editor {
max-width: 250px;
}
}
@media (prefers-contrast: high) {
.inline-content-editor,
.inline-embedded-editor .cm-editor {
border-bottom-width: 2px;
}
.inline-metadata-editor {
border-width: 2px;
}
}
@media (prefers-reduced-motion: reduce) {
.inline-editor *,
.task-item-metadata .task-date,
.task-item-metadata .task-project,
.task-item-metadata .task-tag,
.task-item-content,
.add-metadata-btn {
transition: none;
}
.inline-metadata-editor {
animation: none;
}
}
.inline-dependson-input,
.inline-id-input {
width: 100%;
min-width: 200px;
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
font-family: inherit;
font-size: var(--font-ui-small);
outline: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.inline-dependson-input:focus,
.inline-id-input:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.inline-dependson-input::placeholder,
.inline-id-input::placeholder {
color: var(--text-faint);
}
/* src/styles/tree-view.css */
.tree-task-item {
position: relative;
display: flex;
flex-direction: column;
padding: 8px 16px;
transition: background-color 0.2s ease;
}
.task-children-container .task-item.tree-task-item {
border-bottom: unset;
padding-top: var(--size-2-2);
padding-bottom: var(--size-2-2);
gap: 0;
}
.task-item.tree-task-item {
gap: 0;
}
.tree-task-item:hover {
background-color: var(--background-secondary-alt);
}
.tree-task-item.selected {
background-color: var(--background-modifier-active);
}
.tree-task-item.completed {
opacity: 0.7;
}
.tree-task-item > div:first-of-type {
width: 100%;
display: flex;
align-items: flex-start;
gap: 6px;
}
.task-indent {
flex-shrink: 0;
}
.task-item.tree-task-item .task-expand-toggle {
padding-top: var(--size-2-2);
}
.task-item .task-checkbox {
padding-top: var(--size-2-2);
}
.task-expand-toggle {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
flex-shrink: 0;
color: var(--text-muted);
}
.task-expand-toggle:hover {
color: var(--text-normal);
}
.task-item.tree-task-item .task-checkbox {
cursor: pointer;
flex-shrink: 0;
color: var(--text-muted);
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.task-item.tree-task-item .task-checkbox:hover {
color: var(--text-accent);
}
.task-item.tree-task-item .task-checkbox.checked {
color: var(--text-accent);
}
.task-content {
flex-grow: 1;
line-height: 1.4;
}
.tree-task-item.completed .task-content {
text-decoration: line-through;
color: var(--text-muted);
}
.tree-task-item .task-content-metadata-container {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--size-2-2);
transition: all 0.2s ease;
}
.tree-task-item .task-content-metadata-container.single-line-content {
flex-direction: row;
align-items: center;
}
.tree-task-item .task-content-metadata-container.single-line-content .task-item-content {
flex: 1;
min-width: 0;
}
.tree-task-item .task-content-metadata-container.single-line-content .task-metadata {
flex-shrink: 0;
margin-top: 0;
}
.tree-task-item .task-content-metadata-container.multi-line-content {
flex-direction: column;
align-items: flex-start;
}
.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content {
width: 100%;
}
.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata {
margin-top: 4px;
}
.task-metadata {
display: flex;
gap: 8px;
margin-top: 4px;
font-size: 0.85em;
color: var(--text-muted);
}
.task-metadata:empty {
display: none;
}
.task-due-date.overdue {
color: var(--text-error);
font-weight: bold;
}
.task-item.tree-task-item .task-project {
display: inline-block;
padding: 1px 6px;
border-radius: 4px;
}
.task-priority.priority-3 {
color: var(--text-error);
}
.task-priority.priority-2 {
color: var(--text-warning);
}
.task-priority.priority-1 {
color: var(--text-accent);
}
.task-priority-clickable {
cursor: pointer;
transition: opacity 0.2s ease;
}
.task-priority-clickable:hover {
opacity: 0.7;
}
.tree-task-item .task-oncompletion {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-border);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-muted);
white-space: nowrap;
}
.tree-task-item .task-oncompletion:hover {
color: var(--text-normal);
}
.tree-task-item .task-dependson {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-error);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-error);
white-space: nowrap;
}
.tree-task-item .task-dependson:hover {
background-color: var(--background-modifier-error-hover);
color: var(--text-error);
}
.tree-task-item .task-id {
display: inline-flex;
align-items: center;
padding: 2px 6px;
margin-left: 4px;
background-color: var(--background-modifier-accent);
border-radius: 3px;
font-size: var(--font-ui-small);
color: var(--text-accent);
white-space: nowrap;
}
.tree-task-item .task-id:hover {
background-color: var(--background-modifier-accent-hover);
color: var(--text-accent-hover);
}
.task-children-container {
margin-top: 4px;
width: 100%;
}
.view-toggle-btn {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
color: var(--text-muted);
border-radius: 4px;
}
.view-toggle-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.task-children-container:empty {
display: none !important;
}
/* src/styles/view.css */
.task-sidebar.collapsed {
width: 48px;
overflow: hidden;
}
.panel-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
cursor: pointer;
opacity: 0.6;
transition: opacity 0.2s ease;
}
.panel-toggle-btn:hover {
opacity: 1;
}
.task-sidebar.collapsed .sidebar-nav {
align-items: center;
}
.sidebar-nav {
display: flex;
flex-direction: column;
padding: 20px 0 10px 0;
gap: 5px;
}
.sidebar-nav-spacer {
height: 1px;
background-color: var(--background-modifier-border);
margin: 8px 15px;
opacity: 0.7;
margin-top: auto;
}
.sidebar-nav-item {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-radius: 4px;
margin: 0 5px;
transition: background-color 0.2s ease;
}
.sidebar-nav-item:hover {
background-color: var(--background-modifier-active);
}
.sidebar-nav-item.is-active {
font-weight: 600;
--background-modifier-hover: var(--interactive-accent);
--icon-color: var(--text-on-accent);
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.nav-item-icon {
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
justify-content: center;
margin-right: var(--size-4-2);
}
.nav-item-label {
flex: 1;
font-size: var(--font-ui-medium);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nav-item-label.hidden {
opacity: 0;
width: 0;
overflow: hidden;
margin: 0;
}
.task-sidebar.collapsed .sidebar-nav-item {
padding: 8px 10px;
justify-content: center;
width: var(--size-4-9);
flex-shrink: 0;
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
}
.task-sidebar.collapsed .nav-item-icon {
margin-right: 0;
}
.task-content {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
min-width: 0;
transition: margin 0.3s ease;
}
.task-sidebar.collapsed .task-content {
margin-left: -200px;
transition: margin 0.3s ease;
}
.task-genius-view .project-tree {
padding: var(--size-2-2) 0;
transition: opacity 0.3s ease;
}
.task-genius-view .tree-root {
display: flex;
flex-direction: column;
}
.task-genius-view .task-genius-view .tree-item {
display: flex;
align-items: center;
padding: 6px 8px;
cursor: pointer;
transition: background-color 0.2s ease;
border-radius: 4px;
margin: 0 5px;
}
.task-genius-view .tree-item:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item.selected {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
margin-right: 8px;
color: var(--text-muted);
}
.task-genius-view .tree-item-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-genius-view .tree-item-count {
font-size: 0.8em;
color: var(--text-muted);
margin-left: 5px;
background-color: var(--background-modifier-hover);
padding: 1px 6px;
border-radius: 10px;
}
.task-genius-view .tree-item-toggle,
.task-genius-view .tree-item-indent {
width: 20px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 5px;
}
.task-genius-view .tree-item-toggle {
cursor: pointer;
}
.content-header {
padding: 15px;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
flex-shrink: 0;
}
.task-count {
font-size: 0.8em;
color: var(--text-muted);
margin-right: 10px;
}
.focus-filter {
margin-left: 10px;
}
.workspace-leaf-content .task-genius-view {
padding: 0;
}
.bases-view .task-genius-view {
height: 100%;
}
.task-genius-container {
display: flex;
flex-direction: row;
height: 100%;
width: 100%;
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
color: var(--text-normal);
position: relative;
overflow: hidden;
}
.task-sidebar {
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
overflow-y: auto;
width: 240px;
transition: width 0.3s ease-in-out;
position: relative;
}
.task-content {
display: flex;
flex-direction: column;
flex: 1;
min-width: 300px;
height: 100%;
overflow: hidden;
}
.task-sidebar .sidebar-nav {
display: flex;
flex-direction: column;
padding: 8px 0;
height: 100%;
}
.project-tree {
display: flex;
flex-direction: column;
padding: 8px 0;
overflow-y: auto;
}
.tree-root {
display: flex;
flex-direction: column;
}
.task-genius-view .tree-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
border-radius: 4px;
margin: 2px 8px;
}
.task-genius-view .tree-item:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .tree-item.selected {
background-color: var(--background-modifier-border-hover);
color: var(--text-accent);
}
.task-genius-view .tree-item-toggle {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 4px;
}
.task-genius-view .tree-item-indent {
width: 16px;
height: 16px;
margin-right: 4px;
}
.task-genius-view .tree-item-icon {
margin-right: 8px;
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
}
.task-genius-view .tree-item-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-genius-view .tree-item-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-hover);
border-radius: 10px;
padding: 2px 6px;
min-width: 16px;
text-align: center;
}
.task-genius-view .tree-item.expanded > .tree-item-children {
display: flex;
}
.task-genius-view .tree-item-children {
display: none;
flex-direction: column;
margin-left: 16px;
width: 100%;
}
.task-genius-view .content-header {
display: flex;
align-items: center;
padding: 10px 16px;
border-bottom: 1px solid var(--background-modifier-border);
min-height: 50px;
}
.task-genius-view .content-title {
font-size: 1.2em;
font-weight: 600;
margin-right: 12px;
flex: 1;
}
@media screen and (max-width: 768px) {
.task-genius-view .content-title {
display: none;
}
.task-genius-view .task-count {
flex: 1;
}
.task-genius-view .focus-filter {
flex: 1;
}
}
.task-genius-view .content-filter {
display: flex;
align-items: center;
margin-right: 12px;
}
.task-genius-view .filter-input {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 4px 8px;
width: 200px;
background-color: var(--background-primary);
}
.task-genius-view .focus-button {
background-color: var(--interactive-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 4px 10px;
color: var(--text-normal);
cursor: pointer;
}
.task-genius-view .focus-button:hover {
background-color: var(--interactive-hover);
}
.task-genius-view .focus-button.focused {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.mod-root .task-genius-action-btn {
--icon-size: 16px;
}
.mod-left-split .task-genius-action-btn {
display: none;
}
.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
display: none;
}
.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
display: none;
}
.task-genius-view .task-empty-state,
.task-genius-fluent-view .task-empty-state {
width: 100%;
height: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.tg-fluent-error-state {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
width: 100%;
height: 100%;
--icon-size: var(--size-4-12);
font-size: var(--font-ui-large);
gap: var(--size-2-2);
}
.mod-root .task-genius-tab-header {
container-type: inline-size !important;
}
@container (max-width: 120px) {
.mod-root .task-genius-action-btn {
display: none;
}
}
.task-sidebar.collapsed .sidebar-nav {
max-width: 45px;
}
.quick-workflow-modal {
max-width: 600px;
min-height: 400px;
}
.workflow-template-section {
margin-bottom: 20px;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.template-description {
margin-top: 10px;
}
.template-desc-text {
font-style: italic;
color: var(--text-muted);
margin: 0;
}
.workflow-form-section {
margin-bottom: 20px;
}
.workflow-stages-preview {
margin-top: 15px;
}
.stages-preview-list {
margin-top: 10px;
}
.stage-preview-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
margin: 4px 0;
background: var(--background-secondary);
border-radius: 6px;
border: 1px solid var(--background-modifier-border);
}
.stage-info {
display: flex;
align-items: center;
gap: 8px;
}
.stage-name {
font-weight: 500;
}
.stage-type {
color: var(--text-muted);
font-size: 0.9em;
}
.stage-actions {
display: flex;
gap: 4px;
}
.no-stages-message {
text-align: center;
color: var(--text-muted);
font-style: italic;
padding: 20px;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
margin-top: 10px;
}
.workflow-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-progress-indicator {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
padding: 15px;
margin: 10px 0;
}
.workflow-progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}
.workflow-name {
font-weight: 600;
font-size: 1.1em;
}
.workflow-progress-text {
color: var(--text-muted);
font-size: 0.9em;
}
.workflow-progress-bar-container {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 15px;
}
.workflow-progress-bar {
flex: 1;
height: 8px;
background: var(--background-modifier-border);
border-radius: 4px;
overflow: hidden;
}
.workflow-progress-fill {
height: 100%;
background: var(--interactive-accent);
transition: width 0.3s ease;
}
.workflow-progress-percentage {
font-size: 0.9em;
font-weight: 500;
min-width: 35px;
text-align: right;
}
.workflow-stage-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.workflow-stage-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px;
border-radius: 6px;
transition: background-color 0.2s ease;
}
.workflow-stage-item.completed {
background: var(--background-modifier-success);
}
.workflow-stage-item.current {
background: var(--background-modifier-accent);
border: 1px solid var(--interactive-accent);
}
.workflow-stage-item.pending {
background: var(--background-primary);
opacity: 0.7;
}
.workflow-stage-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.workflow-stage-icon.completed-icon {
color: var(--text-success);
}
.workflow-stage-icon.current-icon {
color: var(--interactive-accent);
}
.workflow-stage-icon.pending-icon {
color: var(--text-muted);
}
.workflow-stage-content {
flex: 1;
}
.workflow-stage-name {
font-weight: 500;
margin-bottom: 2px;
}
.workflow-stage-type {
font-size: 0.8em;
color: var(--text-muted);
}
.workflow-stage-number {
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8em;
font-weight: 600;
margin-top: 2px;
}
.workflow-stage-item.completed .workflow-stage-number {
background: var(--text-success);
color: var(--background-primary);
}
.workflow-stage-item.current .workflow-stage-number {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-substage-container {
margin-top: 8px;
padding-left: 16px;
border-left: 2px solid var(--background-modifier-border);
}
.workflow-substage-item {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 0;
}
.workflow-substage-icon {
width: 12px;
height: 12px;
color: var(--text-muted);
}
.workflow-substage-name {
font-size: 0.9em;
color: var(--text-muted);
}
/* src/styles/property-view.css */
.task-property-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.task-property-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.task-property-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 300px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.is-phone .task-property-left-column {
max-width: 100%;
}
.task-property-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.task-property-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.task-property-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.multi-select-mode .task-property-multi-select-btn {
color: var(--color-accent);
}
.task-property-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.task-property-multi-select-btn:hover {
color: var(--text-normal);
}
.task-property-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.task-property-list-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
border-radius: var(--radius-s);
}
.task-property-list-item:hover {
background-color: var(--background-modifier-hover);
}
.task-property-list-item.selected {
background-color: var(--background-modifier-active);
}
.task-property-icon {
margin-right: 8px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.task-property-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-property-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
}
.task-property-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.task-property-task-title {
font-weight: 600;
font-size: 16px;
}
.task-property-task-count {
color: var(--text-muted);
}
.task-property-task-list {
flex: 1;
overflow-y: auto;
}
.task-property-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.is-phone .task-property-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .task-property-left-column.is-visible {
transform: translateX(0);
}
.is-phone .task-property-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .task-property-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .task-property-container:has(.task-property-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .task-property-container {
position: relative;
overflow: hidden;
}
.is-phone .task-property-sidebar-header:has(.task-property-sidebar-close) {
padding-right: var(--size-4-12);
}
/* src/styles/forecast.css */
.forecast-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
flex: 1;
}
.forecast-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
border-bottom: 1px solid var(--background-modifier-border);
}
.forecast-title-container {
display: flex;
flex-direction: column;
}
.forecast-title {
font-weight: 600;
font-size: 1.2em;
}
.forecast-count {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 4px;
}
.forecast-actions {
display: flex;
gap: var(--size-4-2);
align-items: center;
justify-content: center;
}
.forecast-settings {
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
}
.forecast-settings:hover {
opacity: 1;
}
.forecast-focus-bar {
display: flex;
padding: 10px 15px;
border-bottom: 1px solid var(--background-modifier-border);
gap: 10px;
align-items: center;
}
.focus-input {
flex: 1;
padding: 6px 12px;
border-radius: 4px;
border: 1px solid var(--interactive-accent);
background-color: var(--background-primary);
color: var(--text-normal);
}
.unfocus-button {
padding: 6px 12px;
border-radius: 4px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
cursor: pointer;
border: none;
}
.unfocus-button:hover {
background-color: var(--interactive-accent-hover);
}
.forecast-content {
display: flex;
flex: 1;
overflow: hidden;
}
.forecast-left-column {
width: 360px;
min-width: 360px;
border-right: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
overflow-y: auto;
background-color: var(--background-secondary-alt);
}
.forecast-right-column {
flex: 1;
display: flex;
flex-direction: column;
background-color: var(--background-primary);
}
.forecast-task-list {
overflow-y: auto;
}
.forecast-calendar-section {
padding: 10px 0;
margin-top: var(--size-4-4);
flex-shrink: 0;
border-top: 1px solid var(--background-modifier-border);
}
.forecast-stats {
display: flex;
}
.stat-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
cursor: pointer;
transition: background-color 0.2s ease;
position: relative;
}
.stat-item::after {
content: "";
position: absolute;
bottom: 0;
left: 10%;
width: 80%;
height: 3px;
background-color: transparent;
transition: background-color 0.2s ease;
}
.stat-item:hover {
background-color: var(--background-modifier-hover);
}
.stat-item.active::after {
background-color: var(--interactive-accent);
animation: color-pulse 1.5s infinite alternate;
}
@keyframes color-pulse {
0% {
background-color: var(--color-accent-1) !important;
opacity: 0.7;
}
100% {
background-color: var(--color-accent-2) !important;
opacity: 1;
}
}
.stat-item.tg-past-due::after {
background-color: var(--text-error);
opacity: 0.7;
}
.stat-item.tg-today::after {
background-color: var(--interactive-accent);
opacity: 0.7;
}
.stat-item.tg-future::after {
background-color: var(--text-accent);
opacity: 0.7;
}
.stat-count {
font-size: 1.5em;
font-weight: 600;
}
.stat-item.tg-past-due .stat-count {
color: var(--text-error);
}
.stat-label {
font-size: 0.8em;
color: var(--text-muted);
}
.forecast-due-soon-section {
display: flex;
flex-direction: column;
padding-bottom: var(--size-4-3);
}
.due-soon-header {
font-size: 0.8em;
font-weight: 600;
padding: 5px 15px;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.due-soon-item {
display: flex;
justify-content: space-between;
padding: 8px 15px;
cursor: pointer;
border-left: 3px solid transparent;
transition: background-color 0.2s ease;
}
.due-soon-item:hover {
background-color: var(--background-modifier-hover);
border-left-color: var(--interactive-accent);
}
.due-soon-date {
font-size: 0.9em;
}
.due-soon-count {
font-size: 0.8em;
background-color: var(--background-modifier-border);
padding: 2px 6px;
border-radius: 10px;
color: var(--text-muted);
}
.due-soon-empty {
text-align: center;
padding: 15px;
color: var(--text-muted);
font-style: italic;
font-size: 0.9em;
}
.date-section-header {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary-alt);
}
.date-section-header .section-toggle {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.date-section-header .section-title {
flex: 1;
font-weight: 500;
}
.date-section-header .section-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
height: var(--size-4-5);
width: var(--size-4-5);
display: inline-flex;
align-items: center;
justify-content: center;
}
.task-date-section.overdue .date-section-header {
border-left: 3px solid var(--text-error);
}
.task-date-section.overdue .section-title {
color: var(--text-error);
}
.task-date-section.overdue .section-count {
background-color: var(--text-error);
color: white;
}
.section-tasks {
display: flex;
flex-direction: column;
}
.forecast-empty-state {
display: flex;
height: 100px;
align-items: center;
justify-content: center;
color: var(--text-muted);
font-style: italic;
}
.forecast-sidebar-toggle {
position: absolute;
}
.is-phone .forecast-header:has(.forecast-sidebar-toggle) .forecast-title-container {
padding-left: var(--size-4-10);
}
.is-phone .forecast-container {
position: relative;
overflow: hidden;
}
.is-phone .forecast-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .forecast-left-column.is-visible {
transform: translateX(0);
}
.is-phone .forecast-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .forecast-sidebar-close {
position: absolute;
top: 10px;
right: 10px;
z-index: 15;
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background-color: var(--background-primary);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.is-phone .task-genius-container:has(.forecast-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
/* src/styles/calendar.css */
.task-genius-view .mini-calendar-container {
display: flex;
flex-direction: column;
width: 100%;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
}
.task-genius-view .mini-calendar-container .calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 15px;
margin-bottom: 8px;
}
.task-genius-view .mini-calendar-container .calendar-title {
font-weight: 600;
display: flex;
gap: 5px;
}
.task-genius-view .mini-calendar-container .calendar-month {
margin-right: 5px;
}
.task-genius-view .mini-calendar-container .calendar-year {
color: var(--text-muted);
}
.task-genius-view .mini-calendar-container .calendar-nav {
display: flex;
align-items: center;
gap: 8px;
}
.task-genius-view .mini-calendar-container .calendar-nav-btn {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 4px;
background-color: var(--background-modifier-hover);
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
}
.task-genius-view .mini-calendar-container .calendar-nav-btn:hover {
opacity: 1;
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-today-btn {
padding: 2px 8px;
border-radius: 4px;
background-color: var(--background-modifier-hover);
cursor: pointer;
font-size: 0.8em;
transition: background-color 0.2s ease;
}
.task-genius-view .mini-calendar-container .calendar-today-btn:hover {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
padding: 0 10px;
}
.task-genius-view .mini-calendar-container .calendar-day-header {
text-align: center;
font-size: 0.8em;
color: var(--text-muted);
padding: 3px 0;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 3px;
}
.task-genius-view .mini-calendar-container .calendar-day-header.calendar-weekend {
color: var(--text-accent);
}
.task-genius-view .mini-calendar-container.hide-weekends .calendar-grid {
grid-template-columns: repeat(5, 1fr);
}
.task-genius-view .mini-calendar-container .calendar-day {
border-radius: 4px;
padding: 1px;
cursor: pointer;
position: relative;
display: flex;
flex-direction: column;
transition: background-color 0.2s ease;
height: auto;
min-height: var(--size-4-12);
}
.task-genius-view .mini-calendar-container .calendar-day:hover {
background-color: var(--background-modifier-hover);
}
.task-genius-view .mini-calendar-container .calendar-day.selected {
background-color: var(--background-modifier-border-hover);
}
.task-genius-view .mini-calendar-container .calendar-day.today {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.task-genius-view .mini-calendar-container .calendar-day.past-due {
color: var(--text-error);
}
.task-genius-view .mini-calendar-container .calendar-day.other-month {
opacity: 0.5;
}
.task-genius-view .mini-calendar-container .calendar-day-number {
text-align: center;
font-size: 0.9em;
font-weight: 500;
padding: 1px;
}
.task-genius-view .mini-calendar-container .calendar-day-count {
background-color: var(--background-modifier-border);
color: var(--text-normal);
border-radius: 8px;
font-size: 0.7em;
padding: 1px 4px;
margin: 1px auto 0;
text-align: center;
width: fit-content;
}
.task-genius-view .mini-calendar-container .calendar-day-count.has-priority {
background-color: var(--text-accent);
color: var(--text-on-accent);
}
@media (max-width: 1400px) {
.task-genius-container:has(.task-details.visible) .mini-calendar-container .forecast-left-column {
display: none;
}
}
/* src/styles/table.css */
.table-view-adapter {
width: 100%;
display: flex;
flex-direction: column;
gap: 0;
height: 100%;
overflow: hidden;
}
.task-table-container {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
position: relative;
background-color: var(--background-primary);
}
.task-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
font-size: var(--font-ui-small);
flex: 1;
min-height: 0;
min-width: max-content;
}
.task-table-wrapper {
flex: 1;
overflow: auto;
min-height: 0;
position: relative;
overflow-x: auto;
overflow-y: auto;
scroll-behavior: smooth;
}
.task-table-header {
position: sticky;
top: 0;
z-index: 10;
background-color: var(--background-secondary);
border-bottom: 2px solid var(--background-modifier-border);
min-width: max-content;
}
.task-table-header-row {
height: 40px;
}
.task-table-header-cell {
padding: 8px 12px;
text-align: left;
font-weight: 600;
color: var(--text-muted);
border-right: 1px solid var(--background-modifier-border);
position: relative;
user-select: none;
background-color: var(--background-secondary);
white-space: nowrap;
}
.task-table-header-cell:last-child {
border-right: none;
}
.task-table-header-cell.sortable {
cursor: pointer;
}
.task-table-header-cell.sortable:hover {
background-color: var(--background-modifier-hover);
}
.task-table-header-content {
display: flex;
align-items: center;
justify-content: space-between;
gap: 4px;
}
.task-table-header-title {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-table-sort-icon {
font-size: 12px;
opacity: 0.5;
transition: opacity 0.2s;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-sort-icon.asc,
.task-table-sort-icon.desc {
opacity: 1;
color: var(--text-accent);
}
.task-table-resize-handle {
position: absolute;
top: 0;
right: 0;
width: 4px;
height: 100%;
cursor: col-resize;
background-color: transparent;
transition: background-color 0.2s;
}
.task-table-resize-handle:hover {
background-color: var(--text-accent);
}
.task-table-body {
background-color: var(--background-primary);
}
.task-table-row {
height: 40px;
border-bottom: 1px solid var(--background-modifier-border);
transition: background-color 0.2s;
}
.task-table-row:hover {
background-color: var(--background-modifier-hover);
}
.task-table-row.selected {
background-color: var(--background-modifier-active-hover);
}
.task-table-row:nth-child(even) {
background-color: var(--background-secondary-alt);
}
.task-table-row:nth-child(even):hover {
background-color: var(--background-modifier-hover);
}
.task-table-row:nth-child(even).selected {
background-color: var(--background-modifier-active-hover);
}
.task-table-cell {
padding: 8px 12px;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-table-cell:last-child {
border-right: none;
}
.task-table-cell.editing {
padding: 0;
}
.task-table-tree-indent {
display: inline-flex;
align-items: center;
gap: 4px;
}
.task-table-cell:has(.task-table-expand-btn) {
padding-left: 0;
}
.task-table-row.task-table-subtask {
background-color: var(--background-secondary);
}
.task-table-expand-btn {
cursor: pointer;
user-select: none;
width: 20px;
height: 20px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 2px;
font-size: 10px;
transition: background-color 0.2s;
}
.task-table-expand-btn:hover {
background-color: var(--background-modifier-hover);
}
.task-table-row-level-1 .task-table-cell:first-child {
padding-left: 32px;
}
.task-table-row-level-2 .task-table-cell:first-child {
padding-left: 52px;
}
.task-table-row-level-3 .task-table-cell:first-child {
padding-left: 72px;
}
.task-table-row-level-4 .task-table-cell:first-child {
padding-left: 92px;
}
.task-table-row-level-5 .task-table-cell:first-child {
padding-left: 112px;
}
.task-table-text {
color: var(--text-normal);
}
.task-table-number {
text-align: right;
color: var(--text-muted);
font-variant-numeric: tabular-nums;
}
.task-table-status {
display: flex;
align-items: center;
gap: 6px;
}
.task-table-status-icon {
font-size: 14px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-status-text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.task-table-status.completed .task-table-status-icon {
color: var(--text-success);
}
.task-table-status.in-progress .task-table-status-icon {
color: var(--text-warning);
}
.task-table-status.abandoned .task-table-status-icon {
color: var(--text-error);
}
.task-table-status.planned .task-table-status-icon {
color: var(--text-muted);
}
.task-table-status.not-started .task-table-status-icon {
color: var(--text-faint);
}
.task-table-priority {
display: flex;
align-items: center;
gap: 6px;
}
.task-table-priority.clickable-priority {
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: background-color 0.2s;
}
.task-table-priority.clickable-priority:hover {
background-color: var(--background-modifier-hover);
}
.task-table-priority-icon {
font-size: 14px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-priority-icon.high {
color: var(--text-error);
}
.task-table-priority-icon.medium {
color: var(--text-warning);
}
.task-table-priority-icon.low {
color: var(--text-muted);
}
.task-table-priority-text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.task-table-priority-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-date {
display: flex;
flex-direction: column;
gap: 2px;
cursor: pointer;
transition: background-color 0.2s;
padding: 4px;
border-radius: 4px;
}
.task-table-date:hover {
background-color: var(--background-modifier-hover);
}
.task-table-date-text {
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.task-table-date-relative {
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.task-table-date-relative.today {
color: var(--text-success);
}
.task-table-date-relative.tomorrow {
color: var(--text-accent);
}
.task-table-date-relative.yesterday {
color: var(--text-muted);
}
.task-table-date-relative.overdue {
color: var(--text-error);
}
.task-table-date-relative.upcoming {
color: var(--text-warning);
}
.task-table-date-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-tags {
display: flex;
flex-wrap: wrap;
gap: 4px;
align-items: center;
}
.task-table-tag-chip {
background-color: var(--background-modifier-accent);
color: var(--text-accent);
padding: 2px 6px;
border-radius: 8px;
font-size: var(--font-ui-smaller);
font-weight: 500;
white-space: nowrap;
}
.task-table-tags-empty {
color: var(--text-faint);
font-style: italic;
}
.task-table-text-input,
.task-table-tags-input {
border: none !important;
background: transparent !important;
outline: none !important;
width: 100% !important;
padding: 0 !important;
font: inherit !important;
color: var(--text-normal) !important;
}
.task-table-text-input:focus,
.task-table-tags-input:focus {
background-color: var(--background-modifier-form-field) !important;
border-radius: 3px !important;
padding: 2px 4px !important;
}
.task-count-icon {
font-size: 16px;
display: flex;
align-items: center;
width: 16px;
height: 16px;
}
.task-table-empty-row {
height: 80px;
}
.task-table-empty-cell {
text-align: center;
color: var(--text-muted);
font-style: italic;
vertical-align: middle;
}
.task-table-loading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 20px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
color: var(--text-muted);
font-size: var(--font-ui-small);
z-index: 100;
}
.task-table.resizing {
user-select: none;
}
.task-table.resizing * {
cursor: col-resize !important;
}
.virtual-scroll-spacer {
pointer-events: none;
visibility: hidden;
}
@media (max-width: 768px) {
.task-table-container {
font-size: var(--font-ui-smaller);
}
.task-table-wrapper {
overflow-x: auto;
}
.task-table {
min-width: 800px;
}
.task-table-header-cell,
.task-table-cell {
padding: 6px 8px;
}
.task-table-row {
height: 36px;
}
.task-table-header-row {
height: 36px;
}
}
.theme-dark .task-table-container {
border-color: var(--background-modifier-border);
}
.theme-dark .task-table-row:nth-child(even) {
background-color: var(--background-primary-alt);
}
@media (prefers-contrast: high) {
.task-table-container {
border-width: 2px;
}
.task-table-header-cell,
.task-table-cell {
border-width: 1px;
}
.task-table-row {
border-bottom-width: 1px;
}
}
@media print {
.task-table-container {
border: none;
overflow: visible;
height: auto;
}
.task-table-header {
position: static;
}
.task-table-resize-handle {
display: none;
}
.task-table-expand-btn {
display: none;
}
}
.virtual-scroll-spacer-top {
pointer-events: none;
}
.virtual-scroll-spacer-top td {
padding: 0 !important;
border: none !important;
background: transparent !important;
}
.task-table-context-menu {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
z-index: 1000;
min-width: 120px;
}
.task-table-context-menu-item {
padding: 6px 12px;
cursor: pointer;
transition: background-color 0.1s ease;
}
.task-table-context-menu-item:hover {
background-color: var(--background-modifier-hover);
}
.task-table-date-input {
cursor: pointer;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
padding: 4px 8px;
width: 100%;
}
.task-table-date-input:hover {
border-color: var(--background-modifier-border-hover);
}
.task-table-date-input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.task-table-project-input,
.task-table-context-input,
.task-table-tags-input {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
padding: 4px 8px;
width: 100%;
}
.task-table-project-input:focus,
.task-table-context-input:focus,
.task-table-tags-input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.task-table-row.selected {
background-color: var(--background-modifier-hover);
}
.task-table-row:hover {
background-color: var(--background-modifier-hover-weak);
}
@media (max-width: 768px) {
.task-table {
font-size: 0.9em;
}
th[data-column-id=rowNumber] {
max-width: 40px !important;
min-width: 40px !important;
width: 40px !important;
}
.task-table-tree-container {
gap: 0 !important;
}
.task-table-expand-btn {
margin-right: 0 !important;
}
td[data-column-id=rowNumber] {
max-width: 40px !important;
min-width: 40px !important;
width: 40px !important;
}
.task-table-header-cell,
.task-table-cell {
padding: 6px 4px;
}
}
.task-table-header-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 8px;
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
border-radius: 6px 6px 0 0;
margin-bottom: 0;
flex-shrink: 0;
min-height: 40px;
}
.table-header-left {
display: flex;
align-items: center;
gap: 12px;
}
.table-header-right {
display: flex;
align-items: center;
gap: 8px;
}
.task-count-container {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
background-color: var(--background-primary);
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
}
.task-count-text {
font-size: var(--font-ui-small);
font-weight: 500;
color: var(--text-normal);
}
.table-controls-container {
display: flex;
align-items: center;
gap: 8px;
}
.table-control-btn {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 12px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
cursor: pointer;
font-size: var(--font-ui-small);
color: var(--text-normal);
transition: all 0.2s ease;
box-shadow: unset !important;
}
.table-control-btn:hover {
background-color: var(--background-modifier-hover);
}
.table-control-btn:active {
background-color: var(--background-modifier-active);
}
.tree-mode-btn.active {
background-color: var(--text-accent);
color: var(--text-on-accent);
border-color: var(--text-accent);
}
.tree-mode-icon,
.refresh-icon,
.column-icon {
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
}
.tree-mode-text,
.refresh-text,
.column-text {
font-weight: 500;
}
.dropdown-arrow {
font-size: 10px;
transition: transform 0.2s ease;
}
.column-dropdown {
position: relative;
}
.column-dropdown-menu {
position: absolute;
top: 100%;
right: 0;
margin-top: 4px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: var(--shadow-l);
z-index: 1000;
min-width: 200px;
max-height: 300px;
overflow-y: auto;
}
.column-toggle-item {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
cursor: pointer;
transition: background-color 0.2s ease;
}
.column-toggle-item:hover {
background-color: var(--background-modifier-hover);
}
.column-toggle-checkbox {
margin: 0;
cursor: pointer;
}
.column-toggle-label {
flex: 1;
font-size: var(--font-ui-small);
color: var(--text-normal);
cursor: pointer;
margin: 0;
}
@media (max-width: 768px) {
.task-table-header-bar {
flex-direction: column;
gap: 12px;
align-items: stretch;
}
.table-header-left {
display: none;
}
.table-header-left,
.table-header-right {
justify-content: center;
}
.table-controls-container {
justify-content: center;
flex-wrap: wrap;
}
.table-control-btn {
flex: 1;
min-width: 100px;
justify-content: center;
}
.column-dropdown-menu {
right: auto;
left: 0;
width: 100%;
}
}
.theme-dark .task-table-header-bar {
background-color: var(--background-secondary-alt);
}
.theme-dark .column-dropdown-menu {
background-color: var(--background-primary-alt);
border-color: var(--background-modifier-border-hover);
}
.custom-suggest-dropdown {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
box-shadow: var(--shadow-l);
z-index: 1000;
position: absolute;
max-height: 200px;
overflow-y: auto;
min-width: 150px;
}
.custom-suggest-dropdown .suggestion-item {
padding: 8px 12px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
transition: background-color 0.2s;
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.custom-suggest-dropdown .suggestion-item:last-child {
border-bottom: none;
}
.custom-suggest-dropdown .suggestion-item:hover,
.custom-suggest-dropdown .suggestion-item.selected {
background-color: var(--background-modifier-hover);
}
.custom-suggest-dropdown .suggestion-item.selected {
color: var(--text-accent);
}
.task-table-subtask {
border-left: 2px solid var(--background-modifier-border-hover);
}
.task-table-parent .task-table-cell:first-child {
font-weight: 500;
}
.task-table-subtask-cell {
border-left: 1px solid var(--background-modifier-border-focus);
}
.task-table-tree-container {
display: flex;
align-items: center;
gap: 6px;
width: 100%;
}
.task-table-tree-structure {
display: flex;
align-items: center;
gap: 2px;
flex-shrink: 0;
}
.task-table-tree-line {
font-family: monospace;
font-size: 12px;
color: var(--text-faint);
line-height: 1;
width: 16px;
text-align: center;
}
.task-table-tree-connector {
color: var(--text-muted);
}
.task-table-tree-vertical {
color: var(--text-faint);
}
.task-table-subtask-indicator {
font-size: 10px;
color: var(--text-accent);
margin-right: 6px;
margin-left: 4px;
flex-shrink: 0;
font-weight: bold;
}
.task-table-top-level-expand {
margin-right: 6px;
}
.task-table-content-wrapper {
flex: 1;
min-width: 0;
}
.task-table-child-indicator {
font-size: 10px;
color: var(--text-muted);
margin-left: 6px;
flex-shrink: 0;
}
.task-table-status.clickable-status {
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: background-color 0.2s;
}
.task-table-status.clickable-status:hover {
background-color: var(--background-modifier-hover);
}
.task-table-priority-icon.highest {
color: var(--text-error);
filter: brightness(1.2);
}
.task-table-priority-icon.lowest {
color: var(--text-faint);
}
.task-table-expand-btn.clickable-icon {
opacity: 0.7;
transition: opacity 0.2s, background-color 0.2s;
}
.task-table-expand-btn.clickable-icon:hover {
opacity: 1;
}
.task-table-row-level-1 .task-table-cell:first-child,
.task-table-row-level-2 .task-table-cell:first-child,
.task-table-row-level-3 .task-table-cell:first-child,
.task-table-row-level-4 .task-table-cell:first-child,
.task-table-row-level-5 .task-table-cell:first-child {
padding-left: 12px;
}
/* src/styles/quadrant/quadrant.css */
.tg-quadrant-component-container {
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
background: var(--background-primary);
width: 100%;
}
.tg-quadrant-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-3) var(--size-4-4);
background: var(--background-primary);
flex-shrink: 0;
}
.tg-quadrant-title {
font-size: var(--font-ui-medium);
font-weight: var(--font-semibold);
color: var(--text-normal);
margin: 0;
}
.tg-quadrant-controls {
display: flex;
align-items: center;
gap: var(--size-2-3);
}
.tg-quadrant-sort-select {
padding: var(--size-2-2) var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-ui-small);
cursor: pointer;
transition: border-color 0.2s ease;
}
.tg-quadrant-sort-select:hover {
border-color: var(--background-modifier-border-hover);
}
.tg-quadrant-sort-select:focus {
border-color: var(--color-accent);
outline: none;
}
.tg-quadrant-toggle-empty {
padding: var(--size-2-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: var(--background-primary);
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
}
.tg-quadrant-toggle-empty:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
border-color: var(--background-modifier-border-hover);
}
.tg-quadrant-filter-container {
flex-shrink: 0;
border-bottom: 1px solid var(--background-modifier-border);
}
.tg-quadrant-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 1px;
flex: 1;
background: var(--background-modifier-border);
overflow: hidden;
}
.tg-quadrant-column {
display: flex;
flex-direction: column;
background: var(--background-primary);
min-height: 0;
overflow: hidden;
position: relative;
}
.tg-quadrant-column--hidden {
display: none;
}
.tg-quadrant-column .tg-quadrant-header {
padding: var(--size-4-2) var(--size-4-3);
background: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
flex-shrink: 0;
position: relative;
min-height: var(--size-4-12);
}
.tg-quadrant-title-container {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-1);
}
.tg-quadrant-priority {
font-size: var(--font-ui-medium);
line-height: 1;
opacity: 0.8;
}
.tg-quadrant-column .tg-quadrant-title {
font-size: var(--font-ui-small);
font-weight: var(--font-semibold);
color: var(--text-normal);
margin: 0;
}
.tg-quadrant-description {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-bottom: var(--size-2-2);
line-height: 1.3;
}
.tg-quadrant-count {
font-size: var(--font-ui-smaller);
color: var(--text-faint);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-medium);
}
.tg-quadrant-column-content {
flex: 1;
overflow-y: auto;
padding: var(--size-2-3);
min-height: 100px;
}
.tg-quadrant-column-content::-webkit-scrollbar {
width: 8px;
}
.tg-quadrant-column-content::-webkit-scrollbar-track {
background: transparent;
}
.tg-quadrant-column-content::-webkit-scrollbar-thumb {
background: var(--background-modifier-border);
border-radius: var(--radius-s);
}
.tg-quadrant-column-content::-webkit-scrollbar-thumb:hover {
background: var(--background-modifier-border-hover);
}
.tg-quadrant-column-content--drop-active {
background: var(--background-modifier-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-m);
}
.quadrant-urgent-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-error);
opacity: 0.6;
}
.quadrant-not-urgent-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--color-accent);
opacity: 0.6;
}
.quadrant-urgent-not-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-warning);
opacity: 0.6;
}
.quadrant-not-urgent-not-important .tg-quadrant-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--text-muted);
opacity: 0.4;
}
.tg-quadrant-card {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
margin-bottom: var(--size-2-3);
padding: var(--size-4-2);
cursor: pointer;
transition: all 0.15s ease;
position: relative;
}
.tg-quadrant-card:hover {
background: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.tg-quadrant-card:active {
transform: translateY(0);
}
.tg-quadrant-card:last-child {
margin-bottom: 0;
}
.tg-quadrant-card-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: var(--size-2-2);
gap: var(--size-2-2);
}
.tg-quadrant-card-checkbox {
flex-shrink: 0;
margin-top: 2px;
}
.tg-quadrant-card-actions {
flex-shrink: 0;
opacity: 0;
transition: opacity 0.2s ease;
}
.tg-quadrant-card:hover .tg-quadrant-card-actions {
opacity: 1;
}
.tg-quadrant-card-more-btn {
background: none;
border: none;
padding: var(--size-2-1);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
}
.tg-quadrant-card-more-btn:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-quadrant-card-content {
margin-bottom: var(--size-2-2);
}
.tg-quadrant-card-title {
font-size: var(--font-ui-small);
line-height: 1.4;
color: var(--text-normal);
margin-bottom: var(--size-2-1);
word-wrap: break-word;
font-weight: var(--font-normal);
}
.tg-quadrant-card-priority {
font-size: var(--font-ui-small);
margin-left: var(--size-2-1);
opacity: 0.8;
}
.tg-quadrant-card-tags {
display: flex;
flex-wrap: wrap;
gap: var(--size-2-1);
margin-top: var(--size-2-2);
}
.tg-quadrant-card-tag {
background: var(--background-modifier-border);
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
font-weight: var(--font-medium);
border: 1px solid transparent;
transition: all 0.2s ease;
}
.tg-quadrant-card-tag:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-quadrant-tag--urgent {
background: var(--background-modifier-error);
color: var(--text-error);
border-color: var(--text-error);
}
.tg-quadrant-tag--important {
background: var(--background-modifier-accent);
color: var(--text-accent);
border-color: var(--color-accent);
}
.tg-quadrant-card-metadata {
display: flex;
align-items: center;
justify-content: space-between;
font-size: var(--font-ui-smaller);
color: var(--text-faint);
gap: var(--size-2-2);
}
.tg-quadrant-card-due-date {
display: flex;
align-items: center;
gap: var(--size-2-1);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-medium);
}
.tg-quadrant-card-due-date-icon {
width: 12px;
height: 12px;
opacity: 0.7;
}
.tg-quadrant-card-due-date--urgent {
color: var(--text-warning);
}
.tg-quadrant-card-due-date--overdue {
color: var(--text-error);
}
.tg-quadrant-card-file-info {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--size-4-2);
opacity: 0.7;
transition: opacity 0.2s ease;
}
.tg-quadrant-card:hover .tg-quadrant-card-file-info {
opacity: 1;
}
.tg-quadrant-card-file-icon {
width: 12px;
height: 12px;
}
.tg-quadrant-card-file-name {
font-size: var(--font-ui-smaller);
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.tg-quadrant-card-line {
color: var(--text-faint);
font-size: var(--font-ui-smaller);
opacity: 0.6;
font-weight: var(--font-medium);
}
.tg-quadrant-card--priority-highest {
border-left: 3px solid var(--text-error);
}
.tg-quadrant-card--priority-high {
border-left: 3px solid var(--text-warning);
}
.tg-quadrant-card--priority-medium {
border-left: 3px solid var(--color-accent);
}
.tg-quadrant-card--priority-low {
border-left: 3px solid var(--text-success);
}
.tg-quadrant-card--priority-lowest {
border-left: 3px solid var(--text-muted);
}
.tg-quadrant-card--ghost {
opacity: 0.4;
background: var(--background-modifier-border);
border: 2px dashed var(--color-accent);
}
.tg-quadrant-card--dragging {
box-shadow: var(--shadow-l);
}
.tg-quadrant-card--chosen {
background: var(--background-modifier-hover);
border-color: var(--color-accent);
box-shadow: var(--shadow-s);
}
.tg-quadrant-card--drag {
box-shadow: var(--shadow-l);
z-index: 1000;
border-color: var(--color-accent);
}
.tg-quadrant-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 120px;
color: var(--text-faint);
text-align: center;
padding: var(--size-4-4);
opacity: 0.8;
}
.tg-quadrant-empty-icon {
width: 32px;
height: 32px;
margin-bottom: var(--size-2-3);
opacity: 0.5;
color: var(--text-faint);
}
.tg-quadrant-empty-message {
font-size: var(--font-ui-small);
line-height: 1.4;
font-weight: var(--font-medium);
}
@media (max-width: 768px) {
.tg-quadrant-grid {
grid-template-columns: 1fr;
grid-template-rows: repeat(4, 1fr);
}
.tg-quadrant-header {
padding: var(--size-2-3) var(--size-4-2);
}
.tg-quadrant-column .tg-quadrant-header {
padding: var(--size-2-3) var(--size-4-2);
}
.tg-quadrant-card {
padding: var(--size-2-3);
}
.tg-quadrant-card-title {
font-size: var(--font-ui-smaller);
}
.tg-quadrant-controls {
gap: var(--size-2-2);
}
}
.tg-quadrant-card:focus {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
.tg-quadrant-card-more-btn:focus {
outline: 2px solid var(--color-accent);
outline-offset: 2px;
}
@keyframes cardComplete {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
.tg-quadrant-card--completed {
animation: cardComplete 0.3s ease-in-out;
}
.tg-quadrant-card:hover .tg-quadrant-card-title {
color: var(--text-normal);
}
.tg-quadrant-card:hover .tg-quadrant-card-priority {
opacity: 1;
}
.tg-quadrant-card-content {
position: relative;
}
.tg-quadrant-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 2rem;
color: var(--text-muted);
min-height: 100px;
}
.tg-quadrant-loading-spinner {
margin-bottom: 1rem;
}
.tg-quadrant-spinner {
width: 24px;
height: 24px;
color: var(--color-accent);
}
.tg-quadrant-loading-message {
font-size: 0.9rem;
opacity: 0.7;
}
.tg-quadrant-dragging {
cursor: grabbing !important;
}
.tg-quadrant-dragging * {
pointer-events: none;
}
.tg-quadrant-card--ghost {
opacity: 0.4;
background: var(--background-modifier-border);
border: 2px dashed var(--color-accent);
}
.tg-quadrant-card--chosen {
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
transform: scale(1.02);
z-index: 1000;
background: var(--background-primary);
border: 2px solid var(--color-accent);
}
.tg-quadrant-card--drag {
opacity: 0.8;
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}
.tg-quadrant-card--fallback {
opacity: 0.9;
background: var(--background-primary);
border: 2px solid var(--color-accent);
border-radius: var(--radius-m);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.tg-quadrant-column--drag-target {
background: var(--background-modifier-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-m);
}
.tg-quadrant-column-content--drop-active {
background: var(--background-modifier-active-hover);
border: 2px dashed var(--color-accent);
border-radius: var(--radius-s);
min-height: 60px;
position: relative;
}
.tg-quadrant-column-content--drop-active::before {
content: "Drop task here";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: var(--color-accent);
font-size: 0.9rem;
font-weight: 500;
opacity: 0.7;
pointer-events: none;
z-index: 1;
}
.tg-quadrant-update-feedback {
position: fixed;
top: 20px;
right: 20px;
z-index: 10000;
opacity: 0;
transform: translateX(100%);
transition: all 0.3s ease;
pointer-events: none;
}
.tg-quadrant-feedback--show {
opacity: 1;
transform: translateX(0);
}
.tg-quadrant-feedback--hide {
opacity: 0;
transform: translateX(100%);
}
.tg-quadrant-feedback-content {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.75rem 1rem;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
min-width: 200px;
}
.tg-quadrant-feedback--error .tg-quadrant-feedback-content {
background: var(--background-modifier-error);
border-color: var(--text-error);
color: var(--text-error);
}
.tg-quadrant-feedback-icon {
font-size: 1.2rem;
flex-shrink: 0;
}
.tg-quadrant-feedback-text {
font-size: 0.9rem;
font-weight: 500;
}
.tg-quadrant-card {
transition: all 0.2s ease;
cursor: grab;
}
.tg-quadrant-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.tg-quadrant-card:active {
cursor: grabbing;
}
.tg-quadrant-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 2rem 1rem;
text-align: center;
color: var(--text-muted);
min-height: 120px;
border: 2px dashed var(--background-modifier-border);
border-radius: var(--radius-m);
margin: 0.5rem 0;
}
.tg-quadrant-empty-icon {
margin-bottom: 0.75rem;
opacity: 0.5;
}
.tg-quadrant-empty-message {
font-size: 0.9rem;
line-height: 1.4;
max-width: 200px;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.tg-quadrant-spinner circle {
animation: spin 2s linear infinite;
transform-origin: center;
}
@media (max-width: 768px) {
.tg-quadrant-update-feedback {
top: 10px;
right: 10px;
left: 10px;
transform: translateY(-100%);
}
.tg-quadrant-feedback--show {
transform: translateY(0);
}
.tg-quadrant-feedback--hide {
transform: translateY(-100%);
}
.tg-quadrant-feedback-content {
min-width: auto;
width: 100%;
}
}
.theme-dark .tg-quadrant-card--chosen {
background: var(--background-primary-alt);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.theme-dark .tg-quadrant-card--fallback {
background: var(--background-primary-alt);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.theme-dark .tg-quadrant-feedback-content {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
@media (prefers-reduced-motion: reduce) {
.tg-quadrant-card,
.tg-quadrant-update-feedback,
.tg-quadrant-card--chosen,
.tg-quadrant-card--drag {
transition: none;
animation: none;
}
.tg-quadrant-spinner circle {
animation: none;
}
}
.tg-quadrant-scroll-container {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
max-height: 70vh;
scrollbar-width: thin;
scrollbar-color: var(--background-modifier-border) transparent;
}
.tg-quadrant-scroll-container::-webkit-scrollbar {
width: 6px;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-track {
background: transparent;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb {
background: var(--background-modifier-border);
border-radius: 3px;
}
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb:hover {
background: var(--background-modifier-border-hover);
}
.tg-quadrant-load-more {
display: none;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1rem;
color: var(--text-muted);
border-top: 1px solid var(--background-modifier-border);
margin-top: 0.5rem;
}
.tg-quadrant-load-more--visible {
display: flex;
}
.tg-quadrant-load-more-spinner {
margin-bottom: 0.5rem;
width: 24px;
height: 24px;
color: var(--interactive-accent);
}
.tg-quadrant-load-more-spinner svg {
animation: spin 1s linear infinite;
}
.tg-quadrant-load-more-message {
font-size: 0.8rem;
opacity: 0.7;
}
.tg-quadrant-column {
display: flex;
flex-direction: column;
height: 100%;
min-height: 400px;
max-height: 80vh;
}
.tg-quadrant-column-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 0.5rem;
}
.tg-quadrant-scroll-container {
scroll-behavior: smooth;
}
.tg-quadrant-column.loading-more .tg-quadrant-load-more {
opacity: 1;
pointer-events: none;
}
.tg-quadrant-load-more {
min-height: 40px;
transition: opacity 0.2s ease;
}
.tg-quadrant-column-content:empty::before {
content: "";
display: block;
min-height: 100px;
}
.tg-quadrant-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
height: calc(100vh - 200px);
min-height: 400px;
}
@media (max-width: 1200px) {
.tg-quadrant-scroll-container {
max-height: 60vh;
}
.tg-quadrant-column {
max-height: 70vh;
}
}
@media (max-width: 768px) {
.tg-quadrant-scroll-container {
max-height: 50vh;
}
.tg-quadrant-column {
max-height: 60vh;
min-height: 300px;
}
.tg-quadrant-grid {
grid-template-columns: 1fr;
height: auto;
}
}
.tg-quadrant-column-content {
contain: layout style;
will-change: contents;
}
.tg-quadrant-card {
contain: layout style paint;
}
.tg-quadrant-scroll-container.has-scroll::before {
content: "";
position: sticky;
top: 0;
height: 1px;
background:
linear-gradient(
to bottom,
var(--background-primary),
transparent);
z-index: 1;
}
.tg-quadrant-scroll-container.has-scroll::after {
content: "";
position: sticky;
bottom: 0;
height: 1px;
background:
linear-gradient(
to top,
var(--background-primary),
transparent);
z-index: 1;
}
/* src/styles/task-timer.css */
.task-timer-widget {
display: block;
margin: 4px 0;
padding: 2px 0;
font-size: 0.9em;
color: var(--text-muted);
line-height: 1.4;
}
.task-timer-start,
.task-timer-action {
cursor: pointer;
text-decoration: underline;
color: var(--text-accent);
}
.task-timer-start:hover,
.task-timer-action:hover {
color: var(--text-accent-hover);
}
/* src/styles/setting.css */
.experimental-settings-section {
margin: 20px 0;
}
.experimental-section-heading {
margin: 20px 0 10px 0;
color: var(--text-normal);
}
.experimental-subsection-heading {
margin: 15px 0 8px 0;
color: var(--text-muted);
font-size: 0.9em;
}
.experimental-warning {
background: var(--background-modifier-error);
color: var(--text-on-accent);
padding: 12px;
border-radius: 6px;
margin: 10px 0 20px 0;
border-left: 4px solid var(--color-red);
}
.experimental-dataflow-section {
margin: 15px 0;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.experimental-info {
color: var(--text-muted);
font-size: 0.85em;
margin-top: 8px;
line-height: 1.4;
}
.experimental-restart-notice {
background: var(--background-modifier-form-field);
color: var(--text-muted);
padding: 8px;
border-radius: 4px;
margin-top: 10px;
font-size: 0.85em;
}
.task-states-container {
margin: 10px 0;
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 10px;
}
.task-state-row {
margin-bottom: 8px;
}
.task-state-row .setting-item {
border: none;
padding: 6px;
border-radius: 4px;
}
.task-state-row .setting-item-info {
margin-right: 10px;
}
.task-state-row .setting-item-control {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: nowrap;
}
.task-state-row .setting-item-control input[type=text] {
margin-right: 8px;
}
.task-state-row .extra-setting-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.task-state-row .setting-item-control button {
white-space: nowrap;
}
.task-state-container {
margin-inline-start: calc(var(--checkbox-size) * -1);
}
.task-state-container .task-state {
padding-inline-start: var(--size-2-1);
padding-inline-end: var(--size-2-2);
text-decoration: none !important;
cursor: pointer;
}
.experimental-settings-section {
margin: 20px 0;
}
.experimental-section-heading {
margin: 20px 0 10px 0;
color: var(--text-normal);
}
.experimental-subsection-heading {
margin: 15px 0 8px 0;
color: var(--text-muted);
font-size: 0.9em;
}
.experimental-warning {
background: var(--background-modifier-error);
color: var(--text-on-accent);
padding: 12px;
border-radius: 6px;
margin: 10px 0 20px 0;
border-left: 4px solid var(--color-red);
}
.experimental-dataflow-section {
margin: 15px 0;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.experimental-info {
color: var(--text-muted);
font-size: 0.85em;
margin-top: 8px;
line-height: 1.4;
}
.experimental-restart-notice {
background: var(--background-modifier-form-field);
color: var(--text-muted);
padding: 8px;
border-radius: 4px;
margin-top: 10px;
font-size: 0.85em;
}
.task-states-container {
margin: 10px 0;
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 10px;
}
.task-state-row {
margin-bottom: 8px;
}
.task-state-row .setting-item {
border: none;
padding: 6px;
border-radius: 4px;
}
.task-state-row .setting-item-info {
margin-right: 10px;
}
.task-state-row .setting-item-control {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: nowrap;
}
.task-state-row .setting-item-control input[type=text] {
margin-right: 8px;
}
.task-state-row .extra-setting-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.task-state-row .setting-item-control button {
white-space: nowrap;
}
.task-state-container {
margin-inline-start: calc(var(--checkbox-size) * -1);
}
.task-state-container .task-state {
padding-inline-start: var(--size-2-1);
padding-inline-end: var(--size-2-2);
text-decoration: none !important;
cursor: pointer;
}
.task-genius-settings .settings-tabs-categorized-container {
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-6);
}
.task-genius-settings .settings-category-section {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.task-genius-settings .settings-category-header {
font-size: var(--font-ui-small);
font-weight: var(--font-weight-semibold);
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0 var(--size-4-2);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: var(--size-4-1);
}
.task-genius-settings .settings-category-tabs {
display: grid;
grid-template-columns: repeat(3, minmax(200px, 1fr));
gap: var(--size-4-2);
}
@media (max-width: 1200px) {
.task-genius-settings .settings-category-tabs {
grid-template-columns: repeat(2, minmax(200px, 1fr));
}
}
@media (max-width: 768px) {
.task-genius-settings .settings-category-tabs {
grid-template-columns: 1fr;
}
}
.task-genius-settings .settings-tabs-container {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: var(--size-4-18);
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
height: fit-content;
gap: var(--size-4-4);
}
@media (max-width: 768px) {
.task-genius-settings .settings-tabs-container {
grid-template-columns: repeat(1, 1fr);
}
}
.task-genius-settings .settings-tab {
padding: var(--size-4-3) var(--size-4-4);
border-radius: var(--radius-m);
cursor: pointer;
display: flex;
align-items: center;
gap: var(--size-4-2);
min-height: var(--size-4-12);
border: 1px solid var(--background-modifier-border);
background: var(--background-primary);
position: relative;
overflow: hidden;
transition: all 0.2s ease;
}
.task-genius-settings .settings-tab::after {
content: "";
position: absolute;
top: 10px;
right: -80px;
width: 200px;
height: 200px;
background-color: var(--background-secondary-alt);
transform: rotateZ(-15deg);
z-index: 0;
opacity: 0.7;
transition: all 0.3s ease;
border-radius: var(--radius-m);
}
.task-genius-settings .settings-tab:hover::after {
transform: rotateZ(-10deg);
opacity: 0.9;
}
.task-genius-settings .settings-tab-active::after {
background-color: var(--interactive-accent);
opacity: 0.3;
}
.task-genius-settings .settings-tab-icon,
.task-genius-settings .settings-tab span,
.task-genius-settings .settings-tab-label {
position: relative;
z-index: 1;
}
.task-genius-settings .settings-category-tabs .settings-tab-icon {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-4);
height: var(--size-4-4);
flex-shrink: 0;
}
.task-genius-settings .settings-category-tabs .settings-tab-icon svg {
width: var(--icon-s);
height: var(--icon-s);
}
.task-genius-settings .settings-category-tabs .settings-tab-label {
font-size: var(--font-ui-small);
font-weight: var(--font-weight-medium);
flex: 1;
text-align: left;
}
.task-genius-settings .settings-category-tabs .settings-tab:hover {
background: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-m);
}
.task-genius-settings .settings-category-tabs .settings-tab-active {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
box-shadow: var(--shadow-m);
font-weight: var(--font-weight-semibold);
}
.task-genius-settings .settings-category-tabs .settings-tab-active:hover {
background: var(--interactive-accent-hover);
border-color: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.task-genius-settings .settings-tab:hover {
background-color: var(--background-modifier-hover);
}
.task-genius-settings .settings-tab-active {
background-color: var(--background-modifier-border-hover);
font-weight: bold;
}
.task-genius-settings .settings-tab-sections {
overflow: hidden;
}
.task-genius-settings .settings-tab-section {
display: none;
}
.task-genius-settings .settings-tab-section-active {
display: block;
}
.task-genius-settings .settings-tab-section-header {
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content: space-between;
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-4);
}
.task-genius-settings .settings-tab-section-header .header-button {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
font-size: var(--font-ui-small);
}
.task-genius-settings .settings-tab-section-header .header-button-icon {
--icon-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.task-genius-settings .settings-tab[data-tab-id=general] {
display: none;
}
.task-genius-settings .settings-tabs-categorized-container {
display: flex;
}
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .settings-tabs-categorized-container {
display: none;
}
.task-genius-settings .settings-tabs-container {
display: none;
}
.task-genius-settings:has(.settings-tab-active[data-tab-id=general]) .settings-tabs-container {
display: grid;
}
.task-genius-settings-header {
display: block;
}
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .task-genius-settings-header {
display: none;
}
.expression-examples {
margin-top: 8px;
border-radius: 5px;
}
.expression-example-item {
margin-bottom: var(--size-4-3);
padding: var(--size-4-2);
padding-left: var(--size-4-3);
padding-right: var(--size-4-3);
border-radius: var(--radius-s);
display: flex;
flex-direction: column;
gap: 6px;
border: 1px solid var(--background-modifier-border);
}
.expression-example-name {
font-weight: bold;
}
.expression-example-code {
padding: 4px 8px;
background-color: var(--background-secondary);
border-radius: 4px;
font-family: var(--font-monospace);
font-size: 0.9em;
overflow-wrap: break-word;
user-select: text;
}
.expression-example-use {
align-self: flex-end;
margin-top: 4px;
}
.custom-format-textarea {
height: 200px;
width: 100%;
font-family: var(--font-monospace);
resize: vertical;
}
.custom-format-preview-container {
margin-bottom: var(--size-4-3);
padding: var(--size-4-3);
border-radius: var(--radius-s);
background-color: var(--background-secondary);
display: flex;
flex-direction: column;
}
.custom-format-preview-label {
font-weight: bold;
margin-bottom: var(--size-4-2);
color: var(--text-muted);
}
.custom-format-preview-content {
padding: var(--size-4-2);
background-color: var(--background-primary);
border-radius: var(--radius-s);
font-family: var(--font-interface);
}
.custom-format-placeholder-info {
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
user-select: text;
}
.custom-format-preview-error,
.expression-preview-error {
color: var(--text-error);
}
.expression-example-preview {
margin-top: var(--size-4-2);
padding: var(--size-4-2);
background-color: var(--background-primary-alt);
border-radius: var(--radius-s);
font-size: 0.9em;
}
.preset-filters-container {
margin-top: 10px;
padding: 8px;
border-radius: 5px;
border: 1px solid var(--background-modifier-border);
}
.preset-filter-row {
margin-bottom: 5px;
border-radius: 4px;
padding-top: var(--size-4-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
transition: background-color 0.2s ease;
}
.preset-filter-row:hover {
background-color: var(--background-secondary-alt);
}
.no-presets-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.preset-saved-message {
color: var(--text-accent);
font-weight: bold;
text-align: center;
padding: 5px;
margin-top: 5px;
animation: fadeIn 0.3s ease-in-out;
}
.task-filter-save-preset {
margin-top: 15px;
padding: 10px;
border-radius: 5px;
background-color: var(--background-secondary-alt);
}
.tg-modal-button-container {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.tg-modal-button-container button {
padding: 6px 12px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
}
.tg-modal-button-container button.mod-warning {
background-color: var(--background-modifier-error);
color: white;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.modal-workflow-definition {
max-width: 800px;
width: 90vw;
}
.modal-stage-definition {
max-width: 800px;
width: 90vw;
}
.workflow-container {
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 15px;
max-height: 500px;
overflow-y: auto;
background-color: var(--background-primary);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.workflow-row {
margin-bottom: 15px;
padding: 12px;
border-radius: 6px;
background-color: var(--background-secondary-alt);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
border-left: 3px solid var(--interactive-accent);
}
.workflow-row .setting-item {
border: none;
padding: 0;
}
.workflow-row .setting-item-info {
padding: 0 !important;
}
.workflow-row .setting-item-name {
font-size: 16px;
font-weight: 600;
color: var(--text-normal);
}
.workflow-row .setting-item-description {
font-size: 13px;
color: var(--text-muted);
margin-top: 4px;
}
.workflow-stages-info {
margin-top: 12px;
padding: 8px 0 0 0;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-stages-list {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: var(--size-2-2);
padding: 0;
margin: 0;
}
.workflow-stage-item {
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
display: inline-flex;
align-items: center;
background-color: var(--background-modifier-border);
}
.workflow-stage-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.workflow-stage-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.no-workflows-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.workflow-form {
margin-bottom: 20px;
}
.workflow-stages-section {
margin-top: 20px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 15px;
}
.workflow-stages-section h2 {
margin-top: 0;
margin-bottom: 15px;
font-size: 1.3em;
color: var(--text-normal);
}
.workflow-stages-container {
margin-top: 15px;
}
.workflow-stages-container .workflow-stages-list {
display: block;
flex-wrap: unset;
gap: unset;
}
.workflow-stages-container .workflow-stage-item {
display: block;
margin-bottom: 10px;
padding: 0;
background-color: transparent;
}
.workflow-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-save-button,
.workflow-cancel-button,
.workflow-add-stage-button {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
}
.workflow-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-cancel-button {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.workflow-add-stage-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
margin-top: 10px;
}
.no-stages-message {
font-style: italic;
color: var(--text-muted);
text-align: center;
padding: 15px;
}
.workflow-stage-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
background-color: var(--background-secondary);
border-radius: 4px;
margin-bottom: 8px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.workflow-stage-name {
font-weight: 600;
flex: 1;
margin-right: 10px;
}
.workflow-stage-actions {
display: flex;
gap: 5px;
}
.workflow-stage-edit,
.workflow-stage-move-up,
.workflow-stage-move-down,
.workflow-stage-delete {
padding: 3px 8px;
border-radius: 3px;
background-color: var(--background-modifier-border);
cursor: pointer;
font-size: 12px;
border: none;
}
.workflow-stage-edit:hover,
.workflow-stage-move-up:hover,
.workflow-stage-move-down:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-stage-delete:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.workflow-stage-type-badge {
display: inline-block;
padding: 2px 6px;
margin-left: 8px;
border-radius: 3px;
font-size: 10px;
text-transform: uppercase;
font-weight: 600;
}
.workflow-stage-type-linear {
background-color: var(--background-modifier-border);
}
.workflow-stage-type-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.workflow-stage-type-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.workflow-substages-list {
padding: 0 0 0 var(--size-4-6);
margin-top: var(--size-4-2);
margin-bottom: var(--size-4-2);
border-left: 2px solid var(--background-modifier-border);
}
.substage-settings-container {
width: 100%;
}
.stage-type-settings {
margin-top: 20px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 15px;
background-color: var(--background-primary);
}
.substages-section,
.can-proceed-to-section {
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid var(--background-modifier-border);
}
.substages-container,
.can-proceed-to-container {
margin-top: 15px;
padding: 10px;
border-radius: 4px;
}
.substages-list,
.can-proceed-list {
list-style-type: none;
padding: 0;
margin: 0;
}
.substage-name-container {
display: flex;
gap: 10px;
align-items: center;
flex: 1;
}
.substage-name-container input {
padding: 4px 8px;
border-radius: 3px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.substage-next-container {
display: flex;
align-items: center;
gap: 5px;
margin-left: 10px;
}
.substage-remove-button,
.can-proceed-remove-button {
color: var(--text-normal);
border-radius: 3px;
padding: 2px 5px;
cursor: pointer;
border: none;
}
.substage-remove-button:hover,
.can-proceed-remove-button:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.add-substage-button,
.add-can-proceed-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
padding: 4px 10px;
border-radius: 4px;
margin-top: 10px;
cursor: pointer;
border: none;
}
.add-can-proceed-container {
display: flex;
gap: 10px;
align-items: flex-end;
}
.add-can-proceed-select {
flex: 1;
padding: 4px 8px;
border-radius: 3px;
border: 1px solid var(--background-modifier-border);
}
.stage-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid var(--background-modifier-border);
}
.stage-save-button,
.stage-cancel-button {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
border: none;
}
.stage-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.stage-cancel-button {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.stage-error-message {
color: var(--background-modifier-error);
font-weight: bold;
text-align: center;
margin-top: 10px;
padding: 8px;
border-radius: 4px;
}
.task-workflow-tag {
display: inline-block;
padding: 2px 5px;
border-radius: 3px;
margin-left: 5px;
font-size: 12px;
background-color: var(--background-secondary-alt);
}
.task-workflow-stage {
margin-left: 5px;
color: var(--text-accent);
}
.task-workflow-substage {
font-size: 11px;
color: var(--text-muted);
}
.task-workflow-history {
margin-left: 20px;
font-size: 12px;
color: var(--text-muted);
}
.task-workflow-timestamp {
color: var(--text-faint);
}
.setting-item-control span[class^=workflow-stage-name-] {
display: inline-block;
padding: 2px 6px;
border-radius: 3px;
font-size: 12px;
font-weight: 500;
margin-right: 5px;
}
.setting-item-control .workflow-stage-name-cycle {
background-color: var(--task-in-progress-color);
color: var(--text-on-accent);
}
.setting-item-control .workflow-stage-name-terminal {
background-color: var(--task-completed-color);
color: var(--text-on-accent);
}
.workflow-stage-item {
margin-right: 4px;
}
.workflow-stages-container .workflow-stage-header {
padding: 8px 12px;
background-color: var(--background-secondary);
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
margin-bottom: 8px;
}
.workflow-stages-container .workflow-stage-type-badge {
display: inline-block;
padding: 2px 6px;
margin-left: 8px;
border-radius: 3px;
font-size: 10px;
text-transform: uppercase;
font-weight: 600;
}
.workflow-substages-list {
list-style-type: none;
padding: 0 0 0 20px;
margin: 5px 0 10px 0;
border-left: 2px solid var(--background-modifier-border);
}
.workflow-add-stage-button,
.stage-save-button.mod-cta,
.workflow-save-button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
padding: 6px 15px;
border-radius: 4px;
font-weight: 500;
border: none;
cursor: pointer;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: all 0.2s ease;
text-align: center;
}
.workflow-add-stage-button:hover,
.stage-save-button.mod-cta:hover,
.workflow-save-button.mod-cta:hover {
background-color: var(--interactive-accent-hover);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.workflow-stage-move-up,
.workflow-stage-move-down,
.workflow-stage-edit,
.workflow-stage-delete {
border: none;
background-color: var(--background-modifier-border);
padding: 3px 8px;
border-radius: 3px;
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.workflow-stage-move-up:hover,
.workflow-stage-move-down:hover,
.workflow-stage-edit:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-stage-delete:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.substage-item {
display: flex;
justify-content: flex-end;
align-items: center;
padding: 6px 0;
margin-bottom: 5px;
border-radius: 4px;
}
.substage-name-container input {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
padding: 4px 8px;
border-radius: 3px;
font-size: 13px;
}
.substage-name-container input:focus {
border-color: var(--interactive-accent);
outline: none;
}
.no-stages-message,
.no-workflows-message,
.no-substages-message,
.no-can-proceed-message {
font-style: italic;
color: var(--text-muted);
padding: 15px;
text-align: center;
background-color: var(--background-secondary-alt);
border-radius: 5px;
margin: 10px 0;
}
.rewards-levels-container,
.rewards-items-container {
margin-top: 10px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.rewards-level-row .setting-item-info,
.rewards-item-row .setting-item-info {
display: none;
}
.rewards-item-row.setting-item {
border-top: 0;
}
.rewards-level-row .setting-item-control,
.rewards-item-row .setting-item-control {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}
.rewards-level-row .setting-item-control input[type=text] {
flex: 1;
min-width: 100px;
}
.rewards-item-row .setting-item-control .input-container {
flex: 1;
min-width: 150px;
}
.rewards-item-row .setting-item-control textarea {
width: 100%;
min-height: 40px;
resize: vertical;
}
.rewards-item-row .setting-item-control .dropdown {
min-width: 120px;
}
.rewards-level-row .setting-item-control button,
.rewards-item-row .setting-item-control button {
margin-left: auto;
}
.rewards-item-divider {
border: none;
height: 1px;
background-color: var(--background-modifier-border);
margin-top: 15px;
margin-bottom: 15px;
}
.setting-item.sort-criterion-row .setting-item-info {
display: none;
}
.setting-item.sort-criterion-row select.dropdown {
flex: 1;
}
.view-edit-button,
.view-copy-button,
.view-order-button,
.view-delete-button {
padding: 4px;
width: 24px;
height: 24px;
border-radius: 4px;
margin-left: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.view-copy-button {
color: var(--interactive-accent);
}
.view-copy-button:hover {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.view-delete-button {
color: var(--text-error);
}
.view-delete-button:hover {
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
}
.view-icon {
margin-right: 8px;
--icon-size: 16px;
}
.copy-mode-info {
margin: 10px 0;
padding: 12px;
background-color: var(--background-secondary-alt);
border-radius: 5px;
border-left: 3px solid var(--interactive-accent);
}
.copy-mode-info p {
margin: 4px 0;
}
.tasks-compatibility-warning {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-4);
margin-bottom: var(--size-4-4);
background-color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
border-radius: var(--radius-m);
color: var(--text-on-accent);
}
.tasks-warning-icon {
font-size: 20px;
line-height: 1;
flex-shrink: 0;
}
.tasks-warning-content {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--size-2-2);
}
.tasks-warning-title {
font-weight: 600;
font-size: var(--font-ui-medium);
}
.tasks-warning-text {
color: var(--text-on-accent);
font-size: var(--font-ui-small);
line-height: 1.4;
}
.tasks-warning-text a {
color: var(--text-on-accent);
text-decoration: underline;
}
.tasks-warning-text a:hover {
color: var(--text-on-accent);
}
.task-genius-format-examples {
display: flex;
flex-direction: column;
gap: var(--size-2-3);
padding: var(--size-4-3);
margin: var(--size-4-3) 0;
border-radius: var(--radius-m);
background-color: var(--background-secondary-alt);
border: 1px solid var(--background-modifier-border);
}
.task-genius-format-examples strong {
font-size: var(--font-ui-medium);
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-2-1);
}
.task-genius-format-examples span {
font-family: var(--font-monospace);
font-size: var(--font-ui-smaller);
line-height: 1.5;
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-3);
background-color: var(--background-primary);
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
margin: var(--size-2-1) 0;
}
.task-genius-format-examples span:first-of-type {
margin-top: 0;
}
.task-genius-format-examples span:last-of-type {
margin-bottom: 0;
}
.project-path-mappings-container,
.project-metadata-mappings-container {
margin-top: 10px;
}
.project-path-mapping-row,
.project-metadata-mapping-row {
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
margin-bottom: 10px;
padding: 10px;
}
.no-mappings-message {
color: var(--text-muted);
font-style: italic;
text-align: center;
padding: 20px;
}
.task-project-tg {
opacity: 0.8;
font-style: italic;
border-left: 2px solid var(--color-accent);
padding-left: 4px;
}
.task-project-tg::before {
content: "\1f517";
margin-right: 2px;
font-size: 0.8em;
}
.project-readonly {
opacity: 0.8;
}
.project-readonly input {
background-color: var(--background-modifier-border);
cursor: not-allowed;
}
.project-source-indicator {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-style: italic;
margin-top: 4px;
}
.task-genius-date-formats-container {
margin-top: 15px;
padding: 15px;
background-color: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.task-genius-formats-header {
margin-top: 0;
margin-bottom: 10px;
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
}
.task-genius-format-list {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 15px;
}
.task-genius-format-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px;
background-color: var(--background-primary);
border-radius: 6px;
border: 1px solid var(--background-modifier-border);
transition: all 0.2s ease;
}
.task-genius-format-item:hover {
border-color: var(--interactive-accent);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.task-genius-format-input {
flex: 1;
padding: 6px 10px;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
color: var(--text-normal);
font-family: var(--font-monospace);
font-size: 0.95em;
transition: border-color 0.2s ease;
}
.task-genius-format-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.task-genius-format-input::placeholder {
color: var(--text-faint);
font-style: italic;
}
.task-genius-format-delete-btn {
width: 28px;
height: 28px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--background-modifier-error);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
font-size: 20px;
font-weight: bold;
cursor: pointer;
transition: all 0.2s ease;
}
.task-genius-format-delete-btn:hover {
background-color: var(--background-modifier-error-hover);
transform: scale(1.1);
}
.task-genius-add-format-btn {
padding: 10px 16px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
align-self: flex-start;
margin-top: 5px;
}
.task-genius-add-format-btn:hover {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.task-genius-add-format-btn:active {
transform: translateY(0);
}
.task-genius-date-examples {
margin-top: 20px;
padding: 15px;
background-color: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.task-genius-examples-header {
margin-top: 0;
margin-bottom: 12px;
font-size: 1em;
font-weight: 600;
color: var(--text-normal);
}
.task-genius-date-examples-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9em;
}
.task-genius-date-examples-table th,
.task-genius-date-examples-table td {
padding: 8px 12px;
text-align: left;
border: 1px solid var(--background-modifier-border);
}
.task-genius-date-examples-table th {
background-color: var(--background-secondary-alt);
font-weight: 600;
color: var(--text-normal);
}
.task-genius-date-examples-table td {
background-color: var(--background-primary);
font-family: var(--font-monospace);
}
.task-genius-date-examples-table tr:nth-child(even) td {
background-color: var(--background-primary-alt);
}
.task-genius-date-examples-table tr:hover td {
background-color: var(--background-modifier-hover);
}
.tg-index-task-source-wrapper {
margin-top: 18px;
}
.tg-index-task-source-panels {
display: flex;
flex-direction: column;
gap: 12px;
}
.tg-source-settings-body {
display: flex;
flex-direction: column;
gap: 12px;
}
.tg-source-settings-body.tg-source-disabled {
opacity: 0.55;
pointer-events: none;
}
/* src/styles/setting-v2.css */
.tg-status-icon {
display: inline-flex;
align-items: center;
vertical-align: middle;
margin-right: var(--size-2-3);
margin-top: calc(-1 * var(--size-2-1));
}
.tg-icons-container {
display: flex;
gap: var(--size-2-2);
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
.tg-icons-container .tg-status-icon {
margin-right: 0;
margin-top: 0;
}
.global-filter-container {
margin-bottom: 20px;
padding: 10px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background-color: var(--background-secondary);
}
.task-genius-metadata-fields-container,
.task-genius-tags-container,
.task-genius-paths-container,
.task-genius-date-formats-container {
margin: 1rem 0;
padding: 1rem;
background: var(--background-secondary);
border-radius: 8px;
}
.task-genius-fields-header,
.task-genius-tags-header,
.task-genius-paths-header,
.task-genius-formats-header,
.task-genius-examples-header {
font-size: 0.95em;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-normal);
}
.task-genius-field-list,
.task-genius-tag-list,
.task-genius-path-list,
.task-genius-format-list {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 1rem;
}
.task-genius-field-item,
.task-genius-tag-item,
.task-genius-path-item,
.task-genius-format-item {
display: flex;
align-items: center;
gap: 0.5rem;
background: var(--background-primary);
padding: 0.5rem;
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
transition: border-color 0.2s;
}
.task-genius-field-item:hover,
.task-genius-tag-item:hover,
.task-genius-path-item:hover,
.task-genius-format-item:hover {
border-color: var(--interactive-accent);
}
.task-genius-field-input,
.task-genius-tag-input,
.task-genius-path-input,
.task-genius-format-input {
flex: 1;
padding: 0.4rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
color: var(--text-normal);
font-family: var(--font-interface);
font-size: 0.9em;
}
.task-genius-field-input:focus,
.task-genius-tag-input:focus,
.task-genius-path-input:focus,
.task-genius-format-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.task-genius-field-delete-btn,
.task-genius-tag-delete-btn,
.task-genius-path-delete-btn,
.task-genius-format-delete-btn {
width: 28px;
height: 28px;
padding: 0;
border: none;
background: var(--background-modifier-error);
color: var(--text-on-accent);
border-radius: 4px;
cursor: pointer;
font-size: 1.2em;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.2s;
}
.task-genius-field-delete-btn:hover,
.task-genius-tag-delete-btn:hover,
.task-genius-path-delete-btn:hover,
.task-genius-format-delete-btn:hover {
background: var(--background-modifier-error-hover);
}
.task-genius-add-field-btn,
.task-genius-add-tag-btn,
.task-genius-add-path-btn,
.task-genius-add-format-btn {
padding: 0.5rem 1rem;
background: var(--background-primary);
color: var(--text-muted);
border-radius: 4px;
cursor: pointer;
font-size: 0.9em;
transition: all 0.2s;
}
.task-genius-add-field-btn:hover,
.task-genius-add-tag-btn:hover,
.task-genius-add-path-btn:hover,
.task-genius-add-format-btn:hover {
border-color: var(--interactive-accent);
color: var(--interactive-accent);
}
.task-genius-date-examples {
margin-top: 1rem;
padding: 1rem;
background: var(--background-secondary);
border-radius: 8px;
}
.task-genius-date-examples-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9em;
}
.task-genius-date-examples-table th {
text-align: left;
padding: 0.5rem;
border-bottom: 1px solid var(--background-modifier-border);
color: var(--text-muted);
font-weight: 500;
}
.task-genius-date-examples-table td {
padding: 0.4rem 0.5rem;
border-bottom: 1px solid var(--background-modifier-border-hover);
color: var(--text-normal);
}
.task-genius-date-examples-table tr:last-child td {
border-bottom: none;
}
.task-genius-date-examples-table tr:hover td {
background: var(--background-primary-alt);
}
.task-genius-iframe-modal {
width: 90%;
max-width: 1400px;
max-height: 90vh;
overflow-y: auto;
}
.task-genius-iframe-modal .modal-title {
display: flex;
flex-direction: row;
}
.time-parsing-example {
padding: var(--size-2-2);
background-color: var(--background-secondary);
border-radius: var(--radius-s);
margin-top: var(--size-2-2);
margin-bottom: var(--size-2-2);
padding-left: var(--size-4-2);
padding-right: var(--size-4-2);
font-size: var(--font-ui-small);
}
.task-genius-settings .setting-item-control input[type=time] {
border: 1px solid var(--background-modifier-border);
padding: var(--size-2-2);
border-radius: var(--radius-s);
}
.task-genius-settings .file-source-strategy-container {
border-top: 1px solid var(--background-modifier-border);
padding-top: var(--size-4-4);
}
.fluent-view-tabs.tg-index-task-source-switcher {
display: flex;
align-items: stretch;
justify-content: center;
gap: var(--size-2-2);
background-color: var(--background-secondary);
border-radius: var(--size-2-3);
padding: var(--size-2-1);
margin-bottom: var(--size-4-4);
width: fit-content;
margin-left: auto;
margin-right: auto;
}
.tg-index-task-source-switcher .fluent-view-tab {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: none;
border-radius: 4px;
font-size: 14px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s ease;
}
.tg-index-task-source-switcher .fluent-view-tab:hover {
color: var(--text-normal);
}
.tg-index-task-source-switcher .fluent-view-tab.is-active {
background-color: var(--background-primary);
color: var(--text-normal);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.tg-index-task-source-switcher .fluent-view-tab-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
}
.tg-index-task-source-switcher .fluent-view-tab-label {
display: inline-flex;
align-items: center;
}
.file-name-templates-container input {
flex: 1;
}
.file-name-templates-container .setting-item-info {
display: none;
}
.workspace-hidden-modules-container {
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
padding: var(--size-4-4);
background: var(--background-secondary);
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
}
.workspace-hidden-modules-title {
font-size: var(--font-ui-medium);
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-4-2);
display: flex;
align-items: center;
gap: var(--size-2-2);
}
.workspace-hidden-modules-title svg {
width: 18px;
height: 18px;
color: var(--text-muted);
}
.workspace-hidden-modules-desc {
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-bottom: var(--size-4-3);
line-height: 1.5;
}
.workspace-module-groups {
display: flex;
flex-direction: column;
gap: var(--size-4-3);
}
.workspace-module-group {
background: var(--background-primary);
border-radius: var(--radius-s);
padding: var(--size-4-2);
border: 1px solid var(--background-modifier-border);
}
.workspace-module-group-header {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-4-2);
padding-bottom: var(--size-2-3);
border-bottom: 1px solid var(--background-modifier-border);
}
.workspace-module-group-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--interactive-accent);
}
.workspace-module-group-title {
font-size: var(--font-ui-small);
font-weight: 600;
color: var(--text-normal);
flex: 1;
}
.workspace-module-group-count {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
background: var(--background-secondary);
padding: 2px 8px;
border-radius: var(--radius-s);
}
.workspace-module-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: var(--size-2-3);
}
.workspace-module-item {
display: flex;
align-items: center;
gap: var(--size-2-2);
padding: var(--size-2-3);
background: var(--background-secondary);
border-radius: var(--radius-s);
border: 1px solid transparent;
cursor: pointer;
transition: all 0.15s ease;
user-select: none;
}
.workspace-module-item:hover {
border-color: var(--background-modifier-border-hover);
background: var(--background-secondary-alt);
}
.workspace-module-item.is-hidden {
opacity: 0.6;
}
.workspace-module-item.is-hidden:hover {
opacity: 0.8;
}
.workspace-module-checkbox {
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.workspace-module-checkbox input[type=checkbox] {
margin: 0;
cursor: pointer;
}
.workspace-module-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
flex-shrink: 0;
}
.workspace-module-label {
font-size: var(--font-ui-small);
color: var(--text-normal);
flex: 1;
line-height: 1.3;
}
.workspace-module-item.is-hidden .workspace-module-label {
text-decoration: line-through;
color: var(--text-muted);
}
.workspace-name-with-icon {
display: flex;
align-items: center;
gap: var(--size-2-2);
}
.workspace-list-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
flex-shrink: 0;
}
/* src/styles/beta-warning.css */
.beta-test-warning-banner {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 16px;
margin-bottom: 20px;
border: 1px solid var(--color-orange);
border-radius: 8px;
}
.beta-warning-icon {
font-size: 20px;
line-height: 1;
flex-shrink: 0;
margin-top: 2px;
}
.beta-warning-content {
flex: 1;
min-width: 0;
}
.beta-warning-title {
font-weight: 600;
font-size: 14px;
color: var(--text-normal);
margin-bottom: 8px;
}
.beta-warning-text {
font-size: 13px;
line-height: 1.4;
color: var(--text-muted);
}
/* src/styles/settings-search.css */
.tg-settings-search-input-container {
position: relative;
display: flex;
align-items: center;
background: var(--input-background);
border: var(--input-border-width) solid var(--background-modifier-border);
border-radius: var(--radius-s);
transition: all 0.15s ease-in-out;
min-height: var(--input-height);
}
.tg-settings-search-input-container:focus-within {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.tg-settings-search-icon {
display: flex;
align-items: center;
justify-content: center;
padding: 0 var(--size-4-2);
color: var(--text-muted);
flex-shrink: 0;
}
.tg-settings-search-icon svg {
width: var(--icon-s);
height: var(--icon-s);
}
.tg-settings-search-input {
flex: 1;
padding: var(--size-2-2) var(--size-2-1);
border: none !important;
background: transparent !important;
color: var(--text-normal);
font-size: var(--font-ui-medium);
outline: none;
}
input.tg-settings-search-input {
border: none !important;
box-shadow: none !important;
}
.tg-settings-search-input::placeholder {
color: var(--text-muted);
opacity: 0.7;
}
.tg-settings-search-clear {
display: flex;
align-items: center;
justify-content: center;
padding: var(--size-2-1);
margin-right: var(--size-2-1);
border: none !important;
background: transparent !important;
color: var(--text-muted);
cursor: pointer;
border-radius: var(--button-radius);
transition: all 0.15s ease-in-out;
box-shadow: none !important;
flex-shrink: 0;
width: var(--clickable-icon-size);
height: var(--clickable-icon-size);
}
.tg-settings-search-clear:hover {
background: var(--background-modifier-hover) !important;
color: var(--text-normal);
}
.tg-settings-search-clear:active {
background: var(--background-modifier-active) !important;
}
.tg-settings-search-clear svg {
width: var(--icon-xs);
height: var(--icon-xs);
}
.tg-settings-search-results {
position: absolute;
top: calc(100% + var(--size-2-1));
left: 0;
right: 0;
background: var(--background-primary);
border: var(--border-width) solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
z-index: var(--layer-popover);
max-height: 320px;
overflow-y: auto;
overflow-x: hidden;
}
.tg-settings-search-result {
display: flex;
flex-direction: column;
padding: var(--size-4-2) var(--size-4-3);
cursor: pointer;
border-bottom: var(--border-width) solid var(--background-modifier-border-hover);
transition: background-color 0.1s ease-in-out;
position: relative;
}
.tg-settings-search-result:last-child {
border-bottom: none;
}
.tg-settings-search-result:hover,
.tg-settings-search-result-selected {
background: var(--background-modifier-hover);
}
.tg-settings-search-result:active {
background: var(--background-modifier-active);
}
.tg-settings-search-result-name {
font-weight: var(--font-weight-medium);
color: var(--text-normal);
margin-bottom: var(--size-2-1);
font-size: var(--font-ui-medium);
line-height: var(--line-height-tight);
}
.tg-settings-search-result-meta {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-bottom: var(--size-2-1);
}
.tg-settings-search-result-category {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
background: var(--background-modifier-border);
padding: var(--size-2-1) var(--size-2-2);
border-radius: var(--radius-s);
font-weight: var(--font-weight-medium);
text-transform: uppercase;
letter-spacing: 0.02em;
}
.tg-settings-search-result-desc {
font-size: var(--font-ui-small);
color: var(--text-muted);
line-height: var(--line-height-normal);
margin-top: var(--size-2-1);
}
.tg-settings-search-no-result {
padding: var(--size-4-4) var(--size-4-3);
text-align: center;
color: var(--text-muted);
font-size: var(--font-ui-medium);
font-style: italic;
}
.tg-settings-search-highlight {
background: var(--background-secondary) !important;
border-radius: var(--radius-s);
transition: background-color 0.6s ease-out;
animation: tg-settings-search-pulse 0.6s ease-out;
}
@keyframes tg-settings-search-pulse {
0% {
background: var(--interactive-accent);
transform: scale(1);
}
50% {
background: var(--background-secondary);
transform: scale(1.01);
}
100% {
background: var(--background-secondary);
transform: scale(1);
}
}
.tg-settings-search-result-selected {
background: var(--background-modifier-hover) !important;
outline: var(--border-width) solid var(--interactive-accent);
outline-offset: -1px;
}
@media (max-width: 768px) {
.tg-settings-search-results {
max-height: 280px;
border-radius: var(--radius-s);
}
.tg-settings-search-result {
padding: var(--size-4-2) var(--size-4-2);
}
.tg-settings-search-result-name {
font-size: var(--font-ui-small);
}
.tg-settings-search-result-category {
font-size: var(--font-ui-smaller);
padding: var(--size-2-1) var(--size-2-1);
}
}
.tg-settings-search-results {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-bg) transparent;
}
.tg-settings-search-results::-webkit-scrollbar {
width: var(--scrollbar-thin-width);
}
.tg-settings-search-results::-webkit-scrollbar-track {
background: transparent;
}
.tg-settings-search-results::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb-bg);
border-radius: var(--scrollbar-thin-thumb-radius);
border: 2px solid transparent;
background-clip: content-box;
}
.tg-settings-search-results::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-thumb-bg-hover);
background-clip: content-box;
}
.task-genius-settings .settings-tabs-categorized-container {
margin-top: var(--size-4-3);
}
.tg-settings-search-results {
z-index: var(--layer-popover, 200);
}
.tg-settings-search-input:focus {
border: none !important;
outline: none !important;
box-shadow: none !important;
}
.tg-settings-search-icon {
transition: color 0.15s ease-in-out;
}
.tg-settings-search-input-container:focus-within .tg-settings-search-icon {
color: var(--interactive-accent);
}
.tg-settings-search-clear {
opacity: 0.8;
}
.tg-settings-search-clear:hover {
opacity: 1;
}
/* src/styles/settings-migration.css */
.setting-item-info.mod-warning {
border: 1px solid var(--background-modifier-error);
border-radius: 6px;
padding: 16px;
margin: 12px 0;
}
.setting-item-info.mod-warning .setting-item-name {
font-weight: 600;
color: var(--text-error);
margin-bottom: 8px;
}
.setting-item-info.mod-warning .setting-item-description {
color: var(--text-muted);
margin-bottom: 12px;
}
.setting-item-info.mod-warning .setting-item-description p {
margin: 4px 0;
}
.setting-item-info.mod-warning .setting-item-control {
display: flex;
gap: 8px;
align-items: center;
}
.setting-item-info.mod-warning button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
font-weight: 500;
}
.setting-item-info.mod-warning button.mod-cta:hover {
background-color: var(--interactive-accent-hover);
}
.setting-item-info.mod-warning button.mod-muted {
background-color: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
}
.setting-item-info.mod-warning button.mod-muted:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.setting-item-info.mod-success {
background-color: var(--color-green-bg);
border: 1px solid var(--color-green);
border-radius: 6px;
padding: 16px;
margin: 12px 0;
}
.setting-item-info.mod-success .setting-item-name {
font-weight: 600;
color: var(--color-green);
margin-bottom: 8px;
}
.file-source-notice {
background-color: var(--background-modifier-border);
border-radius: 6px;
padding: 12px;
margin: 8px 0;
}
.file-source-notice .notice-title {
font-weight: 600;
margin-bottom: 4px;
}
.file-source-notice .notice-description {
color: var(--text-muted);
font-size: 0.9em;
}
/* src/styles/workspace-settings-selector.css */
.tg-settings-header-bar {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 20px;
width: 100%;
}
.tg-workspace-selector-container {
flex-shrink: 0;
}
.workspace-settings-selector {
display: inline-block;
}
.workspace-settings-selector-button {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
background-color: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
cursor: pointer;
transition: all 0.15s ease;
min-width: 150px;
height: 34px;
}
.workspace-settings-selector-button:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.workspace-settings-selector-button:active {
background-color: var(--background-modifier-active-hover);
}
.workspace-settings-selector-button .workspace-icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
flex-shrink: 0;
}
.workspace-settings-selector-button .workspace-icon svg {
width: 16px;
height: 16px;
}
.workspace-settings-selector-button .workspace-name {
flex: 1;
font-size: 14px;
color: var(--text-normal);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.workspace-settings-selector-button .workspace-dropdown-icon {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
flex-shrink: 0;
margin-left: auto;
}
.workspace-settings-selector-button .workspace-dropdown-icon svg {
width: 12px;
height: 12px;
fill: var(--text-muted);
transition: transform 0.15s ease;
}
.workspace-settings-selector-button:hover .workspace-dropdown-icon svg {
fill: var(--text-normal);
}
.tg-settings-header-bar .tg-settings-search-container {
flex: 1;
max-width: none;
}
.tg-settings-header-bar .tg-settings-search-input-container {
width: 100%;
}
.tg-settings-main-container {
width: 100%;
position: relative;
}
.tg-settings-main-container .tg-settings-search-results {
margin-top: 8px;
}
@media (max-width: 768px) {
.tg-settings-header-bar {
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.workspace-settings-selector-button {
width: 100%;
min-width: unset;
}
.tg-settings-header-bar .tg-settings-search-container {
width: 100%;
}
}
.task-genius-settings .tg-workspace-selector-container .workspace-icon {
width: unset;
height: unset;
color: inherit;
}
/* src/styles/onboarding-components.css */
.onboarding-view:has(.component-showcase) .onboarding-content {
overflow-y: hidden;
}
.onboarding-view:has(.component-showcase, .intro-line) .onboarding-header {
padding: calc(var(--onboarding-spacing) * 2) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);
}
.onboarding-view .onboarding-header {
text-align: center;
}
.fluent-top-navigation.component-preview {
overflow-x: auto;
}
.fluent-sidebar.component-preview {
width: 100%;
}
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container {
background: var(--background-primary);
}
.tg-fluent-container.component-preview-sidebar {
width: 200px;
min-width: 200px;
border-right: 1px solid var(--background-modifier-border);
}
.tg-fluent-container.component-preview-topnav {
background: var(--background-primary);
}
.component-showcase {
display: flex;
gap: var(--size-4-6);
margin: var(--size-4-4) 0;
min-height: 400px;
min-width: 90%;
}
.component-showcase-preview {
flex: 1;
background: var(--background-secondary);
border-radius: var(--radius-m);
padding: var(--size-4-4);
overflow: hidden;
position: relative;
border: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: row;
overflow-x: auto;
}
.component-showcase-description {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--size-4-3);
}
.component-showcase-description h3 {
margin: 0;
color: var(--text-normal);
}
.component-showcase-description p {
margin: 0;
color: var(--text-muted);
line-height: 1.6;
}
.component-feature-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.component-feature-list li {
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
color: var(--text-normal);
}
.component-feature-list li::before {
content: "\2713";
color: var(--interactive-accent);
font-weight: bold;
flex-shrink: 0;
}
.component-preview {
pointer-events: none;
user-select: none;
}
.component-preview-sidebar {
max-width: 300px;
}
.component-preview-popover {
max-width: 350px;
}
.component-preview input,
.component-preview button,
.component-preview .clickable-icon {
pointer-events: none;
cursor: default;
}
.component-tabs {
display: flex;
gap: var(--size-4-2);
margin-bottom: var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: var(--size-4-2);
}
.component-tab {
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--radius-s);
cursor: pointer;
transition: all 0.2s ease;
color: var(--text-muted);
font-weight: 500;
}
.component-tab:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.component-tab.is-active {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.components-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--size-4-8);
}
@media (max-width: 768px) {
.component-showcase {
flex-direction: column;
}
.component-showcase-preview {
min-height: 300px;
}
}
.file-filter-preview {
display: flex;
flex-direction: column;
gap: var(--size-4-4);
}
.file-filter-config {
background: var(--background-primary);
border-radius: var(--radius-m);
padding: var(--size-4-4);
border: 1px solid var(--background-modifier-border);
}
.file-filter-stats-preview {
display: flex;
gap: var(--size-4-4);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--radius-s);
}
.filter-stat-item {
flex: 1;
text-align: center;
}
.filter-stat-value {
font-size: var(--font-ui-larger);
font-weight: 600;
color: var(--text-accent);
display: block;
}
.filter-stat-label {
font-size: var(--font-ui-small);
color: var(--text-muted);
display: block;
margin-top: var(--size-4-1);
}
.recommended-configs {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
margin-top: var(--size-4-4);
}
.recommended-config-item {
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
cursor: pointer;
transition: all 0.2s ease;
}
.recommended-config-item:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.recommended-config-item h4 {
margin: 0 0 var(--size-4-2) 0;
color: var(--text-normal);
font-size: var(--font-ui-medium);
}
.recommended-config-item p {
margin: 0;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.component-showcase-preview.tg-fluent-container.component-preview-sidebar .fluent-sidebar {
width: 100%;
}
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item,
.component-showcase-preview .component-preview-sidebar .fluent-project-item {
pointer-events: auto;
cursor: pointer;
outline: none;
}
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item.is-active,
.component-showcase-preview .component-preview-sidebar .fluent-project-item.is-active {
background: var(--background-modifier-hover);
border-radius: var(--radius-s);
}
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item:focus-visible,
.component-showcase-preview .component-preview-sidebar .fluent-project-item:focus-visible {
box-shadow: 0 0 0 2px var(--interactive-accent);
border-radius: var(--radius-s);
}
.component-showcase-preview.focus-mode .is-dimmed {
opacity: 0.5;
filter: grayscale(15%);
pointer-events: none;
}
.component-showcase-preview.focus-mode .is-focused {
position: relative;
outline: 1px solid var(--color-accent);
outline-offset: -1px;
border-radius: var(--radius-s);
z-index: 1;
}
.component-showcase:has(.fluent-top-navigation):not(:has(.component-preview-sidebar)) {
flex-direction: column;
}
.component-showcase-preview.focus-mode.tg-fluent-container.component-preview-topnav {
flex: unset;
height: max-content;
}
.fluent-top-navigation.component-preview.is-focused {
outline: unset;
}
.component-showcase-preview:has(.component-preview-sidebar + .component-preview-topnav) .component-preview-sidebar {
border-top: unset;
}
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container.component-preview-topnav {
border-top: unset;
background: var(--background-primary);
}
.onboarding-content .resources-section {
width: 100%;
}
/* src/styles/layout-placement.css */
.placement-preview {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 2px;
padding: var(--size-4-2);
height: 180px;
width: 100%;
background: var(--background-primary);
border-radius: 4px;
}
.placement-sidebar {
border-radius: 2px;
padding: 4px;
display: flex;
flex-direction: column;
gap: 2px;
}
.placement-sidebar-active {
background: var(--interactive-accent);
opacity: 0.4;
}
.placement-sidebar-inactive {
background: var(--background-modifier-border);
opacity: 0.3;
}
.placement-sidebar-item {
height: 6px;
border-radius: 1px;
}
.placement-sidebar-item-active {
background: var(--text-normal);
opacity: 0.3;
}
.placement-sidebar-item-inactive {
background: var(--text-faint);
opacity: 0.2;
}
.placement-sidebar-item-small {
height: 5px;
}
.placement-center {
border-radius: 2px;
display: flex;
flex-direction: column;
}
.placement-center-active {
background: var(--interactive-accent);
opacity: 0.4;
}
.placement-tab-bar {
height: 16px;
border-bottom: 1px solid var(--background-modifier-border);
padding: 2px 4px;
display: flex;
gap: 2px;
align-items: center;
}
.placement-tab {
width: 24px;
height: 10px;
background: var(--background-modifier-border);
opacity: 0.3;
border-radius: 1px;
}
.placement-tab-active {
background: var(--text-normal);
opacity: 0.5;
}
.placement-content {
flex: 1;
padding: 6px;
display: flex;
flex-direction: column;
gap: 4px;
}
.placement-content-line {
height: 8px;
background: var(--text-normal);
opacity: 0.3;
border-radius: 1px;
}
/* src/styles/file-filter-settings.css */
.file-filter-rules-container {
margin-top: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
padding: 1rem;
background: var(--background-secondary);
}
.file-filter-rule {
display: flex;
align-items: center;
gap: 1rem;
padding: 0.75rem;
margin-bottom: 0.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
overflow-x: auto;
}
.file-filter-rule:last-child {
margin-bottom: 0;
}
.file-filter-rule-type,
.file-filter-rule-path,
.file-filter-rule-scope,
.file-filter-rule-enabled {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.file-filter-rule-type {
min-width: 80px;
}
.file-filter-rule-path {
flex: 1;
}
.file-filter-rule-enabled {
min-width: 60px;
}
.file-filter-rule label {
font-size: 0.8rem;
font-weight: 500;
color: var(--text-muted);
}
.file-filter-rule input[type=text] {
padding: 0.25rem 0.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
background: var(--background-primary);
color: var(--text-normal);
font-size: 0.9rem;
}
.file-filter-rule input[type=checkbox] {
width: 16px;
height: 16px;
}
.file-filter-rule-delete {
padding: 0.25rem;
border: none;
border-radius: 3px;
background: var(--interactive-accent);
color: var(--text-on-accent);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
min-width: 28px;
height: 28px;
}
.file-filter-add-rule {
margin-top: 1rem;
}
.file-filter-add-rule .setting-item {
border: none;
padding: 0;
}
.file-filter-add-rule .setting-item-control {
gap: 0.5rem;
}
.file-filter-add-rule + .setting-item {
border-top: none;
}
.file-filter-stats {
margin-top: 1.5rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
}
.file-filter-stat {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.25rem 0;
}
.file-filter-stat:not(:last-child) {
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 0.25rem;
padding-bottom: 0.5rem;
}
.stat-label {
font-weight: 500;
color: var(--text-normal);
}
.stat-value {
font-weight: 600;
color: var(--interactive-accent);
}
.file-filter-stat.error {
background-color: var(--background-modifier-error);
border-left: 3px solid var(--text-error);
}
.file-filter-stat.error .stat-label {
color: var(--text-error);
}
.setting-item .setting-item-control button[aria-label*=refresh] {
transition: transform 0.2s ease;
}
.setting-item .setting-item-control button[aria-label*=refresh]:hover {
transform: rotate(90deg);
}
@keyframes refresh-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.setting-item .setting-item-control button[disabled] .lucide-refresh-cw {
animation: refresh-spin 1s linear infinite;
}
@media (max-width: 768px) {
.file-filter-rule {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}
.file-filter-rule-type,
.file-filter-rule-path,
.file-filter-rule-enabled {
min-width: auto;
}
.file-filter-rule-delete {
align-self: flex-end;
margin-top: 0.5rem;
}
}
.theme-dark .file-filter-rule input[type=text] {
background: var(--background-primary-alt);
border-color: var(--background-modifier-border-hover);
}
.theme-dark .file-filter-rule input[type=text]:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.file-filter-rules-container:empty::before {
content: "No filter rules configured. Add rules below to start filtering files and folders.";
display: block;
text-align: center;
color: var(--text-muted);
font-style: italic;
padding: 2rem;
}
.file-filter-preset-container {
margin-top: 1rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
}
.file-filter-preset-container .setting-item {
border: none;
padding: 0.5rem 0;
}
.file-filter-preset-container .setting-item:not(:last-child) {
border-bottom: 1px solid var(--background-modifier-border);
}
.file-filter-preset-container button {
position: relative;
transition: all 0.2s ease;
}
.file-filter-preset-container button:disabled {
opacity: 0.6;
cursor: not-allowed;
background: var(--background-modifier-border);
color: var(--text-muted);
}
.file-filter-preset-container button:not(:disabled):hover {
transform: translateY(-1px);
box-shadow: var(--shadow-s);
}
.file-filter-preset-container button[disabled] {
background: var(--color-green);
color: var(--text-on-accent);
border-color: var(--color-green);
}
.theme-dark .file-filter-preset-container button[disabled] {
background: var(--color-green-rgb);
opacity: 0.8;
}
.file-filter-rule-editor-modal {
max-width: 800px;
width: 90vw;
}
/* src/styles/habit-edit-dialog.css */
.habit-edit-dialog {
max-width: 600px;
width: 100%;
}
.habit-edit-dialog .modal-content {
padding: 20px;
}
.habit-edit-dialog .habit-type-selector {
margin-bottom: 20px;
}
.habit-edit-dialog .habit-type-description {
font-weight: 600;
margin-bottom: 10px;
}
.habit-edit-dialog .habit-type-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
@media (max-width: 500px) {
.habit-edit-dialog .habit-type-grid {
grid-template-columns: 1fr;
}
}
.habit-edit-dialog .habit-type-item {
display: flex;
padding: 12px;
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
cursor: pointer;
transition: all 0.2s ease;
}
.habit-edit-dialog .habit-type-item:hover {
background-color: var(--background-modifier-hover);
}
.habit-edit-dialog .habit-type-item.selected {
border-color: var(--interactive-accent);
background-color: var(--interactive-accent-hover);
}
.habit-edit-dialog .habit-type-icon {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background-color: var(--background-primary);
margin-right: 10px;
}
.habit-edit-dialog .habit-type-icon svg {
width: 20px;
height: 20px;
color: var(--text-normal);
}
.habit-edit-dialog .habit-type-text {
flex: 1;
display: flex;
flex-direction: column;
}
.habit-edit-dialog .habit-type-name {
font-weight: 600;
margin-bottom: 4px;
}
.habit-edit-dialog .habit-type-desc {
font-size: 0.85em;
color: var(--text-muted);
}
.habit-edit-dialog .habit-common-form,
.habit-edit-dialog .habit-type-form {
margin-bottom: 20px;
}
.habit-edit-dialog .habit-icon-preview {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
margin-left: 10px;
background-color: var(--background-primary);
border-radius: 50%;
}
.habit-edit-dialog .habit-icon-preview svg {
width: 18px;
height: 18px;
}
.habit-edit-dialog .habit-mapping-container {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 10px;
margin-bottom: 10px;
margin-top: 5px;
}
.habit-edit-dialog .habit-mapping-row {
display: flex;
align-items: center;
margin-bottom: 8px;
}
.habit-edit-dialog .habit-mapping-key {
width: 80px;
margin-right: 5px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-mapping-arrow {
margin: 0 10px;
color: var(--text-muted);
}
.habit-edit-dialog .habit-mapping-value {
flex: 1;
font-size: 0.9em;
margin-right: var(--size-4-4);
}
.habit-edit-dialog .habit-mapping-delete {
background: none;
border: none;
color: var(--text-error);
cursor: pointer;
font-size: 1.2em;
padding: 0 8px;
}
.habit-edit-dialog .habit-add-mapping-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 6px 12px;
cursor: pointer;
font-size: 0.9em;
}
.habit-edit-dialog .habit-events-container {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 10px;
margin-bottom: 10px;
margin-top: 5px;
}
.habit-edit-dialog .habit-event-row {
display: flex;
margin-bottom: 8px;
gap: 5px;
}
.habit-edit-dialog .habit-event-name {
width: 120px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-details {
flex: 1;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-property {
width: 120px;
font-size: 0.9em;
}
.habit-edit-dialog .habit-event-delete {
background: none;
border: none;
color: var(--text-error);
cursor: pointer;
font-size: 1.2em;
padding: 0 8px;
}
.habit-edit-dialog .habit-add-event-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 6px 12px;
cursor: pointer;
font-size: 0.9em;
}
.habit-edit-dialog .habit-edit-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.habit-edit-dialog .habit-cancel-button {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
.habit-edit-dialog .habit-save-button {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
.habit-edit-dialog input[type=text],
.habit-edit-dialog input[type=number] {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 6px;
color: var(--text-normal);
}
.habit-edit-dialog .habit-type-item.selected .habit-type-desc,
.habit-edit-dialog .habit-type-item.selected .habit-type-name {
color: var(--text-on-accent);
}
/* src/styles/habit-list.css */
.habit-list-container {
padding: 12px;
width: 100%;
}
.habit-settings-container {
padding-top: 12px;
border-top: 1px solid var(--background-modifier-border);
}
.habit-add-button-container {
display: flex;
justify-content: flex-end;
margin-bottom: 16px;
}
.habit-add-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: var(--radius-s);
cursor: pointer;
font-size: 14px;
}
.habit-add-button svg {
width: 16px;
height: 16px;
}
.habit-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 200px;
text-align: center;
padding: 20px;
border: 1px dashed var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
}
.habit-empty-state h2 {
margin: 0 0 10px 0;
font-size: 1.2em;
color: var(--text-normal);
}
.habit-empty-state p {
margin: 0;
color: var(--text-muted);
}
.habit-items-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.habit-item {
display: flex;
align-items: center;
padding: 12px;
border-radius: var(--radius-m);
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
transition: background-color 0.2s ease;
cursor: pointer;
height: 7.5rem;
}
.habit-item:hover {
background-color: var(--background-modifier-hover);
}
.habit-item-icon {
--icon-size: 20px;
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background-color: var(--background-primary);
margin-right: 12px;
}
.habit-item-icon svg {
color: var(--text-normal);
}
.habit-item-info {
flex: 1;
min-width: 0;
}
.habit-item-name {
font-weight: 600;
margin-bottom: 4px;
font-size: 16px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.habit-item-description {
color: var(--text-muted);
font-size: 12px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 4px;
}
.habit-item-type {
display: inline-block;
font-size: 11px;
padding: 2px 6px;
border-radius: var(--radius-s);
background-color: var(--background-modifier-border);
color: var(--text-muted);
}
.habit-item-actions {
display: flex;
gap: 8px;
margin-left: 12px;
}
.habit-edit-button,
.habit-delete-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background-color: var(--background-primary);
cursor: pointer;
padding: 0;
border: 1px solid var(--background-modifier-border);
}
.habit-edit-button:hover,
.habit-delete-button:hover {
background-color: var(--background-modifier-hover);
}
.habit-edit-button svg,
.habit-delete-button svg {
width: 16px;
height: 16px;
color: var(--text-muted);
}
.habit-delete-button:hover svg {
color: var(--text-error);
}
.habit-delete-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.habit-delete-button-confirm {
background-color: var(--text-error);
color: #fff;
border: none;
border-radius: var(--radius-s);
padding: 8px 16px;
cursor: pointer;
}
/* src/styles/ics-settings.css */
.ics-settings-container {
max-width: 800px;
margin: 0 auto;
}
.ics-header-container {
margin-bottom: 2rem;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 1rem;
}
.ics-back-button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.5rem 1rem;
border-radius: 6px;
cursor: pointer;
margin-bottom: 1rem;
font-size: 0.9em;
transition: all 0.2s ease;
}
.ics-back-button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.ics-description {
color: var(--text-muted);
margin-top: 0.5rem;
line-height: 1.5;
}
.ics-global-settings {
margin-bottom: 2rem;
padding: 1.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-secondary);
}
.ics-sources-list {
margin-top: 1.5rem;
}
.ics-sources-list h3 {
margin-bottom: 1rem;
color: var(--text-normal);
}
.ics-source-item {
margin-bottom: 1rem;
padding: 1.5rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-primary);
transition: all 0.2s ease;
}
.ics-source-item:hover {
border-color: var(--interactive-accent);
box-shadow: var(--shadow-s);
}
.ics-source-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1rem;
}
.ics-source-title strong {
font-size: 1.1em;
color: var(--text-normal);
}
.ics-source-status {
padding: 0.3rem 0.8rem;
border-radius: 12px;
font-size: 0.75em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.status-enabled {
background: var(--color-green);
color: white;
}
.status-disabled {
background: var(--color-red);
color: white;
}
.ics-source-details {
margin-bottom: 1.5rem;
font-size: 0.9em;
color: var(--text-muted);
line-height: 1.4;
}
.ics-source-details div {
margin-bottom: 0.4rem;
}
.ics-source-actions {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
.primary-actions,
.secondary-actions {
display: flex;
gap: 0.5rem;
}
.ics-source-actions button {
padding: 0.5rem 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
color: var(--text-normal);
font-size: 0.85em;
cursor: pointer;
transition: all 0.2s ease;
min-width: 80px;
white-space: nowrap;
}
.ics-source-actions button:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
transform: translateY(-1px);
}
.ics-source-actions button.mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.ics-source-actions button.mod-cta:hover {
background: var(--interactive-accent-hover);
}
.ics-source-actions button.mod-warning {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.ics-source-actions button.mod-warning:hover {
background: var(--color-red);
opacity: 0.8;
}
.ics-source-actions button:disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
}
.ics-source-actions button.syncing {
color: var(--interactive-accent);
}
.ics-source-actions button.success {
background: var(--color-green);
color: white;
border-color: var(--color-green);
}
.ics-source-actions button.error {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.ics-add-source-container {
margin-top: 2rem;
text-align: center;
padding: 2rem;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
background: var(--background-secondary);
transition: all 0.2s ease;
}
.ics-add-source-container:hover {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
}
.ics-add-source-container button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.8rem 1.5rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.95em;
}
.ics-add-source-container button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-2px);
}
.ics-test-container {
margin-top: 1rem;
text-align: center;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
background: var(--background-modifier-form-field);
}
.ics-test-button {
background: var(--color-orange);
color: white;
border: none;
padding: 0.6rem 1.2rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.9em;
}
.ics-test-button:hover {
background: var(--color-orange);
opacity: 0.8;
transform: translateY(-1px);
}
.ics-empty-state {
text-align: center;
padding: 3rem 2rem;
color: var(--text-muted);
font-style: italic;
background: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.ics-source-modal .modal-content {
max-width: 600px;
max-height: 80vh;
overflow-y: auto;
}
.auth-field {
margin-top: 0.5rem;
}
.modal-button-container {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--background-modifier-border);
}
.modal-button-container button {
padding: 0.5rem 1rem;
border-radius: 6px;
font-size: 0.9em;
min-width: 80px;
}
@media (max-width: 768px) {
.ics-source-header {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
.ics-source-actions {
flex-direction: column;
gap: 0.5rem;
}
.primary-actions,
.secondary-actions {
width: 100%;
justify-content: space-between;
}
.ics-source-actions button {
flex: 1;
min-width: auto;
}
}
@media (max-width: 480px) {
.ics-source-item {
padding: 1rem;
}
.primary-actions,
.secondary-actions {
flex-direction: column;
}
.ics-source-actions button {
width: 100%;
margin-bottom: 0.3rem;
}
.modal-button-container {
flex-direction: column;
}
.modal-button-container button {
width: 100%;
}
}
.text-replacements-list {
margin: 1rem 0;
}
.text-replacements-empty {
text-align: center;
padding: 2rem;
color: var(--text-muted);
font-style: italic;
background: var(--background-secondary);
border-radius: 6px;
border: 1px dashed var(--background-modifier-border);
}
.text-replacement-rule {
margin-bottom: 1rem;
padding: 1rem;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-primary);
transition: all 0.2s ease;
}
.text-replacement-rule:hover {
border-color: var(--interactive-accent);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.text-replacement-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.8rem;
}
.text-replacement-header strong {
color: var(--text-normal);
font-size: 1em;
}
.text-replacement-status {
padding: 0.2rem 0.6rem;
border-radius: 10px;
font-size: 0.7em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.text-replacement-status.enabled {
background: var(--color-green);
color: white;
}
.text-replacement-status.disabled {
background: var(--color-red);
color: white;
}
.text-replacement-details {
margin-bottom: 1rem;
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.4;
}
.text-replacement-details div {
margin-bottom: 0.3rem;
}
.text-replacement-pattern {
font-family: var(--font-monospace);
background: var(--background-modifier-form-field);
padding: 0.2rem 0.4rem;
border-radius: 3px;
display: inline-block;
margin-left: 0.5rem;
}
.text-replacement-replacement {
font-family: var(--font-monospace);
background: var(--background-modifier-form-field);
padding: 0.2rem 0.4rem;
border-radius: 3px;
display: inline-block;
margin-left: 0.5rem;
}
.text-replacement-actions {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.text-replacement-actions button {
padding: 0.4rem 0.8rem;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-secondary);
color: var(--text-normal);
font-size: 0.8em;
cursor: pointer;
transition: all 0.2s ease;
}
.text-replacement-actions button:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.text-replacement-actions button.mod-cta {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.text-replacement-actions button.mod-warning {
background: var(--color-red);
color: white;
border-color: var(--color-red);
}
.text-replacement-add {
margin-top: 1rem;
text-align: center;
}
.text-replacement-add button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: 0.6rem 1.2rem;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
}
.text-replacement-add button:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
}
.text-replacement-modal .modal-content {
max-width: 700px;
max-height: 85vh;
overflow-y: auto;
}
.test-output {
margin-top: 0.5rem;
padding: 0.8rem;
background: var(--background-modifier-form-field);
border-radius: 4px;
border: 1px solid var(--background-modifier-border);
font-family: var(--font-monospace);
font-size: 0.9em;
}
.test-result {
font-weight: 500;
}
.text-replacement-modal ul {
margin: 0.5rem 0;
padding-left: 1.5rem;
}
.text-replacement-modal li {
margin-bottom: 0.5rem;
line-height: 1.4;
}
.text-replacement-modal code {
background: var(--background-modifier-form-field);
padding: 0.1rem 0.3rem;
border-radius: 3px;
font-family: var(--font-monospace);
font-size: 0.85em;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.ics-source-actions button.syncing::before {
content: "";
display: inline-block;
margin-right: 0.3rem;
animation: spin 1s linear infinite;
}
.ics-text-replacement-modal,
.ics-source-modal {
max-width: 1000px;
max-height: 90vh;
padding-right: 0;
}
.ics-text-replacement-modal .modal-content,
.ics-source-modal .modal-content {
padding-right: var(--size-4-2);
}
/* src/styles/task-filter.css */
.task-filter-panel {
padding: var(--size-4-4) var(--size-4-4);
padding-bottom: var(--size-2-2);
padding-left: var(--size-4-8);
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
max-height: 300px;
overflow-y: auto;
}
.task-filter-active {
color: var(--color-accent-2);
font-weight: bold;
}
.task-filter-panel > .setting-item {
border-top: unset;
}
.task-filter-header-container {
display: flex;
align-items: center;
justify-content: flex-end;
}
.task-filter-title {
font-size: var(--font-ui-small);
color: var(--text-normal);
}
.task-filter-options {
display: flex;
flex-direction: column;
gap: 10px;
}
.task-filter-section {
display: flex;
flex-direction: column;
}
.task-filter-section h3 {
font-size: 14px;
margin: 5px 0;
color: var(--text-muted);
}
.task-filter-section:last-child {
border-bottom: unset;
}
.task-filter-option {
display: flex;
align-items: center;
gap: 6px;
}
.task-filter-option input[type=checkbox] {
margin: 0;
}
.task-filter-option label {
font-size: 13px;
color: var(--text-normal);
}
.task-filter-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid var(--background-modifier-border);
}
.task-filter-apply,
.task-filter-close {
padding: 6px 12px;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
}
.task-filter-apply {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.task-filter-reset {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.task-filter-close {
background-color: var(--background-secondary);
color: var(--text-normal);
}
.task-filter-query-input {
width: 100%;
min-width: 250px;
border-radius: 4px;
padding: 8px 12px;
font-family: var(--font-monospace);
font-size: 14px;
}
.task-filter-query-input:focus {
box-shadow: 0 0 0 2px var(--interactive-accent);
outline: none;
}
.task-filter-section .setting-item-description {
margin-top: 5px;
margin-bottom: 10px;
font-size: 12px;
color: var(--text-muted);
line-height: 1.4;
}
.task-filter-options {
max-height: 70vh;
overflow-y: auto;
padding-right: 5px;
}
.task-filter-options {
margin-bottom: 10px;
padding-top: var(--size-4-4);
}
/* src/styles/global-filter.css */
.filter-group-separator {
display: flex;
align-items: center;
justify-content: center;
margin: var(--size-2-2) 0;
color: var(--text-muted);
font-size: var(--font-ui-smaller);
}
.filter-group-separator::before,
.filter-group-separator::after {
content: "";
flex-grow: 1;
height: 1px;
background-color: var( --background-modifier-border );
margin: 0 var(--size-2-1);
}
.drag-handle {
cursor: grab;
display: flex;
align-items: center;
justify-content: center;
}
.compact-btn {
padding: var(--size-2-1) var(--size-2-2);
box-shadow: unset !important;
border: unset !important;
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
justify-content: center;
gap: var(--size-2-2);
-webkit-app-region: no-drag;
display: inline-flex;
overflow: hidden;
align-items: center;
color: var(--text-muted);
font-size: var(--font-ui-small);
border-radius: var(--button-radius);
padding: var(--size-2-2);
font-weight: var(--input-font-weight);
cursor: var(--cursor);
font-family: inherit;
gap: var(--size-2-2);
min-height: 30px;
}
.compact-btn:hover {
box-shadow: none;
opacity: var(--icon-opacity-hover);
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.compact-input,
.compact-select {
font-size: var(--font-ui-smaller);
height: var(--input-height);
border: 1px solid var(--background-modifier-border);
box-shadow: none;
}
.compact-select:hover {
box-shadow: none;
}
.compact-text {
font-size: var(--font-ui-smaller);
}
.dragging-placeholder {
opacity: 0.5;
background-color: var( --background-modifier-hover );
}
.task-filter-root-container.task-popover-content {
padding: var(--size-2-2);
max-width: 100%;
max-height: 100%;
}
.task-filter-main-panel {
max-width: 100%;
padding: var(--size-2-2);
border-radius: var(--radius-m);
}
.filter-menu {
z-index: 50;
min-width: 600px;
background-color: var(--background-primary);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
border: 1px solid var(--background-modifier-border);
}
.root-filter-setup-section {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.root-condition-section {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem;
background-color: var( --background-secondary-alt, var(--background-modifier-hover) );
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
}
.root-condition-label {
font-weight: 500;
color: var(--text-normal);
}
.root-condition-select {
width: auto;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
}
.root-condition-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.root-condition-span {
color: var(--text-normal);
}
.filter-groups-container {
display: flex;
flex-direction: column;
gap: var(--size-2-3);
max-height: 50vh;
overflow: auto;
}
.filter-group {
padding: var(--size-2-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-primary);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.filter-group-header {
display: flex;
align-items: center;
justify-content: space-between;
}
.filter-group-header-left {
display: flex;
align-items: center;
gap: 0.375rem;
}
.filter-group-header-left .drag-handle-container .svg-icon {
color: var(--text-faint);
}
.filter-group-header-left .drag-handle-container:hover .svg-icon {
color: var(--text-muted);
}
.filter-group-header-left .drag-handle-container {
padding-right: var(--size-2-1);
}
.filter-group-header-left > .compact-text,
.filter-group-header-left > span.compact-text {
font-weight: 500;
color: var(--text-normal);
}
.filter-group-header-left .group-condition-select.compact-select {
border: 1px solid var(--input-border-color, var(--background-modifier-border));
}
.filter-group-header-left .group-condition-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-group-header-right {
display: flex;
align-items: center;
gap: 0.25rem;
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn,
.filter-group-header-right .remove-group-btn.compact-icon-btn {
border-radius: var(--radius-s);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover .svg-icon {
color: var(--interactive-accent);
}
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover {
background-color: var(--background-modifier-hover);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover .svg-icon {
color: var(--text-error);
}
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover {
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
}
.filters-list {
display: flex;
flex-direction: column;
gap: var(--size-2-2);
padding-left: 1rem;
border-left: 2px solid var(--background-modifier-border);
margin-left: var(--size-4-2);
}
.filters-list:empty {
display: none;
}
.group-footer {
padding-left: 0.375rem;
margin-top: 0.375rem;
}
.add-filter-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.filter-item {
display: flex;
align-items: center;
gap: var(--size-2-2);
padding: var(--size-4-2);
padding-top: 0;
padding-bottom: 0;
}
.filter-item .filter-conjunction {
font-size: var(--font-ui-smaller);
font-weight: 600;
color: var(--text-faint);
align-self: center;
}
.filter-item .filter-property-select.compact-select {
flex-basis: 30%;
flex-grow: 0;
flex-shrink: 0;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
box-shadow: none;
}
.filter-item .filter-property-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .filter-condition-select.compact-select {
width: auto;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
box-shadow: none;
}
.filter-item .filter-condition-select.compact-select:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .filter-value-input.compact-input {
flex-grow: 1;
border: 1px solid var(--input-border-color, var(--background-modifier-border));
width: 100%;
}
.filter-item .filter-value-input.compact-input:focus {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 1px var(--interactive-accent);
}
.filter-item .remove-filter-btn.compact-icon-btn .svg-icon {
color: var(--text-muted);
}
.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon {
color: var(--text-error);
}
.filter-item .remove-filter-btn.compact-icon-btn:hover {
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
}
.add-group-section {
margin-top: var(--size-2-1);
margin-bottom: var(--size-2-1);
margin-left: var(--size-2-1);
display: flex;
justify-content: space-between;
}
.add-filter-group-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.filter-config-section {
display: flex;
gap: var(--size-4-2);
}
.save-filter-config-btn,
.load-filter-config-btn {
flex: 1;
}
.save-filter-config-btn-icon,
.load-filter-config-btn-icon {
display: flex;
align-items: center;
justify-content: center;
}
.save-filter-config-btn:hover {
background-color: var(--interactive-accent-hover);
color: var(--text-on-accent);
}
.load-filter-config-btn:hover {
background-color: var(--background-modifier-hover);
}
.filter-config-details {
margin-top: var(--size-4-3);
padding: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-l);
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-primary-alt) 100%);
box-shadow: var(--shadow-s);
transition: all 0.2s ease-in-out;
}
.filter-config-details:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
transform: translateY(-1px);
}
.filter-config-details h3 {
margin: 0 0 var(--size-4-2) 0;
font-size: var(--font-ui-medium);
font-weight: 600;
color: var(--text-accent);
display: flex;
align-items: center;
gap: var(--size-2-2);
}
.filter-config-details p {
margin: var(--size-2-2) 0;
line-height: 1.5;
color: var(--text-normal);
}
.filter-config-meta {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin: var(--size-2-1) 0;
padding: var(--size-2-1) var(--size-2-2);
background-color: var(--background-modifier-form-field);
border-radius: var(--radius-s);
border-left: 3px solid var(--interactive-accent);
}
.filter-config-summary {
margin-top: var(--size-4-3);
padding: var(--size-4-2) 0 0 0;
border-top: 2px solid var(--background-modifier-border);
}
.filter-config-summary h4 {
margin: 0 0 var(--size-2-3) 0;
font-size: var(--font-ui-small);
font-weight: 600;
color: var(--text-normal);
display: flex;
align-items: center;
gap: var(--size-2-1);
}
.filter-config-summary p {
margin: var(--size-2-1) 0;
font-size: var(--font-ui-smaller);
color: var(--text-muted);
padding: var(--size-2-1) var(--size-2-2);
background-color: var(--background-primary-alt);
border-radius: var(--radius-s);
}
.filter-config-buttons {
margin-top: var(--size-4-3);
padding-top: var(--size-4-2);
}
.filter-config-name-highlight {
background-color: var(--text-accent);
color: var(--text-on-accent);
padding: 0.125rem 0.25rem;
border-radius: var(--radius-s);
font-weight: 500;
}
.advanced-filter-container {
margin-top: var(--size-4-2);
padding: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
}
.advanced-filter-container .task-filter-root-container {
background-color: transparent;
border: none;
padding: 0;
}
.advanced-filter-container .task-filter-main-panel {
background-color: transparent;
border: none;
padding: 0;
}
.task-genius-view-config-modal .advanced-filter-container .filter-group {
padding: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.task-genius-view-config-modal .advanced-filter-container .filter-item {
padding: var(--size-2-2);
gap: var(--size-2-2);
}
.task-genius-view-config-modal .advanced-filter-container .compact-btn {
padding: var(--size-2-1) var(--size-2-2);
min-height: 26px;
}
.task-genius-view-config-modal .advanced-filter-container .compact-select,
.task-genius-view-config-modal .advanced-filter-container .compact-input {
font-size: var(--font-ui-smaller);
height: 28px;
}
/* src/styles/view-setting-tab.css */
.view-management-list {
display: flex;
flex-direction: column;
gap: 20px;
margin-bottom: var(--size-4-4);
}
.view-section-container {
min-height: 100px;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
padding: 10px;
}
.view-section-header {
margin-bottom: 10px;
}
.view-section-header h4 {
margin: 0;
font-size: 14px;
font-weight: 600;
color: var(--text-muted);
}
.view-section-items,
.sortable-views {
min-height: 60px;
border: 1px dashed var(--background-modifier-border);
border-radius: 4px;
padding: 8px;
background: var(--background-primary);
}
.sortable-views:empty::after {
content: attr(data-empty-text);
display: block;
text-align: center;
color: var(--text-muted);
padding: 20px;
font-style: italic;
}
.sortable-views[data-region=top]:empty::after {
content: "Drag views here for the top section";
}
.sortable-views[data-region=bottom]:empty::after {
content: "Drag views here for the bottom section";
}
.view-item,
.sortable-view-item {
display: flex;
align-items: center;
padding: 8px;
margin-bottom: 4px;
background-color: var(--background-secondary);
border-radius: 4px;
cursor: move;
transition: all 0.2s ease;
}
.view-item:hover {
background-color: var(--background-secondary-alt) !important;
}
.view-drag-handle {
cursor: grab;
margin-right: 8px;
opacity: 0.5;
}
.view-drag-handle:active {
cursor: grabbing !important;
}
.view-item-icon {
margin-right: 8px;
}
.view-item-info {
flex: 1;
margin-right: 8px;
}
.view-item-name {
font-weight: 500;
}
.view-item-type {
font-size: 12px;
color: var(--text-muted);
}
.view-item-actions {
display: flex;
gap: 4px;
}
.view-action-button {
background: transparent;
border: none;
cursor: pointer;
padding: 4px;
border-radius: 4px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.view-action-button:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.view-action-delete:hover {
background: var(--background-modifier-error);
color: var(--text-on-accent);
}
.sortable-ghost {
opacity: 0.4;
background: var(--background-modifier-hover) !important;
}
.sortable-drag {
opacity: 0;
}
.sortable-chosen {
background: var(--background-modifier-hover) !important;
}
/* src/styles/mcp-integration.css */
.mcp-status-container {
padding: 16px;
background: var(--background-secondary);
border-radius: 8px;
margin-bottom: 24px;
border: 1px solid var(--background-modifier-border);
}
.mcp-status {
display: flex;
flex-direction: column;
gap: 10px;
}
.mcp-status-indicator {
display: flex;
align-items: center;
gap: 10px;
font-weight: 600;
font-size: 1.05em;
}
.mcp-status-indicator.running .status-dot {
color: var(--background-modifier-success);
font-size: 1.2em;
animation: pulse 2s infinite;
}
.mcp-status-indicator.stopped .status-dot {
color: var(--text-muted);
font-size: 1.2em;
}
.mcp-status-details {
display: flex;
gap: 24px;
font-size: 0.9em;
color: var(--text-muted);
padding-left: 30px;
}
.mcp-config-container {
margin-bottom: 30px;
}
.mcp-client-section {
margin-bottom: 16px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
overflow: hidden;
}
.mcp-client-header {
cursor: pointer;
padding: 12px 16px;
background: var(--background-secondary);
border-radius: 0;
margin-bottom: 0;
display: flex;
align-items: center;
gap: 10px;
user-select: none;
transition: background-color 0.2s;
}
.mcp-client-header:hover {
background: var(--background-modifier-hover);
}
.mcp-arrow {
transition: transform 0.2s;
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
}
.mcp-arrow svg {
width: 14px;
height: 14px;
stroke-width: 2;
}
.mcp-arrow.expanded {
transform: rotate(90deg);
}
.mcp-client-name {
font-weight: 500;
color: var(--text-normal);
}
.mcp-client-content {
padding: 16px !important;
background: var(--background-primary);
display: none;
}
.mcp-client-content.expanded {
display: block;
}
.mcp-config-block {
position: relative;
margin-bottom: 20px;
}
.mcp-config-code {
position: relative;
padding: 16px 60px 16px 16px !important;
background: var(--code-background);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
margin-bottom: 0;
font-size: 0.85em;
line-height: 1.5;
overflow: auto;
max-height: 300px;
font-family: var(--font-monospace);
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg);
}
.mcp-config-code code {
color: var(--code-normal);
font-family: var(--font-monospace);
white-space: pre;
display: block;
}
.mcp-config-code::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.mcp-config-code::-webkit-scrollbar-track {
background: var(--scrollbar-bg);
}
.mcp-config-code::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb-bg);
border-radius: 4px;
}
.mcp-config-code::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-active-thumb-bg);
}
.mcp-copy-btn {
position: absolute !important;
top: 12px;
right: 12px;
padding: 6px 12px;
font-size: 0.8em;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 4px;
cursor: pointer;
transition: all 0.2s;
font-weight: 500;
z-index: 10;
}
.mcp-copy-btn:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.mcp-copy-btn.copied {
animation: copySuccess 0.3s ease;
background: var(--background-modifier-success) !important;
}
.mcp-auth-methods {
margin: 15px 0;
padding: 15px;
background: var(--background-secondary);
border-radius: 8px;
border: 1px solid var(--background-modifier-border);
}
.mcp-auth-list {
margin: 10px 0 0 20px;
line-height: 1.8;
}
.mcp-auth-list li {
margin: 8px 0;
color: var(--text-normal);
}
.mcp-auth-list code {
background: var(--code-background);
padding: 2px 6px;
border-radius: 3px;
font-size: 0.9em;
color: var(--code-normal);
}
.mcp-token-input {
font-family: monospace;
width: 300px;
margin-right: 10px;
}
.mcp-docs-container {
margin-top: 20px;
}
.mcp-docs-section {
margin-bottom: 30px;
}
.mcp-docs-subtitle {
font-size: 1em;
font-weight: 600;
margin-bottom: 12px;
color: var(--text-normal);
}
.mcp-endpoint-box {
display: flex;
align-items: center;
gap: 12px;
padding: 12px;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
margin-bottom: 20px;
}
.mcp-endpoint-content {
flex: 1;
display: flex;
align-items: center;
gap: 8px;
}
.mcp-endpoint-label {
font-weight: 500;
color: var(--text-muted);
}
.mcp-endpoint-url {
font-family: var(--font-monospace);
padding: 6px 10px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
color: var(--text-accent);
user-select: text;
}
.mcp-copy-endpoint-btn {
padding: 6px 12px;
background: var(--interactive-normal);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
cursor: pointer;
transition: background 0.2s;
}
.mcp-copy-endpoint-btn:hover {
background: var(--interactive-hover);
}
.mcp-copy-endpoint-btn.copied {
animation: copySuccess 0.3s ease;
background: var(--background-modifier-success) !important;
}
.mcp-tools-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 16px;
margin-bottom: 24px;
}
.mcp-tool-card {
position: relative;
padding: 16px;
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-primary) 100%);
border: 1px solid var(--background-modifier-border);
border-radius: 10px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
.mcp-tool-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background:
linear-gradient(
90deg,
var(--interactive-accent) 0%,
var(--text-accent) 100%);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s ease;
}
.mcp-tool-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
border-color: var(--interactive-accent);
}
.mcp-tool-card:hover::before {
transform: scaleX(1);
}
.mcp-tool-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
}
.mcp-tool-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
color: var(--interactive-accent);
opacity: 0.9;
}
.mcp-tool-icon svg {
width: 16px;
height: 16px;
stroke-width: 2;
}
.mcp-tool-name {
font-family: var(--font-monospace);
font-size: 0.85em;
font-weight: 600;
color: var(--text-accent);
background: var(--background-modifier-box);
padding: 4px 8px;
border-radius: 4px;
display: inline-block;
letter-spacing: 0.5px;
}
.mcp-tool-desc {
font-size: 0.85em;
color: var(--text-muted);
line-height: 1.5;
padding-left: 28px;
}
.mcp-example-container {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
margin-top: 16px;
}
.mcp-example-tabs {
display: flex;
gap: 0;
background:
linear-gradient(
180deg,
var(--background-secondary) 0%,
var(--background-modifier-box) 100%);
border-bottom: 1px solid var(--background-modifier-border);
padding: 0;
}
.mcp-example-tab {
flex: 1;
padding: 14px 20px;
background: transparent;
color: var(--text-muted);
border: none;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
font-size: 0.9em;
font-weight: 500;
position: relative;
text-align: center;
box-shadow: none !important;
}
.mcp-example-tab::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%) scaleX(0);
width: 80%;
height: 3px;
background: var(--interactive-accent);
transition: transform 0.3s ease;
border-radius: 3px 3px 0 0;
}
.mcp-example-tab:hover {
background: rgba(var(--interactive-accent-rgb), 0.05);
color: var(--text-normal);
}
.mcp-example-tab.active {
background: rgba(var(--interactive-accent-rgb), 0.1);
color: var(--interactive-accent);
font-weight: 600;
}
.mcp-example-tab.active::after {
transform: translateX(-50%) scaleX(1);
}
.mcp-example-code-container {
position: relative;
background: var(--code-background);
border-top: 1px solid var(--background-modifier-border);
}
.mcp-example-block {
display: none;
position: relative;
animation: fadeIn 0.3s ease;
}
.mcp-example-block.active {
display: block;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.mcp-example-code {
margin: 0;
padding: 24px 80px 24px 24px;
background:
linear-gradient(
135deg,
var(--code-background) 0%,
rgba(var(--background-primary-rgb), 0.5) 100%);
font-size: 0.85em;
line-height: 1.7;
overflow-x: auto;
max-height: 500px;
font-family: var(--font-monospace);
border: none;
position: relative;
}
.mcp-example-code::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background:
linear-gradient(
90deg,
transparent,
var(--background-modifier-border),
transparent);
}
.mcp-example-code code {
color: var(--code-normal);
font-family: var(--font-monospace);
white-space: pre;
display: block;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.mcp-example-copy-btn {
position: absolute;
top: 20px;
right: 20px;
padding: 8px 16px;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 0.85em;
font-weight: 600;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 10;
box-shadow: 0 2px 8px rgba(var(--interactive-accent-rgb), 0.3);
}
.mcp-example-copy-btn:hover {
background: var(--interactive-accent-hover);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(var(--interactive-accent-rgb), 0.4);
}
.mcp-example-copy-btn:active {
transform: translateY(0);
box-shadow: 0 1px 4px rgba(var(--interactive-accent-rgb), 0.3);
}
.mcp-example-copy-btn.copied {
animation: copySuccess 0.4s ease;
background: var(--background-modifier-success) !important;
box-shadow: 0 2px 8px rgba(var(--interactive-success-rgb), 0.3);
}
@keyframes copySuccess {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
@keyframes pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
.mcp-client-header,
.mcp-example-tab,
.mcp-tool-card,
button {
transition: all 0.2s ease;
}
.mcp-config-code .json-key {
color: var(--text-accent);
}
.mcp-config-code .json-string {
color: var(--text-success);
}
.mcp-config-code .json-number {
color: var(--text-warning);
}
.mcp-config-code .json-boolean {
color: var(--text-error);
}
@media (max-width: 768px) {
.mcp-tools-grid {
grid-template-columns: 1fr;
}
.mcp-status-details {
flex-direction: column;
gap: 8px;
}
}
.mcp-example-subtitle {
padding-left: var(--size-4-4);
}
.mcp-cursor-install-section {
margin-bottom: 20px;
}
.mcp-cursor-install-container {
margin-top: 12px;
}
.mcp-cursor-install-desc {
color: var(--text-muted);
margin-bottom: 12px;
font-size: 14px;
}
.mcp-cursor-install-link {
display: inline-block;
margin-bottom: 16px;
transition: transform 0.2s ease;
}
.mcp-cursor-install-link:hover {
transform: scale(1.05);
}
.mcp-cursor-additional-buttons {
margin-top: 12px;
display: flex;
gap: 10px;
}
.mcp-cursor-copy-deeplink-btn {
background: var(--interactive-normal);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
padding: 8px 16px;
border-radius: 4px;
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
}
.mcp-cursor-copy-deeplink-btn:hover {
background: var(--interactive-hover);
}
.mcp-cursor-copy-deeplink-btn.copied {
background: var(--interactive-success);
color: white;
}
.mcp-cursor-debug-container {
margin-top: 20px;
}
.mcp-cursor-debug-toggle {
background: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
padding: 6px 12px;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
.mcp-cursor-debug-toggle:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.mcp-cursor-debug-content {
margin-top: 12px;
padding: 12px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
}
.mcp-cursor-debug-label {
font-size: 12px;
color: var(--text-muted);
margin-bottom: 8px;
margin-top: 12px;
}
.mcp-cursor-debug-label:first-child {
margin-top: 0;
}
.mcp-cursor-debug-code {
background: var(--code-background);
padding: 8px;
border-radius: 4px;
font-size: 12px;
overflow-x: auto;
border: 1px solid var(--background-modifier-border);
}
.mcp-cursor-debug-code code {
color: var(--code-normal);
word-break: break-all;
}
.mcp-section-separator {
margin: 24px 0;
border: none;
border-top: 1px solid var(--background-modifier-border);
}
/* src/styles/workflow.css */
.cm-workflow-stage-indicator {
display: inline-block;
margin-left: 4px;
font-size: 12px;
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
user-select: none;
align-items: center;
vertical-align: middle;
}
.cm-workflow-stage-indicator span {
display: inline-flex;
justify-content: center;
align-items: center;
}
.cm-workflow-stage-indicator:hover {
opacity: 1;
}
.cm-workflow-stage-indicator[data-stage-type=linear] {
color: var(--text-accent);
}
.cm-workflow-stage-indicator[data-stage-type=cycle] {
color: var(--task-in-progress-color);
}
.cm-workflow-stage-indicator[data-stage-type=terminal] {
color: var(--task-completed-color);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=linear] {
color: var(--text-accent);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=cycle] {
color: var(--task-in-progress-color);
}
.theme-dark .cm-workflow-stage-indicator[data-stage-type=terminal] {
color: var(--task-completed-color);
}
/* src/styles/quick-capture.css */
:root {
--tg-tab-background: 0 0% 100%;
--tg-tab-foreground: 240 10% 3.9%;
--tg-tab-muted: 240 4.8% 95.9%;
--tg-tab-muted-foreground: 240 3.8% 46.1%;
--tg-tab-border: 240 5.9% 90%;
--tg-qc-header-bg: 0 0% 100%;
}
.theme-dark {
--tg-tab-background: 240 10% 3.9%;
--tg-tab-foreground: 0 0% 98%;
--tg-tab-muted: 240 3.7% 15.9%;
--tg-tab-muted-foreground: 240 5% 64.9%;
--tg-tab-border: 240 3.7% 15.9%;
--tg-qc-header-bg: 240 4% 10%;
}
.quick-capture-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid hsl(var(--tg-tab-border));
background: hsl(var(--tg-qc-header-bg));
}
.tg-minimal-capture-modal .quick-capture-header {
padding: 4px 8px;
}
.tg-minimal-capture-modal .model-header {
margin-bottom: 0;
}
.quick-capture-tabs {
display: inline-flex;
padding: 4px;
background: hsl(var(--tg-tab-muted));
border-radius: 6px;
gap: 2px;
}
.quick-capture-tab {
padding: 6px 12px;
background: transparent;
border: none;
border-radius: 4px;
cursor: pointer;
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
color: hsl(var(--tg-tab-muted-foreground));
font-size: 14px;
font-weight: 500;
display: inline-flex;
align-items: center;
justify-content: center;
white-space: nowrap;
position: relative;
}
.tg-minimal-capture-modal .quick-capture-tab-text {
display: none;
}
.tg-minimal-capture-modal .quick-capture-tab-icon {
margin-right: 0;
}
.quick-capture-tab:hover:not(.active) {
color: hsl(var(--tg-tab-foreground));
}
.quick-capture-tab.active {
background: hsl(var(--tg-tab-background));
color: hsl(var(--tg-tab-foreground));
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}
.quick-capture-tabs.is-hidden {
display: none;
}
.quick-capture-tab-icon {
margin-right: 6px;
display: inline-flex;
align-items: center;
width: 16px;
height: 16px;
}
.quick-capture-tab-icon svg {
width: 14px;
height: 14px;
}
.quick-capture-tab-text {
display: inline-flex;
align-items: center;
line-height: 1;
}
.quick-capture-clear {
padding: 6px 12px;
background: transparent;
border: 1px solid hsl(var(--tg-tab-border));
border-radius: 6px;
cursor: pointer;
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
color: hsl(var(--tg-tab-muted-foreground));
font-size: 14px;
font-weight: 500;
}
.quick-capture-clear:hover {
}
.quick-capture-content {
flex: 1;
overflow-y: auto;
padding: var(--size-4-3);
}
.quick-capture-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2);
border-top: 1px solid var(--background-modifier-border);
}
.quick-capture-footer-left,
.quick-capture-footer-right {
display: flex;
gap: var(--size-2-2);
}
.quick-capture-continue {
padding: var(--size-2-2) var(--size-4-3);
background: transparent;
border-radius: var(--radius-s);
cursor: pointer;
transition: all 0.2s ease;
color: var(--text-muted);
}
.file-name-input-container {
display: flex;
flex-direction: column;
gap: var(--size-2-1);
margin-bottom: var(--size-4-3);
}
.file-name-label {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 500;
}
.file-name-input {
width: 100%;
padding: var(--size-2-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
}
.file-name-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.file-name-input-wrapper {
display: flex;
gap: var(--size-2-2);
}
.file-name-input-wrapper input.file-name-input {
flex: 1;
}
.file-name-template-container {
max-width: var(--size-4-18);
}
.file-name-templates {
margin-top: var(--size-4-2);
}
.templates-label {
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-bottom: var(--size-2-1);
}
.template-buttons {
display: flex;
flex-wrap: wrap;
gap: var(--size-2-1);
}
.template-button {
padding: var(--size-2-1) var(--size-2-3);
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
cursor: pointer;
transition: all 0.2s ease;
font-size: var(--font-ui-smaller);
color: var(--text-muted);
}
.template-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
border-color: var(--interactive-accent);
}
.quick-capture-modal.quick-capture-checkbox {
width: 800px;
max-width: 90vw;
max-height: 80vh;
min-height: fit-content;
}
.quick-capture-modal.quick-capture-file {
width: 800px;
max-width: 90vw;
height: 700px;
max-height: 80vh;
min-height: fit-content;
}
.quick-capture-modal.tg-minimal-capture-modal {
width: 600px;
max-width: 90vw;
height: 300px;
max-height: 80vh;
min-height: fit-content;
}
.quick-capture-panel {
padding: var(--size-4-2);
background-color: var(--background-primary);
border-top: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.quick-capture-actions {
display: flex;
gap: var(--size-2-1);
margin-left: auto;
align-items: center;
}
.quick-capture-actions .quick-action-button {
background: transparent;
border: none;
border-radius: var(--radius-s);
padding: var(--size-2-1);
cursor: pointer;
transition: all 0.2s ease;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.quick-capture-actions .quick-action-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.quick-capture-actions .quick-action-button.active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.quick-capture-modal.minimal {
max-width: 600px;
min-width: 500px;
max-height: 300px;
}
.quick-capture-minimal-target-container {
border-radius: 6px;
margin-bottom: 12px;
}
.quick-capture-minimal-target {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
}
.quick-capture-target-label {
color: hsl(var(--tg-tab-muted-foreground));
font-weight: 500;
}
.quick-capture-target-value {
color: hsl(var(--tg-tab-foreground));
flex: 1;
}
.quick-capture-minimal-file-input {
flex: 1;
padding: 4px 8px;
background: hsl(var(--tg-tab-background));
border: 1px solid hsl(var(--tg-tab-border));
border-radius: 4px;
font-size: 14px;
color: hsl(var(--tg-tab-foreground));
}
.quick-capture-minimal-file-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.quick-actions-left {
display: flex;
gap: var(--size-2-1);
}
.quick-actions-right {
display: flex;
gap: var(--size-2-1);
}
.quick-action-button.active {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.quick-action-save {
padding: var(--size-2-1) var(--size-4-2);
min-width: 80px;
height: 32px;
border-radius: var(--radius-s);
}
.quick-capture-tag-input {
position: absolute;
bottom: 60px;
left: 50%;
transform: translateX(-50%);
width: 300px;
padding: var(--size-2-1);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: var(--font-text-size);
z-index: 1000;
}
.minimal-quick-capture-suggestion {
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
cursor: pointer;
transition: background-color 0.2s ease;
min-height: 40px;
display: flex;
align-items: center;
}
.minimal-quick-capture-suggestion:hover {
background-color: var(--background-modifier-hover);
}
.minimal-quick-capture-suggestion.is-selected {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.minimal-quick-capture-suggestion.is-selected .suggestion-label {
color: var(--text-on-accent);
}
.minimal-quick-capture-suggestion.is-selected .suggestion-description {
color: var(--text-on-accent);
opacity: 0.8;
}
.suggestion-icon {
font-size: 16px;
min-width: 20px;
text-align: center;
}
.suggestion-content {
flex: 1;
}
.suggestion-label {
font-size: var(--font-text-size);
font-weight: 500;
color: var(--text-normal);
}
.suggestion-description {
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-top: 2px;
}
.quick-capture-header-container {
display: flex;
align-items: center;
margin-bottom: var(--size-4-2);
gap: var(--size-4-2);
font-size: var(--font-ui-medium);
font-weight: bold;
color: var(--text-normal);
padding: var(--size-2-1) var(--size-4-2);
flex-wrap: nowrap;
}
.quick-capture-title {
color: var(--text-normal);
white-space: nowrap;
}
.quick-capture-target {
flex: 1;
border-radius: var(--radius-s);
color: var(--text-accent);
font-size: var(--font-text-size);
font-weight: normal;
min-width: 100px;
max-width: 500px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 2px 4px;
transition: background-color 0.2s ease;
}
.quick-capture-target:hover {
background-color: var(--background-modifier-hover);
}
.quick-capture-target:focus {
background-color: var(--background-modifier-hover);
outline: 2px solid var(--interactive-accent);
outline-offset: -1px;
overflow: visible;
text-overflow: initial;
}
.quick-capture-hint {
font-size: 12px;
color: var(--text-muted);
margin-bottom: 8px;
margin-top: -4px;
text-align: right;
}
.quick-capture-editor {
min-height: 200px;
background-color: var(--background-primary);
}
.quick-capture-file-suggest {
max-width: 500px;
}
.quick-capture-buttons {
display: flex;
justify-content: flex-end;
gap: 8px;
}
.quick-capture-submit,
.quick-capture-cancel {
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
}
.quick-capture-submit {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.quick-capture-cancel {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
.quick-capture-modal .modal-title:has(.is-hidden) {
display: none;
}
.quick-capture-modal .modal-title {
display: flex;
align-items: center;
flex-direction: row;
gap: 10px;
font-size: var(--font-ui-medium);
font-weight: bold;
}
.quick-capture-modal-editor {
min-height: 150px;
margin-bottom: 20px;
}
.quick-capture-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
}
.quick-capture-modal.full {
width: 80vw;
max-width: 900px;
}
.quick-capture-layout {
display: flex;
height: 100%;
gap: 16px;
margin-bottom: 16px;
}
.quick-capture-config-panel {
flex: 1;
border-right: 1px solid var(--background-modifier-border);
padding-right: 16px;
overflow-y: auto;
max-width: 40%;
}
.quick-capture-editor-panel {
flex: 1.5;
display: flex;
flex-direction: column;
}
.quick-capture-section-title {
font-weight: bold;
margin-bottom: 8px;
font-size: var(--font-ui-medium);
color: var(--text-normal);
}
.quick-capture-target-container {
margin-bottom: 16px;
}
.quick-capture-modal.full .quick-capture-modal-editor {
min-height: 200px;
flex: 1;
overflow-y: auto;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: 8px;
margin-top: 8px;
}
@media (max-width: 768px) {
.quick-capture-modal.full {
width: 95vw;
}
.quick-capture-layout {
flex-direction: column;
}
.quick-capture-config-panel {
max-width: 100%;
border-right: none;
border-bottom: 1px solid var(--background-modifier-border);
padding-right: 0;
padding-bottom: 16px;
margin-bottom: 16px;
max-height: 40%;
}
}
.quick-capture-config-panel .details-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: var(--size-4-2);
margin-top: var(--size-4-2);
}
.quick-capture-config-panel .quick-capture-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: var(--size-4-3);
}
/* src/styles/tag-view.css */
.tags-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
flex: 1;
}
.task-genius-view:has(.task-details.visible) .tags-left-column {
display: none;
}
.tags-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.multi-select-mode .tags-multi-select-btn {
color: var(--color-accent);
}
.tags-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 400px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.tags-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.tags-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.tags-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.tags-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.tags-multi-select-btn:hover {
color: var(--text-normal);
}
.tags-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
display: flex;
flex-direction: column;
gap: var(--size-2-1);
}
.tag-list-item {
display: flex;
align-items: center;
padding: 4px 12px;
cursor: pointer;
position: relative;
border-radius: var(--radius-s);
}
.tag-list-item:hover {
background-color: var(--background-modifier-hover);
}
.tag-list-item.selected {
background-color: var(--background-modifier-active);
}
.tag-indent {
flex-shrink: 0;
}
.tag-icon {
margin-right: var(--size-2-2);
color: var(--text-muted);
display: flex;
--icon-size: var(--size-4-4);
}
.tag-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tag-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
}
.tag-children {
width: 100%;
}
.tags-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.tags-task-title {
font-weight: 600;
font-size: 16px;
}
.tags-task-count {
color: var(--text-muted);
}
.tags-task-list {
flex: 1;
overflow-y: auto;
}
.tags-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.tag-section-header {
display: flex;
align-items: center;
padding: 8px 15px;
cursor: pointer;
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary-alt);
}
.tag-section-header .section-toggle {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.tag-section-header .section-title {
flex: 1;
font-weight: 500;
}
.tag-section-header .section-count {
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
padding: 2px 6px;
border-radius: 10px;
height: var(--size-4-5);
width: var(--size-4-5);
}
.is-phone .tags-container {
position: relative;
overflow: hidden;
}
.is-phone .tags-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .tags-left-column.is-visible {
transform: translateX(0);
}
.is-phone .tags-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .tags-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .tags-container:has(.tags-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .tags-sidebar-header:has(.tags-sidebar-close) {
padding-right: var(--size-4-12);
}
/* src/styles/project-view.css */
.projects-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.projects-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.projects-left-column {
width: max(120px, 30%);
min-width: min(120px, 30%);
max-width: 300px;
display: flex;
flex-direction: column;
overflow: hidden;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .projects-left-column {
max-width: 100%;
}
.projects-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.projects-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.projects-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.projects-sidebar-header-btn-group {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: var(--size-4-2);
}
.multi-select-mode .projects-multi-select-btn {
color: var(--color-accent);
}
.projects-tree-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
}
.projects-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.projects-multi-select-btn:hover {
color: var(--text-normal);
}
.projects-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2) var(--size-4-2);
}
.project-list-item {
display: flex;
align-items: center;
cursor: pointer;
border-radius: var(--radius-s);
padding: var(--size-4-2);
}
.project-list-item:hover {
background-color: var(--background-modifier-hover);
}
.project-list-item.selected {
background-color: var(--background-secondary);
}
.project-icon {
margin-right: 8px;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.project-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.project-count {
margin-left: 8px;
font-size: 0.8em;
color: var(--text-muted);
background-color: var(--background-modifier-border);
border-radius: 10px;
padding: 1px 6px;
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-count.partially-completed {
color: var(--text-success);
}
.project-count.all-completed {
color: var(--text-on-accent);
font-weight: 600;
}
.project-count.has-progress {
border-radius: var(--radius-s);
}
.project-list-item.selected .project-count {
color: var(--text-on-accent);
}
.project-list-item.selected .project-count.all-completed {
background-color: rgba(255, 255, 255, 0.3);
}
.projects-task-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
min-height: var(--size-4-10);
}
.projects-header-main-content {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.projects-header-top-row {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.projects-header-top-right {
display: flex;
align-items: center;
gap: var(--size-4-2);
}
.projects-header-progress {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 4px;
}
.projects-header-progress .cm-task-progress-bar {
display: inline-flex;
align-items: center;
gap: 8px;
width: 100%;
}
.projects-header-progress .progress-bar-inline-background {
flex: 1;
max-width: 100%;
}
.projects-header-progress .progress-status {
font-size: 0.9em;
color: var(--text-muted);
white-space: nowrap;
}
.projects-task-title {
font-weight: 600;
font-size: 16px;
}
.projects-task-count {
color: var(--text-muted);
}
.projects-task-list {
flex: 1;
overflow-y: auto;
}
.projects-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
}
.is-phone .projects-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .projects-left-column.is-visible {
transform: translateX(0);
}
.is-phone .projects-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .projects-sidebar-close {
--icon-size: var(--size-4-4);
position: absolute;
top: var(--size-4-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .projects-container:has(.projects-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
.is-phone .projects-container {
position: relative;
overflow: hidden;
}
.is-phone .projects-sidebar-header:has(.projects-sidebar-close) {
padding-right: var(--size-4-12);
}
.tg-project-popover {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
padding: 10px 12px;
max-width: 520px;
max-height: 60vh;
overflow: auto;
}
.tg-project-props {
display: flex;
flex-direction: column;
gap: 6px;
}
.tg-project-props > div {
display: grid;
grid-template-columns: minmax(90px, 160px) 1fr;
align-items: start;
column-gap: 10px;
padding: 2px 0;
}
.tg-project-props > div > div:first-child {
color: var(--text-muted);
font-size: 12px;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tg-project-props > div > div:last-child {
color: var(--text-normal);
line-height: 1.4;
white-space: pre-wrap;
word-break: break-word;
}
.projects-props-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--icon-size, 24px);
height: var(--icon-size, 24px);
color: var(--text-muted);
cursor: pointer;
border-radius: var(--radius-s);
}
.projects-props-btn:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
/* src/styles/project-tree.css */
:root {
--tree-indent-size: 1.5rem;
--tree-guide-color: var(--background-modifier-border);
}
.project-tree-container {
height: 100%;
overflow: auto;
}
.project-tree {
padding: 0.5rem 0;
}
.project-tree-item {
position: relative;
user-select: none;
--tree-level: 0;
}
.project-tree-item-content {
display: flex;
align-items: center;
padding: 8px;
padding-left: calc(calc(var(--tree-level) - 1) * var(--tree-indent-size));
cursor: pointer;
border-radius: var(--radius-s);
transition: background-color 0.15s ease;
position: relative;
}
.project-tree-item-content:hover {
background-color: var(--background-modifier-hover);
}
.project-tree-item.is-selected > .project-tree-item-content {
background-color: var(--background-modifier-active-hover);
}
.project-tree-item-toggle {
display: flex;
align-items: center;
justify-content: center;
width: 1.5rem;
height: 1.5rem;
flex-shrink: 0;
cursor: pointer;
color: var(--text-muted);
transition: transform 0.15s ease;
}
.project-tree-item-toggle:hover {
color: var(--text-normal);
}
.project-tree-item-toggle svg {
width: 0.875rem;
height: 0.875rem;
}
.project-tree-item-toggle-spacer {
width: 1.5rem;
flex-shrink: 0;
}
.project-tree-item-icon {
display: flex;
align-items: center;
justify-content: center;
width: 1.25rem;
height: 1.25rem;
margin-right: 0.5rem;
flex-shrink: 0;
color: var(--text-muted);
}
.project-tree-item-content-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
flex: 1;
min-width: 0;
gap: 0.5rem;
}
.project-tree-item-name {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.project-tree-item-counts {
display: flex;
align-items: center;
gap: 0.25rem;
}
.project-tree-item-count-direct,
.project-tree-item-count-total {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1.25rem;
height: 1.25rem;
padding: 0 0.25rem;
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.project-tree-item-count-direct {
background-color: var(--background-modifier-active);
color: var(--text-normal);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-total {
background-color: var(--background-modifier-border);
color: var(--text-muted);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-direct.partially-completed,
.project-tree-item-count-total.partially-completed {
color: var(--text-success);
}
.project-tree-item-count-direct.all-completed,
.project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
color: var(--text-on-accent);
font-weight: 600;
}
.project-tree-item.is-selected .project-tree-item-count-direct.all-completed,
.project-tree-item.is-selected .project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
opacity: 0.9;
}
.project-tree-children {
position: relative;
}
.project-tree-item[data-level]:not([data-level="0"]) > .project-tree-item-content::before {
content: "";
position: absolute;
left: calc(0.5rem + (var(--tree-level) - 1) * var(--tree-indent-size) + 0.75rem);
top: 0;
bottom: 0;
width: 1px;
background: var(--tree-guide-color);
opacity: 0.3;
}
.project-tree-item-children {
overflow: hidden;
transition: max-height 0.2s ease;
}
.project-tree-item-children:not(.is-expanded) {
max-height: 0;
}
.project-tree-empty {
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.projects-view-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
width: 1.75rem;
height: 1.75rem;
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
transition: all 0.15s ease;
}
.projects-view-toggle-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.projects-view-toggle-btn svg {
width: 1rem;
height: 1rem;
}
.project-tree-container.multi-select-mode .project-tree-item-content {
position: relative;
}
.project-tree-container.multi-select-mode .project-tree-item-content::before {
content: "";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
border: 1px solid var(--background-modifier-border-hover);
border-radius: var(--radius-s);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::before {
background-color: var(--interactive-accent);
border-color: var(--interactive-accent);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::after {
content: "\2713";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-on-accent);
font-size: 0.625rem;
font-weight: bold;
}
.theme-dark .project-tree-item-count-direct {
background-color: var(--background-modifier-active-hover);
}
.theme-dark .project-tree-item-count-total {
background-color: var(--background-modifier-border-hover);
}
@media (max-width: 768px) {
.project-tree-item-content {
padding: 0.375rem 0.5rem;
}
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-0.5rem);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.project-tree-item-children > .project-tree-item {
animation: slideDown 0.15s ease;
}
/* src/styles/review-view.css */
.review-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.review-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.review-left-column {
width: 250px;
min-width: 200px;
max-width: 300px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.is-phone .review-left-column {
max-width: 100%;
}
.review-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.review-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.review-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.review-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.review-multi-select-btn:hover {
color: var(--text-normal);
}
.review-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-projects-group-header {
font-size: 10px;
font-weight: 600;
color: var(--text-faint);
text-transform: uppercase;
padding: 4px 8px 4px;
margin-top: 12px;
letter-spacing: 0.5px;
}
.review-projects-group-header:first-child {
margin-top: 4px;
}
.review-project-item {
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
padding: 4px 8px;
cursor: pointer;
border-radius: var(--radius-s);
margin-bottom: 2px;
}
.review-project-item:hover {
background-color: var(--background-modifier-hover);
}
.review-project-item.selected {
background-color: var(--background-modifier-active);
}
.review-project-item.has-review-settings .review-project-icon {
color: var(--text-accent);
}
.review-project-item.has-review-settings .review-project-name {
font-weight: 500;
}
.review-project-item:not(.has-review-settings) .review-project-icon {
color: var(--text-muted);
}
.review-project-icon {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.review-project-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.review-task-header {
display: flex;
flex-direction: column;
padding: var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
}
.is-phone .review-task-header {
flex-direction: row;
align-items: flex-start;
}
.review-header-content h3 {
margin: 0 0 8px 0;
padding: 0;
}
.review-info {
display: flex;
align-items: center;
color: var(--text-muted);
font-size: 0.9em;
}
.review-separator {
margin: 0 8px;
}
.review-frequency {
color: var(--text-accent);
}
.review-frequency:hover {
color: var(--text-normal);
text-decoration: underline;
}
.review-last-date {
color: var(--text-normal);
}
.review-no-settings {
font-style: italic;
}
.review-filter-info {
margin-top: 10px;
padding: 6px 10px;
background-color: var(--background-secondary);
border-radius: var(--radius-s);
font-size: 0.85em;
color: var(--text-muted);
border-left: 3px solid var(--text-accent);
}
.review-filter-toggle {
cursor: pointer;
text-decoration: underline;
color: var(--text-accent);
margin-left: 5px;
}
.review-filter-toggle:hover {
color: var(--text-accent-hover);
}
.review-task-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
text-align: center;
}
.review-button-container {
margin-top: 12px;
display: flex;
justify-content: flex-start;
}
.review-complete-btn,
.review-configure-btn {
padding: 6px 12px;
border-radius: var(--radius-s);
cursor: pointer;
font-size: 0.9em;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.review-complete-btn {
color: var(--text-accent);
}
.review-complete-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent);
}
.review-configure-btn {
color: var(--text-muted);
}
.review-configure-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-edit-btn {
color: var(--text-accent-hover);
margin-left: 8px;
}
.review-edit-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent-hover);
}
.review-modal-title {
margin-top: 0;
margin-bottom: 20px;
font-size: 1.5em;
color: var(--text-normal);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
}
.review-modal-form {
margin-bottom: 20px;
}
.review-modal-field {
margin-bottom: 16px;
}
.review-modal-label {
display: block;
font-weight: 600;
margin-bottom: 4px;
color: var(--text-normal);
}
.review-modal-description {
font-size: 0.9em;
color: var(--text-muted);
margin-bottom: 8px;
}
.review-modal-select {
width: 100%;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-custom-frequency {
margin-top: 8px;
}
.review-modal-input {
width: 100%;
padding: 8px;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-last-reviewed {
padding: 8px;
font-size: 14px;
color: var(--text-normal);
background-color: var(--background-secondary);
border-radius: var(--radius-s);
}
.review-modal-buttons {
display: flex;
justify-content: flex-end;
margin-top: 24px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 16px;
}
.review-modal-button {
padding: 8px 16px;
border-radius: var(--radius-s);
font-size: 14px;
cursor: pointer;
border: 1px solid var(--background-modifier-border);
}
.review-modal-button-cancel {
background-color: var(--background-secondary);
color: var(--text-muted);
margin-right: 8px;
}
.review-modal-button-cancel:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-modal-button-save {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.review-modal-button-save:hover {
background-color: var(--interactive-accent-hover);
}
.is-phone .review-container {
position: relative;
overflow: hidden;
}
.is-phone .review-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .review-left-column.is-visible {
transform: translateX(0);
}
.is-phone .review-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .review-sidebar-close {
position: absolute;
top: var(--size-2-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .review-container:has(.review-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
/* src/styles/habit.css */
.tg-habit-component-container {
width: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
padding: 1rem;
height: 100%;
overflow-y: auto;
}
.habit-list-container {
display: grid;
grid-template-columns: repeat(1, minmax(0, 1fr));
gap: 1rem;
width: 100%;
}
@media screen and (max-width: 480px) {
.habit-list-container {
padding: 0.5rem;
gap: 0.75rem;
}
}
@media screen and (min-width: 768px) {
.habit-list-container {
margin-left: auto;
margin-right: auto;
max-width: 400px;
display: flex;
flex-direction: column;
}
}
@media screen and (min-width: 1024px) {
.habit-list-container {
max-width: 500px;
}
}
.habit-card-wrapper {
width: 100%;
min-height: fit-content;
}
.habit-create-button-container {
display: flex;
justify-content: flex-start;
}
.habit-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
color: var(--text-normal);
overflow: hidden;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
min-height: fit-content;
}
.habit-card .card-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1rem;
gap: 0.5rem;
}
.habit-card .card-title {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: var(--font-ui-large);
font-weight: 600;
flex-grow: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.habit-name.habit-name:hover {
text-decoration: underline;
cursor: pointer;
}
.habit-card .card-content-wrapper {
padding: 0.75rem 1rem;
flex-grow: 1;
}
.daily-habit-card .card-header {
}
.daily-habit-card .habit-checkbox-container {
}
.daily-habit-card .habit-checkbox {
--checkbox-size: 1.25rem;
cursor: pointer;
accent-color: var(--interactive-accent);
}
.daily-habit-card .card-content-wrapper {
padding: 0rem 1rem 0.75rem;
}
.count-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.count-habit-card .habit-icon-button {
--icon-size: 2rem;
height: 4rem;
width: 4rem;
aspect-ratio: 1;
padding: 0;
cursor: pointer;
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
font-size: 1.5rem;
}
.count-habit-card .habit-icon-button {
color: var(--icon-color);
}
.count-habit-card .habit-icon-button:hover {
background-color: var(--background-secondary);
}
.count-habit-card .habit-card-name {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-active-day {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 400;
}
.count-habit-card .habit-info {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
flex-grow: 1;
}
.count-habit-card .habit-info h3 {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-progress-area {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
@media (min-width: 640px) {
.count-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
gap: 1rem;
}
.count-habit-card .habit-progress-area {
width: auto;
min-width: 150px;
align-items: flex-end;
}
.count-habit-card .habit-heatmap-small {
width: 100%;
}
}
.scheduled-habit-card .card-header {
padding-bottom: 0.5rem;
}
.scheduled-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.scheduled-habit-card .habit-heatmap-medium {
width: 100%;
}
.scheduled-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
gap: 0.5rem;
align-items: center;
}
.scheduled-habit-card .habit-event-dropdown {
width: auto;
margin-bottom: 0.5rem;
width: 100%;
}
@media (min-width: 640px) {
.scheduled-habit-card .card-content-wrapper {
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
}
.scheduled-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.scheduled-habit-card .habit-controls {
width: auto;
min-width: 150px;
align-items: flex-start;
}
}
.mapping-habit-card .card-header {
padding-bottom: 0.5rem;
}
.mapping-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
padding-top: 0;
padding-bottom: 1.2rem;
}
.mapping-habit-card .habit-heatmap-medium {
width: 100%;
}
.mapping-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
.mapping-habit-card .habit-mapping-button {
display: flex;
justify-content: center;
align-items: center;
font-size: 1.75rem;
padding: 0.5rem;
width: 100%;
max-width: 100px;
height: 3.5rem;
border: 1px solid var(--button-secondary-border-color);
background-color: var(--button-secondary-bg);
color: var(--text-normal);
cursor: pointer;
border-radius: var(--radius-s);
}
.mapping-habit-card .habit-mapping-button:hover {
background-color: var(--button-secondary-hover-bg);
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: 200px;
}
.mapping-habit-card .habit-slider-setting .setting-item-info {
display: none;
}
.mapping-habit-card .habit-slider-setting .setting-item {
width: 100%;
padding: 0;
border: none;
}
.mapping-habit-card .habit-slider-setting .setting-item-control {
width: 100%;
}
.mapping-habit-card .heatmap-md .heatmap-container-simple {
gap: var(--size-2-2);
}
@media (min-width: 640px) {
.mapping-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mapping-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.mapping-habit-card .habit-controls {
width: auto;
min-width: 80px;
flex-direction: column;
align-items: center;
gap: 0.75rem;
}
.mapping-habit-card .habit-mapping-button {
width: 4rem;
height: 4rem;
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: none;
}
}
.habit-progress-container {
width: 100%;
height: 0.75rem;
background-color: var(--background-modifier-border);
border-radius: var(--radius-l);
overflow: hidden;
position: relative;
}
.habit-progress-bar {
height: 100%;
background-color: var(--interactive-accent);
border-radius: var(--radius-l);
transition: width 0.3s ease-in-out;
}
.habit-progress-container.filled .habit-progress-text {
mix-blend-mode: unset;
}
.habit-progress-text {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.6rem;
line-height: 1;
color: var(--text-on-accent);
mix-blend-mode: difference;
font-weight: 500;
}
.tg-heatmap-root {
width: 100%;
}
.heatmap-sm .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
}
.heatmap-md .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-lg .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(10, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-cell {
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
flex-shrink: 0;
background-color: var( --background-modifier-border );
border: 1px solid transparent;
}
.heatmap-cell-square {
}
.heatmap-cell-dot {
border-radius: 50%;
}
.heatmap-sm .heatmap-cell {
width: 0.75rem;
height: 0.75rem;
}
.habit-heatmap-medium .heatmap-md .heatmap-cell {
width: 1.4rem;
height: 1.4rem;
font-size: 0.7rem;
}
.heatmap-md .heatmap-cell {
width: 1.1rem;
height: 1.1rem;
font-size: 0.7rem;
}
.heatmap-lg .heatmap-cell {
width: 1.25rem;
height: 1.25rem;
font-size: 0.75rem;
}
.heatmap-cell.default {
}
.heatmap-cell.filled {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.heatmap-cell.has-custom-content:has(.pie-dot-container) {
background: transparent;
border: unset;
}
.heatmap-cell.has-custom-content,
.heatmap-cell.has-text-content {
background-color: var(--background-secondary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.heatmap-cell.has-text-content {
line-height: 1;
}
.pie-dot-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.pie-dot-container svg {
display: block;
}
.habit-empty-state {
text-align: center;
padding: 2rem 1rem;
color: var(--text-muted);
}
.habit-empty-state h2 {
font-size: var(--font-ui-large);
font-weight: 600;
margin-bottom: 0.5rem;
}
.habit-empty-state p {
font-size: var(--font-ui-normal);
color: var(--text-faint);
}
.habit-icon {
display: inline-block;
height: 1em;
line-height: 1;
text-align: center;
color: var(--text-muted);
font-style: italic;
margin-right: 0.25em;
--icon-size: 1.5rem;
}
.habit-chart-controls {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.habit-chart-filters {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.habit-chart-filters .filter-btn {
padding: 0.25rem 0.6rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-normal);
border-radius: var(--radius-s);
cursor: pointer;
}
.habit-chart-filters .filter-btn:hover {
background: var(--background-secondary-alt);
}
.habit-chart-years {
display: flex;
align-items: center;
gap: 0.5rem;
}
.habit-chart-years .years-label {
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.habit-chart-years .years-bar {
display: flex;
flex-wrap: nowrap;
gap: 0.4rem;
overflow-x: auto;
padding-bottom: 2px;
}
.habit-chart-years .year-btn {
padding: 0.2rem 0.5rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-muted);
border-radius: var(--radius-s);
cursor: pointer;
white-space: nowrap;
}
.habit-chart-years .year-btn.selected,
.habit-chart-years .year-btn:hover {
background: var(--interactive-accent);
border-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.habit-chart-heatmap {
max-height: 60vh;
overflow: auto;
}
/* src/styles/global.css */
:root {
--task-completed-color: #4caf50;
--task-doing-color: #80dee5;
--task-in-progress-color: #f9d923;
--task-abandoned-color: #eb5353;
--task-planned-color: #9c27b0;
--task-question-color: #2196f3;
--task-important-color: #f44336;
--task-star-color: #ffc107;
--task-quote-color: #607d8b;
--task-location-color: #795548;
--task-bookmark-color: #ff9800;
--task-information-color: #00bcd4;
--task-idea-color: #9c27b0;
--task-pros-color: #4caf50;
--task-cons-color: #f44336;
--task-fire-color: #ff5722;
--task-key-color: #ffd700;
--task-win-color: #66bb6a;
--task-up-color: #4caf50;
--task-down-color: #f44336;
--task-note-color: #9e9e9e;
--task-amount-color: #8bc34a;
--task-speech-color: #03a9f4;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
.theme-dark {
--task-completed-color: #4caf50;
--task-doing-color: #379fa7;
--task-in-progress-color: #ffc107;
--task-abandoned-color: #f44336;
--task-planned-color: #ce93d8;
--task-question-color: #42a5f5;
--task-important-color: #ef5350;
--task-star-color: #ffd54f;
--task-quote-color: #90a4ae;
--task-location-color: #8d6e63;
--task-bookmark-color: #ffb74d;
--task-information-color: #26c6da;
--task-idea-color: #ce93d8;
--task-pros-color: #66bb6a;
--task-cons-color: #ef5350;
--task-fire-color: #ff7043;
--task-key-color: #ffd700;
--task-win-color: #81c784;
--task-up-color: #66bb6a;
--task-down-color: #ef5350;
--task-note-color: #bdbdbd;
--task-amount-color: #aed581;
--task-speech-color: #29b6f6;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
/* src/styles/view-config.css */
.task-genius-view-config-modal {
width: max(70%, 500px);
}
.task-genius-view-config-modal .setting-item {
margin-bottom: 15px;
}
.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info {
width: 120px;
}
.task-genius-view-config-modal .setting-item-control input[type=text],
.task-genius-view-config-modal .setting-item-control input[type=number] {
width: 100%;
}
.task-genius-view-config-modal .setting-item-description {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-top: 2px;
}
.view-management-list .setting-item {
border-bottom: 1px solid var(--background-modifier-border);
padding: 10px 0;
display: flex;
align-items: center;
}
.view-management-list .setting-item-info {
flex-grow: 1;
margin-right: 10px;
}
.view-management-list .setting-item-control {
display: flex;
align-items: center;
gap: 8px;
}
.view-management-list .setting-item-control .button-component {
padding: 5px;
height: auto;
}
.view-management-list .view-order-button,
.view-management-list .view-delete-button {
margin-left: 5px;
}
.view-management-list .setting-item:last-child {
border-bottom: none;
}
.view-management-list .setting-item-control .checkbox-container {
margin: 0;
}
.tg-icon-menu {
position: absolute;
z-index: 100;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
padding: 8px;
max-height: 300px;
width: 250px;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.tg-icon-menu .tg-menu-search {
width: 100%;
padding: 6px 8px;
margin-bottom: 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
box-sizing: border-box;
flex-shrink: 0;
}
.tg-icon-menu .tg-menu-icons {
flex-grow: 1;
overflow-y: auto;
min-height: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
gap: 4px;
}
.tg-icon-menu .clickable-icon {
display: flex;
justify-content: center;
align-items: center;
padding: 6px;
border-radius: var(--radius-s);
cursor: pointer;
background-color: var(--background-primary);
border: 1px solid transparent;
transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}
.tg-icon-menu .clickable-icon:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.tg-icon-menu .clickable-icon svg {
width: 20px;
height: 20px;
color: var(--text-muted);
}
/* src/styles/task-status.css */
.task-status-widget {
display: inline-flex;
align-items: center;
cursor: pointer;
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
}
.task-state.live-preview-mode {
padding-inline-start: var(--size-4-2);
padding-inline-end: var(--size-2-1);
}
.task-status-widget .list-bullet::after {
background-color: var(--list-marker-color) !important;
}
.task-state[data-task-state=" "] {
color: var(--text-accent);
}
.task-state[data-task-state="/"] {
color: var(--task-doing-color);
}
.task-state[data-task-state=">"] {
color: var(--task-in-progress-color);
}
.task-state[data-task-state=x],
.task-state[data-task-state=X] {
color: var(--task-completed-color);
}
.task-state[data-task-state="-"] {
color: var(--task-abandoned-color);
}
.task-state[data-task-state="<"] {
color: var(--task-planned-color);
}
.task-state[data-task-state="?"] {
color: var(--task-question-color);
}
.task-state[data-task-state="!"] {
color: var(--task-important-color);
}
.task-state[data-task-state="*"] {
color: var(--task-star-color);
}
.task-state[data-task-state='"'] {
color: var(--task-quote-color);
}
.task-state[data-task-state=l] {
color: var(--task-location-color);
}
.task-state[data-task-state=b] {
color: var(--task-bookmark-color);
}
.task-state[data-task-state=i] {
color: var(--task-information-color);
}
.task-state[data-task-state=I] {
color: var(--task-idea-color);
}
.task-state[data-task-state=p] {
color: var(--task-pros-color);
}
.task-state[data-task-state=c] {
color: var(--task-cons-color);
}
.task-state[data-task-state=f] {
color: var(--task-fire-color);
}
.task-state[data-task-state=k] {
color: var(--task-key-color);
}
.task-state[data-task-state=w] {
color: var(--task-win-color);
}
.task-state[data-task-state=u] {
color: var(--task-up-color);
}
.task-state[data-task-state=d] {
color: var(--task-down-color);
}
.task-state[data-task-state=n] {
color: var(--task-note-color);
}
.task-state[data-task-state=S] {
color: var(--task-amount-color);
}
.task-state[data-task-state="0"],
.task-state[data-task-state="1"],
.task-state[data-task-state="2"],
.task-state[data-task-state="3"],
.task-state[data-task-state="4"],
.task-state[data-task-state="5"],
.task-state[data-task-state="6"],
.task-state[data-task-state="7"],
.task-state[data-task-state="8"],
.task-state[data-task-state="9"] {
color: var(--task-speech-color);
}
.task-fake-bullet {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 50%;
background-color: var(--text-normal);
margin-right: 4px;
vertical-align: middle;
}
ol > .task-list-item .task-fake-bullet {
display: none;
}
ol > .task-list-item .task-state-container {
margin-inline-start: 0;
}
/* src/styles/task-selection.css */
.task-view.selection-mode {
position: relative;
}
.task-view.selection-mode::before {
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background: rgba(var(--interactive-accent-rgb), 0.03);
z-index: 0;
}
.task-item.task-item-selected {
background-color: rgba(var(--interactive-accent-rgb), 0.15) !important;
border-left: 3px solid var(--interactive-accent);
padding-left: 13px;
position: relative;
}
.task-selection-badge {
position: fixed;
bottom: 20px;
right: 20px;
padding: 8px 16px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border-radius: 16px;
font-weight: 600;
font-size: 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
z-index: 1000;
display: flex;
align-items: center;
gap: 8px;
animation: slideInUp 0.2s ease-out;
}
@keyframes slideInUp {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.task-selection-badge .selection-count {
font-weight: bold;
}
@media (pointer: coarse) {
.task-item.long-press-active {
background-color: rgba(var(--interactive-accent-rgb), 0.1);
transform: scale(0.98);
transition: all 0.2s ease;
}
}
.task-view.selection-mode .task-item:not(.task-item-selected):hover {
background-color: rgba(var(--interactive-accent-rgb), 0.08);
border-left: 2px solid rgba(var(--interactive-accent-rgb), 0.5);
padding-left: 14px;
}
.task-view.shift-key-active .task-item {
cursor: crosshair;
}
.task-bulk-operations-menu {
min-width: 200px;
}
.task-bulk-operations-menu .menu-item {
display: flex;
align-items: center;
gap: 8px;
}
.task-bulk-operations-menu .menu-item-icon {
opacity: 0.7;
}
.task-selection-exit-hint {
position: fixed;
top: 60px;
right: 20px;
padding: 6px 12px;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
font-size: 12px;
color: var(--text-muted);
z-index: 999;
display: flex;
align-items: center;
gap: 6px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.task-selection-exit-hint kbd {
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
padding: 2px 6px;
font-family: var(--font-monospace);
font-size: 11px;
}
.tree-item.task-item-selected {
background-color: rgba(var(--interactive-accent-rgb), 0.15) !important;
border-left: 3px solid var(--interactive-accent);
}
.tree-item.task-item-selected .tree-item-inner {
font-weight: 500;
}
.task-item.selection-disabled {
opacity: 0.5;
cursor: not-allowed;
}
.task-item.selection-disabled:hover {
background-color: transparent;
}
.task-item-selection-checkbox {
width: 18px;
height: 18px;
border: 2px solid var(--text-muted);
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
flex-shrink: 0;
transition: all 0.2s ease;
}
.task-item-selected .task-item-selection-checkbox {
background-color: var(--interactive-accent);
border-color: var(--interactive-accent);
}
.task-item-selected .task-item-selection-checkbox::after {
content: "\2713";
color: var(--text-on-accent);
font-size: 12px;
font-weight: bold;
}
.task-selection-mode-enter {
animation: fadeIn 0.2s ease-out;
}
.task-selection-mode-exit {
animation: fadeOut 0.2s ease-out;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@media (max-width: 768px) {
.task-selection-badge {
bottom: 70px;
}
.task-item.task-item-selected {
border-left-width: 4px;
padding-left: 12px;
}
.task-selection-exit-hint {
display: none;
}
}
.theme-dark .task-item.task-item-selected {
background-color: rgba(var(--interactive-accent-rgb), 0.2) !important;
}
.theme-dark .task-selection-badge {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.theme-light .task-item.task-item-selected {
background-color: rgba(var(--interactive-accent-rgb), 0.12) !important;
}
.theme-light .task-selection-badge {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.task-view.compact-mode .task-item.task-item-selected {
padding-top: 4px;
padding-bottom: 4px;
}
@media (prefers-contrast: high) {
.task-item.task-item-selected {
border-left-width: 4px;
background-color: rgba(var(--interactive-accent-rgb), 0.25) !important;
}
}
@media (prefers-reduced-motion: reduce) {
.task-item.task-item-selected,
.task-selection-badge,
.task-selection-exit-hint {
animation: none;
transition: none;
}
}
/* src/styles/onboarding.css */
.onboarding-view {
--dialog-width: 800px;
--dialog-max-width: 90vw;
--dialog-max-height: 90vh;
--onboarding-spacing: var(--size-4-4);
--onboarding-border-radius: 8px;
--onboarding-transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--shadow-lg: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-xl: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
.onboarding-view .modal-content {
background-color: var(--modal-background);
border-radius: var(--modal-radius);
max-width: var(--dialog-max-width);
max-height: var(--dialog-max-height);
height: 90vh;
display: flex;
flex-direction: column;
overflow: auto;
position: relative;
min-height: 100px;
}
.onboarding-view {
height: 100%;
display: flex;
flex-direction: column;
background-color: var(--background-primary);
}
.onboarding-view .view-content {
height: 100%;
display: flex;
flex-direction: column;
}
.onboarding-view .onboarding-header:empty {
display: none;
}
.onboarding-view .onboarding-subtitle {
color: var(--text-muted);
font-size: 0.95em;
margin: 0;
}
.onboarding-view .onboarding-content {
flex: 1;
padding: var(--onboarding-spacing);
overflow-y: auto;
min-height: 0;
display: flex;
flex-direction: column;
align-items: center;
}
.onboarding-view .onboarding-footer {
padding: var(--size-4-4) var(--onboarding-spacing);
background: var(--background-primary);
border-top: none;
box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
flex-shrink: 0;
position: relative;
transition: all 0.3s ease;
}
.onboarding-view .onboarding-footer::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
to top,
var(--background-primary),
transparent);
opacity: 0.5;
pointer-events: none;
}
.onboarding-view .onboarding-buttons {
display: flex;
gap: var(--size-4-3);
justify-content: space-between;
align-items: center;
position: relative;
z-index: 1;
}
.onboarding-view .buttons-left {
display: flex;
gap: var(--size-4-3);
align-items: center;
}
.onboarding-view .buttons-right {
display: flex;
gap: var(--size-4-3);
align-items: center;
margin-left: auto;
}
.onboarding-view .onboarding-buttons button {
min-height: 36px;
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--radius-m);
font-weight: 500;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.onboarding-view .onboarding-buttons button:not(.mod-cta):hover {
transform: translateY(-1px);
}
.onboarding-view .onboarding-buttons button::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}
.onboarding-view .onboarding-buttons button:active::after {
width: 200px;
height: 200px;
}
.onboarding-view .settings-check-content {
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: var(--size-4-6);
margin-top: var(--size-4-4);
}
.onboarding-view .settings-check-current-card {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-4);
box-shadow: var(--shadow-sm);
}
.onboarding-view .settings-check-card-header {
display: flex;
align-items: center;
gap: var(--size-4-3);
margin-bottom: var(--size-4-3);
padding-bottom: var(--size-4-3);
border-bottom: 1px solid var(--background-modifier-border);
}
.onboarding-view .check-header-icon {
color: var(--color-green);
font-size: 1.5em;
}
.onboarding-view .check-header-title {
display: flex;
align-items: center;
gap: var(--size-4-2);
flex: 1;
}
.onboarding-view .check-header-title h3 {
margin: 0;
font-size: 1.1em;
font-weight: 600;
}
.onboarding-view .settings-check-card-body {
color: var(--text-muted);
}
.onboarding-view .check-card-desc {
font-size: 0.9em;
margin-bottom: var(--size-4-3);
}
.onboarding-view .settings-check-changes-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.onboarding-view .settings-check-changes-list li {
display: flex;
align-items: center;
gap: var(--size-4-2);
color: var(--text-normal);
font-size: 0.9em;
}
.onboarding-view .change-check-icon {
color: var(--color-green);
flex-shrink: 0;
}
.onboarding-view .settings-check-actions {
display: flex;
flex-direction: column;
gap: var(--size-4-3);
}
.onboarding-view .settings-check-action-card {
background: var(--background-primary);
border: 2px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-4);
cursor: pointer;
transition: var(--onboarding-transition);
box-shadow: var(--shadow-sm);
position: relative;
overflow: hidden;
}
.onboarding-view .settings-check-action-card.is-selected {
border-color: var(--interactive-accent);
background:
linear-gradient(
135deg,
rgba(var(--interactive-accent-rgb), 0.05) 0%,
var(--background-primary) 100%);
box-shadow: var(--shadow-md), 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
}
.onboarding-view .settings-check-action-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
border-color: var(--interactive-accent);
}
.onboarding-view .settings-check-action-card:hover::before {
transform: scaleX(1);
}
.onboarding-view .settings-check-action-wizard {
background:
linear-gradient(
135deg,
var(--background-primary) 0%,
var(--background-secondary) 100%);
}
.onboarding-view .settings-check-action-wizard::before {
transform: scaleX(1);
}
.onboarding-view .settings-check-action-keep {
opacity: 0.9;
}
.onboarding-view .settings-check-action-keep:hover {
opacity: 1;
}
.onboarding-view .action-card-header {
display: flex;
align-items: center;
margin-bottom: var(--size-4-3);
}
.onboarding-view .action-card-icon {
font-size: 2em;
color: var(--interactive-accent);
margin-right: var(--size-4-3);
}
.onboarding-view .action-card-content h3 {
margin: 0 0 var(--size-4-2) 0;
font-size: 1.2em;
font-weight: 600;
color: var(--text-normal);
}
.onboarding-view .action-card-content > p {
margin: 0 0 var(--size-4-3) 0;
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
}
.onboarding-view .action-card-features {
list-style: none;
padding: 0;
margin: var(--size-4-3) 0 0 0;
display: flex;
flex-direction: column;
gap: var(--size-2-3);
}
.onboarding-view .action-card-features li {
display: flex;
align-items: center;
gap: var(--size-2-2);
color: var(--text-muted);
font-size: 0.85em;
}
.onboarding-view .action-card-features .feature-icon {
color: var(--interactive-accent);
flex-shrink: 0;
}
.onboarding-view .action-card-note {
display: flex;
align-items: center;
gap: var(--size-2-2);
margin-top: var(--size-4-3);
padding: var(--size-2-3) var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--radius-s);
font-size: 0.85em;
color: var(--text-muted);
}
.onboarding-view .action-card-note .note-icon {
color: var(--text-accent);
flex-shrink: 0;
}
@media (max-width: 768px) {
.onboarding-view .settings-check-content {
grid-template-columns: 1fr;
}
}
.onboarding-view .welcome-section {
display: flex;
flex-direction: column;
gap: var(--onboarding-spacing);
}
.onboarding-view .features-overview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--size-4-3);
margin: var(--onboarding-spacing) 0;
}
.onboarding-view .feature-item {
display: flex;
gap: var(--size-4-2);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .feature-icon {
font-size: 1.5em;
flex-shrink: 0;
line-height: 1;
}
.onboarding-view .setup-note {
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .setup-description {
color: var(--text-muted);
font-size: 0.95em;
line-height: 1.5;
margin: 0;
}
.onboarding-view .user-level-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--onboarding-spacing);
margin: var(--onboarding-spacing) 0;
}
.onboarding-view .user-level-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--onboarding-spacing);
cursor: pointer;
transition: var(--onboarding-transition);
background: var(--background-primary);
position: relative;
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.onboarding-view .user-level-card.card-hover {
border-color: var(--interactive-accent);
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.onboarding-view .user-level-card.selected {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
}
.user-level-card .card-header {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
.user-level-card .card-icon {
font-size: 1.8em;
line-height: 1;
flex-shrink: 0;
}
.user-level-card .card-title {
margin: 0;
color: var(--text-normal);
font-size: 1.2em;
font-weight: 600;
}
.user-level-card .card-description {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.4;
margin: 0 0 var(--size-4-2) 0;
}
.user-level-card .card-features {
margin-top: var(--size-4-2);
}
.user-level-card .card-features ul {
margin: 0;
padding-left: var(--size-4-3);
list-style: none;
}
.user-level-card .card-features li {
position: relative;
color: var(--text-muted);
font-size: 0.85em;
line-height: 1.4;
margin-bottom: var(--size-2-1);
}
.user-level-card .card-features li:before {
content: "\2022";
color: var(--interactive-accent);
position: absolute;
left: calc(-1 * var(--size-4-3));
font-weight: bold;
}
.user-level-card .recommendation-badge {
position: absolute;
top: var(--size-4-2);
right: var(--size-4-2);
background: var(--interactive-accent);
color: var(--text-on-accent);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-size: 0.7em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.02em;
}
.onboarding-view .config-overview {
width: 100%;
max-width: 800px;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .mode-icon {
--icon-size: var(--size-4-4);
flex-shrink: 0;
}
.onboarding-view .config-settings {
width: 100%;
max-width: 800px;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .config-features {
width: 100%;
max-width: 800px;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .config-views {
width: 100%;
max-width: 800px;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .enabled-features-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-view .enabled-features-list li {
display: flex;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-2-1) 0;
color: var(--text-normal);
font-size: 0.9em;
}
.onboarding-view .feature-check {
color: var(--color-green);
font-weight: bold;
}
.onboarding-view .views-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: var(--size-4-2);
}
.onboarding-view .view-item {
display: flex;
flex-direction: column;
align-items: center;
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .view-icon {
font-size: 1.2em;
margin-bottom: var(--size-2-1);
}
.onboarding-view .view-name {
font-size: 0.8em;
color: var(--text-muted);
text-align: center;
}
.onboarding-view .settings-summary-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-view .settings-summary-list li {
display: flex;
justify-content: space-between;
padding: var(--size-2-1) 0;
font-size: 0.9em;
border-bottom: 1px solid var(--background-modifier-border);
}
.onboarding-view .settings-summary-list li:last-child {
border-bottom: none;
}
.onboarding-view .setting-label {
color: var(--text-normal);
font-weight: 500;
}
.onboarding-view .setting-value {
color: var(--text-muted);
}
.onboarding-view .config-options {
width: 100%;
max-width: 800px;
margin-top: var(--onboarding-spacing);
}
.onboarding-view .customization-note {
width: 100%;
max-width: 800px;
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .note-text {
color: var(--text-muted);
font-size: 0.9em;
margin: 0;
font-style: italic;
}
.onboarding-view .config-changes-summary {
width: 100%;
max-width: 800px;
margin: var(--onboarding-spacing) 0;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .settings-changes {
margin: var(--size-4-2) 0;
padding: var(--size-4-2);
background: var(--background-primary);
border-radius: var(--radius-s);
}
.onboarding-view .preserved-header {
display: flex;
align-items: center;
gap: var(--size-4-1);
margin-bottom: var(--size-4-1);
}
.onboarding-view .preserved-icon {
color: var(--color-green);
font-size: 1.1em;
}
.onboarding-view .change-text {
color: var(--text-normal);
font-size: 0.9em;
font-weight: 500;
}
.onboarding-view .updated-views,
.onboarding-modal .updated-views {
display: flex;
}
.onboarding-view .change-item {
display: flex;
flex-direction: row;
}
.onboarding-view .change-icon {
color: var(--interactive-accent);
font-size: 1.1em;
margin-right: var(--size-4-1);
display: flex;
}
.onboarding-view .settings-changes-list {
list-style: none;
padding: 0;
margin: var(--size-4-1) 0 0 var(--size-4-4);
}
.onboarding-view .settings-changes-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
color: var(--text-muted);
font-size: 0.85em;
}
.onboarding-view .safety-note {
margin-top: var(--size-4-3);
padding: var(--size-4-2);
background: rgba(var(--color-blue-rgb), 0.1);
border-radius: var(--radius-s);
display: flex;
align-items: center;
gap: var(--size-4-1);
}
.onboarding-view .safety-icon {
color: var(--color-blue);
font-size: 1.1em;
display: flex;
justify-content: center;
align-items: center;
}
.onboarding-view .safety-text {
color: var(--color-blue);
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.onboarding-view .task-guide-intro {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .guide-description {
color: var(--text-muted);
font-size: 0.95em;
line-height: 1.5;
margin: 0;
}
.onboarding-view .shortcuts-section {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .format-example {
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-4);
}
.onboarding-view .format-example code {
background: var(--background-primary);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
font-size: 0.85em;
color: var(--text-accent);
border: 1px solid var(--background-modifier-border);
display: block;
margin: var(--size-2-1) 0;
}
.onboarding-view .format-legend small {
color: var(--text-faint);
font-size: 0.8em;
margin-top: var(--size-2-1);
display: block;
}
.onboarding-view .metadata-symbols {
margin-top: var(--size-4-2);
}
.onboarding-view .status-list li,
.onboarding-view .symbols-list {
list-style: none;
margin: 0;
background: var(--background-primary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .status-list li,
.onboarding-view .symbols-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
font-size: 0.85em;
color: var(--text-normal);
}
.onboarding-view .status-list code {
background: var(--background-secondary);
padding: var(--size-2-1) var(--size-4-1);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
margin-right: var(--size-4-2);
min-width: 40px;
text-align: center;
}
.onboarding-view .demo-content {
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .demo-button {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--button-radius);
cursor: pointer;
font-weight: 500;
transition: var(--onboarding-transition);
margin-top: var(--size-4-2);
}
.onboarding-view .demo-button:hover {
background: var(--interactive-accent-hover);
}
.onboarding-view .practice-feedback {
margin-top: var(--size-4-2);
}
.onboarding-view .validation-message {
padding: var(--size-4-2);
border-radius: var(--onboarding-border-radius);
font-size: 0.9em;
margin-bottom: var(--size-2-1);
}
.onboarding-view .validation-success {
background: rgba(var(--color-green-rgb), 0.1);
border: 1px solid var(--color-green);
color: var(--color-green);
}
.onboarding-view .validation-error {
background: rgba(var(--color-red-rgb), 0.1);
border: 1px solid var(--color-red);
color: var(--color-red);
}
.onboarding-view .validation-warning {
background: rgba(var(--color-orange-rgb), 0.1);
border: 1px solid var(--color-orange);
color: var(--color-orange);
}
.onboarding-view .validation-info {
background: rgba(var(--color-blue-rgb), 0.1);
border: 1px solid var(--color-blue);
color: var(--color-blue);
}
.onboarding-view .shortcuts-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.onboarding-view .shortcuts-list li {
display: flex;
align-items: center;
padding: var(--size-2-1) 0;
font-size: 0.9em;
color: var(--text-normal);
}
.onboarding-view .shortcuts-list code {
background: var(--background-primary);
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
font-family: var(--font-monospace);
margin-right: var(--size-4-3);
min-width: 100px;
font-size: 0.8em;
}
.onboarding-view .completion-success {
text-align: center;
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .success-icon {
font-size: 3em;
margin-bottom: var(--size-4-2);
}
.onboarding-view .success-message {
color: var(--text-muted);
font-size: 0.95em;
margin: 0;
}
.onboarding-view .feedback-section {
margin-bottom: var(--onboarding-spacing);
}
.onboarding-view .config-summary-card {
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .config-header {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-bottom: var(--size-2-1);
}
.onboarding-view .config-icon {
font-size: 1.5em;
}
.onboarding-view .config-name {
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
}
.onboarding-view .config-description {
color: var(--text-muted);
font-size: 0.9em;
margin: 0;
}
.onboarding-view .quick-start-steps {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.onboarding-view .quick-start-step {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .step-number {
background: var(--interactive-accent);
color: var(--text-on-accent);
width: 24px;
height: 24px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8em;
font-weight: 600;
flex-shrink: 0;
}
.onboarding-view .step-content {
color: var(--text-normal);
font-size: 0.9em;
line-height: 1.4;
}
.onboarding-view .next-steps-list {
list-style: none;
padding: 0;
margin: 0;
}
.onboarding-view .next-steps-list li {
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
padding: var(--size-4-2);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
margin-bottom: var(--size-2-1);
}
.onboarding-view .step-check {
color: var(--interactive-accent);
font-weight: bold;
flex-shrink: 0;
}
.onboarding-view .step-text {
color: var(--text-normal);
font-size: 0.9em;
line-height: 1.4;
}
.onboarding-view .resources-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--size-4-2);
}
.onboarding-view .resource-item {
display: flex;
gap: var(--size-4-2);
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
transition: var(--onboarding-transition);
}
.onboarding-view .resource-clickable {
cursor: pointer;
}
.onboarding-view .resource-clickable:hover {
background: var(--background-modifier-hover);
}
.onboarding-view .resource-icon {
font-size: 1.5em;
flex-shrink: 0;
}
.onboarding-view .feedback-description {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
margin: 0 0 var(--size-4-2) 0;
}
.onboarding-view .feedback-buttons {
display: flex;
gap: var(--size-4-2);
justify-content: center;
}
.onboarding-view .feedback-button {
background: var(--background-secondary);
border: none;
color: var(--text-normal);
padding: var(--size-4-2) var(--size-4-4);
border-radius: var(--button-radius);
cursor: pointer;
font-size: 0.9em;
transition: var(--onboarding-transition);
}
.onboarding-view .feedback-positive:hover {
background: var(--color-green);
color: white;
}
.onboarding-view .feedback-negative:hover {
background: var(--color-red);
color: white;
}
.onboarding-view .feedback-thanks {
text-align: center;
padding: var(--size-4-3);
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
}
.onboarding-view .feedback-thanks-message {
color: var(--text-normal);
font-size: 0.9em;
margin: 0 0 var(--size-4-2) 0;
}
.onboarding-view .feedback-thanks a {
color: var(--interactive-accent);
text-decoration: none;
}
.onboarding-view .feedback-thanks a:hover {
text-decoration: underline;
}
.onboarding-view .final-message {
text-align: center;
padding: var(--size-4-4);
}
.onboarding-view .final-message-text {
color: var(--text-muted);
font-size: 1em;
font-style: italic;
margin: 0;
}
@media (max-width: 768px) {
.onboarding-view {
--dialog-width: 95vw;
--dialog-max-width: 95vw;
--dialog-max-height: 95vh;
}
.onboarding-view .user-level-cards {
grid-template-columns: 1fr;
}
.onboarding-view .features-overview {
grid-template-columns: 1fr;
}
.onboarding-view .views-grid {
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
.onboarding-view .resources-list {
grid-template-columns: 1fr;
}
.onboarding-view .feedback-buttons {
flex-direction: column;
}
.onboarding-view .onboarding-buttons {
flex-wrap: wrap;
justify-content: center;
}
.mode-options,
.placement-options {
grid-template-columns: 1fr;
}
.mode-card-preview {
height: 100px;
}
.placement-card-preview {
height: 80px;
}
.mode-card,
.placement-card {
padding: var(--size-4-3);
}
.intro-mode-selection-container {
max-width: 100%;
padding: 0 var(--size-4-1);
}
.intro-typing {
padding: var(--size-4-4) var(--size-4-2);
}
.onboarding-view .onboarding-footer {
padding: var(--size-4-3) var(--size-4-2);
}
.onboarding-view .onboarding-buttons {
gap: var(--size-4-2);
}
.onboarding-view .onboarding-buttons button {
padding: var(--size-4-2) var(--size-4-3);
font-size: 0.9em;
}
}
.theme-dark .theme-dark .onboarding-view .onboarding-footer {
box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.3);
}
.theme-dark .theme-dark .onboarding-view .onboarding-footer::before {
background:
linear-gradient(
to top,
rgba(0, 0, 0, 0.2),
transparent);
}
.onboarding-view .onboarding-content {
animation: fadeInUp 0.3s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.onboarding-view .user-level-card.selected {
animation: cardSelect 0.2s ease-out;
}
@keyframes cardSelect {
0% {
transform: scale(1);
}
50% {
transform: scale(1.02);
}
100% {
transform: scale(1);
}
}
.mode-selection {
margin-bottom: var(--onboarding-spacing);
}
.mode-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--onboarding-spacing);
margin: var(--onboarding-spacing) 0;
}
.onboarding-view .mode-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--onboarding-spacing);
cursor: pointer;
transition: var(--onboarding-transition);
background: var(--background-primary);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
.mode-card:hover {
border-color: var(--interactive-accent);
box-shadow: var(--shadow-s);
transform: translateY(-2px);
}
.mode-card.is-selected {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.mode-card-header {
margin-bottom: var(--size-4-3);
}
.mode-card-title {
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-4-2);
}
.mode-card-body {
margin-top: var(--size-4-2);
}
.mode-card-preview {
background: var(--background-secondary);
border-radius: var(--radius-s);
margin-bottom: var(--size-4-3);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
font-size: 3em;
position: relative;
overflow: hidden;
}
.mode-fluent .mode-card-preview {
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-modifier-hover) 100%);
}
.mode-legacy .mode-card-preview {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
}
.mode-card-desc {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
min-height: 3em;
}
.onboarding-section-title {
font-size: 1.25em;
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-4-2);
text-align: center;
}
.section-desc {
color: var(--text-muted);
font-size: 0.95em;
margin-bottom: var(--size-4-4);
text-align: center;
line-height: 1.5;
}
.mode-tips,
.placement-tips {
margin-top: var(--onboarding-spacing);
text-align: left;
}
.mode-tips p,
.placement-tips p {
margin: 0;
font-size: 0.9em;
}
.placement-selection {
margin-bottom: var(--onboarding-spacing);
}
.placement-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--onboarding-spacing);
margin: var(--onboarding-spacing) 0;
}
.placement-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius);
padding: var(--onboarding-spacing);
cursor: pointer;
transition: var(--onboarding-transition);
background: var(--background-primary);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
.placement-card:hover {
border-color: var(--interactive-accent);
box-shadow: var(--shadow-s);
transform: translateY(-2px);
}
.placement-card.is-selected {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.placement-card-header {
margin-bottom: var(--size-4-3);
}
.placement-card-title {
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-4-2);
}
.placement-card-body {
margin-top: var(--size-4-2);
}
.placement-card-preview {
height: 100px;
background: var(--background-secondary);
border-radius: var(--radius-s);
margin-bottom: var(--size-4-3);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
position: relative;
}
.placement-sideleaves .placement-card-preview {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 4px;
padding: var(--size-4-2);
}
.placement-preview-col {
background: var(--background-modifier-border);
border-radius: 2px;
height: 100%;
}
.placement-preview-col.placement-preview-main {
background: var(--interactive-accent);
opacity: 0.3;
}
.placement-inline .placement-card-preview {
padding: var(--size-4-2);
}
.placement-preview-single {
width: 100%;
height: 100%;
background: var(--interactive-accent);
opacity: 0.3;
border-radius: 4px;
}
.placement-card-desc {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
min-height: 3em;
}
.intro-typing-wrapper {
width: 100%;
padding-left: calc(var(--onboarding-spacing) * 3);
padding-right: calc(var(--onboarding-spacing) * 3);
}
.onboarding-view .onboarding-content.intro-typing-wrapper {
padding-left: calc(var(--onboarding-spacing) * 3);
padding-right: calc(var(--onboarding-spacing) * 3);
}
.intro-typing {
padding: var(--size-4-6) var(--size-4-4);
text-align: left;
width: 100%;
}
.intro-line {
margin-bottom: var(--size-4-4);
line-height: 1.6;
}
.intro-line-1 {
font-size: clamp(3rem, 6vw, 5rem);
font-weight: 700;
color: var(--text-normal);
margin-bottom: var(--size-4-2);
line-height: 1.2;
}
.intro-line-2 {
font-size: clamp(1.5rem, 3vw, 2.5rem);
font-weight: 600;
color: var(--text-normal);
margin-bottom: var(--size-4-6);
line-height: 1.4;
}
.intro-line-3,
.intro-line-4 {
font-size: clamp(1rem, 2vw, 1.4rem);
color: var(--text-muted);
margin-bottom: var(--size-4-5);
text-align: left;
}
.intro-line-4 {
padding-top: calc(var(--onboarding-spacing) * 4);
}
.onboarding-header > .intro-line-4 {
padding-top: 0;
}
.intro-char {
display: inline;
opacity: 0;
filter: blur(4px);
transform: translateY(-2px);
transition:
opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
}
.intro-char-visible {
opacity: 1;
filter: blur(0px);
transform: translateY(0);
}
.intro-char-space {
width: 0.25em;
}
.intro-cursor {
display: inline-block;
margin-left: 1px;
opacity: 0.7;
animation: cursorBlink 1s infinite;
color: var(--interactive-accent);
font-weight: normal;
vertical-align: baseline;
}
@keyframes cursorBlink {
0%, 49% {
opacity: 0.7;
}
50%, 100% {
opacity: 0;
}
}
.stream-complete {
animation: streamComplete 0.3s ease-out;
}
@keyframes streamComplete {
0% {
opacity: 1;
}
50% {
opacity: 0.95;
}
100% {
opacity: 1;
}
}
.intro-line-fadeout {
opacity: 0;
transform: translateY(-10px);
transition: opacity 0.5s ease-out, transform 0.5s ease-out;
pointer-events: none;
}
.intro-mode-selection-container {
animation: fadeInFromBottom 0.6s ease-out;
animation-fill-mode: both;
width: 100%;
}
@keyframes fadeInFromBottom {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.theme-dark .intro-line-1 {
color: var(--text-normal);
text-shadow: 0 0 20px rgba(var(--interactive-accent-rgb), 0.1);
}
.theme-dark .intro-char-visible {
text-shadow: 0 0 8px rgba(var(--interactive-accent-rgb), 0.05);
}
.intro-typing {
animation: fadeInTyping 0.5s ease-out;
}
@keyframes fadeInTyping {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.intro-transition-container {
margin-top: var(--size-4-4);
min-height: 60px;
}
.intro-transition-message {
display: flex;
align-items: center;
gap: var(--size-4-3);
padding: var(--size-4-3) var(--size-4-4);
background:
linear-gradient(
135deg,
rgba(var(--interactive-accent-rgb), 0.08) 0%,
rgba(var(--interactive-accent-rgb), 0.03) 100%);
border: 1px solid rgba(var(--interactive-accent-rgb), 0.2);
border-radius: var(--onboarding-border-radius);
box-shadow: var(--shadow-sm);
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.intro-transition-message .transition-icon {
font-size: 1.5em;
flex-shrink: 0;
animation: sparkle 1.5s ease-in-out infinite;
}
.intro-transition-message .transition-text {
color: var(--text-normal);
font-size: 0.95em;
line-height: 1.5;
}
@keyframes sparkle {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.1);
opacity: 0.8;
}
}
.config-check-typing {
min-height: 200px;
display: flex;
flex-direction: column;
justify-content: center;
}
.config-check-typing .check-line {
line-height: 1.6;
color: var(--text-normal);
margin-block-start: var(--size-4-2);
margin-block-end: var(--size-4-2);
}
.config-check-typing .check-line-1 {
font-size: clamp(1.2rem, 2.5vw, 1.8rem);
font-weight: 600;
color: var(--text-muted);
line-height: 1.4;
}
.config-check-typing .check-line-2,
.config-check-typing .check-line-3 {
font-size: clamp(1rem, 2vw, 1.3rem);
color: var(--text-muted);
line-height: 1.5;
}
.config-check-typing .check-line-result {
font-size: clamp(1.1rem, 2.2vw, 1.6rem);
font-weight: 600;
margin-top: var(--size-4-4);
padding: var(--size-4-4) var(--size-4-5);
border-radius: var(--radius-m);
background:
linear-gradient(
135deg,
rgba(var(--interactive-accent-rgb), 0.05) 0%,
rgba(var(--interactive-accent-rgb), 0.02) 100%);
border-left: 3px solid var(--interactive-accent);
line-height: 1.5;
}
.config-check-typing .check-line-success {
color: var(--color-green);
border-left-color: var(--color-green);
background:
linear-gradient(
135deg,
rgba(var(--color-green-rgb), 0.08) 0%,
rgba(var(--color-green-rgb), 0.02) 100%);
}
.config-check-typing .check-line-fresh {
color: var(--text-accent);
border-left-color: var(--text-accent);
}
.selectable-cards-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--size-4-4);
margin: var(--size-4-4) 0;
}
.selectable-cards-container.user-level-cards {
display: flex;
flex-direction: row;
gap: var(--size-4-4);
}
.selectable-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--onboarding-border-radius, var(--radius-m));
padding: var(--size-4-4);
cursor: pointer;
transition: var(--onboarding-transition);
background: var(--background-primary);
position: relative;
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.selectable-card:hover {
border-color: var(--interactive-accent);
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.selectable-card.is-selected {
border-color: var(--interactive-accent);
background: var(--background-modifier-hover);
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
}
.selectable-card-header {
display: flex;
align-items: center;
gap: var(--size-4-2);
margin-bottom: var(--size-4-3);
}
.selectable-card-icon {
flex-shrink: 0;
color: var(--text-accent);
opacity: 0.8;
}
.selectable-card-title-container {
flex: 1;
}
.selectable-card-title {
margin: 0;
font-size: 1.1em;
font-weight: 600;
color: var(--text-normal);
}
.selectable-card-subtitle {
display: block;
margin-top: var(--size-2-1);
font-size: 0.85em;
color: var(--text-muted);
font-weight: normal;
}
.selectable-card-badge {
position: absolute;
top: var(--size-4-2);
right: var(--size-4-2);
background: var(--interactive-accent);
color: var(--text-on-accent);
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
font-size: 0.7em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.02em;
}
.selectable-card-body {
margin-top: var(--size-4-2);
}
.selectable-card-preview {
background: var(--background-secondary);
border-radius: var(--radius-s);
margin-bottom: var(--size-4-3);
min-height: 100px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.selectable-card-description {
color: var(--text-muted);
font-size: 0.9em;
line-height: 1.5;
margin: 0 0 var(--size-4-2) 0;
}
.selectable-card-features {
margin-top: var(--size-4-2);
}
.selectable-card-features ul {
margin: 0;
padding-left: var(--size-4-3);
list-style: none;
}
.selectable-card-features li {
position: relative;
color: var(--text-muted);
font-size: 0.85em;
line-height: 1.4;
margin-bottom: var(--size-2-1);
}
.selectable-card-features li:before {
content: "\2022";
color: var(--interactive-accent);
position: absolute;
left: calc(-1 * var(--size-4-3));
font-weight: bold;
}
.feature-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--background-secondary);
border-radius: var(--onboarding-border-radius);
padding: var(--size-4-2);
}
.feature-item {
display: flex;
align-items: center;
gap: var(--size-4-2);
padding: var(--size-2-1) 0;
color: var(--text-normal);
font-size: 0.9em;
}
.feature-item-icon {
color: var(--color-green);
flex-shrink: 0;
display: flex;
}
.feature-item-text {
flex: 1;
}
.onboarding-badge {
display: inline-flex;
align-items: center;
padding: var(--size-2-1) var(--size-4-2);
border-radius: var(--radius-s);
font-size: 0.75em;
font-weight: 500;
letter-spacing: 0.01em;
transition: var(--onboarding-transition);
}
.onboarding-badge-default {
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
}
.onboarding-badge-success {
background: rgba(var(--color-green-rgb), 0.1);
color: var(--color-green);
border: 1px solid var(--color-green);
}
.onboarding-badge-warning {
background: rgba(var(--color-orange-rgb), 0.1);
color: var(--color-orange);
border: 1px solid var(--color-orange);
}
.onboarding-badge-info {
background: rgba(var(--color-blue-rgb), 0.1);
color: var(--color-blue);
border: 1px solid var(--color-blue);
}
.onboarding-badge-accent {
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
}
.onboarding-alert {
display: flex;
gap: var(--size-4-2);
padding: var(--size-4-3);
border-radius: var(--onboarding-border-radius);
border: 1px solid transparent;
transition: var(--onboarding-transition);
}
.onboarding-alert-icon {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}
.onboarding-alert-content {
flex: 1;
}
.onboarding-alert-title {
font-weight: 600;
margin-bottom: var(--size-2-1);
font-size: 0.95em;
}
.onboarding-alert-message {
font-size: 0.9em;
line-height: 1.5;
}
.onboarding-alert-info {
background: rgba(var(--color-blue-rgb), 0.1);
border-color: var(--color-blue);
}
.onboarding-alert-info .onboarding-alert-icon {
color: var(--color-blue);
}
.onboarding-alert-info .onboarding-alert-title,
.onboarding-alert-info .onboarding-alert-message {
color: var(--color-blue);
}
.onboarding-alert-success {
background: rgba(var(--color-green-rgb), 0.1);
border-color: var(--color-green);
}
.onboarding-alert-success .onboarding-alert-icon {
color: var(--color-green);
}
.onboarding-alert-success .onboarding-alert-title,
.onboarding-alert-success .onboarding-alert-message {
color: var(--color-green);
}
.onboarding-alert-warning {
background: rgba(var(--color-orange-rgb), 0.1);
border-color: var(--color-orange);
}
.onboarding-alert-warning .onboarding-alert-icon {
color: var(--color-orange);
}
.onboarding-alert-warning .onboarding-alert-title,
.onboarding-alert-warning .onboarding-alert-message {
color: var(--color-orange);
}
.onboarding-alert-error {
background: rgba(var(--color-red-rgb), 0.1);
border-color: var(--color-red);
}
.onboarding-alert-error .onboarding-alert-icon {
color: var(--color-red);
}
.onboarding-alert-error .onboarding-alert-title,
.onboarding-alert-error .onboarding-alert-message {
color: var(--color-red);
}
.progress-dots {
display: flex;
gap: var(--size-4-2);
align-items: center;
justify-content: center;
margin: var(--size-4-3) 0;
}
.progress-dot-wrapper {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--size-2-1);
}
.progress-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--background-modifier-border);
transition: var(--onboarding-transition);
}
.progress-dot.is-active {
background: var(--interactive-accent);
transform: scale(1.5);
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.2);
}
.progress-dot.is-completed {
background: var(--interactive-accent);
opacity: 0.6;
}
.progress-dot-label {
font-size: 0.7em;
color: var(--text-muted);
font-weight: 500;
}
/* src/styles/noise.css */
.tg-noise-layer {
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
pointer-events: none;
}
.tg-noise-layer::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.25;
background-image: url('data:image/svg+xml;utf8,<svg width="1901" height="961" viewBox="0 0 1901 961" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.25" filter="url(%23filter0_n_1_2)"><rect width="1901" height="961" fill="%23EFEFEF"/></g><defs><filter id="filter0_n_1_2" x="0" y="0" width="1901" height="961" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feTurbulence type="fractalNoise" baseFrequency="1.25 1.25" stitchTiles="stitch" numOctaves="3" result="noise" seed="5339" /><feColorMatrix in="noise" type="luminanceToAlpha" result="alphaNoise" /><feComponentTransfer in="alphaNoise" result="coloredNoise1"><feFuncA type="discrete" tableValues="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "/></feComponentTransfer><feComposite operator="in" in2="shape" in="coloredNoise1" result="noise1Clipped" /><feFlood flood-color="rgba(0, 0, 0, 0.25)" result="color1Flood" /><feComposite operator="in" in2="noise1Clipped" in="color1Flood" result="color1" /><feMerge result="effect1_noise_1_2"><feMergeNode in="shape" /><feMergeNode in="color1" /></feMerge></filter></defs></svg>');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: 1;
}
.tg-noise-layer > * {
position: relative;
z-index: 2;
}
/* src/styles/changelog.css */
.tg-changelog-view {
padding: var(--size-4-6);
display: flex;
flex-direction: column;
gap: var(--size-4-4);
}
.tg-changelog-header {
display: flex;
flex-direction: column;
gap: var(--size-2);
}
.tg-changelog-header h2 {
margin: 0;
font-size: var(--font-ui-large);
font-weight: 600;
}
.tg-changelog-meta {
display: flex;
align-items: center;
gap: var(--size-2);
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.tg-changelog-meta a {
color: var(--interactive-accent);
text-decoration: none;
}
.tg-changelog-meta a:hover {
text-decoration: underline;
}
.tg-changelog-body {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
border-radius: var(--radius-m);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.tg-changelog-error {
color: var(--text-error);
font-weight: 500;
}
.tg-changelog-body h1,
.tg-changelog-body h2,
.tg-changelog-body h3 {
font-family: var(--font-interface, inherit);
font-weight: 600;
margin-top: var(--size-4-4);
margin-bottom: var(--size-4-2);
line-height: 1.3;
}
.tg-changelog-body h1 {
font-size: 1.65rem;
}
.tg-changelog-body h2 {
font-size: 1.35rem;
}
.tg-changelog-body h2:not(:first-child) {
margin-top: var(--size-4-8);
}
.tg-changelog-body h3 {
font-size: 1.15rem;
display: flex;
align-items: center;
gap: var(--size-2);
}
.tg-changelog-body h3::before {
content: "";
display: inline-block;
width: 1rem;
height: 1rem;
border-radius: 2px;
background-color: var(--background-modifier-border-hover);
flex: 0 0 auto;
margin-right: var(--size-4-2);
}
.tg-changelog-body h3[data-heading^="Bug Fixes"]::before {
background-color: var(--color-red, #e06c75);
}
.tg-changelog-body h3[data-heading^=Features]::before,
.tg-changelog-body h3[data-heading^=New]::before {
background-color: var(--color-cyan, #56b6c2);
}
.tg-changelog-body h3[data-heading^=Improvements]::before,
.tg-changelog-body h3[data-heading^=Enhancements]::before {
background-color: var(--color-yellow, #d19a66);
}
.tg-changelog-body h3[data-heading^=Performance]::before {
background-color: var(--color-green, #98c379);
}
.tg-changelog-body p + h1,
.tg-changelog-body p + h2,
.tg-changelog-body p + h3 {
margin-top: var(--size-4-6);
}
/* src/styles/timeline-sidebar.css */
div[data-type^=tg-timeline-sidebar-view] .timeline-sidebar-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
background-color: var(--background-primary);
overflow: hidden;
font-family: var(--font-interface);
padding: 0 !important;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-3) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
background:
linear-gradient(
135deg,
var(--background-secondary) 0%,
var(--background-modifier-hover) 100%);
flex-shrink: 0;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-title {
font-weight: 600;
font-size: var(--font-ui-medium);
color: var(--text-normal);
display: flex;
align-items: center;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
display: flex;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-8);
height: var(--size-4-8);
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
background-color: transparent;
transition: all 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-hover);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn.is-active {
color: var(--text-on-accent);
background-color: var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2) 0;
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group:not(.is-today) {
opacity: 0.3;
pointer-events: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-empty {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
text-align: center;
padding: var(--size-4-8);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group {
margin-bottom: var(--size-4-2);
position: relative;
border-radius: var(--radius-m);
transition: all 0.3s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today {
background-color: var(--background-secondary);
border-radius: var(--radius-m);
margin: 0 var(--size-4-2) var(--size-4-2);
padding: var(--size-4-2);
box-shadow: var(--shadow-s);
border: 1px solid var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-2) var(--size-4-4);
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-accent);
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: var(--size-4-2);
position: sticky;
top: 0;
background-color: var(--background-primary);
z-index: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today .timeline-date-header {
border-radius: var(--radius-s);
margin: 0 0 var(--size-4-2) 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-relative {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-weight: normal;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
display: flex;
flex-direction: column;
gap: var(--size-2-1);
padding: 0 var(--size-2-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
display: flex;
align-items: flex-start;
gap: var(--size-4-3);
padding: var(--size-4-3);
border-radius: var(--radius-m);
cursor: pointer;
position: relative;
border: 1px solid transparent;
margin-bottom: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover {
background-color: var(--background-modifier-hover);
border-color: var(--interactive-accent);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transform: translateY(-1px);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover:has(.timeline-event-checkbox:hover) {
transform: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed {
opacity: 0.6;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed .timeline-event-text {
text-decoration: line-through;
color: var(--text-muted);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-family: var(--font-monospace);
min-width: 45px;
text-align: center;
margin-top: 2px;
flex-shrink: 0;
background-color: var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-4-1) var(--size-4-2);
font-weight: 500;
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-single {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: 600;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range {
background:
linear-gradient(
135deg,
var(--interactive-accent) 0%,
var(--interactive-accent-hover) 100%);
color: var(--text-on-accent);
font-weight: 600;
min-width: 80px;
position: relative;
animation: subtle-pulse 2s ease-in-out infinite;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range::after {
content: "\23f1";
position: absolute;
top: -6px;
right: -6px;
font-size: 10px;
background-color: var(--background-primary);
border-radius: 999px;
min-width: 18px;
height: 16px;
padding: 0 4px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 2px solid var(--interactive-accent);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
line-height: 1;
white-space: nowrap;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range[data-duration]::after {
content: attr(data-duration);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-default {
background-color: var(--background-modifier-border);
color: var(--text-muted);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-group {
background:
linear-gradient(
135deg,
var(--text-accent) 0%,
var(--interactive-accent) 100%);
color: var(--text-on-accent);
font-weight: 700;
min-width: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-date-only {
background-color: var(--background-modifier-hover);
color: var(--text-muted);
font-style: italic;
min-width: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group {
margin-bottom: var(--size-4-3);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-header {
display: flex;
align-items: center;
gap: var(--size-4-3);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-modifier-hover);
border-bottom: 1px solid var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-count {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-weight: 500;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-events {
padding: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped {
margin-bottom: var(--size-4-2);
padding: var(--size-4-2);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped:last-child {
margin-bottom: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section {
margin-top: var(--size-4-4);
padding-top: var(--size-4-3);
border-top: 2px dashed var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section .timeline-event .timeline-event-time {
display: none !important;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-header {
display: flex;
align-items: center;
gap: var(--size-4-3);
margin-bottom: var(--size-4-3);
padding: var(--size-4-2) var(--size-4-3);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-title {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 500;
font-style: italic;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content {
flex: 1;
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
min-width: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox {
display: flex;
align-items: center;
margin-top: 2px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox input[type=checkbox] {
margin: 0;
cursor: pointer;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-text {
flex: 1;
font-size: var(--font-ui-small);
line-height: 1.4;
word-wrap: break-word;
color: var(--text-normal);
display: flex;
align-items: flex-start;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-icon {
font-size: var(--font-ui-medium);
flex-shrink: 0;
margin-top: 1px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text {
flex: 1;
word-break: break-word;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-actions {
display: flex;
gap: var(--size-4-1);
opacity: 0;
transition: opacity 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover .timeline-event-actions {
opacity: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
background-color: transparent;
transition: all 0.2s ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
flex-shrink: 0;
border-top: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
padding: var(--size-4-4);
display: flex;
flex-direction: column;
gap: var(--size-4-3);
padding-bottom: var(--size-4-12);
position: relative;
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
padding: 0;
gap: 0;
height: auto;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-header,
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-editor,
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-actions {
display: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsing {
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-expanding {
overflow: hidden;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--size-4-3) var(--size-4-4);
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
cursor: pointer;
transition: background-color 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed:hover {
background-color: var(--background-modifier-hover);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
color: var(--text-muted);
transition: all 200ms ease;
cursor: pointer;
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-title {
flex: 1;
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-normal);
margin-left: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-actions {
display: flex;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-7);
height: var(--size-4-7);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover {
color: var(--interactive-accent);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--size-4-2);
margin-bottom: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-left {
display: flex;
align-items: center;
gap: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn {
display: flex;
align-items: center;
justify-content: center;
width: var(--size-4-6);
height: var(--size-4-6);
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: all 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn:hover {
color: var(--text-normal);
background-color: var(--background-modifier-border);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn svg {
transition: transform 200ms ease;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-collapse-btn svg {
transform: rotate(-90deg);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-title {
font-weight: 600;
font-size: var(--font-ui-small);
color: var(--text-normal);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-target-info {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
font-style: italic;
padding: var(--size-4-1) var(--size-4-2);
background-color: var(--background-modifier-hover);
border-radius: var(--radius-s);
word-break: break-all;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
min-height: 80px;
border: 2px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-primary);
padding: var(--size-4-3);
font-family: var(--font-text);
font-size: var(--font-ui-small);
resize: vertical;
transition: all 0.3s ease;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor:focus-within {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor {
background-color: transparent;
border: none;
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-focused {
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor.cm-focused {
outline: none;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-actions {
display: flex;
gap: var(--size-4-2);
justify-content: flex-end;
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn,
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
padding: var(--size-4-3) var(--size-4-6);
border-radius: var(--radius-m);
font-size: var(--font-ui-small);
font-weight: 500;
cursor: pointer;
border: none;
transition: all 0.3s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn:hover {
background-color: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
background-color: var(--background-modifier-border);
color: var(--text-normal);
}
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn:hover {
background-color: var(--background-modifier-border-hover);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
@media (max-width: 768px) {
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
padding: var(--size-4-2) var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
gap: var(--size-4-1);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
width: var(--size-4-7);
height: var(--size-4-7);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
padding: 0 var(--size-2-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
padding: var(--size-4-2);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
padding: var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
padding: 0;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
min-height: 60px;
}
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
padding: var(--size-4-2) var(--size-4-3);
}
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
width: var(--size-4-6);
height: var(--size-4-6);
}
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar {
width: 6px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-track {
background-color: var(--background-secondary);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb {
background-color: var(--background-modifier-border);
border-radius: 3px;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb:hover {
background-color: var(--background-modifier-border-hover);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes subtle-pulse {
0%, 100% {
box-shadow: 0 0 0 0 rgba(var(--interactive-accent-rgb), 0.4);
}
50% {
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.1);
}
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode {
position: relative;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
to bottom,
rgba(var(--background-primary-rgb), 0.9) 0%,
rgba(var(--background-primary-rgb), 0.7) 50%,
rgba(var(--background-primary-rgb), 0.9) 100%);
pointer-events: none;
z-index: 0;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group.is-today {
position: relative;
z-index: 1;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block {
margin: 0;
padding: 0;
font-size: inherit;
line-height: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block p {
margin: 0;
padding: 0;
font-size: inherit;
line-height: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block strong,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block em,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block code {
font-size: inherit;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a {
color: var(--link-color);
text-decoration: none;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a:hover {
text-decoration: underline;
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ul,
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ol {
margin: 0;
padding-left: var(--size-4-4);
}
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block li {
margin: 0;
padding: 0;
}
/* src/styles/reward.css */
.reward-modal-content {
text-align: center;
}
.reward-modal .modal-title {
text-align: center;
}
.reward-name {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 15px;
}
.reward-image-container {
margin-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
}
.reward-image {
max-width: 80%;
max-height: 300px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.reward-image-error {
font-style: italic;
color: var(--text-muted);
}
.reward-spacer {
height: 20px;
}
.task-genius-reward-modal .setting-item-control {
display: flex;
justify-content: center;
gap: 10px;
}
/* src/styles/task-gutter.css */
.markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
margin-inline-end: 0 !important;
margin-inline-start: var(--file-folding-offset);
}
.is-mobile .markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
margin-inline-start: 0 !important;
}
.task-details-popover.tg-menu {
z-index: 20;
position: fixed;
background-color: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
padding: var(--size-4-3);
box-shadow: var(--shadow-l);
}
.task-gutter {
width: 26px;
}
.task-gutter-marker {
cursor: pointer;
font-size: var(--font-smaller);
opacity: 0.1;
transition: opacity 0.2s ease;
}
.task-gutter-marker:hover {
opacity: 1;
}
.task-popover-content {
padding: var(--size-4-3);
max-width: 300px;
max-height: 400px;
overflow: auto;
}
.task-metadata-editor {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
padding: var(--size-2-2);
height: 100%;
}
.field-container {
display: flex;
flex-direction: column;
margin-bottom: var(--size-2-2);
}
.field-label {
font-size: var(--font-smallest);
font-weight: var(--font-bold);
margin-bottom: var(--size-2-1);
color: var(--text-muted);
}
.action-buttons {
display: flex;
justify-content: space-between;
margin-top: var(--size-4-2);
gap: var(--size-4-2);
}
.action-button {
padding: var(--size-2-2) var(--size-4-2);
font-size: var(--font-smallest);
border-radius: var(--radius-s);
cursor: pointer;
}
.task-gutter-marker.clickable-icon {
width: 24px;
padding: var(--size-2-1);
display: flex;
justify-content: center;
align-items: center;
}
.task-details-popover .tabs-main-container {
display: flex;
flex-direction: column;
width: 100%;
}
.task-details-popover .tabs-navigation {
display: flex;
margin-bottom: var(--size-4-2);
gap: var(--size-4-2);
}
.task-details-popover .tab-button {
padding: var(--size-2-2) var(--size-4-2);
cursor: pointer;
border: none;
background: none;
font-size: var(--font-ui-small);
color: var(--text-muted);
margin-bottom: -1px;
transition: color 0.2s ease, border-color 0.2s ease;
}
.task-details-popover .tab-button:hover {
color: var(--text-normal);
}
.task-details-popover .tab-button.active {
color: var(--text-on-accent);
font-weight: var(--font-bold);
background-color: var(--interactive-accent);
}
.task-details-popover .tab-pane {
display: none;
flex-direction: column;
gap: var(--size-4-2);
}
.task-details-popover .tab-pane.active {
display: flex;
}
.task-details-popover .details-status-selector,
.task-status-editor .details-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: var(--size-4-2);
margin-top: var(--size-4-2);
}
.task-details-popover .quick-capture-status-selector,
.task-status-editor .quick-capture-status-selector {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: var(--size-4-3);
}
.task-details-popover .quick-capture-status-selector-label,
.task-status-editor .quick-capture-status-selector-label {
display: none;
}
.modal-content.task-metadata-editor {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.metadata-full-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
.metadata-full-container .dates-container {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
/* src/styles/fluent/fluent-main.css */
.task-genius-fluent-view {
height: 100%;
overflow: hidden;
padding: 0;
}
.tg-fluent-container {
height: 100%;
display: flex;
flex-direction: row;
border-top: 1px solid var(--background-modifier-border);
}
.view-content.task-genius-fluent-view {
padding: 0;
}
.tg-fluent-layout {
display: flex;
height: 100%;
width: 100%;
overflow: hidden;
}
.tg-fluent-sidebar-container {
width: 260px;
min-width: 200px;
max-width: 400px;
background-color: var(--background-secondary);
border-right: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
overflow: hidden;
}
.fluent-sidebar {
height: 100%;
display: flex;
flex-direction: column;
}
.fluent-sidebar-header {
padding: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.workspace-selector-button {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 8px;
background: transparent;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.15s;
}
.workspace-selector-button:hover {
background-color: var(--background-modifier-hover);
}
.workspace-info {
display: flex;
align-items: center;
gap: 12px;
}
.workspace-icon {
width: 32px;
height: 32px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.workspace-icon svg {
width: 16px;
height: 16px;
}
.workspace-details {
text-align: left;
}
.workspace-name {
font-weight: 500;
color: var(--text-normal);
}
.workspace-label {
font-size: 12px;
color: var(--text-muted);
}
.workspace-dropdown-icon {
color: var(--text-muted);
}
button.fluent-new-task-btn {
width: 100%;
margin-top: 12px;
box-shadow: unset;
padding: 10px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
cursor: pointer;
transition: background-color 0.15s;
}
button.fluent-new-task-btn:hover {
background-color: var(--interactive-accent-hover);
}
.fluent-new-task-icon {
display: flex;
}
.fluent-sidebar-content {
flex: 1;
overflow-y: auto;
padding: 8px 0;
--icon-size: 16px;
}
.fluent-sidebar-section {
padding: 8px 0;
}
.fluent-sidebar-section + .fluent-sidebar-section {
border-top: 1px solid var(--background-modifier-border);
}
.fluent-section-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 4px 16px;
margin-bottom: 4px;
}
.fluent-section-header span {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
color: var(--text-muted);
}
.fluent-project-header-buttons {
display: flex;
align-items: center;
gap: 8px;
}
.fluent-add-project-btn,
.fluent-sort-project-btn,
.fluent-tree-toggle-btn {
cursor: pointer;
color: var(--text-muted);
transition: color 0.15s;
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
}
.fluent-add-project-btn:hover,
.fluent-sort-project-btn:hover,
.fluent-tree-toggle-btn:hover {
color: var(--text-normal);
}
.fluent-navigation-list {
padding: 0 8px;
}
.fluent-navigation-item {
display: flex;
align-items: center;
gap: 12px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
position: relative;
}
.fluent-navigation-item:hover {
background-color: var(--background-modifier-hover);
}
.fluent-navigation-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.fluent-navigation-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
}
.fluent-navigation-item.is-active .fluent-navigation-icon {
color: var(--text-normal);
}
.fluent-navigation-label {
flex: 1;
font-size: 14px;
color: var(--text-normal);
}
.fluent-navigation-badge {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-size: 11px;
font-weight: 600;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.fluent-project-scroll {
max-height: 300px;
overflow-y: auto;
padding: 0 8px;
}
.fluent-project-item {
display: flex;
align-items: center;
gap: 10px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
}
.fluent-project-item.fluent-add-project {
margin: 0 8px;
}
.fluent-project-item:hover {
background-color: var(--background-modifier-hover);
}
.fluent-project-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.fluent-project-color {
width: 12px;
height: 12px;
border-radius: 3px;
flex-shrink: 0;
}
.fluent-project-color-dashed {
width: 12px;
height: 12px;
border: 1.5px dashed var(--text-muted);
border-radius: 3px;
}
.fluent-project-name {
flex: 1;
font-size: 14px;
color: var(--text-normal);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.fluent-add-project .fluent-project-name {
color: var(--text-muted);
}
.fluent-project-count {
font-size: 12px;
color: var(--text-muted);
}
.fluent-project-list.is-tree-view .fluent-project-item {
transition: all 0.15s ease;
}
.fluent-project-chevron {
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
margin-right: 4px;
cursor: pointer;
color: var(--text-muted);
transition: transform 0.15s ease;
flex-shrink: 0;
}
.fluent-project-chevron:hover {
color: var(--text-normal);
}
.fluent-project-chevron svg {
width: 12px;
height: 12px;
}
.fluent-project-chevron-spacer {
width: 16px;
height: 16px;
margin-right: 4px;
flex-shrink: 0;
}
.fluent-project-list.is-tree-view .fluent-project-item[data-level="1"] {
padding-left: 28px;
}
.fluent-project-list.is-tree-view .fluent-project-item[data-level="2"] {
padding-left: 48px;
}
.fluent-project-list.is-tree-view .fluent-project-item[data-level="3"] {
padding-left: 68px;
}
.fluent-project-list.is-tree-view .fluent-project-item::before {
content: "";
position: absolute;
left: 8px;
top: 0;
bottom: 0;
width: 1px;
background: var(--background-modifier-border);
opacity: 0;
transition: opacity 0.15s;
}
.fluent-project-list.is-tree-view .fluent-project-item[data-level]:not([data-level="0"]):hover::before {
opacity: 0.3;
}
.fluent-project-item.is-virtual .fluent-project-name {
font-style: italic;
opacity: 0.85;
}
.fluent-project-item.is-virtual .fluent-project-color {
opacity: 0.6;
}
.fluent-project-item.is-virtual:hover {
background-color: var(--background-modifier-hover);
}
.tg-project-list-disabled {
pointer-events: none;
opacity: 0.5;
position: relative;
}
.tg-project-list-disabled::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--background-modifier-cover);
opacity: 0.3;
z-index: 1;
}
.tg-project-list-disabled .fluent-project-item {
cursor: not-allowed;
}
.tg-fluent-main-container {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.tg-fluent-top-nav {
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.fluent-top-navigation {
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
padding: 0 20px;
gap: 20px;
}
.fluent-nav-left {
flex: 0 1 400px;
}
.fluent-search-container {
position: relative;
display: flex;
align-items: center;
max-width: 400px;
flex: 1;
}
.fluent-nav-center {
display: flex;
align-items: center;
gap: 12px;
}
.fluent-view-tabs {
display: flex;
background-color: var(--background-secondary);
border-radius: 6px;
padding: 2px;
}
.fluent-view-tab {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: none;
border-radius: 4px;
font-size: 14px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.fluent-view-tab:hover {
color: var(--text-normal);
}
.fluent-view-tab.is-active {
background-color: var(--background-primary);
color: var(--text-normal);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.fluent-view-tab-icon {
width: 16px;
height: 16px;
display: flex;
align-items: center;
}
.fluent-nav-separator {
width: 1px;
height: 24px;
background-color: var(--background-modifier-border);
}
.fluent-nav-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 14px;
color: var(--text-normal);
cursor: pointer;
transition: all 0.15s;
}
.fluent-nav-button:hover {
background-color: var(--background-modifier-hover);
}
.fluent-nav-button-icon {
width: 16px;
height: 16px;
display: flex;
}
.fluent-nav-right {
display: flex;
align-items: center;
gap: 12px;
}
.fluent-nav-icon-button {
position: relative;
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.fluent-nav-icon-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.fluent-notification-badge {
position: absolute;
top: -2px;
right: -2px;
background-color: var(--text-error);
color: white;
font-size: 10px;
font-weight: 600;
padding: 2px 5px;
border-radius: 10px;
min-width: 16px;
text-align: center;
}
.tg-fluent-content {
flex: 1;
overflow: auto;
}
.bases-view .tg-kanban-filters,
.tg-fluent-content .content-header,
.tg-fluent-content .tg-kanban-filters {
display: none;
}
.tg-fluent-list-view,
.tg-fluent-kanban-view,
.tg-fluent-tree-view,
.tg-fluent-calendar-view {
height: 100%;
}
@media (max-width: 768px) {
.tg-fluent-sidebar-container:not(.is-mobile-drawer) {
width: 200px;
}
.fluent-nav-center {
display: none;
}
.fluent-search-container {
flex: 1;
}
.fluent-nav-left .search-input-container {
width: 300px;
}
}
@media (max-width: 480px) {
.tg-fluent-sidebar-container.is-mobile-drawer {
width: 75vw !important;
max-width: 320px !important;
}
.fluent-hamburger-button {
width: 44px;
height: 44px;
}
.fluent-top-navigation {
padding: 0 12px;
}
.fluent-view-tabs {
display: none;
}
.fluent-search-container {
flex: 1;
max-width: calc(100vw - 180px);
}
}
.tg-fluent-sidebar-container {
transition:
width 0.2s ease,
min-width 0.2s ease,
max-width 0.2s ease;
}
.tg-fluent-sidebar-container.is-collapsed,
.fluent-sidebar-collapsed .tg-fluent-sidebar-container {
width: 44px;
min-width: 44px;
max-width: 44px;
}
.fluent-sidebar-rail {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 8px 4px;
}
.fluent-rail-btn {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
}
.fluent-rail-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.fluent-rail-btn svg {
width: 16px;
height: 16px;
}
.fluent-rail-btn.is-active {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
.tg-beta {
position: relative;
}
.tg-beta::after {
content: "beta";
font-size: 0.44em;
background: var(--color-accent);
color: var(--text-on-accent-inverted);
padding-left: 2px;
padding-right: 2px;
font-weight: bold;
margin-left: 4px;
position: absolute;
top: -1px;
right: -2px;
border-radius: 2px;
text-transform: uppercase;
padding-top: 1px;
}
.drawer-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}
.drawer-open .drawer-overlay {
opacity: 1;
pointer-events: auto;
}
.tg-fluent-sidebar-container.is-mobile-drawer {
position: fixed;
top: 0;
left: 0;
bottom: 0;
width: 280px !important;
max-width: 85vw !important;
min-width: 280px !important;
z-index: 1000;
transform: translateX(-100%);
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
}
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer {
transform: translateX(0);
}
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar.is-collapsed {
display: flex;
width: 100%;
}
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar-rail {
display: none;
}
.is-mobile .fluent-sidebar {
width: 100%;
overflow-y: auto;
overflow-x: hidden;
}
.is-mobile .fluent-sidebar-header {
padding: 16px;
border-bottom: 1px solid var(--background-modifier-border);
}
.is-mobile .fluent-sidebar-content {
overflow-y: auto;
max-height: calc(100vh - 150px);
}
.is-mobile .fluent-sidebar-section {
display: block !important;
visibility: visible !important;
}
.is-mobile .fluent-section-header {
display: flex !important;
visibility: visible !important;
}
.is-mobile .fluent-navigation-item,
.is-mobile .fluent-project-item {
padding: 10px 16px;
font-size: 15px;
}
.is-mobile .fluent-new-task-btn {
padding: 12px;
font-size: 15px;
}
.is-mobile .fluent-navigation-list {
display: flex;
justify-content: center;
}
.is-mobile span.fluent-navigation-label {
display: none;
}
.is-mobile .fluent-navigation-item,
.is-mobile .fluent-project-item,
.is-mobile .fluent-add-project {
min-height: 44px;
}
.drawer-open .tg-fluent-main-container {
pointer-events: none;
}
.fluent-hamburger-button {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 4px;
color: var(--text-muted);
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
margin-right: 8px;
flex-shrink: 0;
}
.fluent-hamburger-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.fluent-hamburger-button svg {
width: 20px;
height: 20px;
}
.fluent-nav-left {
display: flex;
align-items: center;
gap: 8px;
}
.tg-fluent-sidebar-container.is-mobile-drawer ~ .tg-fluent-main-container .sidebar-toggle {
display: none !important;
}
.tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
left: auto;
right: 0;
transform: translateX(100%);
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
transform: translateX(0);
}
.view-content:has(.tg-right-detail-view) {
padding-left: 0;
padding-right: 0;
padding-top: 0;
}
.tg-right-detail-view .task-details {
width: 100%;
}
@keyframes slideInFromLeft {
from {
transform: translateX(-100%);
opacity: 0.8;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideInFromRight {
from {
transform: translateX(100%);
opacity: 0.8;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.onboarding-shadow {
position: absolute;
background: hsl(var(--color-accent-hsl), 0);
border-radius: 24px;
rotate: 35deg;
width: 260px;
top: 200px;
height: 400px;
filter: blur(150px);
animation: shadow-slide infinite 4s linear alternate;
pointer-events: none;
}
@keyframes shadow-slide {
0% {
background: hsl(var(--color-accent-hsl), 0.2);
right: 360px;
}
to {
background: hsl(var(--color-accent-hsl), 0.8);
right: 160px;
}
}
.view-content.task-genius-fluent-view.task-genius-view {
container-type: inline-size;
}
@container (width < 800px) {
.tg-fluent-main-container button.fluent-view-tab.clickable-icon span {
display: none;
}
}
/* src/styles/fluent/fluent-secondary.css */
:root {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--tg-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-radius-sm: 0.25rem;
--tg-radius: 0.375rem;
--tg-radius-md: 0.5rem;
--tg-radius-lg: 0.75rem;
--tg-radius-full: 9999px;
}
.task-list-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-list-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.tg-task-list-item {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-md);
margin-bottom: 0.75rem;
padding: 1rem 1.25rem;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.task-list-item::before {
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: transparent;
transition: background var(--tg-transition-fast);
}
.tg-task-list-item:hover {
box-shadow: var(--tg-shadow);
transform: translateY(-1px);
border-color: var(--interactive-accent);
}
.tg-task-list-item:hover::before {
background: var(--interactive-accent);
}
.task-list-item.is-completed {
opacity: 0.6;
background: var(--background-secondary);
}
.task-list-item.is-overdue::before {
background: var(--text-error);
}
.task-list-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.task-tree-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-tree-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.task-tree-project {
margin-bottom: 1.5rem;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
overflow: hidden;
transition: all var(--tg-transition-base);
}
.task-tree-project:hover {
box-shadow: var(--tg-shadow-md);
}
.task-tree-project-header {
padding: 1rem 1.25rem;
background: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-weight: 600;
font-size: 0.95rem;
color: var(--text-normal);
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.task-tree-project-header:hover {
background: var(--background-modifier-hover);
}
.task-tree-project-header::before {
content: "\25b6";
display: inline-block;
margin-right: 0.5rem;
transition: transform var(--tg-transition-fast);
font-size: 0.75rem;
}
.task-tree-project.is-expanded .task-tree-project-header::before {
transform: rotate(90deg);
}
.task-tree-tasks {
padding: 0.5rem;
}
.task-tree-item {
padding: 0.75rem 1rem;
margin: 0.25rem;
border-radius: var(--tg-radius);
transition: all var(--tg-transition-fast);
position: relative;
padding-left: 2rem;
}
.task-tree-item::before {
content: "";
position: absolute;
left: 1rem;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 4px;
background: var(--text-muted);
border-radius: var(--tg-radius-full);
}
.task-tree-item:hover {
background: var(--background-modifier-hover);
}
.task-tree-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-fluent-filter-panel {
position: fixed;
right: -380px;
top: 0;
bottom: 0;
width: 380px;
background: var(--background-primary);
border-left: 1px solid var(--background-modifier-border);
box-shadow: var(--tg-shadow-xl);
transition: right var(--tg-transition-slow);
z-index: 1000;
overflow-y: auto;
display: flex;
flex-direction: column;
}
.tg-fluent-filter-panel.is-open {
right: 0;
}
.filter-panel-header {
padding: 1.25rem;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: space-between;
}
.filter-panel-title {
font-size: 1.1rem;
font-weight: 600;
color: var(--text-normal);
}
.filter-panel-close {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
color: var(--text-muted);
}
.filter-panel-close:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.filter-panel-content {
padding: 1.25rem;
}
.filter-group {
margin-bottom: 1.5rem;
}
.filter-group-label {
font-size: 0.875rem;
font-weight: 500;
color: var(--text-muted);
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.025em;
}
.filter-options {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.filter-option {
display: flex;
align-items: center;
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.filter-option:hover {
background: var(--background-modifier-hover);
}
.filter-option.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.filter-checkbox {
margin-right: 0.75rem;
}
.filter-select {
width: 100%;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
cursor: pointer;
}
.filter-select:hover {
border-color: var(--interactive-accent);
}
.filter-select:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.filter-tags-container {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
padding: 0.5rem 0;
}
.filter-tag {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.375rem 0.75rem;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-full);
font-size: 0.875rem;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.filter-tag:hover {
background: var(--background-modifier-hover);
}
.filter-tag.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.filter-date-container {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.filter-date-field {
display: flex;
align-items: center;
gap: 0.5rem;
}
.filter-date-field span {
min-width: 50px;
font-size: 0.875rem;
color: var(--text-muted);
}
.filter-date-input {
flex: 1;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
}
.filter-date-input:hover {
border-color: var(--interactive-accent);
}
.filter-date-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.filter-action-buttons {
display: flex;
gap: 0.75rem;
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--background-modifier-border);
}
.filter-action-buttons button {
flex: 1;
}
.priority-color-dot {
width: 12px;
height: 12px;
border-radius: var(--tg-radius-full);
flex-shrink: 0;
}
.tg-fluent-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
gap: 1rem;
}
.tg-fluent-spinner {
width: 32px;
height: 32px;
border: 3px solid var(--background-modifier-border);
border-top-color: var(--interactive-accent);
border-radius: var(--tg-radius-full);
animation: spin 1s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.tg-fluent-loading-text {
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-fluent-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
padding: 2rem;
text-align: center;
}
.tg-fluent-empty-icon {
width: 64px;
height: 64px;
margin-bottom: 1rem;
color: var(--text-muted);
opacity: 0.5;
--icon-size: 48px;
}
.tg-fluent-empty-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
margin-bottom: 0.5rem;
}
.tg-fluent-empty-description {
color: var(--text-muted);
margin-bottom: 1.5rem;
max-width: 400px;
}
.tg-fluent-empty-action {
padding: 0.75rem 1.5rem;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--tg-radius-md);
font-weight: 500;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.tg-fluent-empty-action:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
.tg-fluent-tooltip {
position: absolute;
background: var(--background-secondary);
color: var(--text-normal);
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
font-size: 0.875rem;
box-shadow: var(--tg-shadow-lg);
z-index: 9999;
pointer-events: none;
opacity: 0;
transform: translateY(4px);
transition: all var(--tg-transition-fast);
}
.tg-fluent-tooltip.is-visible {
opacity: 1;
transform: translateY(0);
}
.tg-fluent-card {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
padding: 1.25rem;
margin-bottom: 1rem;
transition: all var(--tg-transition-base);
}
.tg-fluent-card:hover {
box-shadow: var(--tg-shadow-md);
border-color: var(--interactive-accent);
}
.tg-fluent-card-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 1px solid var(--background-modifier-border);
}
.tg-fluent-card-title {
font-size: 1rem;
font-weight: 600;
color: var(--text-normal);
}
.tg-fluent-card-actions {
display: flex;
gap: 0.5rem;
}
.tg-fluent-card-action {
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: all var(--tg-transition-fast);
color: var(--text-muted);
}
.tg-fluent-card-action:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-fluent-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.625rem 1.25rem;
font-size: 0.875rem;
font-weight: 500;
border-radius: var(--tg-radius-md);
border: none;
cursor: pointer;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.tg-fluent-button::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: var(--tg-radius-full);
background: rgba(255, 255, 255, 0.2);
transform: translate(-50%, -50%);
transition: width var(--tg-transition-slow), height var(--tg-transition-slow);
}
.tg-fluent-button:active::before {
width: 300px;
height: 300px;
}
button.tg-fluent-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
button.tg-fluent-button-primary:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
button.tg-fluent-button-secondary {
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
}
button.tg-fluent-button-secondary:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
button.tg-fluent-button-ghost {
background: transparent;
color: var(--text-normal);
}
button.tg-fluent-button-ghost:hover {
background: var(--background-modifier-hover);
}
button.tg-fluent-button-danger {
background: var(--text-error);
color: white;
}
button.tg-fluent-button-danger:hover {
background: #dc2626;
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(4px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideIn {
from {
transform: translateX(100%);
}
to {
transform: translateX(0);
}
}
@keyframes slideUp {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@media (max-width: 1024px) {
.task-list-container,
.task-tree-container {
padding: 1rem;
}
.tg-fluent-filter-panel {
width: 100%;
right: -100%;
}
}
@media (max-width: 640px) {
.tg-task-list-item {
padding: 0.75rem 1rem;
}
.task-tree-project-header {
padding: 0.75rem 1rem;
}
.tg-fluent-card {
padding: 1rem;
}
}
.theme-dark {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
}
.theme-dark .tg-fluent-card:hover,
.theme-dark .tg-task-list-item:hover,
.theme-dark .task-tree-project:hover {
box-shadow: 0 0 0 1px var(--interactive-accent), var(--tg-shadow-md);
}
.tg-fluent-progress {
width: 100%;
height: 6px;
background: var(--background-modifier-border);
border-radius: var(--tg-radius-full);
overflow: hidden;
margin: 0.5rem 0;
}
.tg-fluent-progress-bar {
height: 100%;
background: var(--interactive-accent);
border-radius: var(--tg-radius-full);
transition: width var(--tg-transition-slow);
position: relative;
overflow: hidden;
}
.tg-fluent-progress-bar::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.3),
transparent);
animation: shimmer 2s infinite;
}
@keyframes shimmer {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
.tg-fluent-tag {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.625rem;
font-size: 0.75rem;
font-weight: 500;
border-radius: var(--tg-radius-full);
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
margin-right: 0.25rem;
transition: all var(--tg-transition-fast);
}
.tg-fluent-tag:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.tg-fluent-tag-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.tg-fluent-tag-success {
background: #10b981;
color: white;
border-color: #10b981;
}
.tg-fluent-tag-warning {
background: #f59e0b;
color: white;
border-color: #f59e0b;
}
.tg-fluent-tag-danger {
background: var(--text-error);
color: white;
border-color: var(--text-error);
}
.workspace-name-with-icon {
display: flex;
align-items: center;
justify-content: flex-start;
gap: var(--size-2-2);
}
/* src/styles/fluent/fluent-content-header.css */
.tg-fluent-content-wrapper {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
}
.fluent-content-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 20px;
background: var(--background-primary);
border-bottom: 1px solid var(--background-modifier-border);
min-height: 56px;
gap: 16px;
flex-shrink: 0;
}
.fluent-content-header .header-left-section {
display: flex;
align-items: center;
gap: 12px;
min-width: 200px;
}
.fluent-content-header .content-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
white-space: nowrap;
}
.fluent-content-header .task-count {
font-size: 0.875rem;
color: var(--text-muted);
padding: 2px 8px;
background: var(--background-secondary);
border-radius: 4px;
white-space: nowrap;
}
.fluent-content-header .header-center-section {
flex: 1;
display: flex;
justify-content: center;
max-width: 500px;
margin: 0 auto;
}
.fluent-content-header .content-filter {
width: 100%;
}
.fluent-content-header .filter-input {
width: 100%;
padding: 6px 12px;
background: var(--background-primary-alt);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 0.875rem;
color: var(--text-normal);
transition: all 0.2s ease;
}
.fluent-content-header .filter-input::placeholder {
color: var(--text-muted);
}
.fluent-content-header .filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.fluent-content-header .header-right-section {
display: flex;
align-items: center;
gap: 8px;
}
.fluent-content-header .view-toggle-btn,
.fluent-content-header .sort-button,
.fluent-content-header .filter-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
}
.fluent-content-header .view-toggle-btn:hover,
.fluent-content-header .sort-button:hover,
.fluent-content-header .filter-button:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.fluent-content-header .view-toggle-btn:active,
.fluent-content-header .sort-button:active,
.fluent-content-header .filter-button:active {
transform: scale(0.95);
}
.fluent-content-header .view-toggle-btn svg,
.fluent-content-header .sort-button svg,
.fluent-content-header .filter-button svg {
width: 16px;
height: 16px;
}
.tg-fluent-content {
flex: 1;
overflow-y: auto;
background: var(--background-primary);
}
@media (max-width: 768px) {
.fluent-content-header {
flex-wrap: wrap;
padding: 8px 12px;
}
.fluent-content-header .header-left-section {
min-width: auto;
}
.fluent-content-header .header-center-section {
order: 3;
width: 100%;
max-width: none;
margin-top: 8px;
}
.fluent-content-header .content-title {
font-size: 1.1rem;
}
}
/* src/styles/fluent/fluent-project-popover.css */
.fluent-project-popover-container {
position: absolute;
z-index: 1000;
}
.fluent-project-popover {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
min-width: 320px;
max-width: 400px;
animation: popover-fade-in 0.2s ease-out;
}
@keyframes popover-fade-in {
from {
opacity: 0;
transform: translateY(-8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fluent-popover-arrow,
.fluent-popover-arrow::before {
position: absolute;
width: 10px;
height: 10px;
background: inherit;
}
.fluent-popover-arrow {
visibility: hidden;
}
.fluent-popover-arrow::before {
visibility: visible;
content: "";
transform: rotate(45deg);
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
}
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow {
bottom: -5px;
}
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow::before {
border-top: none;
border-left: none;
}
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow {
top: -5px;
}
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow::before {
border-right: none;
border-bottom: none;
}
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow {
right: -5px;
}
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow::before {
border-bottom: none;
border-left: none;
}
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow {
left: -5px;
}
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow::before {
border-top: none;
border-right: none;
}
.fluent-popover-content {
padding: 16px;
}
.fluent-popover-header {
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.fluent-popover-header h3 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--text-normal);
}
.fluent-popover-section {
margin-bottom: 16px;
}
.fluent-popover-section label {
display: block;
margin-bottom: 8px;
font-size: 12px;
font-weight: 500;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.fluent-popover-input {
width: 100%;
padding: 8px 12px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
font-size: 14px;
color: var(--text-normal);
transition: all 0.2s;
}
.fluent-popover-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.fluent-popover-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-4px);
}
75% {
transform: translateX(4px);
}
}
.fluent-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 8px;
}
.fluent-color-button {
width: 36px;
height: 36px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 2px solid transparent;
position: relative;
}
.fluent-color-button:hover {
transform: scale(1.1);
}
.fluent-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.fluent-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
font-weight: bold;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.fluent-popover-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid var(--background-modifier-border);
}
.fluent-button {
padding: 6px 16px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: none;
outline: none;
}
.fluent-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.fluent-button-primary:hover {
background: var(--interactive-accent-hover);
}
.fluent-button-secondary {
background: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
}
.fluent-button-secondary:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.fluent-project-modal {
}
.fluent-project-modal .modal-content h2 {
margin-bottom: 20px;
font-size: 20px;
font-weight: 600;
color: var(--text-normal);
}
.fluent-modal-section {
margin-bottom: 24px;
}
.fluent-modal-section label {
display: block;
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: var(--text-muted);
}
.fluent-modal-input {
width: 100%;
padding: 10px 14px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 16px;
color: var(--text-normal);
transition: all 0.2s;
}
.fluent-modal-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.fluent-modal-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
.fluent-modal-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
}
.fluent-modal-color-button {
width: 48px;
height: 48px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 3px solid transparent;
position: relative;
}
.fluent-modal-color-button:hover {
transform: scale(1.1);
}
.fluent-modal-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.fluent-modal-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 20px;
font-weight: bold;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.fluent-modal-preview {
padding: 12px;
background: var(--background-secondary);
border-radius: 8px;
}
.fluent-project-item-preview {
display: flex;
align-items: center;
gap: 12px;
padding: 8px;
background: var(--background-primary);
border-radius: 6px;
}
.fluent-project-item-preview .fluent-project-color {
width: 8px;
height: 32px;
border-radius: 2px;
flex-shrink: 0;
}
.fluent-project-item-preview .fluent-project-name {
font-size: 14px;
font-weight: 500;
color: var(--text-normal);
}
.fluent-modal-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
padding: 20px;
border-top: 1px solid var(--background-modifier-border);
}
.fluent-modal-footer .fluent-button {
padding: 10px 24px;
font-size: 15px;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9kYXRlLXBpY2tlci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ZlYXR1cmVzL3Rhc2svZmlsdGVyL2luLXZpZXcvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1saXN0LmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stc3RhdHVzLWluZGljYXRvci5jc3MiLCAic3JjL3N0eWxlcy9pbmxpbmUtZWRpdG9yLmNzcyIsICJzcmMvc3R5bGVzL3RyZWUtdmlldy5jc3MiLCAic3JjL3N0eWxlcy92aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb3BlcnR5LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvZm9yZWNhc3QuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIuY3NzIiwgInNyYy9zdHlsZXMvdGFibGUuY3NzIiwgInNyYy9zdHlsZXMvcXVhZHJhbnQvcXVhZHJhbnQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay10aW1lci5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5nLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmctdjIuY3NzIiwgInNyYy9zdHlsZXMvYmV0YS13YXJuaW5nLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmdzLXNlYXJjaC5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5ncy1taWdyYXRpb24uY3NzIiwgInNyYy9zdHlsZXMvd29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLmNzcyIsICJzcmMvc3R5bGVzL29uYm9hcmRpbmctY29tcG9uZW50cy5jc3MiLCAic3JjL3N0eWxlcy9sYXlvdXQtcGxhY2VtZW50LmNzcyIsICJzcmMvc3R5bGVzL2ZpbGUtZmlsdGVyLXNldHRpbmdzLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWVkaXQtZGlhbG9nLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaWNzLXNldHRpbmdzLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2dsb2JhbC1maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1zZXR0aW5nLXRhYi5jc3MiLCAic3JjL3N0eWxlcy9tY3AtaW50ZWdyYXRpb24uY3NzIiwgInNyYy9zdHlsZXMvd29ya2Zsb3cuY3NzIiwgInNyYy9zdHlsZXMvcXVpY2stY2FwdHVyZS5jc3MiLCAic3JjL3N0eWxlcy90YWctdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvamVjdC10cmVlLmNzcyIsICJzcmMvc3R5bGVzL3Jldmlldy12aWV3LmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LmNzcyIsICJzcmMvc3R5bGVzL2dsb2JhbC5jc3MiLCAic3JjL3N0eWxlcy92aWV3LWNvbmZpZy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXN0YXR1cy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXNlbGVjdGlvbi5jc3MiLCAic3JjL3N0eWxlcy9vbmJvYXJkaW5nLmNzcyIsICJzcmMvc3R5bGVzL25vaXNlLmNzcyIsICJzcmMvc3R5bGVzL2NoYW5nZWxvZy5jc3MiLCAic3JjL3N0eWxlcy90aW1lbGluZS1zaWRlYmFyLmNzcyIsICJzcmMvc3R5bGVzL3Jld2FyZC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWd1dHRlci5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LW1haW4uY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1zZWNvbmRhcnkuY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1jb250ZW50LWhlYWRlci5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LXByb2plY3QtcG9wb3Zlci5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMXB4O1xufVxuXG4ubm8tcHJvZ3Jlc3MtYmFyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lIHtcblx0aGVpZ2h0OiA4cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyIGNvbG9ycyBmb3IgZGlmZmVyZW50IHBlcmNlbnRhZ2VzIG9mIGNvbXBsZXRpb24gKi9cbi5wcm9ncmVzcy1iYXItaW5saW5lLWVtcHR5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0wLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTI1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTUwLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTc1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtY29tcGxldGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0xMDAtY29sb3IpO1xufVxuXG4vKiBDb2xvcnMgZm9yIGRpZmZlcmVudCB0YXNrIHN0YXR1c2VzICovXG4ucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHR6LWluZGV4OiAzO1xufVxuXG4ucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0ei1pbmRleDogMjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0Y29sb3I6ICMwMDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDg1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZC5oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9ycyBpbiB0aGUgdGFzayBudW1iZXIgZGlzcGxheSAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC50YXNrLXN0YXR1cy1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmNvbXBsZXRlZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmluLXByb2dyZXNzLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5hYmFuZG9uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5wbGFubmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4vKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgV2l0aCBOdW1iZXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5IeXBlck1ELWhlYWRlclxuXHQuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXJcblx0LnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCxcbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHR3aWR0aDogNDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi8qIEFkYXB0YXRpb25zIGZvciBkYXJrIHRoZW1lICovXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4udGFzay1wcm9ncmVzcy1iYXItcG9wb3ZlciB7XG5cdHdpZHRoOiA0MDBweDtcbn1cbiIsICIuY29uZmlybS1tb2RhbC1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBMaXN0IENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cclxuLmxpc3QtY29uZmlnLW1vZGFsIHtcclxuXHRtaW4td2lkdGg6IDQwMHB4O1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcbn1cclxuXHJcbi5saXN0LWNvbmZpZy1kZXNjcmlwdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlcik7XHJcbn1cclxuXHJcbi5saXN0LWNvbmZpZy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDA7XHJcblx0bWF4LWhlaWdodDogMzAwcHg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctZW1wdHktdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5saXN0LWNvbmZpZy1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctaXRlbTpsYXN0LWNoaWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XHJcbn1cclxuXHJcbi5saXN0LWNvbmZpZy1kZWxldGUtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4vKiBCdWxrIERhdGUgUGlja2VyIE1vZGFsIFN0eWxlcyAqL1xyXG4uYnVsay1kYXRlLXBpY2tlci1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0bWluLXdpZHRoOiAzMjBweDtcclxufVxyXG5cclxuLyogQnVsayBEYXRlIE9mZnNldCBNb2RhbCBTdHlsZXMgKi9cclxuLmJ1bGstZGF0ZS1vZmZzZXQtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdG1pbi13aWR0aDogNDAwcHg7XHJcblx0bWF4LXdpZHRoOiA1MDBweDtcclxufVxyXG5cclxuLmJ1bGstb2Zmc2V0LWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XHJcbn1cclxuXHJcbi5idWxrLW9mZnNldC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5idWxrLW9mZnNldC1jdXN0b20tc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmJ1bGstb2Zmc2V0LWN1c3RvbS1zZWN0aW9uIGxhYmVsIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ubW9kYWwtZGVzY3JpcHRpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG4iLCAiLyogRGF0ZSBQaWNrZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogNTAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbWFpbi1wYW5lbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbGVmdC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1yaWdodC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItc2VjdGlvbi10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBRdWljayBPcHRpb25zIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXgtaGVpZ2h0OiAxOTVweDtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uc2VsZWN0ZWQgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogQ2FsZW5kYXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1tb250aC15ZWFyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0bWluLWhlaWdodDogMzJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogUG9wb3ZlciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmRhdGUtcGlja2VyLXBvcG92ZXIudGctbWVudSAuZGF0ZS1waWNrZXItcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTW9iaWxlIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdH1cbn1cblxuLyogV2lkZ2V0IEVycm9yIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci13aWRnZXQtZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbiIsICIudGFzay1kZXRhaWxzIC5wYW5lbC10b2dnbGUtY29udGFpbmVyIHtcblx0bGVmdDogMTBweDtcbn1cblxuLyogRGV0YWlsIFBhbmVsIFN0eWxlcyAqL1xuLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAzMDBweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3JkZXI6IDE7XG59XG5cbi8qIERldGFpbHMgcGFuZWwgdmlzaWJpbGl0eSAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdG1hcmdpbi1yaWdodDogLTMwMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDM1MHB4O1xuXHRvcGFjaXR5OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIE1vYmlsZSB2aWV3IC0gc2xpZGUgZnJvbSByaWdodCAqL1xuLmlzLXBob25lIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50YXNrLWRldGFpbHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRnLWZsdWVudC1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc2l6ZS00LTEyKSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBkZXRhaWxzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlOjpiZWZvcmUsXG4uaXMtbW9iaWxlIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlOjpiZWZvcmUsXG4uaXMtbW9iaWxlIC50Zy1mbHVlbnQtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmlzLXBob25lIC5kZXRhaWxzLWNsb3NlLWJ0bixcbi5pcy1tb2JpbGUgLmRldGFpbHMtY2xvc2UtYnRuIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1oZWFkZXIsXG4uaXMtbW9iaWxlIC5kZXRhaWxzLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZW1wdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMjBweDtcbn1cblxuLyogRGV0YWlscyBjb250ZW50ICovXG4uZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLmRldGFpbHMtY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiBtYXgodmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSksIHZhcigtLXNpemUtNC04KSk7XG59XG5cbi5kZXRhaWxzLW5hbWUge1xuXHRtYXJnaW46IDAgMCA4cHggMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiAxLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmRldGFpbHMtc3RhdHVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRldGFpbHMtc3RhdHVzLWxhYmVsIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtc3RhdHVzIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWVudS1pdGVtLXRpdGxlOmhhcyguc3RhdHVzLW9wdGlvbikge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGdhcDogNHB4O1xufVxuXG4ubWVudS1pdGVtOmhhcyguc3RhdHVzLW9wdGlvbi1jaGVja2JveCkgLm1lbnUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24taWNvbikgLm1lbnUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnN0YXR1cy1vcHRpb24taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uc3RhdHVzLW9wdGlvbi1jaGVja2JveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3RhdHVzLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdGF0dXMtb3B0aW9uLmN1cnJlbnQge1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRvdXRsaW5lOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC4zKTtcblx0b3V0bGluZS1zdHlsZTogZGFzaGVkO1xufVxuXG4uc3RhdHVzLW9wdGlvbjpub3QoLmN1cnJlbnQpIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uc3RhdHVzLW9wdGlvbjpub3QoLmN1cnJlbnQpOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnN0YXR1cy1vcHRpb24gaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuXHRtYXJnaW4taW5saW5lLWVuZDogMDtcbn1cblxuLmRldGFpbHMtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xufVxuXG4ubWV0YWRhdGEtbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tZXRhZGF0YS12YWx1ZSB7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG4uZGV0YWlscy1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZGV0YWlscy1lZGl0LWJ0bixcbi5kZXRhaWxzLXRvZ2dsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG46aG92ZXIsXG4uZGV0YWlscy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogVGFzayBlZGl0aW5nIGZvcm0gc3R5bGVzICovXG4uZGV0YWlscy1lZGl0LWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDRweDtcbn1cblxuLmRldGFpbHMtZm9ybS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZGV0YWlscy1lZGl0LWNvbnRlbnQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGV0YWlscy1mb3JtLWlucHV0IGlucHV0LFxuLmRldGFpbHMtZm9ybS1pbnB1dCBzZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5kYXRlLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnRhZ3MtZWRpdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDZweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhZ3MtZWRpdG9yX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDZweDtcblx0ZmxleDogMTtcbn1cblxuLnRhZ3MtZWRpdG9yX190YWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhZ3MtZWRpdG9yX190YWctbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFncy1lZGl0b3JfX3JlbW92ZSB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRwYWRkaW5nOiAwIDJweDtcbn1cblxuLnRhZ3MtZWRpdG9yX19yZW1vdmU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YWdzLWVkaXRvcl9fYWRkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4udGFncy1lZGl0b3JfX2FkZDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi50YWdzLWVkaXRvcl9faW5wdXQge1xuXHRtaW4td2lkdGg6IDE0MHB4O1xufVxuXG4udGFncy1lZGl0b3JfX2lucHV0IGlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDRweCA2cHg7XG59XG5cbi50YWdzLWVkaXRvcl9faW5wdXQtLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWdzLWVkaXRvcl9fZW1wdHkge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YWdzLWVkaXRvcl9fdGFnIGRpdi5jbGlja2FibGUtaWNvbiB7XG5cdHBhZGRpbmc6IDA7XG5cdC0taWNvbi1zaXplOiAxMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IDE2cHg7XG5cdGdhcDogOHB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWJ1dHRvbnMgYnV0dG9uIHtcblx0ZmxleDogMTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLWZvcm0tZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtZmlsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIGZsdWVudCBDb250YWluZXIgc3BlY2lmaWMgc3R5bGVzIGZvciBtb2JpbGUgKi9cbi5pcy1tb2JpbGUgLnRnLWZsdWVudC1jb250YWluZXIgLnRhc2stZGV0YWlscyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHR3aWR0aDogODV2dztcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ei1pbmRleDogMTAwMTsgLyogQWJvdmUgZHJhd2VyIG92ZXJsYXkgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5pcy1tb2JpbGUgLnRhc2stZGV0YWlscyAuZGV0YWlscy1jbG9zZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi5pcy1tb2JpbGUgLmRldGFpbHMtY29udGVudCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3IgbW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1vbW5pZm9jdXMtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnRhc2stc2lkZWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1kZXRhaWxzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdH1cbn1cblxuLyogUHJvamVjdCBzb3VyY2UgaW5kaWNhdG9yIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci1pY29uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFJlYWRvbmx5IGluZGljYXRvciAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBPdmVycmlkZSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Iub3ZlcnJpZGUtaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBGaWVsZCBkZXNjcmlwdGlvbnMgKi9cbi5maWVsZC1kZXNjcmlwdGlvbi5yZWFkb25seS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maWVsZC1kZXNjcmlwdGlvbi5vdmVycmlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgZWRpdG9yIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5pbmxpbmUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFRhYmxlIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci50YWJsZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHRyaWdodDogMnB4O1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi50YXNrLXRhYmxlLWNlbGwucmVhZG9ubHktY2VsbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFByb2plY3QgY29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3QtY29udGFpbmVyLnByb2plY3QtcmVhZG9ubHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IC5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG4iLCAiLyogT25Db21wbGV0aW9uIENvbmZpZ3VyYXRvciBTdHlsZXMgKi9cclxuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEycHg7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNnB4O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWxhYmVsIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1jb25maWcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdHBhZGRpbmctdG9wOiA4cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNHB4O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4vKiBBY3Rpb24gVHlwZSBEcm9wZG93biAqL1xyXG4ub25jb21wbGV0aW9uLWFjdGlvbi10eXBlIC5kcm9wZG93biB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIElucHV0IEZpZWxkcyAqL1xyXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiA2cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogVG9nZ2xlIENvbXBvbmVudCAqL1xyXG4ub25jb21wbGV0aW9uLWZpZWxkIC5jaGVja2JveC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLyogU3VnZ2VzdGVyIFN0eWxlcyAqL1xyXG4udGFzay1pZC1zdWdnZXN0aW9uIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWNvbnRlbnQtcHJldmlldyB7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLmZpbGUtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsZS1wYXRoIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5hY3Rpb24tdHlwZS1zdWdnZXN0aW9uIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLyogVmFsaWRhdGlvbiBTdGF0ZXMgKi9cclxuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3IuaW52YWxpZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3IudmFsaWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG5cdHBhZGRpbmc6IDRweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLXZhbGlkYXRpb24tbWVzc2FnZS5lcnJvciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLXZhbGlkYXRpb24tbWVzc2FnZS5zdWNjZXNzIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLyogSW50ZWdyYXRpb24gd2l0aCBUYXNrIERldGFpbHMgKi9cclxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzIC5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdFx0cGFkZGluZzogOHB4O1xyXG5cdFx0Z2FwOiA4cHg7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLWNvbmZpZyB7XHJcblx0XHRnYXA6IDhweDtcclxuXHR9XHJcblxyXG5cdC50YXNrLWNvbnRlbnQtcHJldmlldyB7XHJcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXHJcbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xyXG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XHJcblx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQ6Zm9jdXMge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0fVxyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyAqL1xyXG4ub25jb21wbGV0aW9uLWNvbmZpZyB7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQuZW50ZXJpbmcge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZC5leGl0aW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxufVxyXG5cclxuLyogT25Db21wbGV0aW9uIE1vZGFsIFN0eWxlcyAqL1xyXG4ub25jb21wbGV0aW9uLW1vZGFsIHtcclxuXHQtLWRpYWxvZy13aWR0aDogNjAwcHg7XHJcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xyXG5cdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDgwdmg7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZzogMjBweDtcclxuXHRtYXgtaGVpZ2h0OiA2MHZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogOHB4O1xyXG5cdHBhZGRpbmc6IDE2cHggMjBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIGJ1dHRvbiB7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4vKiBJbmxpbmUgT25Db21wbGV0aW9uIEJ1dHRvbiBTdHlsZXMgKi9cclxuLmlubGluZS1vbmNvbXBsZXRpb24tYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIE1vZGFsICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwge1xyXG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XHJcblx0XHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4NXZoO1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1tb2RhbC1jb250ZW50IHtcclxuXHRcdHBhZGRpbmc6IDE2cHg7XHJcblx0XHRtYXgtaGVpZ2h0OiA2NXZoO1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcclxuXHRcdHBhZGRpbmc6IDEycHggMTZweDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xyXG5cdH1cclxufVxyXG4iLCAiLyogVW5pdmVyc2FsIFN1Z2dlc3QgU3R5bGVzICovXHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWxhYmVsIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4vKiBTcGVjaWFsIGNoYXJhY3RlciB0cmlnZ2VyIGhpZ2hsaWdodGluZyAqL1xyXG4uY20tZWRpdG9yIC5jbS1saW5lIC51bml2ZXJzYWwtc3VnZ2VzdC10cmlnZ2VyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0cGFkZGluZzogMXB4IDJweDtcclxufVxyXG5cclxuLyogU3VnZ2VzdCBwb3B1cCBjb250YWluZXIgKi9cclxuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1jb250YWluZXIgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEhpZ2ggY29udHJhc3QgbW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XHJcblx0fSBcclxuXHRcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlcixcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHR9XHJcbn1cclxuIiwgIi50Zy1rYW5iYW4tdmlldyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IHZpZXcgaXRzZWxmIGZyb20gc2Nyb2xsaW5nICovXHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tZmlsdGVycyB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogRG9uJ3Qgc2hyaW5rIGZpbHRlciBiYXIgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRnYXA6IDhweDtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29udHJvbHMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAxMnB4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1zb3J0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLXNvcnQtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tdG9nZ2xlLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLXRvZ2dsZS1sYWJlbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNnB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tdG9nZ2xlLWNoZWNrYm94IHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0IHtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0cGFkZGluZzogNnB4IDEwcHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4OyAvKiBPcHRpb25hbDogc3BhY2UgaWYgb3RoZXIgY29udHJvbHMgYXJlIGFkZGVkICovXHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogVGFrZSByZW1haW5pbmcgaGVpZ2h0ICovXHJcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGxpbmcgZm9yIGNvbHVtbnMgKi9cclxuXHRvdmVyZmxvdy15OiBoaWRkZW47IC8qIFByZXZlbnQgdmVydGljYWwgc2Nyb2xsaW5nIGhlcmUgKi9cclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGdhcDogMTBweDsgLyogU3BhY2UgYmV0d2VlbiBjb2x1bW5zICovXHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBOZWVkZWQgZm9yIGNoaWxkcmVuIGhlaWdodCAqL1xyXG5cclxuXHQvKiBNb2JpbGUgc2Nyb2xsaW5nIGltcHJvdmVtZW50cyAqL1xyXG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLyogU21vb3RoIGhvcml6b250YWwgc2Nyb2xsaW5nIG9uIGlPUyAqL1xyXG5cdC8qIENvbmRpdGlvbmFsIG92ZXJzY3JvbGwgYmVoYXZpb3IgLSBwcmV2ZW50IGJvdW5jZSBvbiBkZXNrdG9wLCBhbGxvdyBvbiBtb2JpbGUgZm9yIGRyYWcgKi9cclxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGF1dG87IC8qIEFsbG93IGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cclxuXHRzY3JvbGwtc25hcC10eXBlOiB4IHByb3hpbWl0eTsgLyogS2VlcCBzbmFwIGZvciBtb2JpbGUgVVggKi9cclxuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xyXG59XHJcblxyXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHNjcm9sbCBib3VuY2UgKi9cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG5cdC50Zy1rYW5iYW4tY29sdW1uLWNvbnRhaW5lciB7XHJcblx0XHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cclxuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7IC8qIERpc2FibGUgc25hcCBvbiBkZXNrdG9wICovXHJcblx0fVxyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbiB7XHJcblx0ZmxleDogMCAwIDI4MHB4OyAvKiBGaXhlZCB3aWR0aCBmb3IgY29sdW1ucywgbm8gc2hyaW5raW5nL2dyb3dpbmcgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRoZWlnaHQ6IDEwMCU7IC8qIEZpbGwgY29udGFpbmVyIGhlaWdodCAqL1xyXG5cdG1heC1oZWlnaHQ6IDEwMCU7IC8qIFByZXZlbnQgZXhjZWVkaW5nIGNvbnRhaW5lciAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgd2l0aGluIHRoZSBjb2x1bW4gKi9cclxuXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cclxuXHQvKiBNb2JpbGUgc2Nyb2xsIHNuYXAgZm9yIGJldHRlciBVWCAqL1xyXG5cdHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcclxufVxyXG5cclxuLyogRGVza3RvcC1zcGVjaWZpYzogRGlzYWJsZSBzY3JvbGwgc25hcCAqL1xyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcblx0LnRnLWthbmJhbi1jb2x1bW4ge1xyXG5cdFx0c2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW1uKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgaGVhZGVyIGZyb20gc2hyaW5raW5nICovXHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQge1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHQvKiBwYWRkaW5nLXJpZ2h0OiAwOyAqL1xyXG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOyAvKiBLZWVwIGNvbnRhaW4gZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cclxuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xyXG59XHJcblxyXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBib3VuY2UgKi9cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG5cdC50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQge1xyXG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xyXG5cdH1cclxufVxyXG4vKiAtLS0gQ2FyZCBTdHlsaW5nIC0tLSAqL1xyXG4udGcta2FuYmFuLWNhcmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHggMTJweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IGdyYWI7XHJcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdC8qIEVuc3VyZSBjYXJkIGZpdHMgd2l0aGluIGNvbHVtbiBhbmQgaGFuZGxlcyBjb250ZW50ICovXHJcblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBQcmV2ZW50IGNhcmQgZnJvbSBleGNlZWRpbmcgcGFyZW50IHdpZHRoICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIEFsbG93IHRleHQgd3JhcHBpbmcgKi9cclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0LyogTW9iaWxlIHRvdWNoIGltcHJvdmVtZW50cyAqL1xyXG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBPcHRpbWl6ZSBmb3IgdG91Y2ggaW50ZXJhY3Rpb25zICovXHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7IC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZHVyaW5nIGRyYWcgKi9cclxuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRtYXJnaW4tYm90dG9tOiA2cHg7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHA6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDsgLyogQXZvaWQgZXh0cmEgc3BhY2UgZnJvbSBwYXJhZ3JhcGggKi9cclxuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IDRweCA4cHg7IC8qIFJvdyBhbmQgY29sdW1uIGdhcCAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZ3MtY29udGFpbmVyLFxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxuXHRwYWRkaW5nOiAycHggNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblxyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyXHJcblx0KTsgLyogT3IgdXNlIHRhZyBjb2xvciAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0cGFkZGluZzogMXB4IDRweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stb3ZlcmR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtZXJyb3IpO1xyXG59XHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLWR1ZS10b2RheSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13YXJuaW5nKTtcclxufVxyXG5cclxuLyogUHJpb3JpdHkgaW5kaWNhdG9ycyAoc2ltcGxlIGV4YW1wbGUpICovXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi8qIEFkZCBtb3JlIHByaW9yaXR5IHN0eWxlcyBpZiBuZWVkZWQgKi9cclxuXHJcbi8qIC0tLSBEcmFnIGFuZCBEcm9wIFN0eWxpbmcgLS0tICovXHJcbi50Zy1rYW5iYW4tY2FyZC1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkICovXHJcblx0Lyogb3BhY2l0eTogMC44OyAqLyAvKiBSZW1vdmVkIG9wYWNpdHkgKi9cclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtZ2hvc3Qge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgb3JpZ2luYWwgY2FyZCB3aGVuIGEgY2xvbmUgaXMgZHJhZ2dlZCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1hY3RpdmUge1xyXG5cdC8qIFN0eWxlIGZvciBwb3RlbnRpYWwgZHJvcCB6b25lcyB3aGVuIGRyYWdnaW5nIHN0YXJ0cyAqL1xyXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpOyAqL1xyXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1ob3ZlciB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBzcGVjaWZpYyBkcm9wIHpvbmUgYmVpbmcgaG92ZXJlZCBvdmVyICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBTdHlsZXMgZm9yIEthbmJhbiBkcm9wIGluZGljYXRvcnMgKi9cclxuLnRnLWthbmJhbi1jYXJkLS1kcm9wLWluZGljYXRvci1iZWZvcmUge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cclxuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cclxuXHR0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMXMgZWFzZS1vdXQsIGJvcmRlci10b3AgMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYWZ0ZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cclxuXHRib3JkZXItYm90dG9tOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xyXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cclxuXHR0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMXMgZWFzZS1vdXQsIGJvcmRlci1ib3R0b20gMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXHJcbn1cclxuXHJcbi8qIE9wdGlvbmFsOiBTdHlsZSBmb3IgZHJvcHBpbmcgaW50byBhbiBlbXB0eSBjb2x1bW4gKi9cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC0tZHJvcC1pbmRpY2F0b3ItZW1wdHkge1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG1pbi1oZWlnaHQ6IDUwcHg7IC8qIEVuc3VyZSBlbXB0eSBjb2x1bW4gaGFzIHNvbWUgaGVpZ2h0IGZvciB0aGUgYm9yZGVyICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBib3JkZXIgaW4gaGVpZ2h0IGNhbGN1bGF0aW9uICovXHJcblx0bWFyZ2luLXRvcDogNXB4OyAvKiBBZGQgc29tZSBzcGFjZSAqL1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cclxufVxyXG5cclxuLyogRW5zdXJlIHRyYW5zaXRpb25zIGFyZSBzbW9vdGggd2hlbiBjbGFzc2VzIGFyZSByZW1vdmVkICovXHJcbi50Zy1rYW5iYW4tY2FyZCB7XHJcblx0LyogRW5zdXJlIGV4aXN0aW5nIHRyYW5zaXRpb25zIGRvbid0IGNvbmZsaWN0LCBvciBhZGQgYmFzZSB0cmFuc2l0aW9uICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1vdXQsIHBhZGRpbmcgMC4xcyBlYXNlLW91dCxcclxuXHRcdGJvcmRlciAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCxcclxuXHRcdGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0OyAvKiBNZXJnZWQgdHJhbnNpdGlvbnMgKi9cclxufVxyXG5cclxuLmRyb3AtdGFyZ2V0LWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMik7IC8qIFx1NTM0QVx1OTAwRlx1NjYwRVx1N0VGRlx1ODI3Mlx1ODBDQ1x1NjY2RiAqL1xyXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgZ3JlZW47IC8qIFx1N0VGRlx1ODI3Mlx1ODY1QVx1N0VCRlx1OEZCOVx1Njg0NiAqL1xyXG5cdC8qIFx1NEY2MFx1NTNFRlx1ODBGRFx1OEZEOFx1OTcwMFx1ODk4MVx1OEMwM1x1NjU3NCBwYWRkaW5nIFx1NjIxNiBtYXJnaW4gXHU2NzY1ICdcdTY1M0VcdTU5MjcnIFx1ODlDNlx1ODlDOVx1NTMzQVx1NTdERiAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqL1xyXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqL1xyXG59XHJcblxyXG4vKiBBZGQgQ2FyZCBCdXR0b24gKi9cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNvbnRhaW5lciBmcm9tIHNocmlua2luZyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZXMgZm9yIHRoZSBBZGQgQ2FyZCBidXR0b24gaW4gYm9hcmQgdmlldyAqL1xyXG4udGFzay1nZW5pdXMtYWRkLWNhcmQtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogYXV0bzsgLyogUHVzaCB0byB0aGUgYm90dG9tIGlmIHRoZSBjb2x1bW4gdXNlcyBmbGV4ICovXHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbiB7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBNYWtlIGl0IGxlc3MgcHJvbWluZW50ICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgY29sb3IgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIENvbHVtbiBEcmFnICYgRHJvcCBTdHlsaW5nICovXHJcbi50Zy1rYW5iYW4tY29sdW1uLWRyYWdnaW5nIHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIGNvbHVtbiBiZWluZyBkcmFnZ2VkICovXHJcblx0dHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7XHJcblx0ei1pbmRleDogMTAwMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tZ2hvc3Qge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgZ2hvc3QgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyBjb2x1bW5zICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xyXG5cdC8qIE1ha2UgY29sdW1uIGhlYWRlcnMgZHJhZ2dhYmxlICovXHJcblx0Y3Vyc29yOiBncmFiO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXI6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcbiIsICIvKiBGaWx0ZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xyXG4uZmlsdGVyLWNvbXBvbmVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWluLWhlaWdodDogNDhweDtcclxuXHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLyogRmlsdGVyIFBpbGxzIENvbnRhaW5lciAqL1xyXG4uZmlsdGVyLXBpbGxzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbnRyb2xzICovXHJcbi5maWx0ZXItY29udHJvbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLyogRmlsdGVyIFBpbGxzICovXHJcbi5maWx0ZXItcGlsbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdHBhZGRpbmc6IDVweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGFuaW1hdGlvbjogZmlsdGVyLXBpbGwtYXBwZWFyIDIwMG1zIGVhc2Utb3V0O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCksXHJcblx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcclxufVxyXG5cclxuLmZpbHRlci1waWxsOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXRlcnRpYXJ5KTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLWNhdGVnb3J5IHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXZhbHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCksXHJcblx0XHRjb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZS1pY29uIHtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQnV0dG9ucyAqL1xyXG4uZmlsdGVyLWFkZC1idXR0b24sXHJcbi5maWx0ZXItY2xlYXItYWxsLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDZweCAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWFkZC1idXR0b24ge1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1hZGQtaWNvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIERyb3Bkb3duICovXHJcbi5maWx0ZXItZHJvcGRvd24ge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR3aWR0aDogMjIwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1ub3JtYWwpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbm9ybWFsKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWhlYWRlciB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tc2VhcmNoIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1yaW5nLWNvbG9yKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1saXN0IHtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG1heC1oZWlnaHQ6IDM1MHB4O1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbS1sYWJlbCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cuYmFjayB7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1iYWNrIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tc2VwYXJhdG9yIHtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWVtcHR5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLWl0ZW0ge1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWNhdGVnb3J5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbnMgKi9cclxuQGtleWZyYW1lcyBmaWx0ZXItcGlsbC1hcHBlYXIge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3Zpbmcge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dDtcclxufVxyXG4iLCAiLyogc3R5bGVzL2NhbGVuZGFyL2NhbGVuZGFyLmNzcyAqL1xuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTsgLyogT3IgYWRqdXN0IGFzIG5lZWRlZCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4LWdyb3c6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTQpOyAvKiBVc2UgT2JzaWRpYW4gdmFyaWFibGVzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGhlYWRlciBmcm9tIHNocmlua2luZyAqL1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciBidXR0b24ge1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdixcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSksXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b246bm90KC5pcy1hY3RpdmUpIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWN1cnJlbnQtZGF0ZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGl0IHRvIHRha2Ugc3BhY2UgKi9cblxuXHRtYXgtd2lkdGg6IG1heCgxMjBweCwgNDAlKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB2aWV3IHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5lZWRlZCBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgZXZlbnRzICovXG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogQmFzaWMgVmlldyBTdHlsZXMgKFBsYWNlaG9sZGVycykgKi9cbi8qIC0tLSBNb250aCBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIE92ZXJsYXAgd2l0aCBncmlkIGdhcCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFNsaWdodCBkaXN0aW5jdGlvbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1tb250aCB7XG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nIGlmIGdyaWQgcHJvdmlkZXMgaXQgdmlhIGdhcCAqL1xuXHQvKiBTdHlsZXMgbW92ZWQgdG8gLmNhbGVuZGFyLW1vbnRoLWdyaWQgKi9cbn1cblxuLyogQWRkIHRoZSBncmlkIHN0eWxlcyBkaXJlY3RseSB0byB0aGUgZ3JpZCBjb250YWluZXIgZWxlbWVudCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7IC8qIEdpdmUgcm93cyBhIG1pbmltdW0gaGVpZ2h0ICovXG5cdGdhcDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cblxuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwge1xuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhIGRheSBjZWxsIGluIG1vbnRoIHZpZXcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA4MHB4OyAtIExldCBncmlkLWF1dG8tcm93cyBoYW5kbGUgaGVpZ2h0ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGxheW91dCBpbnNpZGUgdGhlIGNlbGwgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgZGF5IG51bWJlciBhbmQgZXZlbnRzICovXG5cdG1pbi13aWR0aDogMDsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjZWxsIHdpZHRoIGluIHRoZSBncmlkICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2woXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWgpLFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1zKSxcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtbCksXG5cdFx0MC44XG5cdCkgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGNvbG9yOiBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6bm90KC5pcy10b2RheSkge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy13ZWVrZW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnlcblx0KTsgLyogU2xpZ2h0bHkgZGlmZmVyZW50IGJhY2tncm91bmQgZm9yIHdlZWtlbmRzICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBudW1iZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7IC8qIFBvc2l0aW9uIHRvIHRoZSB0b3AgcmlnaHQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBldmVudHMgY29udGFpbmVyIHRvIGZpbGwgc3BhY2UgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBldmVudHMgdGhhdCBvdmVyZmxvdyB0aGUgY2VsbCBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYW4gZXZlbnQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0LS1ib2xkLWNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMnB4IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdG1hcmdpbi1ib3R0b206IDNweDsgLyogSW5jcmVhc2Ugc3BhY2luZyBzbGlnaHRseSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggYXZhaWxhYmxlICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KS5jYWxlbmRhci1ldmVudC1tb250aCB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcy1ob3ZlclxuXHQpOyAvKiBPciB1c2UgZ3JleS9zdHJpa2V0aHJvdWdoICovXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5IHtcblx0LyogQmFzaWMgc3R5bGUgZm9yIG11bHRpLWRheSwgbW9yZSBhZHZhbmNlZCBjb3VsZCByZW1vdmUgcm91bmRlZCBjb3JuZXJzICovXG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1zdGFydCB7XG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgc3RhcnQgc2VnbWVudCBkaWZmZXJlbnRseSAqL1xuXHQvKiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgKi9cblx0LyogYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7ICovXG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1lbmQge1xuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIGVuZCBzZWdtZW50IGRpZmZlcmVudGx5ICovXG5cdC8qIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7ICovXG5cdC8qIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7ICovXG59XG5cbi8qIEFkZCBtb3JlIHNwZWNpZmljIHN0eWxlcyBmb3Igd2VlaywgZGF5LCBhZ2VuZGEgdmlld3MgYXMgdGhleSBhcmUgaW1wbGVtZW50ZWQgKi9cblxuLyogU3R5bGUgZm9yIG1vbnRoIHZpZXcgZXZlbnRzIHRvIGhhbmRsZSBvdmVyZmxvdyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC1tb250aCB7XG5cdC8qIEluaGVyaXRzIGJhc2UgLmNhbGVuZGFyLWV2ZW50IHN0eWxlcyAqL1xuXHQvKiBBZGQgb3ZlcmZsb3cgaGFuZGxpbmcgc2ltaWxhciB0byB3ZWVrLWFsbGRheSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5ICovXG5cdHdpZHRoOiAxMDAlOyAvKiBFeHBsaWNpdGx5IHNldCB3aWR0aCAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIHBhZGRpbmcvYm9yZGVyIGluIHdpZHRoICovXG59XG5cbi8qIC0tLSBEYXkgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctZGF5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcsIG1hbmFnZSBpbnRlcm5hbGx5ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtc2VjdGlvbiB7XG5cdGZsZXgtZ3JvdzogMTtcblx0LyogcG9zaXRpb246IHJlbGF0aXZlOyAvKiBObyBsb25nZXIgbmVlZGVkIGZvciBhYnNvbHV0ZSBldmVudCBwb3NpdGlvbmluZyAqL1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgYm9yZGVyIHRoYXQgd2FzIG9uIGFsbGRheSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBbGxvdyB0aW1lbGluZSB0byBzY3JvbGwgKi9cblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLWV2ZW50cy1jb250YWluZXIge1xuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xuXHQvKiB0b3A6IDA7ICovXG5cdC8qIGxlZnQ6IDA7ICovXG5cdC8qIHJpZ2h0OiAwOyAqL1xuXHQvKiBib3R0b206IDA7ICovXG5cdC8qIHotaW5kZXg6IDI7ICovXG5cdC8qIFJlbW92ZSBjYWxjdWxhdGVkIGhlaWdodCAqL1xuXHQvKiBoZWlnaHQ6IGNhbGMoMjQgKiA0MHB4KTsgKi9cblxuXHQvKiBBZGQgZmxleCBsYXlvdXQgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc3BhY2luZyBiZXR3ZWVuIGV2ZW50cyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLWV2ZW50cy1jb250YWluZXIuaXMtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBldmVudHMgcHJldmlvdXNseSB0aW1lZCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lZCB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogQWRkIG1hcmdpbiBmb3Igc3BhY2luZyBpbiB0aGUgbmV3IGZsb3cgbGF5b3V0ICovXG5cdC8qIFVzaW5nIGdhcCBvbiBwYXJlbnQgY29udGFpbmVyIG5vdyAqL1xuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7ICovXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246XG5cdFx0dHJhbnNmb3JtIDAuMTVzIGVhc2UsXG5cdFx0Ym94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWVkOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxlcyBmb3IgZGF5IHZpZXcgdGltZWQgZXZlbnRzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LWRheS10aW1lZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDIuNWVtO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LWRheS10aW1lZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LWRheS10aW1lZC5pcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MtaG92ZXIpO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4vKiBLZWVwIGludGVybmFsIHN0eWxlcyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBTbGlnaHQgYmFja2dyb3VuZCBmb3IgdGltZSAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAycHggM3B4O1xuXHRmbGV4LWdyb3c6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogLS0tIFdlZWsgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctd2VlayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHQvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggcmVwZWF0KDcsIDFmcik7ICovIC8qIEd1dHRlciArIDcgZGF5cyAtPiBSZW1vdmUgZ3V0dGVyICovXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7IC8qIEp1c3QgNyBkYXlzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsOmZpcnN0LWNoaWxkIHtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxLjVlbTtcblx0aGVpZ2h0OiAxLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRtYXJnaW46IGF1dG87XG5cblx0bWFyZ2luOiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4vKiBVcGRhdGVkIFdlZWsgR3JpZCBTZWN0aW9uICh3YXMgLWFsbGRheS1zZWN0aW9uKSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQtc2VjdGlvbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aGlzIHNlY3Rpb24gdG8gZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UgKi9cblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggdG8gZW5zdXJlIGdyaWQgZmlsbHMgaGVpZ2h0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFkZCBzY3JvbGwgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogTWF0Y2ggb2xkIHN0eWxlICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGdyaWQgdG8gZXhwYW5kICovXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyAvKiBNYWtlIGdyaWQgZmlsbCB0aGUgc2VjdGlvbiBoZWlnaHQgKi9cblx0Z2FwOiAxcHg7IC8qIEFkZCBnYXAgZm9yIGJvcmRlcnMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCB0b3AgYm9yZGVyICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA1ZW07ICovIC8qIFJlbW92ZSBmaXhlZCBtaW4taGVpZ2h0LCBsZXQgY29udGVudCBkaWN0YXRlICovXG5cdGJvcmRlci1sZWZ0OiBub25lOyAvKiBSZW1vdmUgcmVkdW5kYW50IGxlZnQgYm9yZGVyLCBnYXAgaGFuZGxlcyBsaW5lcyAqL1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgdmVydGljYWwgbGF5b3V0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpOyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNvbHVtbiAqL1xuXHRtaW4td2lkdGg6IDA7IC8qIEhlbHAgZ3JpZCBpdGVtIHNocmluayBwcm9wZXJseSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW46Zmlyc3QtY2hpbGQge1xuXHQvKiBObyBzcGVjaWZpYyBmaXJzdC1jaGlsZCBib3JkZXIgbmVlZGVkIG5vdyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4uaXMtd2Vla2VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0cyB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kc1xuXHQuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHQ1LFxuXHRcdDFmclxuXHQpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzXG5cdC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0NSxcblx0XHQxZnJcblx0KSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kc1xuXHQuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHQ1LFxuXHRcdDFmclxuXHQpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzXG5cdC5jYWxlbmRhci13ZWVrLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHQ1LFxuXHRcdDFmclxuXHQpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzXG5cdC5taW5pLW1vbnRoLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHQ1LFxuXHRcdDFmclxuXHQpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdC8qIFRoaXMgY29udGFpbmVyIG1pZ2h0IG5vdCBiZSBzdHJpY3RseSBuZWNlc3NhcnkgaWYgLmNhbGVuZGFyLWRheS1jb2x1bW4gdXNlcyBmbGV4ICovXG5cdC8qIFN0eWxlcyBhcmUgYXBwbGllZCBkaXJlY3RseSB0byAuY2FsZW5kYXItZGF5LWNvbHVtbiBub3cgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBjb250YWluZXIgdG8gZ3JvdyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDNweDsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cbn1cblxuLyogRW5zdXJlIGV2ZW50cyB0YWtlIGZ1bGwgd2lkdGggYW5kIGRvbid0IGhhdmUgaG9yaXpvbnRhbCBkaXNwbGF5IHByb3BlcnRpZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbHVtbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJlc2V0IHBvc2l0aW9uIGlmIGl0IHdhcyBhYnNvbHV0ZSAqL1xuXHRsZWZ0OiBhdXRvO1xuXHR0b3A6IGF1dG87XG5cdGhlaWdodDogYXV0bzsgLyogTGV0IGNvbnRlbnQgZGV0ZXJtaW5lIGhlaWdodCAqL1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIENvbnNpc3RlbnQgc3BhY2luZyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGludGVybmFsIGNvbnRlbnQgZnJvbSBvdmVyZmxvd2luZyAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgLyogQWRkIGVsbGlwc2lzIGZvciBvdmVyZmxvdyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBFbnN1cmUgZWxsaXBzaXMgd29ya3MgKi9cbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIG9sZCB0aW1lbGluZSBzZWN0aW9uICovXG4vKlxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLXRpbWVsaW5lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuLy8gLi4uIGV4aXN0aW5nIGNvZGUgLi4uXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cbiovXG5cbi8qIC0tLSBZZWFyIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXllYXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXIteWVhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0YXV0by1maXQsXG5cdFx0bWlubWF4KDIwMHB4LCAxZnIpXG5cdCk7IC8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1taW5pLW1vbnRoIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogQ2xpcCBjb250ZW50ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtYm9keSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDJweDsgLyogU21hbGwgZ2FwIGJldHdlZW4gZGF5cyAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBMZXQgY2hpbGRyZW4gcGFydGljaXBhdGUgaW4gdGhlIGdyaWQgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXkge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBBZGp1c3QgZm9yIGNlbnRlcmluZyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLXRvZGF5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzIHtcblx0LyogSW5kaWNhdGUgZXZlbnRzIC0gZS5nLiwgYm9sZCBvciBiYWNrZ3JvdW5kIGRvdCAqL1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0LyogT3IgYWRkIGEgYmFja2dyb3VuZCBkb3Q6ICovXG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgKi9cbn1cbi8qIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHM6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAycHg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59ICovXG5cbi5hZ2VuZGEtZGF5LXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uYWdlbmRhLWRheS1kYXRlLWNvbHVtbiB7XG5cdHdpZHRoOiAyMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFnZW5kYS1kYXktZXZlbnRzLWNvbHVtbiB7XG5cdGZsZXg6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBpbnB1dC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG5cdHNjYWxlOiAwLjk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLSBEcmFnIGFuZCBEcm9wIFN0eWxlcyAtLS0gKi9cbi5jYWxlbmRhci1ldmVudC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgIWltcG9ydGFudDtcblx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhbGVuZGFyLWV2ZW50LWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBlbGVtZW50IGJlaW5nIGRyYWdnZWQgKi9cblx0b3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKSAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKSAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1ha2UgY2FsZW5kYXIgZXZlbnRzIGRyYWdnYWJsZSAqL1xuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0Y3Vyc29yOiBncmFiO1xuXHR0cmFuc2l0aW9uOlxuXHRcdHRyYW5zZm9ybSAwLjJzIGVhc2UsXG5cdFx0Ym94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZztcbn1cblxuLyogU29ydGFibGUgY29udGFpbmVyIHN0eWxlcyAqL1xuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIsXG4uY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xuXHRtaW4taGVpZ2h0OiAyMHB4OyAvKiBFbnN1cmUgdGhlcmUncyBhbHdheXMgYSBkcm9wIHpvbmUgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmNhbGVuZGFyLW5hdiAucHJldi1idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuY2FsZW5kYXItbmF2IC5uZXh0LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsICIuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciBwIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHtcclxuXHQvKiBIYW5kbGUgdGV4dCBvdmVyZmxvdyB3aXRoIGVsbGlwc2lzICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxufVxyXG4iLCAiLyogQ2FsZW5kYXIgQmFkZ2UgU3R5bGVzICovXHJcbi5jYWxlbmRhci1iYWRnZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0Z2FwOiA0cHg7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1iYWRnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblxyXG5cdG1heC13aWR0aDogODBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIEVuc3VyZSBiYWRnZXMgYXJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGRheSBjZWxsICovXHJcbi5jYWxlbmRhci1kYXktY2VsbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHJcblx0LS1nYW50dC1oZWFkZXItaGVpZ2h0OiA1MHB4O1xyXG5cdC0tZ2FudHQtcm93LWhlaWdodDogNDBweDtcclxuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XHJcblx0LS1nYW50dC1iYXItcmFkaXVzOiAzcHg7XHJcblxyXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHQtLWdhbnR0LWdyaWQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHQtLWdhbnR0LXJvdy1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LW1pbGVzdG9uZS1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcclxuXHQtLWdhbnR0LXByb2dyZXNzLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItYmcge1xyXG5cdGZpbGw6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItdGV4dCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtYmcge1xyXG5cdGZpbGw6IHRyYW5zcGFyZW50O1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZS1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0d2hpdGUtc3BhY2U6IHByZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLnN0YXR1cy1jb21wbGV0ZWQge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdhbnR0IENoYXJ0IFN0eWxlc1xyXG4gKi9cclxuXHJcbi5nYW50dC1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0ei1pbmRleDogMTA7XHJcblx0aGVpZ2h0OiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA1MCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93LnByaW1hcnkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLmdhbnR0LWJvZHkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkgKiAtMSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xyXG5cdG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXRvZGF5LWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtcm93IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWJhcnMge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSk7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLm1pbGVzdG9uZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcclxuXHR3aWR0aDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0dG9wOiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRtYXJnaW4tbGVmdDogLTcuNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1wcm9ncmVzcyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1wcm9ncmVzcy1jb2xvcik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7XHJcblx0dG9wOiAwO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0bGVmdDogYXV0bztcclxuXHRyaWdodDogY2FsYygxMDAlICsgOHB4KTtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XHJcblx0LmdhbnR0LWhlYWRlci1jZWxsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcblxyXG5cdC5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yLFxyXG4uZ2FudHQtaGVhZGVyLXRpY2stbWlub3IsXHJcbi5nYW50dC1oZWFkZXItdGljay1kYXksXHJcbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yIHtcclxuXHRzdHJva2Utd2lkdGg6IDEuNTtcclxufVxyXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdHN0cm9rZS13aWR0aDogMS41O1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3Ige1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3IsXHJcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG59XHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3Ige1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG4uZ2FudHQtZ3JpZC1saW5lLWhvcml6b250YWwge1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1pbnByb2dyZXNzIC5nYW50dC10YXNrLWJhciB7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLWZvIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHRwYWRkaW5nOiAwIDJweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xyXG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsLWNvbnRhaW5lciBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHBhZGRpbmc6IDAgMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5nYW50dC1taWxlc3RvbmUtbGFiZWwge1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0d2lkdGg6IDhweDtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNik7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0ge1xyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yLWxlZnQge1xyXG5cdGxlZnQ6IDVweDtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xyXG5cdHJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLWxlZnQge1xyXG5cdGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcclxuXHRyaWdodDogMDtcclxufVxyXG5cclxuLmdhbnR0LXNpbmdsZS1pbmRpY2F0b3Ige1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC0yKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIC5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHR0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCwgNDBweCkgKyB2YXIoLS1maWx0ZXItaGVpZ2h0LCAwcHgpKTtcclxuXHRib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4iLCAiLyogVGFzayBsaXN0ICovXG4udGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogMDtcbn1cblxuLnRhc2staXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblxuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWl0ZW0tY29udGVudCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWl0ZW0gLm1hcmtkb3duLWJsb2NrLm1hcmtkb3duLXJlbmRlcmVyID4gcDpvbmx5LWNoaWxkIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stY2hlY2tib3gge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2staXRlbS50YXNrLWNvbXBsZXRlZCAudGFzay1jaGVja2JveCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2staXRlbS1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0LyogUmVtb3ZlIHRyYW5zaXRpb24gdG8gcHJldmVudCBmbGFzaCBkdXJpbmcgbGF5b3V0IGNoYW5nZXMgKi9cblx0LyogVXNlIEdQVS1hY2NlbGVyYXRlZCBwcm9wZXJ0aWVzIG9ubHkgaWYgdHJhbnNpdGlvbiBpcyBuZWVkZWQgKi9cblx0d2lsbC1jaGFuZ2U6IGF1dG87XG59XG5cbi8qIFNpbmdsZSBsaW5lIGNvbnRlbnQgbGF5b3V0IC0gaG9yaXpvbnRhbCAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdC8qIHdpZHRoOiAxMDAlOyAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLWRhdGUge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1kYXRlOjpiZWZvcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmb250LXNpemU6IHh4LXNtYWxsO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udGcta2FuYmFuLXZpZXcgLnRhc2stZGF0ZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEQ0M1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXNvb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXN0YXJ0LWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERUVCXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1jcmVhdGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzk1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1zY2hlZHVsZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTIzRjNcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWRvbmUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3MDVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNhbmNlbGxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1Mjc0Q1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stcmVjdXJyZW5jZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdUREMDFcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW9uLWNvbXBsZXRpb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNDXHVERkMxXCI7XG59XG5cbi50YXNrLXByb2plY3Qge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRhc2stcHJvamVjdDpoYXMoaW5wdXQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXByb2plY3Qge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1wcm9qZWN0OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1RERDMlx1RkUwRlwiO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stcHJvamVjdDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stcHJpb3JpdHkge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1wcmlvcml0eS1jbGlja2FibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGFzay1wcmlvcml0eS1jbGlja2FibGU6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5hZGQtcHJpb3JpdHktYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRwYWRkaW5nOiAwO1xuXHQvKiBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tdGV4dC1tdXRlZCk7ICovXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5hZGQtcHJpb3JpdHktYnRuOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByaW9yaXR5LWNsaWNrYWJsZSxcbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLmFkZC1wcmlvcml0eS1idG4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBOZXcgZmllbGQgc3R5bGVzICovXG4udGFzay1vbmNvbXBsZXRpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stb25jb21wbGV0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1kZXBlbmRzb246aG92ZXIge1xuXHQvKmJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpOyovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2staWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cbi50YXNrLXRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stdGFncy1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay10YWcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvcGFjaXR5OiAwLjc1O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCBwOmhhcyhpbWcpIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xufVxuIiwgIi50YXNrLXN0YXR1cy1pbmRpY2F0b3Itd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xuXHRtaW4taGVpZ2h0OiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZSxcblx0XHRvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3JfX3RleHQge1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0xKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvci5pcy1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4udGFzay1zdGF0dXMtaW5kaWNhdG9yLmlzLXByb2Nlc3Npbmcge1xuXHRvcGFjaXR5OiAwLjc7XG5cdGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3IuaXMtY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cbiIsICIvKiBJbmxpbmUgRWRpdG9yIFN0eWxlcyAtIE9wdGltaXplZCBmb3IgUGVyZm9ybWFuY2UgYW5kIFVYICovXHJcbi5pbmxpbmUtZWRpdG9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cclxuLmlubGluZS1jb250ZW50LWVkaXRvciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xyXG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIENvbnRhaW5lciAtIE1vcmUgY29tcGFjdCBhbmQgaW5saW5lICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQge1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcblx0b3V0bGluZTogdW5zZXQ7XHJcblx0cGFkZGluZzogMDtcclxuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRib3JkZXI6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB1bnNldDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgSW5wdXQgRmllbGRzIC0gTW9yZSBjb21wYWN0ICovXHJcbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcclxuLmlubGluZS10YWdzLWlucHV0LFxyXG4uaW5saW5lLWNvbnRleHQtaW5wdXQsXHJcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcclxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtdGFncy1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1jb250ZXh0LWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXHJcbi5hZGQtbWV0YWRhdGEtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QgLnRhc2staXRlbTpub3QoLnRyZWUtdGFzay1pdGVtKTpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWl0ZW0tY29udGFpbmVyOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjJweDtcclxuXHRoZWlnaHQ6IDIycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHQtLWljb24tc2l6ZTogMTBweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biBzdmcge1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxufVxyXG5cclxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cclxuLmlubGluZS1lZGl0b3IgKiB7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcclxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xyXG4uaW5saW5lLWVkaXRvciBpbnB1dDpmb2N1cyxcclxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXHJcbi5pbmxpbmUtZWRpdG9yIHNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRWRpdGFibGUgTWV0YWRhdGEgSXRlbXMgLSBNb3JlIHN1YnRsZSBob3ZlciBlZmZlY3RzICovXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3ZlcixcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgRWRpdGFibGUgSG92ZXIgLSBNb3JlIHN1YnRsZSAqL1xyXG4udGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIHRyYW5zaXRpb25zIC0gT3B0aW1pemVkICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgbGF5b3V0IHNoaWZ0IGR1cmluZyBlZGl0aW5nICovXHJcbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcclxuXHRtaW4taGVpZ2h0OiAxZW07XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIC0gU2ltcGxpZmllZCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaW5saW5lLXByb2plY3QtaW5wdXQsXHJcblx0LmlubGluZS10YWdzLWlucHV0LFxyXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcclxuXHQuaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xyXG5cdFx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHR9XHJcblxyXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRcdG1heC13aWR0aDogMjUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQuaW5saW5lLWNvbnRlbnQtZWRpdG9yLFxyXG5cdC5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LmlubGluZS1lZGl0b3IgKixcclxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnLFxyXG5cdC50YXNrLWl0ZW0tY29udGVudCxcclxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogTmV3IGZpZWxkIGlucHV0IHN0eWxlcyAqL1xyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dCxcclxuLmlubGluZS1pZC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1pZC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDo6cGxhY2Vob2xkZXIsXHJcbi5pbmxpbmUtaWQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuIiwgIi8qIFRyZWUgVmlldyBzdHlsZXMgKi9cblxuLyogVHJlZSBpdGVtIGNvbnRhaW5lciAqL1xuLnRyZWUtdGFzay1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciAudGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogMDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XG5cdGdhcDogMDtcbn1cblxuLnRyZWUtdGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRyZWUtdGFzay1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBUYXNrIGNvbnRlbnQgcm93IChjb250YWlucyB0aGUgbWFpbiB0YXNrIGNvbnRlbnQpICovXG4udHJlZS10YXNrLWl0ZW0gPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiA2cHg7XG59XG5cbi8qIEluZGVudGF0aW9uIGZvciBoaWVyYXJjaHkgKi9cbi50YXNrLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWV4cGFuZC10b2dnbGUge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLyogRXhwYW5kL2NvbGxhcHNlIHRvZ2dsZSAqL1xuLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWV4cGFuZC10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBUYXNrIGNoZWNrYm94ICovXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveDpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3guY2hlY2tlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIFRhc2sgY29udGVudCAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRyZWUtdGFzay1pdGVtLmNvbXBsZXRlZCAudGFzay1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50XG5cdC50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogQWxsb3cgY29udGVudCB0byBzaHJpbmsgKi9cbn1cblxuLnRyZWUtdGFzay1pdGVtXG5cdC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnRcblx0LnRhc2stbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnRcblx0LnRhc2staXRlbS1jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnRcblx0LnRhc2stbWV0YWRhdGEge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFRhc2sgbWV0YWRhdGEgKi9cbi50YXNrLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kdWUtZGF0ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1wcm9qZWN0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZTpob3ZlciB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xuXHR3aWR0aDogNDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cbi5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cdGdhcDogNXB4O1xufVxuXG4uc2lkZWJhci1uYXYtc3BhY2VyIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiA4cHggMTVweDtcblx0b3BhY2l0eTogMC43O1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXI6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubmF2LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm5hdi1pdGVtLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggMC4zcyBlYXNlLWluLW91dCxcblx0XHRmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAubmF2LWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogQ29udGVudCBTdHlsZXMgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtaW4td2lkdGg6IDA7XG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC50YXNrLWNvbnRlbnQge1xuXHRtYXJnaW4tbGVmdDogLTIwMHB4O1xuXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi8qIFByb2plY3QgVHJlZSAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLnByb2plY3QtdHJlZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMCA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlLFxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pbmRlbnQge1xuXHR3aWR0aDogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQ29udGVudCBIZWFkZXIgKi9cbi5jb250ZW50LWhlYWRlciB7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9jdXMtZmlsdGVyIHtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qIFRhc2tWaWV3IC0gT21uaUZvY3VzIFN0eWxlICovXG5cbi53b3Jrc3BhY2UtbGVhZi1jb250ZW50IC50YXNrLWdlbml1cy12aWV3IHtcblx0cGFkZGluZzogMDtcbn1cblxuLmJhc2VzLXZpZXcgLnRhc2stZ2VuaXVzLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMZWZ0IHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR3aWR0aDogMjQwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFpbiBjb250ZW50IGFyZWEgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE5hdmlnYXRpb24gc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBQcm9qZWN0IHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMnB4IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLmV4cGFuZGVkID4gLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgaGVhZGVyICovXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC50YXNrLWNvdW50IHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWZpbHRlciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1maWx0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5maWx0ZXItaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24uZm9jdXNlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4ubW9kLWxlZnQtc3BsaXQgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLWxlZnQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWVtcHR5LXN0YXRlLFxuLnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IC50YXNrLWVtcHR5LXN0YXRlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1mbHVlbnQtZXJyb3Itc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC0xMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLXRhYi1oZWFkZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemUgIWltcG9ydGFudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAxMjBweCkge1xuXHQubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0bWF4LXdpZHRoOiA0NXB4O1xufVxuXG4vKiBXb3JrZmxvdyBRdWljayBNb2RhbCBTdHlsZXMgKi9cbi5xdWljay13b3JrZmxvdy1tb2RhbCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4ud29ya2Zsb3ctdGVtcGxhdGUtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGVtcGxhdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zdGFnZXMtcHJldmlldy1saXN0IHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN0YWdlLXByZXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdG1hcmdpbjogNHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnN0YWdlLXR5cGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLndvcmtmbG93LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3JrZmxvdyBQcm9ncmVzcyBJbmRpY2F0b3IgU3R5bGVzICovXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0cGFkZGluZzogMTVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtZmlsbCB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1pbi13aWR0aDogMzVweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ucGVuZGluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jb21wbGV0ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jdXJyZW50LWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIHRhc2stcHJvcGVydHkgVmlldyBTdHlsZXMgKi9cclxuLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLm11bHRpLXNlbGVjdC1tb2RlIC50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNHB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktY291bnQge1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0cGFkZGluZzogMXB4IDZweDtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stY291bnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogMTZweDtcclxufVxyXG5cclxuLyogdGFzay1wcm9wZXJ0eSBWaWV3IC0gTW9iaWxlICovXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1jbG9zZSB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZVxyXG5cdC50YXNrLXByb3BlcnR5LWNvbnRhaW5lcjpoYXMoXHJcblx0XHQudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlXHJcblx0KTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHotaW5kZXg6IDU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXI6aGFzKC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2UpIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG59XHJcbiIsICIvKiBGb3JlY2FzdCBDb21wb25lbnQgU3R5bGVzICovXHJcbi5mb3JlY2FzdC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxufVxyXG5cclxuLmZvcmVjYXN0LWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1zZXR0aW5ncyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZm9yZWNhc3Qtc2V0dGluZ3M6aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cGFkZGluZzogMTBweCAxNXB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb2N1cy1pbnB1dCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi51bmZvY3VzLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4udW5mb2N1cy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xyXG4uZm9yZWNhc3QtY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IDM2MHB4O1xyXG5cdG1pbi13aWR0aDogMzYwcHg7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC10YXNrLWxpc3Qge1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1jYWxlbmRhci1zZWN0aW9uIHtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFN0YXRzIEJhciAqL1xyXG4uZm9yZWNhc3Qtc3RhdHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDEwJTtcclxuXHR3aWR0aDogODAlO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGFuaW1hdGlvbjogY29sb3ItcHVsc2UgMS41cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY29sb3ItcHVsc2Uge1xyXG5cdDAlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0xKSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMC43O1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctcGFzdC1kdWU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnN0YXQtaXRlbS50Zy1mdXR1cmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uc3RhdC1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi5zdGF0LWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xyXG4uZm9yZWNhc3QtZHVlLXNvb24tc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1oZWFkZXIge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRwYWRkaW5nOiA1cHggMTVweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG59XHJcblxyXG4uZHVlLXNvb24taXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWRhdGUge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5kdWUtc29vbi1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC01KTtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIE92ZXJkdWUgc2VjdGlvbiBzdHlsaW5nICovXHJcbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi1jb3VudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uc2VjdGlvbi10YXNrcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0aGVpZ2h0OiAxMDBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uaXMtcGhvbmVcclxuXHQuZm9yZWNhc3QtaGVhZGVyOmhhcyguZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUpXHJcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4vKiBGb3JlY2FzdCBWaWV3IC0gTW9iaWxlICovXHJcbi5pcy1waG9uZSAuZm9yZWNhc3QtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3Qtc2lkZWJhci1jbG9zZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTBweDtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHR3aWR0aDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHotaW5kZXg6IDU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbiIsICIvKiBDYWxlbmRhciBDb21wb25lbnQgU3R5bGVzICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweCAxNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci15ZWFyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG4ge1xyXG5cdHBhZGRpbmc6IDJweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxuXHRnYXA6IDFweDtcclxuXHRwYWRkaW5nOiAwIDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDNweCAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlld1xyXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdC5jYWxlbmRhci1kYXktaGVhZGVyLmNhbGVuZGFyLXdlZWtlbmQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEFkanVzdCBncmlkIGxheW91dCB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gaW4gbWluaSBjYWxlbmRhciAqL1xyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItZ3JpZCB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xyXG59XHJcblxyXG4vKiBOb3RlOiBXZWVrZW5kIGVsZW1lbnRzIGFyZSBub3QgY3JlYXRlZCB3aGVuIGhpZGVXZWVrZW5kcyBpcyBlbmFibGVkLFxyXG4gICBzbyBubyBoaWRpbmcgcnVsZXMgYXJlIG5lZWRlZC4gVGhlIGdyaWQgbGF5b3V0IGFkanVzdG1lbnRzIGFib3ZlIGFyZSBzdWZmaWNpZW50LiAqL1xyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAxcHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkucGFzdC1kdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmc6IDFweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdHBhZGRpbmc6IDFweCA0cHg7XHJcblx0bWFyZ2luOiAxcHggYXV0byAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvdW50Lmhhcy1wcmlvcml0eSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcclxuXHQudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpXHJcblx0XHQubWluaS1jYWxlbmRhci1jb250YWluZXJcclxuXHRcdC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG4iLCAiLyogVGFzayBUYWJsZSBWaWV3IFN0eWxlcyAqL1xuLnRhYmxlLXZpZXctYWRhcHRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZsZXg6IDE7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdC8qIEVuc3VyZSB0YWJsZSB0YWtlcyBmdWxsIHdpZHRoIGV2ZW4gd2l0aCBtYW55IGNvbHVtbnMgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogVGFibGUgd3JhcHBlciBmb3Igc2Nyb2xsaW5nICovXG4udGFzay10YWJsZS13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogRW5hYmxlIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2Nyb2xsaW5nICovXG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdC8qIFNtb290aCBzY3JvbGxpbmcgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIEhlYWRlciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0LyogRW5zdXJlIGhlYWRlciBkb2Vzbid0IGJyZWFrIHdoZW4gc2Nyb2xsaW5nIGhvcml6b250YWxseSAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHQvKiBQcmV2ZW50IGhlYWRlciBjZWxscyBmcm9tIHNocmlua2luZyB0b28gbXVjaCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogNHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvcGFjaXR5OiAwLjU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uLmFzYyxcbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5kZXNjIHtcblx0b3BhY2l0eTogMTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEJvZHkgU3R5bGVzICovXG4udGFzay10YWJsZS1ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtY2VsbC5lZGl0aW5nIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdHJlZS1pbmRlbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7IFxufVxuXG4udGFzay10YWJsZS1jZWxsOmhhcygudGFzay10YWJsZS1leHBhbmQtYnRuKSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnRhc2stdGFibGUtcm93LnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDUycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDcycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDkycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDExMnB4O1xufVxuXG4vKiBDZWxsIFR5cGUgU3R5bGVzICovXG4udGFzay10YWJsZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNvbXBsZXRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuaW4tcHJvZ3Jlc3MgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmFiYW5kb25lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLnBsYW5uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5ub3Qtc3RhcnRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogUHJpb3JpdHkgQ2VsbCAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLm1lZGl1bSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBEYXRlIENlbGwgKi9cbi50YXNrLXRhYmxlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay10YWJsZS1kYXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b21vcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUueWVzdGVyZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudXBjb21pbmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBUYWdzIENlbGwgKi9cbi50YXNrLXRhYmxlLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10YWctY2hpcCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXRhZ3MtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIEVkaXRpbmcgSW5wdXRzICovXG4udGFzay10YWJsZS10ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Zm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xufVxuXG4vKiBUYXNrIENvdW50IEljb24gKi9cbi50YXNrLWNvdW50LWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LXJvdyB7XG5cdGhlaWdodDogODBweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktY2VsbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIExvYWRpbmcgU3RhdGUgKi9cbi50YXNrLXRhYmxlLWxvYWRpbmcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR6LWluZGV4OiAxMDA7XG59XG5cbi8qIFJlc2l6ZSBTdGF0ZSAqL1xuLnRhc2stdGFibGUucmVzaXppbmcge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUucmVzaXppbmcgKiB7XG5cdGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRhc2stdGFibGUtd3JhcHBlciB7XG5cdFx0b3ZlcmZsb3cteDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlIHtcblx0XHRtaW4td2lkdGg6IDgwMHB4OyAvKiBFbnN1cmUgdGFibGUgZG9lc24ndCBnZXQgdG9vIG5hcnJvdyAqL1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0fVxufVxuXG4vKiBQcmludCBTdHlsZXMgKi9cbkBtZWRpYSBwcmludCB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlciB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3Age1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3AgdGQge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250ZXh0IG1lbnUgc3R5bGVzICovXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIERhdGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1kYXRlLWlucHV0IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogQXV0b2NvbXBsZXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dCxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFJvdyBzZWxlY3Rpb24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlci13ZWFrKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBpbXByb3ZlbWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXG5cdHRoW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRcdGdhcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHR0ZFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggNHB4O1xuXHR9XG59XG5cbi8qIFRhc2sgVGFibGUgSGVhZGVyIEJhciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFibGUtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogVGFzayBDb3VudCBEaXNwbGF5ICovXG4udGFzay1jb3VudC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1jb3VudC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29udHJvbCBCdXR0b25zICovXG4udGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG4udGFibGUtY29udHJvbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRyZWUtbW9kZS1idG4uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRyZWUtbW9kZS1pY29uLFxuLnJlZnJlc2gtaWNvbixcbi5jb2x1bW4taWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50cmVlLW1vZGUtdGV4dCxcbi5yZWZyZXNoLXRleHQsXG4uY29sdW1uLXRleHQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZHJvcGRvd24tYXJyb3cge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi8qIENvbHVtbiBEcm9wZG93biAqL1xuLmNvbHVtbi1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWNoZWNrYm94IHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBIZWFkZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCxcblx0LnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQudGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQudGFibGUtY29udHJvbC1idG4ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgZm9yIEhlYWRlciAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50aGVtZS1kYXJrIC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQ3VzdG9tIEF1dG8tU3VnZ2VzdCBEcm9wZG93biAqL1xuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpob3Zlcixcbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRW5oYW5jZWQgVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wYXJlbnQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2stY2VsbCB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItZm9jdXMpO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1zdHJ1Y3R1cmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtbGluZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb25uZWN0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtdmVydGljYWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2staW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay10YWJsZS10b3AtbGV2ZWwtZXhwYW5kIHtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRlbnQtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnRhc2stdGFibGUtY2hpbGQtaW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXMge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEVuaGFuY2VkIFByaW9yaXR5IEljb25zICovXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2hlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvd2VzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogVHJlZSBleHBhbmQgYnV0dG9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbiB7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBPdmVycmlkZSBleGlzdGluZyB0cmVlIGluZGVudGF0aW9uIHRvIHVzZSBuZXcgc3lzdGVtICovXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTJweDsgLyogUmVzZXQgdG8gbm9ybWFsIHBhZGRpbmcsIGxldCB0cmVlIHN0cnVjdHVyZSBoYW5kbGUgaW5kZW50YXRpb24gKi9cbn1cbiIsICIvKiBUYXNrIEdlbml1cyAtIFF1YWRyYW50IFZpZXcgU3R5bGVzICovXHJcblxyXG4vKiBNYWluIFF1YWRyYW50IENvbnRhaW5lciAqL1xyXG4udGctcXVhZHJhbnQtY29tcG9uZW50LWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIEhlYWRlciBTZWN0aW9uICovXHJcbi50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtMi0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHR3aWR0aDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgU2VjdGlvbiAqL1xyXG4udGctcXVhZHJhbnQtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgR3JpZCAqL1xyXG4udGctcXVhZHJhbnQtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xyXG5cdGdhcDogMXB4O1xyXG5cdGZsZXg6IDE7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIEluZGl2aWR1YWwgUXVhZHJhbnQgQ29sdW1ucyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtaW4taGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLS1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFF1YWRyYW50IEhlYWRlcnMgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGl0bGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtcHJpb3JpdHkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb3VudCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgQ29udGVudCBBcmVhcyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgU3BlY2lmaWMgU3R5bGluZyAtIFN1YnRsZSBhY2NlbnQgYmFycyAqL1xyXG4ucXVhZHJhbnQtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnF1YWRyYW50LW5vdC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5xdWFkcmFudC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0b3BhY2l0eTogMC40O1xyXG59XHJcblxyXG4vKiBUYXNrIENhcmRzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmxhc3QtY2hpbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIENhcmQgSGVhZGVyICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1jaGVja2JveCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0biB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIENhcmQgQ29udGVudCAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC1jb250ZW50IHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10YWdzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRhZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10YWctLXVyZ2VudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10YWctLWltcG9ydGFudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBDYXJkIE1ldGFkYXRhICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLW1ldGFkYXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLWljb24ge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS11cmdlbnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tb3ZlcmR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaWNvbiB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRtYXgtd2lkdGg6IDEyMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbGluZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLyogUHJpb3JpdHkgQ2xhc3NlcyAtIFN1YnRsZSBsZWZ0IGJvcmRlciAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaGVzdCB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2gge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LW1lZGl1bSB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93IHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1sb3dlc3Qge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIERyYWcgYW5kIERyb3AgU3RhdGVzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWdnaW5nIHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIGNsb25lIGJlaW5nIGRyYWdnZWQgLSBmb2xsb3dpbmcga2FuYmFuIHBhdHRlcm4gKi9cclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xyXG59XHJcblxyXG4vKiBSZW1vdmUgb2xkIGRyYWcgY2xhc3NlcyB0aGF0IGFyZSBubyBsb25nZXIgdXNlZCAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBFbXB0eSBTdGF0ZSAqL1xyXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTIwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgMWZyKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNhcmQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcclxuXHRcdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdH1cclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXHJcbi50Zy1xdWFkcmFudC1jYXJkOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpmb2N1cyB7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggaW50ZXJhY3Rpb25zICovXHJcbkBrZXlmcmFtZXMgY2FyZENvbXBsZXRlIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWNvbXBsZXRlZCB7XHJcblx0YW5pbWF0aW9uOiBjYXJkQ29tcGxldGUgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogSW1wcm92ZWQgaG92ZXIgc3RhdGVzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1wcmlvcml0eSB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogQmV0dGVyIHZpc3VhbCBoaWVyYXJjaHkgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBMYXp5IGxvYWRpbmcgc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC1sb2FkaW5nIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWRpbmctc3Bpbm5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNwaW5uZXIge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWRpbmctbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBkcmFnIGFuZCBkcm9wIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcge1xyXG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWRyYWdnaW5nICoge1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xyXG5cdG9wYWNpdHk6IDAuNDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xyXG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcclxuXHRvcGFjaXR5OiAwLjk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tLWRyYWctdGFyZ2V0IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWluLWhlaWdodDogNjBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJEcm9wIHRhc2sgaGVyZVwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLyogRmVlZGJhY2sgc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDIwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0ei1pbmRleDogMTAwMDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdG1pbi13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tZXJyb3IgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2staWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay10ZXh0IHtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBjYXJkIGludGVyYWN0aW9ucyAqL1xyXG4udGctcXVhZHJhbnQtY2FyZCB7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRjdXJzb3I6IGdyYWI7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBncmFiYmluZztcclxufVxyXG5cclxuLyogSW1wcm92ZWQgZW1wdHkgc3RhdGUgKi9cclxuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtaW4taGVpZ2h0OiAxMjBweDtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRtYXJnaW46IDAuNXJlbSAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgYW5pbWF0aW9uICovXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XHJcblx0YW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XHJcblx0XHR0b3A6IDEwcHg7XHJcblx0XHRyaWdodDogMTBweDtcclxuXHRcdGxlZnQ6IDEwcHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdFx0bWluLXdpZHRoOiBhdXRvO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBEYXJrIG1vZGUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLyogQWNjZXNzaWJpbGl0eSBpbXByb3ZlbWVudHMgKi9cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHQudGctcXVhZHJhbnQtY2FyZCxcclxuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrLFxyXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4sXHJcblx0LnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xyXG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcclxuXHRcdGFuaW1hdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBTY3JvbGwgY29udGFpbmVyIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRtYXgtaGVpZ2h0OiA3MHZoO1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHR3aWR0aDogNnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBMb2FkIG1vcmUgaW5kaWNhdG9yIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS0tdmlzaWJsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBBbmltYXRlIHRoZSBPYnNpZGlhbiBsb2FkZXIgaWNvbiAqL1xyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLXNwaW5uZXIgc3ZnIHtcclxuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogQ29sdW1uIGxheW91dCBhZGp1c3RtZW50cyBmb3Igc2Nyb2xsaW5nICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0bWluLWhlaWdodDogNDAwcHg7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIFNtb290aCBzY3JvbGxpbmcgKi9cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xyXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG59XHJcblxyXG4vKiBMb2FkaW5nIHN0YXRlcyBkdXJpbmcgc2Nyb2xsICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4ubG9hZGluZy1tb3JlIC50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEludGVyc2VjdGlvbiBvYnNlcnZlciB0YXJnZXQgc3R5bGluZyAqL1xyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcclxuXHRtaW4taGVpZ2h0OiA0MHB4O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBlbXB0eSBzdGF0ZSBmb3Igc2Nyb2xsYWJsZSBjb250ZW50ICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDplbXB0eTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4vKiBHcmlkIGxheW91dCBhZGp1c3RtZW50cyAqL1xyXG4udGctcXVhZHJhbnQtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcclxuXHRtaW4taGVpZ2h0OiA0MDBweDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBzY3JvbGwgY29udGFpbmVyIGhlaWdodHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRcdG1heC1oZWlnaHQ6IDcwdmg7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNvbHVtbiB7XHJcblx0XHRtYXgtaGVpZ2h0OiA2MHZoO1xyXG5cdFx0bWluLWhlaWdodDogMzAwcHg7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtZ3JpZCB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi8qIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcclxuXHRjb250YWluOiBsYXlvdXQgc3R5bGU7XHJcblx0d2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZCB7XHJcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlIHBhaW50O1xyXG59XHJcblxyXG4vKiBTY3JvbGwgaW5kaWNhdG9ycyAqL1xyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lci5oYXMtc2Nyb2xsOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IHN0aWNreTtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0dG8gYm90dG9tLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSxcclxuXHRcdHRyYW5zcGFyZW50XHJcblx0KTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lci5oYXMtc2Nyb2xsOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdGJvdHRvbTogMDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLCB0cmFuc3BhcmVudCk7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG4iLCAiLyogVGFzayBUaW1lciBXaWRnZXQgU3R5bGVzIC0gU2ltcGxlIFRleHQtQmFzZWQgKi9cclxuXHJcbi50YXNrLXRpbWVyLXdpZGdldCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luOiA0cHggMDtcclxuXHRwYWRkaW5nOiAycHggMDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4vKiBTdGFydCBidXR0b24gYW5kIGFjdGlvbiBsaW5rcyAqL1xyXG4udGFzay10aW1lci1zdGFydCxcclxuLnRhc2stdGltZXItYWN0aW9uIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stdGltZXItc3RhcnQ6aG92ZXIsXHJcbi50YXNrLXRpbWVyLWFjdGlvbjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcclxufSIsICIvKiBFeHBlcmltZW50YWwgU2V0dGluZ3MgKi9cclxuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcclxuXHRtYXJnaW46IDIwcHggMDtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1zZWN0aW9uLWhlYWRpbmcge1xyXG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XHJcblx0bWFyZ2luOiAxNXB4IDAgOHB4IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRtYXJnaW46IDEwcHggMCAyMHB4IDA7XHJcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xyXG5cdG1hcmdpbjogMTVweCAwO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1pbmZvIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtcmVzdGFydC1ub3RpY2Uge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxufVxyXG5cclxuLyogQ2hlY2tib3ggU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cclxuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cge1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGZsZXgtd3JhcDogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogRXhwZXJpbWVudGFsIFNldHRpbmdzICovXHJcbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XHJcblx0bWFyZ2luOiAyMHB4IDA7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcclxuXHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xyXG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0bWFyZ2luOiAxMHB4IDAgMjBweCAwO1xyXG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcclxuXHRtYXJnaW46IDE1cHggMDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtaW5mbyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXJlc3RhcnQtbm90aWNlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXHJcbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIENhdGVnb3JpemVkIHRhYnMgY29udGFpbmVyICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yeSBzZWN0aW9uICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yeSBoZWFkZXIgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1oZWFkZXIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLyogQ2F0ZWdvcnkgdGFicyBjb250YWluZXIgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcbn1cclxuXHJcbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHRncmlkLWF1dG8tcm93czogdmFyKC0tc2l6ZS00LTE4KTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuXHR9XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwcHg7XHJcblx0cmlnaHQ6IC04MHB4O1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xNWRlZyk7XHJcblx0ei1pbmRleDogMDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyOjphZnRlciB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xMGRlZyk7XHJcblx0b3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLyogVGFiIGNvbnRlbnQgc3R5bGluZyAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1pY29uLFxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiBzcGFuLFxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1sYWJlbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIHRhYiBpY29uIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC00KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC00KTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xyXG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgdGFiIGxhYmVsIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuXHRmbGV4OiAxO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBjYXRlZ29yaXplZCB0YWJzICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBMZWdhY3kgdGFiIHN0eWxlcyAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb25zIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uLWljb24ge1xyXG5cdC0taWNvbi1zaXplOiAxNnB4O1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYiBzZWN0aW9uIGhlYWRlciB2aXNpYmlsaXR5IHJ1bGVzICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogSGlkZSBjYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciB3aGVuIGFueSBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXHJcblx0XHQuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlOm5vdChbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxyXG5cdClcclxuLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgdmlzaWJpbGl0eSAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFNob3cgbGVnYWN5IHRhYnMgd2hlbiBnZW5lcmFsIHRhYiBpcyBhY3RpdmUgKGZhbGxiYWNrIGJlaGF2aW9yKSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKC5zZXR0aW5ncy10YWItYWN0aXZlW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcclxuLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG59XHJcblxyXG4vKiBTZXR0aW5ncyBoZWFkZXIgdmlzaWJpbGl0eSAtIGhpZGUgd2hlbiBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncy1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKFxyXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcclxuXHQpXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncy1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEV4cHJlc3Npb24gZXhhbXBsZXMgaW4gc2V0dGluZ3MgKi9cclxuLmV4cHJlc3Npb24tZXhhbXBsZXMge1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtaXRlbSB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7ICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNnB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1jb2RlIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0dXNlci1zZWxlY3Q6IHRleHQ7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtdXNlIHtcclxuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXRleHRhcmVhIHtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctbGFiZWwge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXBsYWNlaG9sZGVyLWluZm8ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWVycm9yLFxyXG4uZXhwcmVzc2lvbi1wcmV2aWV3LWVycm9yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi8qIFx1ODg2OFx1OEZCRVx1NUYwRlx1NzkzQVx1NEY4Qlx1OTg4NFx1ODlDOFx1NjgzN1x1NUYwRiAqL1xyXG4uZXhwcmVzc2lvbi1leGFtcGxlLXByZXZpZXcge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5wcmVzZXQtZmlsdGVycy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5wcmVzZXQtZmlsdGVyLXJvdyB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnByZXNldC1maWx0ZXItcm93OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4ubm8tcHJlc2V0cy1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4ucHJlc2V0LXNhdmVkLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDVweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnRhc2stZmlsdGVyLXNhdmUtcHJlc2V0IHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ubW9kYWwtd29ya2Zsb3ctZGVmaW5pdGlvbiB7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHR3aWR0aDogOTB2dztcclxufVxyXG5cclxuLm1vZGFsLXN0YWdlLWRlZmluaXRpb24ge1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0d2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IHNldHRpbmdzIHBhbmVsIGltcHJvdmVtZW50cyAqL1xyXG4ud29ya2Zsb3ctY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0bWF4LWhlaWdodDogNTAwcHg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1pbmZvIHtcclxuXHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDhweCAwIDAgMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWN5Y2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdGVybWluYWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IG1vZGFsIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctZm9ybSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiBoMiB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdGZvbnQtc2l6ZTogMS4zZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0ZmxleC13cmFwOiB1bnNldDtcclxuXHRnYXA6IHVuc2V0O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbixcclxuLndvcmtmbG93LWNhbmNlbC1idXR0b24sXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4vKiBTdGFnZSBlZGl0aW5nIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZsZXg6IDE7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWVkaXQsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcclxuXHRwYWRkaW5nOiAzcHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXR5cGUtbGluZWFyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlLWN5Y2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS10ZXJtaW5hbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIFN1YnN0YWdlIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xyXG5cdHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpemUtNC02KTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2Utc2V0dGluZ3MtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogU3RhZ2UgZWRpdCBtb2RhbCAqL1xyXG4uc3RhZ2UtdHlwZS1zZXR0aW5ncyB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLnN1YnN0YWdlcy1zZWN0aW9uLFxyXG4uY2FuLXByb2NlZWQtdG8tc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2VzLWNvbnRhaW5lcixcclxuLmNhbi1wcm9jZWVkLXRvLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnN1YnN0YWdlcy1saXN0LFxyXG4uY2FuLXByb2NlZWQtbGlzdCB7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5leHQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA1cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uLFxyXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbjpob3ZlcixcclxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5hZGQtc3Vic3RhZ2UtYnV0dG9uLFxyXG4uYWRkLWNhbi1wcm9jZWVkLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDRweCAxMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5hZGQtY2FuLXByb2NlZWQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5hZGQtY2FuLXByb2NlZWQtc2VsZWN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN0YWdlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3RhZ2Utc2F2ZS1idXR0b24sXHJcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uc3RhZ2UtZXJyb3ItbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IHRhc2sgaW4gZWRpdG9yL3ByZXZpZXcgbW9kZSBzdHlsZXMgKi9cclxuLnRhc2std29ya2Zsb3ctdGFnIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctc3RhZ2Uge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctc3Vic3RhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LWhpc3Rvcnkge1xyXG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LXRpbWVzdGFtcCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBkaXNwbGF5IGVuaGFuY2VtZW50cyAqL1xyXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgc3BhbltjbGFzc149XCJ3b3JrZmxvdy1zdGFnZS1uYW1lLVwiXSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtY3ljbGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS10ZXJtaW5hbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDRweDtcclxufVxyXG5cclxuLyogV29ya2Zsb3dEZWZpbml0aW9uTW9kYWwgaGVhZGVyIGVuaGFuY2VtZW50cyAqL1xyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0cGFkZGluZzogMCAwIDAgMjBweDtcclxuXHRtYXJnaW46IDVweCAwIDEwcHggMDtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogQmV0dGVyIGJ1dHRvbnMgaW4gd29ya2Zsb3cgcGFuZWxzICovXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uLFxyXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSxcclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiA2cHggMTVweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uOmhvdmVyLFxyXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YTpob3ZlcixcclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcclxuLndvcmtmbG93LXN0YWdlLWVkaXQsXHJcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogM3B4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogU3VidGFzayBzdHlsaW5nIGltcHJvdmVtZW50cyAqL1xyXG4uc3Vic3RhZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNnB4IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5uby1zdGFnZXMtbWVzc2FnZSxcclxuLm5vLXdvcmtmbG93cy1tZXNzYWdlLFxyXG4ubm8tc3Vic3RhZ2VzLW1lc3NhZ2UsXHJcbi5uby1jYW4tcHJvY2VlZC1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4vKiBTVEFSVDogUmV3YXJkIFNldHRpbmdzIFN0eWxlcyAqL1xyXG4ucmV3YXJkcy1sZXZlbHMtY29udGFpbmVyLFxyXG4ucmV3YXJkcy1pdGVtcy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyxcclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdy5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlci10b3A6IDA7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wsXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7IC8qIEFsbG93IHdyYXBwaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMTAwcHg7IC8qIEVuc3VyZSByZWFzb25hYmxlIG1pbmltdW0gd2lkdGggKi9cclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5pbnB1dC1jb250YWluZXIge1xyXG5cdC8qIE9ic2lkaWFuIHVzZXMgdGhpcyBjbGFzcyBmb3IgdGV4dC90ZXh0YXJlYSAqL1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAxNTBweDtcclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHRleHRhcmVhIHtcclxuXHR3aWR0aDogMTAwJTsgLyogTWFrZSB0ZXh0YXJlYSB0YWtlIGZ1bGwgd2lkdGggd2l0aGluIGl0cyBjb250YWluZXIgKi9cclxuXHRtaW4taGVpZ2h0OiA0MHB4OyAvKiBFbnN1cmUgaXQncyB0YWxsIGVub3VnaCBmb3IgYSBjb3VwbGUgbGluZXMgKi9cclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmRyb3Bkb3duIHtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbixcclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87IC8qIFB1c2ggZGVsZXRlIGJ1dHRvbiB0byB0aGUgcmlnaHQgKi9cclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1kaXZpZGVyIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyBzZWxlY3QuZHJvcGRvd24ge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4udmlldy1lZGl0LWJ1dHRvbixcclxuLnZpZXctY29weS1idXR0b24sXHJcbi52aWV3LW9yZGVyLWJ1dHRvbixcclxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi52aWV3LWNvcHktYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4udmlldy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHQtLWljb24tc2l6ZTogMTZweDtcclxufVxyXG5cclxuLyogQ29weSBtb2RlIGluZm8gc3R5bGVzICovXHJcbi5jb3B5LW1vZGUtaW5mbyB7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5jb3B5LW1vZGUtaW5mbyBwIHtcclxuXHRtYXJnaW46IDRweCAwO1xyXG59XHJcblxyXG4vKiBUYXNrcyBQbHVnaW4gQ29tcGF0aWJpbGl0eSBXYXJuaW5nIEJhbm5lciAqL1xyXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxyXG5cdFx0dmFyKC0tYWNjZW50LWgpLFxyXG5cdFx0dmFyKC0tYWNjZW50LXMpLFxyXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxyXG5cdFx0MC41XHJcblx0KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IGEge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRleHQgYTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzdHJvbmcge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbiB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpsYXN0LW9mLXR5cGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIFByb2plY3QgQ29uZmlndXJhdGlvbiBTdHlsZXMgKi9cclxuLnByb2plY3QtcGF0aC1tYXBwaW5ncy1jb250YWluZXIsXHJcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmdzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnByb2plY3QtcGF0aC1tYXBwaW5nLXJvdyxcclxuLnByb2plY3QtbWV0YWRhdGEtbWFwcGluZy1yb3cge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ubm8tbWFwcGluZ3MtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLyogVGFzayBQcm9qZWN0IERpc3BsYXkgU3R5bGVzICovXHJcbi50YXNrLXByb2plY3QtdGcge1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdHBhZGRpbmctbGVmdDogNHB4O1xyXG59XHJcblxyXG4udGFzay1wcm9qZWN0LXRnOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDE3XCI7XHJcblx0bWFyZ2luLXJpZ2h0OiAycHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIFByb2plY3QgU3R5bGVzICovXHJcbi5wcm9qZWN0LXJlYWRvbmx5IHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXJlYWRvbmx5IGlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4vKiBEYXRlIGZvcm1hdCBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xyXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0cy1oZWFkZXIge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1saXN0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTBweDtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogNnB4IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0biB7XHJcblx0d2lkdGg6IDI4cHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xyXG5cdHBhZGRpbmc6IDEwcHggMTZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmFjdGl2ZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyBzZWN0aW9uICovXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcclxuXHRmb250LXNpemU6IDFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoLFxyXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XHJcblx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGctaW5kZXgtdGFzay1zb3VyY2Utd3JhcHBlciB7XHJcblx0bWFyZ2luLXRvcDogMThweDtcclxufVxyXG5cclxuLnRnLWluZGV4LXRhc2stc291cmNlLXBhbmVscyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTJweDtcclxufVxyXG5cclxuLnRnLXNvdXJjZS1zZXR0aW5ncy1ib2R5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMnB4O1xyXG59XHJcblxyXG4udGctc291cmNlLXNldHRpbmdzLWJvZHkudGctc291cmNlLWRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjU1O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsICIudGctc3RhdHVzLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMyk7XG5cdG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTItMSkpO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1pY29ucy1jb250YWluZXIgLnRnLXN0YXR1cy1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBHbG9iYWwgRmlsdGVyIENvbnRhaW5lciBTdHlsZXMgKi9cbi5nbG9iYWwtZmlsdGVyLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEZpbGUgVGFzayBkeW5hbWljIGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtbWV0YWRhdGEtZmllbGRzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy10YWdzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy1wYXRocy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMXJlbSAwO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkcy1oZWFkZXIsXG4udGFzay1nZW5pdXMtdGFncy1oZWFkZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWV4YW1wbGVzLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1saXN0LFxuLnRhc2stZ2VuaXVzLXRhZy1saXN0LFxuLnRhc2stZ2VuaXVzLXBhdGgtbGlzdCxcbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbSxcbi50YXNrLWdlbml1cy10YWctaXRlbSxcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW0sXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogMC41cmVtO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWlucHV0LFxuLnRhc2stZ2VuaXVzLXRhZy1pbnB1dCxcbi50YXNrLWdlbml1cy1wYXRoLWlucHV0LFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDAuNHJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy10YWctaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG4sXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZmllbGQtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC10YWctYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC1wYXRoLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIERhdGUgZm9ybWF0IGV4YW1wbGVzIHRhYmxlICovXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpob3ZlciB0ZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIHtcblx0d2lkdGg6IDkwJTtcblx0bWF4LXdpZHRoOiAxNDAwcHg7XG5cdG1heC1oZWlnaHQ6IDkwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWdlbml1cy1pZnJhbWUtbW9kYWwgLm1vZGFsLXRpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnRpbWUtcGFyc2luZy1leGFtcGxlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRpbWVcIl0ge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLmZpbGUtc291cmNlLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mbHVlbnQtdmlldy10YWJzLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLWxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5maWxlLW5hbWUtdGVtcGxhdGVzLWNvbnRhaW5lciBpbnB1dCB7XG5cdGZsZXg6IDE7XG59XG5cbi5maWxlLW5hbWUtdGVtcGxhdGVzLWNvbnRhaW5lciAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBXb3Jrc3BhY2UgSGlkZGVuIE1vZHVsZXMgQ29uZmlndXJhdGlvbiAqL1xuLndvcmtzcGFjZS1oaWRkZW4tbW9kdWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya3NwYWNlLWhpZGRlbi1tb2R1bGVzLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi53b3Jrc3BhY2UtaGlkZGVuLW1vZHVsZXMtdGl0bGUgc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya3NwYWNlLWhpZGRlbi1tb2R1bGVzLWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXBzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmbGV4OiAxO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1ncm91cC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtbGlzdCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWl0ZW0uaXMtaGlkZGVuIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtLmlzLWhpZGRlbjpob3ZlciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZmxleDogMTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtaXRlbS5pcy1oaWRkZW4gLndvcmtzcGFjZS1tb2R1bGUtbGFiZWwge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBXb3Jrc3BhY2UgbGlzdCBpY29uIGluIHNldHRpbmdzICovXG4ud29ya3NwYWNlLW5hbWUtd2l0aC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi53b3Jrc3BhY2UtbGlzdC1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG4iLCAiLyogQmV0YSB0ZXN0IHdhcm5pbmcgYmFubmVyIHN0eWxlcyAqL1xyXG4uYmV0YS10ZXN0LXdhcm5pbmctYmFubmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogMTJweDtcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLmJldGEtd2FybmluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLmJldGEtd2FybmluZy10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctdGV4dCB7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcbiIsICIvKiBTZXR0aW5ncyBTZWFyY2ggQ29tcG9uZW50IFN0eWxlcyAqL1xyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2XHU1QkI5XHU1NjY4IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjgwN1x1NTFDNlx1OEY5M1x1NTE2NVx1Njg0Nlx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcclxuXHRib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0bWluLWhlaWdodDogdmFyKC0taW5wdXQtaGVpZ2h0KTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dC1jb250YWluZXI6Zm9jdXMtd2l0aGluIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xyXG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0LnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcclxuXHRoZWlnaHQ6IHZhcigtLWNsaWNrYWJsZS1pY29uLXNpemUpO1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXhzKTtcclxuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdHotaW5kZXg6IHZhcigtLWxheWVyLXBvcG92ZXIpO1xyXG5cdG1heC1oZWlnaHQ6IDMyMHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTk4NzkgLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU4M0RDXHU1MzU1XHU5ODc5XHU2ODM3XHU1RjBGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6aG92ZXIsXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1N0VEM1x1Njc5Q1x1NTQwRFx1NzlGMCAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTUxNDNcdTRGRTFcdTYwNkYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbWV0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU2M0NGXHU4RkYwICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLyogXHU2NUUwXHU3RUQzXHU2NzlDXHU3MkI2XHU2MDAxICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtbm8tcmVzdWx0IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKiBcdThCQkVcdTdGNkVcdTk4NzlcdTlBRDhcdTRFQUVcdTY1NDhcdTY3OUMgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1oaWdobGlnaHQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMgZWFzZS1vdXQ7XHJcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xyXG5cdDAlIHtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcclxufVxyXG5cclxuLyogXHU1NENEXHU1RTk0XHU1RjBGXHU4QkJFXHU4QkExICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0XHRtYXgtaGVpZ2h0OiAyODBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR9XHJcblxyXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0fVxyXG5cclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1jYXRlZ29yeSB7XHJcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU2RURBXHU1MkE4XHU2NzYxXHU2ODM3XHU1RjBGIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjgwN1x1NTFDNlx1NkVEQVx1NTJBOFx1Njc2MSAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiB2YXIoLS1zY3JvbGxiYXItdGhpbi13aWR0aCk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXNjcm9sbGJhci10aGluLXRodW1iLXJhZGl1cyk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnLWhvdmVyKTtcclxuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBcdTRGRUVcdTU5MERcdTUzRUZcdTgwRkRcdTc2ODQgei1pbmRleCBcdTk1RUVcdTk4OTggKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcclxuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyLCAyMDApO1xyXG59XHJcblxyXG4vKiBcdTc4NkVcdTRGRERcdThGOTNcdTUxNjVcdTY4NDZcdTgwNUFcdTcxMjZcdTY1RjZcdTc2ODRcdTY4MzdcdTVGMEZcdTZCNjNcdTc4NkUgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU1NkZFXHU2ODA3XHU3Njg0XHU0RUE0XHU0RTkyXHU3MkI2XHU2MDAxICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiAudGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBcdTZFMDVcdTk2NjRcdTYzMDlcdTk0QUVcdTc2ODRcdTU2RkVcdTY4MDdcdTY4MzdcdTVGMEYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcbiIsICIvKiBTZXR0aW5ncyBNaWdyYXRpb24gU3R5bGluZyAqL1xyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTZweDtcclxuXHRtYXJnaW46IDEycHggMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xyXG5cdG1hcmdpbjogNHB4IDA7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogTWlncmF0aW9uIFN1Y2Nlc3MgSW5kaWNhdG9yICovXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tYmcpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTZweDtcclxuXHRtYXJnaW46IDEycHggMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC1zdWNjZXNzIC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLyogRmlsZVNvdXJjZSBJbnRlZ3JhdGlvbiBOb3RpY2UgKi9cclxuLmZpbGUtc291cmNlLW5vdGljZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdG1hcmdpbjogOHB4IDA7XHJcbn1cclxuXHJcbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuIiwgIi8qIFdvcmtzcGFjZSBTZXR0aW5ncyBTZWxlY3RvciBTdHlsZXMgKi9cclxuXHJcbi8qIE1haW4gY29udGFpbmVyIGZvciB0aGUgaGVhZGVyIGJhciAqL1xyXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTJweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250YWluZXIgZm9yIHdvcmtzcGFjZSBzZWxlY3RvciAqL1xyXG4udGctd29ya3NwYWNlLXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qIFdvcmtzcGFjZSBzZWxlY3RvciBidXR0b24gKi9cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0bWluLXdpZHRoOiAxNTBweDtcclxuXHRoZWlnaHQ6IDM0cHg7IC8qIE1hdGNoIHNlYXJjaCBiYXIgaGVpZ2h0ICovXHJcbn1cclxuXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b246YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFdvcmtzcGFjZSBpY29uICovXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24gLndvcmtzcGFjZS1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4vKiBXb3Jrc3BhY2UgbmFtZSAqL1xyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4vKiBEcm9wZG93biBhcnJvdyBpY29uICovXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24gLndvcmtzcGFjZS1kcm9wZG93bi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciAud29ya3NwYWNlLWRyb3Bkb3duLWljb24gc3ZnIHtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXHJcbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1heC13aWR0aDogbm9uZTtcclxufVxyXG5cclxuLyogRW5zdXJlIHNlYXJjaCBpbnB1dCBjb250YWluZXIgZmlsbHMgd2lkdGggKi9cclxuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBNYWluIGNvbnRhaW5lciBhZGp1c3RtZW50cyAqL1xyXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogRW5zdXJlIHNlYXJjaCByZXN1bHRzIGFwcGVhciBiZWxvdyB0aGUgaGVhZGVyIGJhciAqL1xyXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIgLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuXHJcbi8qIE1vYmlsZSByZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHRcdGdhcDogOHB4O1xyXG5cdH1cclxuXHJcblx0LndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xyXG5cdH1cclxuXHJcblx0LnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIgLndvcmtzcGFjZS1pY29uIHtcclxuXHR3aWR0aDogdW5zZXQ7XHJcblx0aGVpZ2h0OiB1bnNldDtcclxuXHRjb2xvcjogaW5oZXJpdDtcclxufVxyXG4iLCAiLyogT25ib2FyZGluZyBDb21wb25lbnQgUHJldmlld3MgU3R5bGVzICovXG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UsIC5pbnRyby1saW5lKSAub25ib2FyZGluZy1oZWFkZXIge1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAyKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpXG5cdFx0dmFyKC0tc2l6ZS00LTIpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZsdWVudC1zaWRlYmFyLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2U6aGFzKFxuXHRcdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0XHRcdCsgLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2XG5cdClcblx0LnRnLWZsdWVudC1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIHtcblx0d2lkdGg6IDIwMHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi8qIENvbXBvbmVudCBzaG93Y2FzZSBjb250YWluZXIgKi9cbi5jb21wb25lbnQtc2hvd2Nhc2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtNCkgMDtcblx0bWluLWhlaWdodDogNDAwcHg7XG5cdG1pbi13aWR0aDogOTAlO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcge1xuXHRmbGV4OiAxO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLWRlc2NyaXB0aW9uIGgzIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uY29tcG9uZW50LWZlYXR1cmUtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3QgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIENvbXBvbmVudCBwcmV2aWV3IGFkanVzdG1lbnRzICovXG4uY29tcG9uZW50LXByZXZpZXcge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIFNjYWxlIGRvd24gcHJldmlld3MgdG8gZml0ICovXG4uY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5jb21wb25lbnQtcHJldmlldy1wb3BvdmVyIHtcblx0bWF4LXdpZHRoOiAzNTBweDtcbn1cblxuLyogRGlzYWJsZSBpbnRlcmFjdGlvbnMgaW4gcHJldmlld3MgKi9cbi5jb21wb25lbnQtcHJldmlldyBpbnB1dCxcbi5jb21wb25lbnQtcHJldmlldyBidXR0b24sXG4uY29tcG9uZW50LXByZXZpZXcgLmNsaWNrYWJsZS1pY29uIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogQ29tcG9uZW50IHRhYnMgZm9yIHN3aXRjaGluZyB2aWV3cyAqL1xuLmNvbXBvbmVudC10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmNvbXBvbmVudC10YWIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uY29tcG9uZW50LXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcG9uZW50LXRhYi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBNdWx0aXBsZSBjb21wb25lbnQgc2hvd2Nhc2UgKi9cbi5jb21wb25lbnRzLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuY29tcG9uZW50LXNob3djYXNlIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IHtcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcblx0fVxufVxuXG4vKiBGaWxlIGZpbHRlciBwcmV2aWV3IHN0eWxlcyAqL1xuLmZpbGUtZmlsdGVyLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZpbGUtZmlsdGVyLWNvbmZpZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cy1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5maWx0ZXItc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmlsdGVyLXN0YXQtdmFsdWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2VyKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5maWx0ZXItc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLyogUmVjb21tZW5kZWQgY29uZmlncyAqL1xuLnJlY29tbWVuZGVkLWNvbmZpZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW0ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIGg0IHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW0gcCB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtc2lkZWJhciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBQcmV2aWV3IGludGVyYWN0aXZpdHkgKHNjb3BlZCB0byBwcmV2aWV3IG9ubHkpICovXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcgLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIgLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0sXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcgLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LW5hdmlnYXRpb24taXRlbTpmb2N1cy12aXNpYmxlLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtcHJvamVjdC1pdGVtOmZvY3VzLXZpc2libGUge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4vKiBGb2N1cy9EaW0gbW9kZSBmb3Igc3RlcCBoaWdobGlnaHRzICovXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcuZm9jdXMtbW9kZSAuaXMtZGltbWVkIHtcblx0b3BhY2l0eTogMC41O1xuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxNSUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LmZvY3VzLW1vZGUgLmlzLWZvY3VzZWQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyguZmx1ZW50LXRvcC1uYXZpZ2F0aW9uKTpub3QoXG5cdFx0OmhhcyguY29tcG9uZW50LXByZXZpZXctc2lkZWJhcilcblx0KSB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy5mb2N1cy1tb2RlLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2IHtcblx0ZmxleDogdW5zZXQ7XG5cdGhlaWdodDogbWF4LWNvbnRlbnQ7XG59XG5cbi5mbHVlbnQtdG9wLW5hdmlnYXRpb24uY29tcG9uZW50LXByZXZpZXcuaXMtZm9jdXNlZCB7XG5cdG91dGxpbmU6IHVuc2V0O1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXc6aGFzKFxuXHRcdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyICsgLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2U6aGFzKFxuXHRcdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0XHRcdCsgLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2XG5cdClcblx0LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2IHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5vbmJvYXJkaW5nLWNvbnRlbnQgLnJlc291cmNlcy1zZWN0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCAiLyogUGxhY2VtZW50IFByZXZpZXcgU3R5bGVzICovXHJcblxyXG4ucGxhY2VtZW50LXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcclxuXHRnYXA6IDJweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0aGVpZ2h0OiAxODBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLyogU2lkZWJhcnMgKi9cclxuLnBsYWNlbWVudC1zaWRlYmFyIHtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDJweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC1zaWRlYmFyLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pbmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLyogU2lkZWJhciBpdGVtcyAqL1xyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbSB7XHJcblx0aGVpZ2h0OiA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMXB4O1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbS1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLWluYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRvcGFjaXR5OiAwLjI7XHJcbn1cclxuXHJcbi8qIFJpZ2h0IHNpZGViYXIgaXRlbXMgKHNtYWxsZXIpICovXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLXNtYWxsIHtcclxuXHRoZWlnaHQ6IDVweDtcclxufVxyXG5cclxuLyogQ2VudGVyIGFyZWEgKi9cclxuLnBsYWNlbWVudC1jZW50ZXIge1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2VudGVyLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi8qIFRhYiBiYXIgKi9cclxuLnBsYWNlbWVudC10YWItYmFyIHtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAycHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnBsYWNlbWVudC10YWIge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC10YWItYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4vKiBDb250ZW50IGFyZWEgKi9cclxuLnBsYWNlbWVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDZweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY29udGVudC1saW5lIHtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG4iLCAiLyogRmlsZSBGaWx0ZXIgU2V0dGluZ3MgU3R5bGVzICovXG5cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcblx0cGFkZGluZzogMC43NXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGU6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoLFxuLmZpbGUtZmlsdGVyLXJ1bGUtc2NvcGUsXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS10eXBlIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoIHtcblx0ZmxleDogMTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgbGFiZWwge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDAuMjVyZW07XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlICsgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cyB7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQ6bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5zdGF0LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YXQtdmFsdWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXJyb3Igc3RhdGUgZm9yIHN0YXRpc3RpY3MgKi9cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIC5zdGF0LWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZWZyZXNoIGJ1dHRvbiBzdHlsaW5nICovXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXTpob3ZlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLyogTG9hZGluZyBzdGF0ZSBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgcmVmcmVzaC1zcGluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2Rpc2FibGVkXSAubHVjaWRlLXJlZnJlc2gtY3cge1xuXHRhbmltYXRpb246IHJlZnJlc2gtc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBzbWFsbGVyIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZmlsZS1maWx0ZXItcnVsZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG5cdC5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG5cdC5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHR9XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtcHR5IHN0YXRlIHN0eWxpbmcgKi9cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXI6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiTm8gZmlsdGVyIHJ1bGVzIGNvbmZpZ3VyZWQuIEFkZCBydWxlcyBiZWxvdyB0byBzdGFydCBmaWx0ZXJpbmcgZmlsZXMgYW5kIGZvbGRlcnMuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAycmVtO1xufVxuXG4vKiBQcmVzZXQgdGVtcGxhdGVzIHNlY3Rpb24gKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFByZXNldCBidXR0b24gc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogU3VjY2VzcyBzdGF0ZSBmb3IgYXBwbGllZCBwcmVzZXRzICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZWRpdG9yLW1vZGFsIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0d2lkdGg6IDkwdnc7XG59XG4iLCAiLyogXHU0RTYwXHU2MEVGXHU3RjE2XHU4RjkxXHU1RjM5XHU3QTk3XHU2ODM3XHU1RjBGICovXHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAubW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU3QzdCXHU1NzhCXHU5MDA5XHU2MkU5XHU1NjY4ICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1zZWxlY3RvciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcblx0Z2FwOiAxMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcclxuXHQuaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS10ZXh0IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZGVzYyB7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTkwMUFcdTc1MjhcdTg4NjhcdTUzNTVcdTY4MzdcdTVGMEYgKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jb21tb24tZm9ybSxcclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWZvcm0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi8qIFx1NTZGRVx1NjgwN1x1OTg4NFx1ODlDOCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWljb24tcHJldmlldyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMHB4O1xyXG5cdGhlaWdodDogMzBweDtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcgc3ZnIHtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbi8qIFx1NjYyMFx1NUMwNFx1N0YxNlx1OEY5MVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1rZXkge1xyXG5cdHdpZHRoOiA4MHB4O1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1hcnJvdyB7XHJcblx0bWFyZ2luOiAwIDEwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctdmFsdWUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWRlbGV0ZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi8qIFx1NEU4Qlx1NEVGNlx1N0YxNlx1OEY5MVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50cy1jb250YWluZXIge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGdhcDogNXB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LW5hbWUge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRldGFpbHMge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1wcm9wZXJ0eSB7XHJcblx0d2lkdGg6IDEyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGVsZXRlIHtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0cGFkZGluZzogMCA4cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLWV2ZW50LWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi8qIFx1NjMwOVx1OTRBRVx1NUJCOVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWVkaXQtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNhbmNlbC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtc2F2ZS1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogXHU4RjkzXHU1MTY1XHU1QjU3XHU2QkI1ICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLmhhYml0LWVkaXQtZGlhbG9nIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtZGVzYyxcclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtbmFtZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4iLCAiLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU1QkI5XHU1NjY4ICovXHJcbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmhhYml0LXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy10b3A6IDEycHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogXHU2REZCXHU1MkEwXHU2MzA5XHU5NEFFICovXHJcbi5oYWJpdC1hZGQtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1hZGQtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA2cHg7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaGFiaXQtYWRkLWJ1dHRvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU0RTNBXHU3QTdBXHU3MkI2XHU2MDAxICovXHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xyXG5cdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTk4NzlcdTUyMTdcdTg4NjggKi9cclxuLmhhYml0LWl0ZW1zLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU5ODc5ICovXHJcbi5oYWJpdC1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0aGVpZ2h0OiA3LjVyZW07XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1NkZFXHU2ODA3ICovXHJcbi5oYWJpdC1pdGVtLWljb24ge1xyXG5cdC0taWNvbi1zaXplOiAyMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNDhweDtcclxuXHRoZWlnaHQ6IDQ4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG59XHJcblxyXG4uaGFiaXQtaXRlbS1pY29uIHN2ZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU0RkUxXHU2MDZGICovXHJcbi5oYWJpdC1pdGVtLWluZm8ge1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAwOyAvKiBcdTk2MzJcdTZCNjJcdTUxODVcdTVCQjlcdThGQzdcdTk1N0ZcdTY0OTFcdTVGMDBcdTVFMDNcdTVDNDAgKi9cclxufVxyXG5cclxuLmhhYml0LWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmhhYml0LWl0ZW0tZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmhhYml0LWl0ZW0tdHlwZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTY0Q0RcdTRGNUNcdTYzMDlcdTk0QUUgKi9cclxuLmhhYml0LWl0ZW0tYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDhweDtcclxuXHRtYXJnaW4tbGVmdDogMTJweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtYnV0dG9uLFxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMnB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWJ1dHRvbjpob3ZlcixcclxuLmhhYml0LWRlbGV0ZS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1idXR0b24gc3ZnLFxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHN2ZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTUyMjBcdTk2NjRcdTVCRjlcdThCRERcdTY4NDZcdTY4MzdcdTVGMEYgKi9cclxuLmhhYml0LWRlbGV0ZS1tb2RhbC1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uLWNvbmZpcm0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiIsICIvKiBJQ1MgU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4vKiBNYWluIGNvbnRhaW5lciAqL1xyXG4uaWNzLXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyogSGVhZGVyIHNlY3Rpb24gKi9cclxuLmljcy1oZWFkZXItY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5pY3MtYmFjay1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1iYWNrLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5pY3MtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLyogR2xvYmFsIHNldHRpbmdzICovXHJcbi5pY3MtZ2xvYmFsLXNldHRpbmdzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogU291cmNlcyBsaXN0ICovXHJcbi5pY3Mtc291cmNlcy1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlcy1saXN0IGgzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWl0ZW0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1pdGVtOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtdGl0bGUgc3Ryb25nIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLXN0YXR1cyB7XHJcblx0cGFkZGluZzogMC4zcmVtIDAuOHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cdGZvbnQtc2l6ZTogMC43NWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi5zdGF0dXMtZW5hYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnN0YXR1cy1kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWRldGFpbHMge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1kZXRhaWxzIGRpdiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xyXG59XHJcblxyXG4vKiBBY3Rpb24gYnV0dG9ucyAqL1xyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMXJlbTtcclxufVxyXG5cclxuLnByaW1hcnktYWN0aW9ucyxcclxuLnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246ZGlzYWJsZWQge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZyB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLmVycm9yIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi8qIEFkZCBzb3VyY2UgY29udGFpbmVyICovXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDJyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXI6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC44cmVtIDEuNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxufVxyXG5cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4vKiBUZXN0IGNvbnRhaW5lciAqL1xyXG4uaWNzLXRlc3QtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxufVxyXG5cclxuLmljcy10ZXN0LWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmljcy10ZXN0LWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBFbXB0eSBzdGF0ZSAqL1xyXG4uaWNzLWVtcHR5LXN0YXRlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogM3JlbSAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIE1vZGFsIHN0eWxlcyAqL1xyXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5hdXRoLWZpZWxkIHtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcbn1cclxuXHJcbi5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGRlc2lnbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaWNzLXNvdXJjZS1oZWFkZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0Z2FwOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRnYXA6IDAuNXJlbTtcclxuXHR9XHJcblxyXG5cdC5wcmltYXJ5LWFjdGlvbnMsXHJcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdG1pbi13aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG5cdC5pY3Mtc291cmNlLWl0ZW0ge1xyXG5cdFx0cGFkZGluZzogMXJlbTtcclxuXHR9XHJcblxyXG5cdC5wcmltYXJ5LWFjdGlvbnMsXHJcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBUZXh0IFJlcGxhY2VtZW50cyBTdHlsZXMgKi9cclxuLnRleHQtcmVwbGFjZW1lbnRzLWxpc3Qge1xyXG5cdG1hcmdpbjogMXJlbSAwO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudHMtZW1wdHkge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGU6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIgc3Ryb25nIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMge1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5lbmFibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZGlzYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIGRpdiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1wYXR0ZXJuIHtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXJlcGxhY2VtZW50IHtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC40cmVtIDAuOHJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi8qIFRleHQgUmVwbGFjZW1lbnQgTW9kYWwgU3R5bGVzICovXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDg1dmg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRlc3Qtb3V0cHV0IHtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC44cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi50ZXN0LXJlc3VsdCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogRXhhbXBsZXMgc2VjdGlvbiAqL1xyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCB1bCB7XHJcblx0bWFyZ2luOiAwLjVyZW0gMDtcclxuXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgbGkge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMXJlbSAwLjNyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc3luYyBidXR0b24gKi9cclxuQGtleWZyYW1lcyBzcGluIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG5cdH1cclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZzo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcclxuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwsXHJcbi5pY3Mtc291cmNlLW1vZGFsIHtcclxuXHRtYXgtd2lkdGg6IDEwMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA5MHZoO1xyXG5cclxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQsXHJcbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi8qIFRhc2sgZmlsdGVyIHBhbmVsIHN0eWxlcyAqL1xuLnRhc2stZmlsdGVyLXBhbmVsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1maWx0ZXItYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWZpbHRlci1wYW5lbCA+IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udGFzay1maWx0ZXItdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiBoMyB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bWFyZ2luOiA1cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbjpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gbGFiZWwge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5LFxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWZpbHRlci1yZXNldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQ6Zm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG4iLCAiLmZpbHRlci1ncm91cC1zZXBhcmF0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjpiZWZvcmUsXHJcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGQjlcdTY4NDZcdTk4OUNcdTgyNzIgKi9cclxuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS0yLTEpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi5kcmFnLWhhbmRsZSB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXHJcbi5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cclxuXHQtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xyXG5cdGN1cnNvcjogdmFyKC0tY3Vyc29yKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0bWluLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdG9wYWNpdHk6IHZhcigtLWljb24tb3BhY2l0eS1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmNvbXBhY3QtaW5wdXQsXHJcbi5jb21wYWN0LXNlbGVjdCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcblx0aGVpZ2h0OiB2YXIoLS1pbnB1dC1oZWlnaHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RjkzXHU1MTY1XHU2ODQ2XHU5QUQ4XHU1RUE2XHU1M0Q4XHU5MUNGICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5jb21wYWN0LXNlbGVjdDpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmNvbXBhY3QtdGV4dCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xyXG4uZHJhZ2dpbmctcGxhY2Vob2xkZXIge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXJcclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2MEFDXHU1MDVDXHU4MENDXHU2NjZGXHU4MjcyICovXHJcbn1cclxuXHJcbi8qIFx1NTk4Mlx1Njc5Q1x1OTcwMFx1ODk4MVx1RkYwQ1x1NEUzQVx1OEZDN1x1NkVFNFx1NTY2OFx1N0VDNFx1NEVGNlx1NzY4NFx1NjgzOVx1NUJCOVx1NTY2OFx1OEJCRVx1N0Y2RVx1NjgzN1x1NUYwRiAqL1xyXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4uZmlsdGVyLW1lbnUge1xyXG5cdHotaW5kZXg6IDUwO1xyXG5cdG1pbi13aWR0aDogNjAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cclxuLnJvb3QtZmlsdGVyLXNldHVwLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNzVyZW07IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTMpICovXHJcbn1cclxuXHJcbi8qIFJvb3QgQ29uZGl0aW9uIFNlY3Rpb24gKGRpdi5mbGV4Lml0ZW1zLWNlbnRlci5zcGFjZS14LTIucC0yLmJnLXNsYXRlLTEwMC5yb3VuZGVkLW1kLmJvcmRlci5ib3JkZXItc2xhdGUtMjAwKSAqL1xyXG4ucm9vdC1jb25kaXRpb24tc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtOyAvKiBzcGFjZS14LTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXHJcblx0KTsgLyogYmctc2xhdGUtMTAwICovXHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiByb3VuZGVkLW1kICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XHJcblx0LyogY29tcGFjdC1zZWxlY3QgYWxyZWFkeSBwcm92aWRlcyBiYXNlIHN0eWxpbmcgKi9cclxuXHR3aWR0aDogYXV0bztcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXHJcblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNwYW4ge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cHMgQ29udGFpbmVyICgjZmlsdGVyLWdyb3Vwcy1jb250YWluZXIpICovXHJcbi5maWx0ZXItZ3JvdXBzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MICovXHJcblxyXG5cdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cCAoI2ZpbHRlci1ncm91cC10ZW1wbGF0ZSkgKi9cclxuLmZpbHRlci1ncm91cCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpOyAvKiBwLTMgZnJvbSBIVE1MICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7IC8qIGJnLXdoaXRlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBzcGFjZS15LTIgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjM3NXJlbTsgLyogc3BhY2UteC0xLjUgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBob3Zlcjp0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IC5jb21wYWN0LXRleHQsXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiBzcGFuLmNvbXBhY3QtdGV4dCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmdyb3VwLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuMjVyZW07IC8qIHNwYWNlLXgtMSBmcm9tIEhUTUwgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bixcclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiByb3VuZGVkLW1kIGZyb20gVGFpbHdpbmQgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHRcclxuLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlclxyXG4uc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBob3Zlcjp0ZXh0LWluZGlnby02MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtZXJyb3ItaG92ZXIsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxyXG5cdCk7XHJcbn1cclxuXHJcbi8qIEZpbHRlcnMgTGlzdCAoLmZpbHRlcnMtbGlzdCkgKi9cclxuLmZpbHRlcnMtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpOyAvKiBzcGFjZS15LTEuNSBmcm9tIEhUTUwgKi9cclxuXHRwYWRkaW5nLWxlZnQ6IDFyZW07IC8qIHBsLTQgZnJvbSBIVE1MICovXHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlci1sLTIgYm9yZGVyLXNsYXRlLTIwMCAqL1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7IC8qIG1sLTEuNSBmcm9tIEhUTUwgKi9cclxufVxyXG5cclxuLmZpbHRlcnMtbGlzdDplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogR3JvdXAgRm9vdGVyICguZ3JvdXAtZm9vdGVyKSAqL1xyXG4uZ3JvdXAtZm9vdGVyIHtcclxuXHQvKiBIVE1MOiA8ZGl2IGNsYXNzPVwicGwtNCBtdC0xLjVcIj4gY29udGFpbmluZyBidXR0b24gKi9cclxuXHQvKiBUUyBjcmVhdGVzIC5ncm91cC1mb290ZXIsIHRoZW4gYWRkcyBCdXR0b25Db21wb25lbnQgdG8gaXQuICovXHJcblx0cGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgLyogQ29ycmVzcG9uZHMgdG8gcGwtMS41IGVmZmVjdGl2ZWx5IGlmIGl0ZW1zIGluc2lkZSAuZmlsdGVycy1saXN0IGhhdmUgbWFyZ2luL3BhZGRpbmcgKi9cclxuXHRtYXJnaW4tdG9wOiAwLjM3NXJlbTsgLyogbXQtMS41ICovXHJcbn1cclxuXHJcbi5hZGQtZmlsdGVyLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBJdGVtICgjZmlsdGVyLWl0ZW0tdGVtcGxhdGUpICovXHJcbi5maWx0ZXItaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHQvKiBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcblx0LyogYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAqL1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25qdW5jdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiB0ZXh0LTJ4cyAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7IC8qIGZvbnQtc2VtaWJvbGQgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXHJcblx0YWxpZ24tc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdGZsZXgtYmFzaXM6IDMwJTsgLyogdy0xLzMgKi9cclxuXHRmbGV4LWdyb3c6IDA7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xyXG5cdC8qIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDsgKi9cclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XHJcblx0d2lkdGg6IGF1dG87IC8qIHctYXV0byAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0IHtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIGZsZXgtZ3JvdyAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3ZlcilcclxuXHQpO1xyXG59XHJcblxyXG4vKiBBZGQgRmlsdGVyIEdyb3VwIEJ1dHRvbiBTZWN0aW9uICovXHJcbi5hZGQtZ3JvdXAtc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uYWRkLWZpbHRlci1ncm91cC1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQ29uZmlndXJhdGlvbiBTZWN0aW9uICovXHJcbi5maWx0ZXItY29uZmlnLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0LyogbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xyXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7ICovXHJcblx0LyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cclxufVxyXG5cclxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4sXHJcbi5sb2FkLWZpbHRlci1jb25maWctYnRuIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bi1pY29uLFxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zYXZlLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5sb2FkLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cclxuLmZpbHRlci1jb25maWctZGV0YWlscyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWwpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpIDEwMCVcclxuXHQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlsczpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBoMyB7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctbWV0YSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgMCAwO1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgaDQge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtMi0zKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctc3VtbWFyeSBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWJ1dHRvbnMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1uYW1lLWhpZ2hsaWdodCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogQWR2YW5jZWQgZmlsdGVyIGNvbnRhaW5lciBzdHlsZXMgZm9yIFZpZXdDb25maWdNb2RhbCAqL1xyXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBTbWFsbGVyIHN0eWxpbmcgZm9yIGZpbHRlcnMgaW4gbW9kYWwgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWl0ZW0ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRtaW4taGVpZ2h0OiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3Qtc2VsZWN0LFxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtaW5wdXQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcbn1cclxuIiwgIi8qIFZpZXcgU2V0dGluZ3MgVGFiIFN0eWxlcyAqL1xyXG5cclxuLyogVmlldyBtYW5hZ2VtZW50IGxpc3QgY29udGFpbmVyICovXHJcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMjBweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi8qIFNlY3Rpb24gY29udGFpbmVycyAqL1xyXG4udmlldy1zZWN0aW9uLWNvbnRhaW5lciB7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4vKiBTZWN0aW9uIGhlYWRlcnMgKi9cclxuLnZpZXctc2VjdGlvbi1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi52aWV3LXNlY3Rpb24taGVhZGVyIGg0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udmlldy1zZWN0aW9uLWl0ZW1zLFxyXG4uc29ydGFibGUtdmlld3Mge1xyXG5cdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS12aWV3czplbXB0eTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1lbXB0eS10ZXh0KTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJ0b3BcIl06ZW1wdHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIkRyYWcgdmlld3MgaGVyZSBmb3IgdGhlIHRvcCBzZWN0aW9uXCI7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS12aWV3c1tkYXRhLXJlZ2lvbj1cImJvdHRvbVwiXTplbXB0eTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgYm90dG9tIHNlY3Rpb25cIjtcclxufVxyXG5cclxuLyogVmlldyBpdGVtIHN0eWxlcyAqL1xyXG4udmlldy1pdGVtLFxyXG4uc29ydGFibGUtdmlldy1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogbW92ZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udmlldy1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIERyYWcgaGFuZGxlIHN0eWxlcyAqL1xyXG4udmlldy1kcmFnLWhhbmRsZSB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnZpZXctZHJhZy1oYW5kbGU6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBpY29uICovXHJcbi52aWV3LWl0ZW0taWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBpbmZvICovXHJcbi52aWV3LWl0ZW0taW5mbyB7XHJcblx0ZmxleDogMTtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLnZpZXctaXRlbS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4udmlldy1pdGVtLXR5cGUge1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBhY3Rpb25zICovXHJcbi52aWV3LWl0ZW0tYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnZpZXctYWN0aW9uLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi52aWV3LWFjdGlvbi1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi52aWV3LWFjdGlvbi1kZWxldGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS1kcmFnIHtcclxuXHRvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uc29ydGFibGUtY2hvc2VuIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG59XHJcbiIsICIvKiBNQ1AgSW50ZWdyYXRpb24gU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4vKiBTdGF0dXMgQ29udGFpbmVyICovXHJcbi5tY3Atc3RhdHVzLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLm1jcC1zdGF0dXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi5tY3Atc3RhdHVzLWluZGljYXRvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDEuMDVlbTtcclxufVxyXG5cclxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yLnJ1bm5pbmcgLnN0YXR1cy1kb3Qge1xyXG4gICAgY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTtcclxufVxyXG5cclxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yLnN0b3BwZWQgLnN0YXR1cy1kb3Qge1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxufVxyXG5cclxuLm1jcC1zdGF0dXMtZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAyNHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxufVxyXG5cclxuLyogQ2xpZW50IENvbmZpZ3VyYXRpb24gKi9cclxuLm1jcC1jb25maWctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5tY3AtY2xpZW50LXNlY3Rpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1oZWFkZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1oZWFkZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEFycm93IGljb24gZm9yIGNvbGxhcHNpYmxlIHNlY3Rpb25zICovXHJcbi5tY3AtYXJyb3cge1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubWNwLWFycm93IHN2ZyB7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIHN0cm9rZS13aWR0aDogMjtcclxufVxyXG5cclxuLm1jcC1hcnJvdy5leHBhbmRlZCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuXHJcbi5tY3AtY2xpZW50LW5hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5tY3AtY2xpZW50LWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tY3AtY2xpZW50LWNvbnRlbnQuZXhwYW5kZWQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWJsb2NrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTZweCA2MHB4IDE2cHggMTZweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LXNpemU6IDAuODVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKSB2YXIoLS1zY3JvbGxiYXItYmcpO1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1jb2RlIGNvZGUge1xyXG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWJnKTtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWFjdGl2ZS10aHVtYi1iZyk7XHJcbn1cclxuXHJcbi8qIENvcHkgQnV0dG9ucyAqL1xyXG4ubWNwLWNvcHktYnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAxMnB4O1xyXG4gICAgcmlnaHQ6IDEycHg7XHJcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4ubWNwLWNvcHktYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcblxyXG4ubWNwLWNvcHktYnRuLmNvcGllZCB7XHJcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogQXV0aGVudGljYXRpb24gTWV0aG9kcyBMaXN0ICovXHJcbi5tY3AtYXV0aC1tZXRob2RzIHtcclxuICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLm1jcC1hdXRoLWxpc3Qge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxuLm1jcC1hdXRoLWxpc3QgbGkge1xyXG4gICAgbWFyZ2luOiA4cHggMDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5tY3AtYXV0aC1saXN0IGNvZGUge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcclxuICAgIHBhZGRpbmc6IDJweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcclxufVxyXG5cclxuLyogVG9rZW4gSW5wdXQgKi9cclxuLm1jcC10b2tlbi1pbnB1dCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4vKiBBUEkgRG9jdW1lbnRhdGlvbiAqL1xyXG4ubWNwLWRvY3MtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5tY3AtZG9jcy1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5tY3AtZG9jcy1zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogRW5kcG9pbnQgQm94ICovXHJcbi5tY3AtZW5kcG9pbnQtYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5tY3AtZW5kcG9pbnQtY29udGVudCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDhweDtcclxufVxyXG5cclxuLm1jcC1lbmRwb2ludC1sYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ubWNwLWVuZHBvaW50LXVybCB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG4gICAgcGFkZGluZzogNnB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xyXG59XHJcblxyXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuIHtcclxuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XHJcbn1cclxuXHJcbi5tY3AtY29weS1lbmRwb2ludC1idG46aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuLmNvcGllZCB7XHJcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVG9vbHMgR3JpZCAqL1xyXG4ubWNwLXRvb2xzLWdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcclxuICAgIGdhcDogMTZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuXHJcbi5tY3AtdG9vbC1jYXJkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMTAwJSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tY3AtdG9vbC1jYXJkOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0tdGV4dC1hY2NlbnQpIDEwMCUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLm1jcC10b29sLWNhcmQ6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ubWNwLXRvb2wtY2FyZDpob3Zlcjo6YmVmb3JlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG59XHJcblxyXG4ubWNwLXRvb2wtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubWNwLXRvb2wtaWNvbiB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuICAgIG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLm1jcC10b29sLWljb24gc3ZnIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAyO1xyXG59XHJcblxyXG4ubWNwLXRvb2wtbmFtZSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG4gICAgZm9udC1zaXplOiAwLjg1ZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm94KTtcclxuICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi5tY3AtdG9vbC1kZXNjIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIHBhZGRpbmctbGVmdDogMjhweDtcclxufVxyXG5cclxuLyogRXhhbXBsZSBDb250YWluZXIgKi9cclxuLm1jcC1leGFtcGxlLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG59XHJcblxyXG4vKiBFeGFtcGxlIFRhYnMgKi9cclxuLm1jcC1leGFtcGxlLXRhYnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpIDEwMCUpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS10YWIge1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtdGFiOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMCk7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgaGVpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtdGFiOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLXRhYi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxuICAgIGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLXRhYi5hY3RpdmU6OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIEV4YW1wbGUgQ29kZSAqL1xyXG4ubWNwLWV4YW1wbGUtY29kZS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtYmxvY2suYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb2RlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDI0cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2RlLWJhY2tncm91bmQpIDAlLCByZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjUpIDEwMCUpO1xyXG4gICAgZm9udC1zaXplOiAwLjg1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLWNvZGU6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb2RlIGNvZGUge1xyXG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb3B5LWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDAuODVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLWNvcHktYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjphY3RpdmUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bi5jb3BpZWQge1xyXG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjRzIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzLXJnYiksIDAuMyk7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbnMgKi9cclxuQGtleWZyYW1lcyBjb3B5U3VjY2VzcyB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZSB7XHJcbiAgICAwJSB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSB7IG9wYWNpdHk6IDAuNjsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBhbGwgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cclxuLm1jcC1jbGllbnQtaGVhZGVyLFxyXG4ubWNwLWV4YW1wbGUtdGFiLFxyXG4ubWNwLXRvb2wtY2FyZCxcclxuYnV0dG9uIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIENvZGUgc3ludGF4IGNvbG9ycyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5ICovXHJcbi5tY3AtY29uZmlnLWNvZGUgLmpzb24ta2V5IHtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tc3RyaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLW51bWJlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZSAuanNvbi1ib29sZWFuIHtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5tY3AtdG9vbHMtZ3JpZCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5tY3Atc3RhdHVzLWRldGFpbHMge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1zdWJ0aXRsZSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLyogQ3Vyc29yIE9uZS1DbGljayBJbnN0YWxsIFNlY3Rpb24gKi9cclxuLm1jcC1jdXJzb3ItaW5zdGFsbC1zZWN0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1pbnN0YWxsLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTJweDtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItaW5zdGFsbC1kZXNjIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWluc3RhbGwtbGluayB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rOmhvdmVyIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1hZGRpdGlvbmFsLWJ1dHRvbnMge1xyXG5cdG1hcmdpbi10b3A6IDEycHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcblxyXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0biB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0bi5jb3BpZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1kZWJ1Zy10b2dnbGUge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb250ZW50IHtcclxuXHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1kZWJ1Zy1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogMTJweDtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWw6Zmlyc3QtY2hpbGQge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUgY29kZSB7XHJcblx0Y29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcclxuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuXHJcbi5tY3Atc2VjdGlvbi1zZXBhcmF0b3Ige1xyXG5cdG1hcmdpbjogMjRweCAwO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59IiwgIi8qIFdvcmtmbG93IERlY29yYXRvciBTdHlsZXMgKi9cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciBzcGFuIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBEaWZmZXJlbnQgY29sb3JzIGZvciBkaWZmZXJlbnQgc3RhZ2UgdHlwZXMgKi9cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cInRlcm1pbmFsXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG59XHJcbiIsICIvKiBRdWljayBDYXB0dXJlIEVuaGFuY2VkIFN0eWxlcyAtIHdpdGggc2hhZGNuIHRoZW1lICovXHJcblxyXG46cm9vdCB7XHJcblx0LyogVGFiIGNvbXBvbmVudCBjb2xvcnMgKi9cclxuXHQtLXRnLXRhYi1iYWNrZ3JvdW5kOiAwIDAlIDEwMCU7XHJcblx0LS10Zy10YWItZm9yZWdyb3VuZDogMjQwIDEwJSAzLjklO1xyXG5cdC0tdGctdGFiLW11dGVkOiAyNDAgNC44JSA5NS45JTtcclxuXHQtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kOiAyNDAgMy44JSA0Ni4xJTtcclxuXHQtLXRnLXRhYi1ib3JkZXI6IDI0MCA1LjklIDkwJTtcclxuXHJcblx0LyogUXVpY2sgQ2FwdHVyZSBIZWFkZXIgYmFja2dyb3VuZCAobGlnaHQpICovXHJcblx0LS10Zy1xYy1oZWFkZXItYmc6IDAgMCUgMTAwJTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsge1xyXG5cdC0tdGctdGFiLWJhY2tncm91bmQ6IDI0MCAxMCUgMy45JTtcclxuXHQtLXRnLXRhYi1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcclxuXHQtLXRnLXRhYi1tdXRlZDogMjQwIDMuNyUgMTUuOSU7XHJcblx0LS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZDogMjQwIDUlIDY0LjklO1xyXG5cdC0tdGctdGFiLWJvcmRlcjogMjQwIDMuNyUgMTUuOSU7XHJcblxyXG5cdC8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIGJhY2tncm91bmQgKGRhcmspICovXHJcblx0LS10Zy1xYy1oZWFkZXItYmc6IDI0MCA0JSAxMCU7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIC0gc2hhZGNuIHN0eWxlLCB3aXRoIGN1c3RvbSBiYWNrZ3JvdW5kIGZvciBoZWFkZXIgKi9cclxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEycHggMTZweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcclxuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctcWMtaGVhZGVyLWJnKSk7XHJcbn1cclxuXHJcbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLnF1aWNrLWNhcHR1cmUtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG59XHJcblxyXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5tb2RlbC1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgVGFicyAtIHNoYWRjbiBzdHlsZSAqL1xyXG4ucXVpY2stY2FwdHVyZS10YWJzIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLXRnLXRhYi1tdXRlZCkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRnYXA6IDJweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFiIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItdGV4dCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWI6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItYmFja2dyb3VuZCkpO1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcclxuXHRib3gtc2hhZG93OlxyXG5cdFx0MCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSxcclxuXHRcdDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYnMuaXMtaGlkZGVuIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIFRhYiBCdXR0b24gSWNvbiBhbmQgVGV4dCAtIHNoYWRjbiBzdHlsZSAqL1xyXG4ucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDE0cHg7XHJcblx0aGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWItdGV4dCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBDbGVhciBCdXR0b24gLSBzaGFkY24gc3R5bGUgKi9cclxuLnF1aWNrLWNhcHR1cmUtY2xlYXIge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIGhzbCh2YXIoLS10Zy10YWItYm9yZGVyKSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNsZWFyOmhvdmVyIHtcclxuXHQvKmJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQpKTsqL1xyXG5cdC8qY29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpOyovXHJcblx0Lypib3JkZXItY29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpOyovXHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgQ29udGVudCAqL1xyXG4ucXVpY2stY2FwdHVyZS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIEZvb3RlciAqL1xyXG4ucXVpY2stY2FwdHVyZS1mb290ZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWZvb3Rlci1sZWZ0LFxyXG4ucXVpY2stY2FwdHVyZS1mb290ZXItcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbnRpbnVlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIEZpbGUgTmFtZSBJbnB1dCBDb21wb25lbnQgKi9cclxuLmZpbGUtbmFtZS1pbnB1dC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS1pbnB1dDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS1pbnB1dC13cmFwcGVyIGlucHV0LmZpbGUtbmFtZS1pbnB1dCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS10ZW1wbGF0ZS1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogdmFyKC0tc2l6ZS00LTE4KTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS10ZW1wbGF0ZXMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRlbXBsYXRlcy1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGVtcGxhdGUtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50ZW1wbGF0ZS1idXR0b24ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRlbXBsYXRlLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIE1vZGUtc3BlY2lmaWMgYWRqdXN0bWVudHMgKi9cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwucXVpY2stY2FwdHVyZS1jaGVja2JveCB7XHJcblx0d2lkdGg6IDgwMHB4O1xyXG5cdG1heC13aWR0aDogOTB2dztcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5xdWljay1jYXB0dXJlLWZpbGUge1xyXG5cdHdpZHRoOiA4MDBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcblx0aGVpZ2h0OiA3MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwge1xyXG5cdHdpZHRoOiA2MDBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcblx0aGVpZ2h0OiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIFBhbmVsICovXHJcbi5xdWljay1jYXB0dXJlLXBhbmVsIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBBY3Rpb25zICovXHJcbi5xdWljay1jYXB0dXJlLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIE1vZGFsICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWluLXdpZHRoOiA1MDBweDtcclxuXHRtYXgtaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIFRhcmdldCBEaXNwbGF5ICovXHJcbi5xdWljay1jYXB0dXJlLW1pbmltYWwtdGFyZ2V0LWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1pbmltYWwtdGFyZ2V0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtbGFiZWwge1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQpKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtdmFsdWUge1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLWJhY2tncm91bmQpKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tdGctdGFiLWJvcmRlcikpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBSZW1vdmVkIG1pbmltYWwgbW9kZSBzdHlsZXMgYXMgbWluaW1hbCBVSSBtb2RlIG5vIGxvbmdlciBleGlzdHMgKi9cclxuXHJcbi5xdWljay1hY3Rpb25zLWxlZnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5xdWljay1hY3Rpb25zLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5xdWljay1hY3Rpb24tc2F2ZSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFnLWlucHV0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym90dG9tOiA2MHB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblx0d2lkdGg6IDMwMHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG59XHJcblxyXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgU3VnZ2VzdCAqL1xyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRtaW4taGVpZ2h0OiA0MHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCAuc3VnZ2VzdGlvbi1sYWJlbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIC5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24taWNvbiB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdG1pbi13aWR0aDogMjBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWhlYWRlci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZsZXgtd3JhcDogbm93cmFwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQge1xyXG5cdGZsZXg6IDE7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0dGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtaGludCB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogLTRweDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1maWxlLXN1Z2dlc3Qge1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXN1Ym1pdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGU6aGFzKC5pcy1oaWRkZW4pIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGdhcDogMTBweDtcclxuXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogMTUwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuLyogRnVsbC1mZWF0dXJlZCBtb2RhbCBzdHlsZXMgKi9cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XHJcblx0d2lkdGg6IDgwdnc7XHJcblx0bWF4LXdpZHRoOiA5MDBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRnYXA6IDE2cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcclxuXHRmbGV4OiAxO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWF4LXdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWVkaXRvci1wYW5lbCB7XHJcblx0ZmxleDogMS41O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc2VjdGlvbi10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldC1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwgLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG4vKiBNb2JpbGUgb3B0aW1pemF0aW9uICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xyXG5cdFx0d2lkdGg6IDk1dnc7XHJcblx0fVxyXG5cclxuXHQucXVpY2stY2FwdHVyZS1sYXlvdXQge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuXHRcdG1heC1oZWlnaHQ6IDQwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXHJcbi50YWdzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3OmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFncy1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YWdzLWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFncy1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDRweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi50YWctaW5kZW50IHtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhZy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4udGFnLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFnLWNvdW50IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcbn1cclxuXHJcbi50YWctY2hpbGRyZW4ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFncy10YXNrLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFncy10YXNrLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnRhZ3MtdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFncy10YXNrLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRhZ3MtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XHJcblx0ZmxleDogMTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XHJcbn1cclxuXHJcbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItaGVhZGVyOmhhcygudGFncy1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cclxuLnByb2plY3RzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucHJvamVjdHMtY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnByb2plY3RzLWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4ucHJvamVjdHMtc2lkZWJhci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlci1idG4tZ3JvdXAge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnByb2plY3RzLXRyZWUtdG9nZ2xlLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnByb2plY3RzLXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wcm9qZWN0LWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnByb2plY3QtaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wcm9qZWN0LW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb3VudCB7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRwYWRkaW5nOiAxcHggNnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyB3aGVuIHNob3dpbmcgY29tcGxldGVkL3RvdGFsICovXHJcbi5wcm9qZWN0LWNvdW50LnBhcnRpYWxseS1jb21wbGV0ZWQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5wcm9qZWN0LWNvdW50Lmhhcy1wcm9ncmVzcyB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBzdGF0ZSBvdmVycmlkZXMgKi9cclxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQgLnByb2plY3QtY291bnQuYWxsLWNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItbWFpbi1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnByb2plY3RzLWhlYWRlci10b3Atcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb2plY3RzLWhlYWRlci10b3AtcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgYmFyIHN0eWxlcyBmb3IgUHJvamVjdHMgdmlldyAqL1xyXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA2cHg7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4vKiBBZGp1c3QgdGhlIGV4aXN0aW5nIHByb2dyZXNzIGJhciBzdHlsZXMgd2hlbiB1c2VkIGluIHByb2plY3RzIHZpZXcgKi9cclxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XHJcblx0ZmxleDogMTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLXN0YXR1cyB7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnByb2plY3RzLXRhc2stdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcbn1cclxuXHJcbi8qIFByb2plY3RzIFZpZXcgLSBNb2JpbGUgKi9cclxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1jbG9zZSB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyOmhhcygucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xyXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1oZWFkZXI6aGFzKC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG5cclxuLyogUHJvamVjdCBpbmZvIHBvcG92ZXIgc3R5bGluZyAqL1xyXG4udGctcHJvamVjdC1wb3BvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0cGFkZGluZzogMTBweCAxMnB4O1xyXG5cdG1heC13aWR0aDogNTIwcHg7XHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRnLXByb2plY3QtcHJvcHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxufVxyXG5cclxuLyogRWFjaCByb3c6IGtleSBvbiB0aGUgbGVmdCwgdmFsdWUgb24gdGhlIHJpZ2h0ICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDkwcHgsIDE2MHB4KSAxZnI7XHJcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xyXG5cdGNvbHVtbi1nYXA6IDEwcHg7XHJcblx0cGFkZGluZzogMnB4IDA7XHJcbn1cclxuXHJcbi8qIEtleSBjZWxsICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4vKiBWYWx1ZSBjZWxsICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2Omxhc3QtY2hpbGQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuLyogSW5mbyBidXR0b24gcG9saXNoICovXHJcbi5wcm9qZWN0cy1wcm9wcy1idG4ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLWljb24tc2l6ZSwgMjRweCk7XHJcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcbi5wcm9qZWN0cy1wcm9wcy1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuIiwgIi8qKlxyXG4gKiBQcm9qZWN0IFRyZWUgVmlldyBTdHlsZXNcclxuICovXHJcblxyXG46cm9vdCB7XHJcblx0LyogRGVmYXVsdCB0cmVlIGluZGVudGF0aW9uIHNpemUgcGVyIGxldmVsICovXHJcblx0LS10cmVlLWluZGVudC1zaXplOiAxLjVyZW07XHJcblx0LyogR3VpZGUgbGluZSBjb2xvciAqL1xyXG5cdC0tdHJlZS1ndWlkZS1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBDb250YWluZXIgKi9cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnByb2plY3QtdHJlZSB7XHJcblx0cGFkZGluZzogMC41cmVtIDA7XHJcbn1cclxuXHJcbi8qIFRyZWUgSXRlbSBCYXNlICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdC0tdHJlZS1sZXZlbDogMDsgLyogRGVmYXVsdCBsZXZlbCwgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IGlubGluZSBzdHlsZSAqL1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoY2FsYyh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBTdGF0ZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBUb2dnbGUgQnV0dG9uICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMS41cmVtO1xyXG5cdGhlaWdodDogMS41cmVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGU6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUgc3ZnIHtcclxuXHR3aWR0aDogMC44NzVyZW07XHJcblx0aGVpZ2h0OiAwLjg3NXJlbTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZS1zcGFjZXIge1xyXG5cdHdpZHRoOiAxLjVyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qIEljb24gKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMS4yNXJlbTtcclxuXHRoZWlnaHQ6IDEuMjVyZW07XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBDb250ZW50IFdyYXBwZXIgKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogUHJvamVjdCBOYW1lICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFRhc2sgQ291bnRzICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QsXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtaW4td2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdHBhZGRpbmc6IDAgMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyBmb3IgdHJlZSB2aWV3ICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QucGFydGlhbGx5LWNvbXBsZXRlZCxcclxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLnBhcnRpYWxseS1jb21wbGV0ZWQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGVkIHN0YXRlIGZvciBjb3VudCBiYWRnZXMgaW4gdHJlZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xyXG5cdG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLyogQ2hpbGRyZW4gQ29udGFpbmVyICovXHJcbi5wcm9qZWN0LXRyZWUtY2hpbGRyZW4ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogVHJlZSBndWlkZSBsaW5lcyAob3B0aW9uYWwpICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKSA+IC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiBjYWxjKDAuNXJlbSArICh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkgKyAwLjc1cmVtKTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdHJlZS1ndWlkZS1jb2xvcik7XHJcblx0b3BhY2l0eTogMC4zO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4ge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbjpub3QoLmlzLWV4cGFuZGVkKSB7XHJcblx0bWF4LWhlaWdodDogMDtcclxufVxyXG5cclxuLyogRW1wdHkgU3RhdGUgKi9cclxuLnByb2plY3QtdHJlZS1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi8qIFZpZXcgVG9nZ2xlIEJ1dHRvbiAqL1xyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEuNzVyZW07XHJcblx0aGVpZ2h0OiAxLjc1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHN2ZyB7XHJcblx0d2lkdGg6IDFyZW07XHJcblx0aGVpZ2h0OiAxcmVtO1xyXG59XHJcblxyXG4vKiBNdWx0aS1zZWxlY3QgTW9kZSBJbmRpY2F0b3IgKi9cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XHJcblx0Y29udGVudDogJyc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDAuMjVyZW07XHJcblx0dG9wOiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiAwLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDAuODc1cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjphZnRlciB7XHJcblx0Y29udGVudDogJ1x1MjcxMyc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDAuMjVyZW07XHJcblx0dG9wOiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiAwLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDAuODc1cmVtO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIHRyZWUgZXhwYW5zaW9uICovXHJcbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4gPiAucHJvamVjdC10cmVlLWl0ZW0ge1xyXG5cdGFuaW1hdGlvbjogc2xpZGVEb3duIDAuMTVzIGVhc2U7XHJcbn1cclxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucmV2aWV3LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMjUwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXZpZXctcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucmV2aWV3LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvamVjdCBncm91cCBoZWFkZXJzICovXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nOiA0cHggOHB4IDRweDtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogUHJvamVjdCBpdGVtcyBpbiB0aGUgc2lkZWJhciAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLyogUHJvamVjdHMgd2l0aCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogUHJvamVjdHMgd2l0aG91dCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtOm5vdCguaGFzLXJldmlldy1zZXR0aW5ncykgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWhlYWRlci1jb250ZW50IGgzIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5yZXZpZXctaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnJldmlldy1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDAgOHB4O1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXZpZXctbGFzdC1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1uby1zZXR0aW5ncyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRmlsdGVyIGluZm9ybWF0aW9uICovXG4ucmV2aWV3LWZpbHRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnJldmlldy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5yZXZpZXctZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBSZXZpZXcgYnV0dG9ucyAqL1xuLnJldmlldy1idXR0b24tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bixcbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1lZGl0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5yZXZpZXctZWRpdC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IENvbmZpZ3VyZSBNb2RhbCAqL1xuLnJldmlldy1tb2RhbC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1jdXN0b20tZnJlcXVlbmN5IHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYXN0LXJldmlld2VkIHtcblx0cGFkZGluZzogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24ge1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyOmhhcygucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi50Zy1oYWJpdC1jb21wb25lbnQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMXJlbTsgLyogZ2FwLTQgKi9cclxuXHRwYWRkaW5nOiAxcmVtOyAvKiBwLTQgKi9cclxuXHRoZWlnaHQ6IDEwMCU7IC8qIEFsbG93IHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi8qID09PSBIYWJpdCBMaXN0IENvbnRhaW5lciA9PT0gKi9cclxuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcclxuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFx1NUMwRlx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nOiAwLjVyZW07XHJcblx0XHRnYXA6IDAuNzVyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBcdTRFMkRcdTdCNDlcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgfjc2OHB4ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU1OTI3XHU1QzRGXHU1RTU1XHU4QkJFXHU1OTA3ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRtYXgtd2lkdGg6IDUwMHB4O1xyXG5cdH1cclxufVxyXG4vKiBBZGp1c3QgbWF4LXdpZHRoL2NvbHVtbnMgYmFzZWQgb24gZGVzaXJlZCBsYXlvdXQgKi9cclxuXHJcbi5oYWJpdC1jYXJkLXdyYXBwZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4vKiA9PT0gQ3JlYXRlIEhhYml0IEJ1dHRvbiA9PT0gKi9cclxuLmhhYml0LWNyZWF0ZS1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxufVxyXG5cclxuLyogPT09IEJhc2UgQ2FyZCBTdHlsZXMgPT09ICovXHJcbi5oYWJpdC1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBTdGFuZGFyZCBtZWRpdW0gcmFkaXVzICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGhlYWRlciBhbmQgY29udGVudCAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcbn1cclxuXHJcbi5oYWJpdC1jYXJkIC5jYXJkLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07IC8qIGdhcC0yICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTsgLyogTGFyZ2VyIFVJIGZvbnQgKi9cclxuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aXRsZSB0byB0YWtlIHNwYWNlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBsb25nIG5hbWVzIGJyZWFraW5nIGxheW91dCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1uYW1lLmhhYml0LW5hbWU6aG92ZXIge1xyXG5cdC8qIFNwZWNpZmljaXR5IGZvciBob3ZlciAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07IC8qIENvbnNpc3RlbnQgcGFkZGluZyAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXHJcblx0LyogTGF5b3V0IHNwZWNpZmljcyBkZWZpbmVkIHBlciBjYXJkIHR5cGUgKi9cclxufVxyXG5cclxuLyogPT09IERhaWx5IEhhYml0IENhcmQgPT09ICovXHJcbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xyXG5cdC8qIGJvcmRlci1ib3R0b206IG5vbmU7ICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XHJcblx0LyogU3R5bGUgY29udGFpbmVyIGlmIG5lZWRlZCAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XHJcblx0LS1jaGVja2JveC1zaXplOiAxLjI1cmVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHQvKiBDb250YWlucyBoZWF0bWFwICovXHJcblx0cGFkZGluZzogMHJlbSAxcmVtIDAuNzVyZW07IC8qIEFkanVzdCBwYWRkaW5nIGFyb3VuZCBoZWF0bWFwICovXHJcbn1cclxuXHJcbi8qID09PSBDb3VudCBIYWJpdCBDYXJkID09PSAqL1xyXG4uY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRGVmYXVsdCBtb2JpbGUgbGF5b3V0ICovXHJcblx0Z2FwOiAwLjc1cmVtOyAvKiBBZGp1c3RlZCBnYXAgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xyXG5cdC0taWNvbi1zaXplOiAycmVtO1xyXG5cdGhlaWdodDogNHJlbTsgLyogU2xpZ2h0bHkgc21hbGxlciB0aGFuIGgtMTYgKi9cclxuXHR3aWR0aDogNHJlbTtcclxuXHRhc3BlY3QtcmF0aW86IDE7XHJcblx0cGFkZGluZzogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbGVyIHJhZGl1cyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEuNXJlbTsgLyogRm9yIGljb24gKi9cclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtY2FyZC1uYW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmbGV4LWdyb3c6IDE7XHJcbn1cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8gaDMge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIENvdW50IENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lyogc20gYnJlYWtwb2ludCAqL1xyXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWxpZ24gaXRlbXMgdmVydGljYWxseSAqL1xyXG5cdFx0Z2FwOiAxcmVtO1xyXG5cdH1cclxuXHQuY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtcHJvZ3Jlc3MtYXJlYSB7XHJcblx0XHR3aWR0aDogYXV0bzsgLyogQWxsb3cgaXQgdG8gc2hyaW5rICovXHJcblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvKiBBbGlnbiBwcm9ncmVzcyB0byB0aGUgcmlnaHQgKi9cclxuXHR9XHJcblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xyXG5cdFx0d2lkdGg6IDEwMCU7IC8qIEFsbG93IGhlYXRtYXAgdG8gZGVmaW5lIGl0cyBvd24gd2lkdGggKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qID09PSBTY2hlZHVsZWQgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cclxuXHRnYXA6IDAuNzVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBoZWF0bWFwIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWV2ZW50LWRyb3Bkb3duIHtcclxuXHR3aWR0aDogYXV0bzsgLyogQXV0byB3aWR0aCBkcm9wZG93biAqL1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBTY2hlZHVsZWQgQ2FyZCAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gdG9wICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXHJcblx0XHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGhlYXRtYXAgdG8gdGFrZSBhdmFpbGFibGUgc3BhY2UgKi9cclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTsgLyogU3BhY2UgYmV0d2VlbiBoZWF0bWFwIGFuZCBjb250cm9scyAqL1xyXG5cdH1cclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHRcdHdpZHRoOiBhdXRvOyAvKiBTaHJpbmsgY29udHJvbHMgKi9cclxuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiBjb250cm9scyBsZWZ0ICovXHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gTWFwcGluZyBIYWJpdCBDYXJkID09PSAqL1xyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXHJcblx0Z2FwOiAwLjc1cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjc1cmVtOyAvKiBMYXJnZXIgZW1vamkvdGV4dCAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDEwMHB4OyAvKiBMaW1pdCBidXR0b24gd2lkdGggKi9cclxuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iZyk7XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cclxuXHRtYXgtd2lkdGg6IDIwMHB4OyAvKiBMaW1pdCBzbGlkZXIgd2lkdGggKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgc2xpZGVyIGxhYmVsICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cclxufVxyXG5cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBNYXBwaW5nIENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5ICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogS2VlcCBidXR0b24gYWJvdmUgc2xpZGVyICovXHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiAwLjc1cmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXHJcblx0XHRoZWlnaHQ6IDRyZW07XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHRcdHdpZHRoOiAxMDAlOyAvKiBTbGlkZXIgdGFrZXMgd2lkdGggb2YgY29udHJvbCBhcmVhICovXHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7IC8qIFBpbGwgc2hhcGUgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogRm9yIHRleHQgb3ZlcmxheSAqL1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcclxuXHRtaXgtYmxlbmQtbW9kZTogdW5zZXQ7XHJcbn1cclxuLmhhYml0LXByb2dyZXNzLXRleHQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IGNvbG9yIG9uIGZpbGxlZCBwYXJ0ICovXHJcblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qID09PSBIZWF0bWFwIFN0eWxlcyA9PT0gKi9cclxuLnRnLWhlYXRtYXAtcm9vdCB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cclxuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXHJcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYXRtYXAtY2VsbCB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbCByYWRpdXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNlbGxzIGZyb20gc2hyaW5raW5nICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxyXG5cdCk7IC8qIERlZmF1bHQgYmFja2dyb3VuZCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBCb3JkZXIgZm9yIGJsYW5rL2N1c3RvbSAqL1xyXG59XHJcblxyXG4vKiBIZWF0bWFwIFNoYXBlcyAqL1xyXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XHJcblx0LyogRGVmaW5lZCBieSBzaXplICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC1kb3Qge1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuLyogSGVhdG1hcCBTaXplcyAqL1xyXG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMC43NXJlbTtcclxuXHRoZWlnaHQ6IDAuNzVyZW07XHJcbn1cclxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjRyZW07XHJcblx0aGVpZ2h0OiAxLjRyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn1cclxuXHJcbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjFyZW07XHJcblx0aGVpZ2h0OiAxLjFyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn0gLyogTWFwcGluZy9TY2hlZHVsZWQgKi9cclxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY2VsbCB7XHJcblx0d2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufSAvKiBEYWlseSAqL1xyXG5cclxuLyogSGVhdG1hcCBWYXJpYW50cyAqL1xyXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xyXG5cdC8qIERlZmF1bHQgc3R5bGVzIGFscmVhZHkgc2V0ICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBvbiBmaWxsZWQgKGUuZy4sIGVtb2ppKSAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudDpoYXMoLnBpZS1kb3QtY29udGFpbmVyKSB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiB1bnNldDtcclxufVxyXG5cclxuLyogU3R5bGUgZm9yIGNlbGxzIHdpdGggY3VzdG9tIGNvbnRlbnQgbGlrZSBQaWVEb3Qgb3IgRW1vamkgKi9cclxuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQsXHJcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBVc2UgY2FyZCBiYWNrZ3JvdW5kICovXHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5oYXMtdGV4dC1jb250ZW50IHtcclxuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cclxufVxyXG5cclxuLyogUGllRG90IENvbnRhaW5lciAqL1xyXG4ucGllLWRvdC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnBpZS1kb3QtY29udGFpbmVyIHN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cclxufVxyXG5cclxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiA9PT0gSWNvbnMgUGxhY2Vob2xkZXIgPT09ICovXHJcbi5oYWJpdC1pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Lyogd2lkdGg6IDFlbTsgKi9cclxuXHRoZWlnaHQ6IDFlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuXHQtLWljb24tc2l6ZTogMS41cmVtO1xyXG59XHJcblxyXG4vKiA9PT0gSGFiaXQgQ2hhcnQgTW9kYWwgPT09ICovXHJcbi5oYWJpdC1jaGFydC1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbn1cclxuLmhhYml0LWNoYXJ0LWZpbHRlcnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuIHtcclxuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNnJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uaGFiaXQtY2hhcnQtZmlsdGVycyAuZmlsdGVyLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRnYXA6IDAuNHJlbTtcclxuXHRvdmVyZmxvdy14OiBhdXRvO1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0biB7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bi5zZWxlY3RlZCxcclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4uaGFiaXQtY2hhcnQtaGVhdG1hcCB7XHJcblx0LyogUmV1c2UgdGhlIGhlYXRtYXAgZ3JpZCBzdHlsZXM7IGFsbG93IG92ZXJmbG93ICovXHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG4iLCAiLyogRGVmaW5lIHRoZW1lIHZhcmlhYmxlcyAqL1xyXG46cm9vdCB7XHJcblx0LyogVGFzayBzdGF0dXMgY29sb3JzICovXHJcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcclxuXHQtLXRhc2stZG9pbmctY29sb3I6ICM4MGRlZTU7XHJcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZjlkOTIzO1xyXG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNlYjUzNTM7XHJcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICM5YzI3YjA7IC8qIFBsYW5uZWQgdGFzayBjb2xvciAqL1xyXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzIxOTZmMzsgLyogUXVlc3Rpb24gdGFza3MgKi9cclxuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZjQ0MzM2OyAvKiBJbXBvcnRhbnQgdGFza3MgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmYzEwNzsgLyogU3RhciB0YXNrcyAqL1xyXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzYwN2Q4YjsgLyogUXVvdGUgdGFza3MgKi9cclxuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM3OTU1NDg7IC8qIExvY2F0aW9uIHRhc2tzICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmY5ODAwOyAvKiBCb29rbWFyayB0YXNrcyAqL1xyXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzAwYmNkNDsgLyogSW5mb3JtYXRpb24gdGFza3MgKi9cclxuXHQtLXRhc2staWRlYS1jb2xvcjogIzljMjdiMDsgLyogSWRlYSB0YXNrcyAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNGNhZjUwOyAvKiBQcm9zIHRhc2tzICovXHJcblx0LS10YXNrLWNvbnMtY29sb3I6ICNmNDQzMzY7IC8qIENvbnMgdGFza3MgKi9cclxuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNTcyMjsgLyogRmlyZSB0YXNrcyAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyAqL1xyXG5cdC0tdGFzay13aW4tY29sb3I6ICM2NmJiNmE7IC8qIFdpbiB0YXNrcyAqL1xyXG5cdC0tdGFzay11cC1jb2xvcjogIzRjYWY1MDsgLyogVXAgdGFza3MgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2Y0NDMzNjsgLyogRG93biB0YXNrcyAqL1xyXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjOWU5ZTllOyAvKiBOb3RlIHRhc2tzICovXHJcblx0LS10YXNrLWFtb3VudC1jb2xvcjogIzhiYzM0YTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMDNhOWY0OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzICovXHJcblxyXG5cdC8qIFByb2dyZXNzIGJhciBncmFkaWVudCBjb2xvcnMgLSBsaWdodCB0aGVtZSAqL1xyXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcclxuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xyXG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XHJcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3NztcclxuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcclxuXHJcblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4vKiBEYXJrIHRoZW1lIGNvbG9yIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIHtcclxuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xyXG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzM3OWZhNztcclxuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmZmMxMDc7XHJcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2Y0NDMzNjtcclxuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogI2NlOTNkODsgLyogUGxhbm5lZCB0YXNrIGNvbG9yIGZvciBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjNDJhNWY1OyAvKiBRdWVzdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2VmNTM1MDsgLyogSW1wb3J0YW50IHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmZDU0ZjsgLyogU3RhciB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjOTBhNGFlOyAvKiBRdW90ZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjOGQ2ZTYzOyAvKiBMb2NhdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmZiNzRkOyAvKiBCb29rbWFyayB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMjZjNmRhOyAvKiBJbmZvcm1hdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWlkZWEtY29sb3I6ICNjZTkzZDg7IC8qIElkZWEgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNjZiYjZhOyAvKiBQcm9zIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stY29ucy1jb2xvcjogI2VmNTM1MDsgLyogQ29ucyB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjcwNDM7IC8qIEZpcmUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXdpbi1jb2xvcjogIzgxYzc4NDsgLyogV2luIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stdXAtY29sb3I6ICM2NmJiNmE7IC8qIFVwIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2VmNTM1MDsgLyogRG93biB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLW5vdGUtY29sb3I6ICNiZGJkYmQ7IC8qIE5vdGUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICNhZWQ1ODE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMjliNmY2OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHJcblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xyXG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XHJcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcclxuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xyXG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xyXG5cclxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuIiwgIi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCB7XG5cdHdpZHRoOiBtYXgoNzAlLCA1MDBweCk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IENvbmZpZ3VyYXRpb24gTW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtIHtcblx0LyogQWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHNldHRpbmdzIGluIHRoZSBtb2RhbCAqL1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWxcblx0LnNldHRpbmctaXRlbTpub3QoLnNldHRpbmctaXRlbS1oZWFkaW5nKVxuXHQuc2V0dGluZy1pdGVtLWluZm8ge1xuXHQvKiBFbnN1cmUgbGFiZWxzIGFyZSBhbGlnbmVkIHdlbGwgKi9cblx0d2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LyogRW5zdXJlIHRleHQgaW5wdXRzIHRha2UgYXZhaWxhYmxlIHdpZHRoICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdC8qIFN0eWxlIGRlc2NyaXB0aW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBNYW5hZ2VtZW50IExpc3QgaW4gU2V0dGluZ3MgVGFiICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIGJldHRlciBjb250cm9sICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgbmFtZS9kZXNjcmlwdGlvbiB0byB0YWtlIHVwIHNwYWNlICovXG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdC8qIEtlZXAgY29udHJvbHMgdG9nZXRoZXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gdG9nZ2xlcy9idXR0b25zICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmJ1dHRvbi1jb21wb25lbnQge1xuXHRwYWRkaW5nOiA1cHg7IC8qIFNtYWxsZXIgcGFkZGluZyBmb3IgaWNvbiBidXR0b25zICovXG5cdGhlaWdodDogYXV0bztcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1kZWxldGUtYnV0dG9uIHtcblx0LyogU3R5bGUgYWN0aW9uIGJ1dHRvbnMgKi9cblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxpbmcgZm9yIHRvZ2dsZXMgaW4gdGhlIGxpc3QgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2lucyBpZiBhbnkgKi9cbn1cblxuLyogSWNvbiBQaWNrZXIgTWVudSBTdHlsZXMgKFNjb3BlZCkgKi9cbi50Zy1pY29uLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBvdmVyYWxsIG1lbnUgaGVpZ2h0ICovXG5cdHdpZHRoOiAyNTBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogUHJldmVudCBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIG1heC1oZWlnaHQgY2FsY3VsYXRpb24gZm9yIGZsZXggY2hpbGRyZW4gKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIGludGVybWVkaWF0ZSBjb250YWluZXIgKi9cbi8qIC5ibS1wbHVnaW4taWNvbi1tZW51IC5ibS1tZW51LWNvbnRlbnQgeyBcblx0ZmxleC1ncm93OiAxOyBcblx0b3ZlcmZsb3cteTogYXV0bzsgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi1oZWlnaHQ6IDA7IFxufSAqL1xuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LXNlYXJjaCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBzZWFyY2ggYmFyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtaWNvbnMge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEljb24gbGlzdCB0YWtlcyByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogTWFrZSB0aGUgaWNvbiBsaXN0IHNjcm9sbGFibGUgKi9cblx0bWluLWhlaWdodDogMDsgLyogQ3J1Y2lhbCBmb3IgYWxsb3dpbmcgZmxleCBjaGlsZCB0byBzaHJpbmsgYW5kIHNjcm9sbCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMnB4LCAxZnIpKTtcblx0Z2FwOiA0cHg7XG5cdC8qIFJlbW92ZSBtaW4taGVpZ2h0IHByZXZpb3VzbHkgbmVlZGVkIGZvciBncmlkIGluIGZsZXggKi9cbn1cblxuLyogU2NvcGUgdGhlIGNsaWNrYWJsZSBpY29uICp3aXRoaW4qIHRoZSBtZW51ICovXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBDaGVja2JveCBTdGF0dXMgU3dpdGNoZXIgU3R5bGVzICovXHJcbi50YXNrLXN0YXR1cy13aWRnZXQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS5saXZlLXByZXZpZXctbW9kZSB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRhc2stc3RhdHVzLXdpZGdldCAubGlzdC1idWxsZXQ6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0LW1hcmtlci1jb2xvcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVE9ETyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogRE9JTkcgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi9cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvaW5nLWNvbG9yKTtcclxufVxyXG5cclxuLyogSU4tUFJPR1JFU1Mgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj5cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLyogRE9ORSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwieFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiWFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogQ0FOQ0VMTEVEIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCItXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBTQ0hFRFVMRUQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBRVUVTVElPTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiP1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcXVlc3Rpb24tY29sb3IpO1xyXG59XHJcblxyXG4vKiBJTVBPUlRBTlQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiFcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWltcG9ydGFudC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFNUQVIgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIipcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXN0YXItY29sb3IpO1xyXG59XHJcblxyXG4vKiBRVU9URSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPSdcIiddIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1xdW90ZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIExPQ0FUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJsXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1sb2NhdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEJPT0tNQVJLIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJiXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1ib29rbWFyay1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElORk9STUFUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJpXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElERUEgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIklcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWlkZWEtY29sb3IpO1xyXG59XHJcblxyXG4vKiBQUk9TIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJwXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1wcm9zLWNvbG9yKTtcclxufVxyXG5cclxuLyogQ09OUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiY1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29ucy1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEZJUkUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImZcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWZpcmUtY29sb3IpO1xyXG59XHJcblxyXG4vKiBLRVkgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImtcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWtleS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFdJTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwid1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2std2luLWNvbG9yKTtcclxufVxyXG5cclxuLyogVVAgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXVwLWNvbG9yKTtcclxufVxyXG5cclxuLyogRE9XTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZG93bi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIE5PVEUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIm5cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLW5vdGUtY29sb3IpO1xyXG59XHJcblxyXG4vKiBBTU9VTlQvU0FWSU5HUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiU1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stYW1vdW50LWNvbG9yKTtcclxufVxyXG5cclxuLyogU1BFRUNIIEJVQkJMRSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMVwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMlwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiM1wiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNVwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNlwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiN1wiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stc3BlZWNoLWNvbG9yKTtcclxufVxyXG5cclxuLnRhc2stZmFrZS1idWxsZXQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogNXB4O1xyXG5cdGhlaWdodDogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stZmFrZS1idWxsZXQge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLXN0YXRlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcclxufVxyXG4iLCAiLyogVGFzayBNdWx0aS1TZWxlY3Rpb24gU3R5bGVzICovXHJcblxyXG4vKiBTZWxlY3Rpb24gbW9kZSBpbmRpY2F0b3Igb3ZlcmxheSAqL1xyXG4udGFzay12aWV3LnNlbGVjdGlvbi1tb2RlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50YXNrLXZpZXcuc2VsZWN0aW9uLW1vZGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDMpO1xyXG5cdHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGVkIHRhc2sgaXRlbSBzdHlsaW5nICovXHJcbi50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjE1KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRwYWRkaW5nLWxlZnQ6IDEzcHg7IC8qIENvbXBlbnNhdGUgZm9yIGJvcmRlciAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIGNvdW50IGJhZGdlICovXHJcbi50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdGFuaW1hdGlvbjogc2xpZGVJblVwIDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuXHRmcm9tIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4udGFzay1zZWxlY3Rpb24tYmFkZ2UgLnNlbGVjdGlvbi1jb3VudCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIExvbmcgcHJlc3MgZmVlZGJhY2sgb24gbW9iaWxlICovXHJcbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XHJcblx0LnRhc2staXRlbS5sb25nLXByZXNzLWFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIb3ZlciBlZmZlY3Qgd2hlbiBpbiBzZWxlY3Rpb24gbW9kZSAqL1xyXG4udGFzay12aWV3LnNlbGVjdGlvbi1tb2RlIC50YXNrLWl0ZW06bm90KC50YXNrLWl0ZW0tc2VsZWN0ZWQpOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA4KTtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNSk7XHJcblx0cGFkZGluZy1sZWZ0OiAxNHB4O1xyXG59XHJcblxyXG4vKiBTaGlmdCBrZXkgaW5kaWNhdG9yIChvcHRpb25hbCB2aXN1YWwgZmVlZGJhY2spICovXHJcbi50YXNrLXZpZXcuc2hpZnQta2V5LWFjdGl2ZSAudGFzay1pdGVtIHtcclxuXHRjdXJzb3I6IGNyb3NzaGFpcjtcclxufVxyXG5cclxuLyogQnVsayBvcGVyYXRpb25zIG1lbnUgc3R5bGluZyAqL1xyXG4udGFzay1idWxrLW9wZXJhdGlvbnMtbWVudSB7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLnRhc2stYnVsay1vcGVyYXRpb25zLW1lbnUgLm1lbnUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4udGFzay1idWxrLW9wZXJhdGlvbnMtbWVudSAubWVudS1pdGVtLWljb24ge1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIG1vZGUgZXhpdCBidXR0b24gKi9cclxuLnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogNjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA2cHg7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCBrYmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG59XHJcblxyXG4vKiBUcmVlIHZpZXcgc2VsZWN0aW9uIHN0eWxlcyAqL1xyXG4udHJlZS1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xNSkgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50cmVlLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIC50cmVlLWl0ZW0taW5uZXIge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIERpc2FibGVkIHN0YXRlIGZvciBub24tc2VsZWN0YWJsZSBpdGVtcyAqL1xyXG4udGFzay1pdGVtLnNlbGVjdGlvbi1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0uc2VsZWN0aW9uLWRpc2FibGVkOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIGNoZWNrYm94IHZpc3VhbCAoaWYgYWRkaW5nIGV4cGxpY2l0IGNoZWNrYm94ZXMpICovXHJcbi50YXNrLWl0ZW0tc2VsZWN0aW9uLWNoZWNrYm94IHtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE4cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLXNlbGVjdGVkIC50YXNrLWl0ZW0tc2VsZWN0aW9uLWNoZWNrYm94IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2staXRlbS1zZWxlY3RlZCAudGFzay1pdGVtLXNlbGVjdGlvbi1jaGVja2JveDo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIEZhZGUgaW4vb3V0IGFuaW1hdGlvbnMgZm9yIHNlbGVjdGlvbiBtb2RlICovXHJcbi50YXNrLXNlbGVjdGlvbi1tb2RlLWVudGVyIHtcclxuXHRhbmltYXRpb246IGZhZGVJbiAwLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG4udGFzay1zZWxlY3Rpb24tbW9kZS1leGl0IHtcclxuXHRhbmltYXRpb246IGZhZGVPdXQgMC4ycyBlYXNlLW91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyogTW9iaWxlLXNwZWNpZmljIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0XHRib3R0b206IDcwcHg7IC8qIEFjY291bnQgZm9yIG1vYmlsZSBib3R0b20gbmF2ICovXHJcblx0fVxyXG5cclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4OyAvKiBNb3JlIHByb21pbmVudCBvbiBtb2JpbGUgKi9cclxuXHRcdHBhZGRpbmctbGVmdDogMTJweDtcclxuXHR9XHJcblxyXG5cdC50YXNrLXNlbGVjdGlvbi1leGl0LWhpbnQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBFU0MgaGludCBvbiBtb2JpbGUgKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnRhc2staXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRhc2stc2VsZWN0aW9uLWJhZGdlIHtcclxuXHRib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxufVxyXG5cclxuLyogTGlnaHQgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWxpZ2h0IC50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGhlbWUtbGlnaHQgLnRhc2stc2VsZWN0aW9uLWJhZGdlIHtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLyogQ29tcGFjdCBtb2RlIGFkanVzdG1lbnRzICovXHJcbi50YXNrLXZpZXcuY29tcGFjdC1tb2RlIC50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRwYWRkaW5nLXRvcDogNHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi8qIEFjY2Vzc2liaWxpdHk6IEhpZ2ggY29udHJhc3QgbW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yNSkgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFJlZHVjZSBtb3Rpb24gZm9yIGFjY2Vzc2liaWxpdHkgKi9cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCxcclxuXHQudGFzay1zZWxlY3Rpb24tYmFkZ2UsXHJcblx0LnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCB7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogVGFzayBHZW5pdXMgT25ib2FyZGluZyBTdHlsZXMgKi9cclxuLyogc2hhZGNuIERlc2lnbiBQcmluY2lwbGVzIEFwcGxpZWQgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE1haW4gb25ib2FyZGluZyBzdHlsZXMgLSBzaGFyZWQgYnkgbW9kYWwgYW5kIHZpZXcgKi9cclxuLm9uYm9hcmRpbmctdmlldyB7XHJcblx0LS1kaWFsb2ctd2lkdGg6IDgwMHB4O1xyXG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcclxuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5MHZoO1xyXG5cdC0tb25ib2FyZGluZy1zcGFjaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0LS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHQtLW9uYm9hcmRpbmctdHJhbnNpdGlvbjogYWxsIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblxyXG5cdC8qIHNoYWRjbiBkZXNpZ24gdG9rZW5zICovXHJcblx0LS1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xyXG5cdC0tc2hhZG93LW1kOiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tc2hhZG93LWxnOlxyXG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXNoYWRvdy14bDpcclxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcclxufVxyXG5cclxuLyogTW9kYWwgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGFsLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGFsLWJhY2tncm91bmQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLXJhZGl1cyk7XHJcblx0bWF4LXdpZHRoOiB2YXIoLS1kaWFsb2ctbWF4LXdpZHRoKTtcclxuXHRtYXgtaGVpZ2h0OiB2YXIoLS1kaWFsb2ctbWF4LWhlaWdodCk7XHJcblx0aGVpZ2h0OiA5MHZoO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi8qIFZpZXcgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmlldy1jb250ZW50IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4vKiBIaWRlIG9uYm9hcmRpbmctaGVhZGVyIGlmIG5vIGhlYWRlciBjb250ZW50ICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyOmVtcHR5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXN1YnRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRtaW4taGVpZ2h0OiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGb290ZXIgc2VjdGlvbiAtIE1vZGVybiBkZXNpZ24gKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRib3gtc2hhZG93OiAwIC0ycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4vKiBHbGFzcyBtb3JwaGlzbSBlZmZlY3QgZm9yIG1vZGVybiBsb29rICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLCB0cmFuc3BhcmVudCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBncm91cHMgLSBsZWZ0IGFuZCByaWdodCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5idXR0b25zLWxlZnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYnV0dG9ucy1yaWdodCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBidXR0b24gc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b24ge1xyXG5cdG1pbi1oZWlnaHQ6IDM2cHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogUmlwcGxlIGVmZmVjdCBvbiBidXR0b24gY2xpY2sgKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0d2lkdGggMC42cyxcclxuXHRcdGhlaWdodCAwLjZzO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOmFjdGl2ZTo6YWZ0ZXIge1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogU2V0dGluZ3MgQ2hlY2sgU3RlcCAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4vKiBDdXJyZW50IGNvbmZpZ3VyYXRpb24gY2FyZCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jdXJyZW50LWNhcmQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItdGl0bGUgaDMge1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNhcmQtYm9keSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1jYXJkLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS1jaGVjay1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBBY3Rpb25zIGNvbnRhaW5lciAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi8qIEFjdGlvbiBjYXJkcyAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogU2VsZWN0ZWQgY2FyZCBzdGF0ZSAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZC5pcy1zZWxlY3RlZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSAxMDAlXHJcblx0KTtcclxuXHRib3gtc2hhZG93OlxyXG5cdFx0dmFyKC0tc2hhZG93LW1kKSxcclxuXHRcdDAgMCAwIDNweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3ZlciB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3Zlcjo6YmVmb3JlIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxufVxyXG5cclxuLyogV2l6YXJkIGNhcmQgKHByaW1hcnkpICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi13aXphcmQge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMTAwJVxyXG5cdCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi13aXphcmQ6OmJlZm9yZSB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIEtlZXAgY2FyZCAoc2Vjb25kYXJ5KSAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24ta2VlcCB7XHJcblx0b3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24ta2VlcDpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogQWN0aW9uIGNhcmQgY29udGVudCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMmVtO1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1jb250ZW50IGgzIHtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtY29udGVudCA+IHAge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0zKSAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMCAwIDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1mZWF0dXJlcyBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtZmVhdHVyZXMgLmZlYXR1cmUtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLW5vdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtbm90ZSAubm90ZS1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNvbnRlbnQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogV2VsY29tZSBTdGVwICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAud2VsY29tZS1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlcy1vdmVydmlldyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pY29uIHtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1ub3RlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogVXNlciBMZXZlbCBTZWxlY3Rpb24gKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS44ZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtdGl0bGUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHVsIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5yZWNvbW1lbmRhdGlvbi1iYWRnZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBDb25maWd1cmF0aW9uIFByZXZpZXcgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3ZlcnZpZXcge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc2V0dGluZ3Mge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWZlYXR1cmVzIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy12aWV3cyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtY2hlY2sge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3LW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaTpsYXN0LWNoaWxkIHtcclxuXHRib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctdmFsdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW9wdGlvbnMge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY3VzdG9taXphdGlvbi1ub3RlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm5vdGUtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luOiAwO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLyogQ29uZmlndXJhdGlvbiBDaGFuZ2VzIFByZXZpZXcgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMge1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVwZGF0ZWQtdmlld3MsXHJcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwIDAgdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1ub3RlIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBUYXNrIENyZWF0aW9uIEd1aWRlICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudGFzay1ndWlkZS1pbnRybyB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZ3VpZGUtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWxlZ2VuZCBzbWFsbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5tZXRhZGF0YS1zeW1ib2xzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxyXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGNvZGUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1pbi13aWR0aDogNDBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucHJhY3RpY2UtZmVlZGJhY2sge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tZXJyb3Ige1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24taW5mbyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQ29tcGxldGlvbiBQYWdlICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29tcGxldGlvbi1zdWNjZXNzIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3VjY2Vzcy1pY29uIHtcclxuXHRmb250LXNpemU6IDNlbTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stc2VjdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXN1bW1hcnktY2FyZCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtbnVtYmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNvbnRlbnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNoZWNrIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pY29uIHtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1wb3NpdGl2ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stbmVnYXRpdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3Mge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZS10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lm9uYm9hcmRpbmctdmlldyB7XHJcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcclxuXHRcdC0tZGlhbG9nLW1heC13aWR0aDogOTV2dztcclxuXHRcdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDk1dmg7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQvKiBNb2RlIGFuZCBQbGFjZW1lbnQgU2VsZWN0aW9uIC0gTW9iaWxlIExheW91dCAqL1xyXG5cdC5tb2RlLW9wdGlvbnMsXHJcblx0LnBsYWNlbWVudC1vcHRpb25zIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm1vZGUtY2FyZC1wcmV2aWV3IHtcclxuXHRcdGhlaWdodDogMTAwcHg7XHJcblx0fVxyXG5cclxuXHQucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XHJcblx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0fVxyXG5cclxuXHQubW9kZS1jYXJkLFxyXG5cdC5wbGFjZW1lbnQtY2FyZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0fVxyXG5cclxuXHQvKiBJbnRybyBtb2RlIHNlbGVjdGlvbiAtIE1vYmlsZSBhZGp1c3RtZW50cyAqL1xyXG5cdC5pbnRyby1tb2RlLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMSk7XHJcblx0fVxyXG5cclxuXHQuaW50cm8tdHlwaW5nIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQvKiBGb290ZXIgYWRqdXN0bWVudHMgZm9yIG1vYmlsZSAqL1xyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0XHRmb250LXNpemU6IDAuOWVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzIGZvciBmb290ZXIgKi9cclxuLnRoZW1lLWRhcmsgLnRoZW1lLWRhcmsgLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xyXG5cdGJveC1zaGFkb3c6IDAgLTJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRoZW1lLWRhcmsgLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXI6OmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjIpLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBBbmltYXRpb24gYW5kIFRyYW5zaXRpb25zICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcclxuXHRhbmltYXRpb246IGZhZGVJblVwIDAuM3MgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXAge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XHJcblx0YW5pbWF0aW9uOiBjYXJkU2VsZWN0IDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY2FyZFNlbGVjdCB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBNb2RlIFNlbGVjdGlvbiAtIEZsdWVudCB2cyBMZWdhY3kgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubW9kZS1zZWxlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5tb2RlLW9wdGlvbnMge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWNhcmQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLmlzLXNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtaGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1vZGUtY2FyZC1ib2R5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtcHJldmlldyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDNlbTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm1vZGUtZmx1ZW50IC5tb2RlLWNhcmQtcHJldmlldyB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxyXG5cdCk7XHJcbn1cclxuXHJcbi5tb2RlLWxlZ2FjeSAubW9kZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtZGVzYyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtaW4taGVpZ2h0OiAzZW07XHJcbn1cclxuXHJcbi8qIFNlY3Rpb24gc2hhcmVkIHN0eWxlcyAqL1xyXG4ub25ib2FyZGluZy1zZWN0aW9uLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMjVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNlY3Rpb24tZGVzYyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLm1vZGUtdGlwcyxcclxuLnBsYWNlbWVudC10aXBzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5tb2RlLXRpcHMgcCxcclxuLnBsYWNlbWVudC10aXBzIHAge1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogUGxhY2VtZW50IFNlbGVjdGlvbiAtIFNpZGVsZWF2ZXMgdnMgSW5saW5lICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBsYWNlbWVudC1zZWxlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtb3B0aW9ucyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLmlzLXNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1ib2R5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcclxuXHRoZWlnaHQ6IDEwMHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBWaXN1YWwgcmVwcmVzZW50YXRpb25zIGZvciBwbGFjZW1lbnQgbW9kZXMgKi9cclxuLnBsYWNlbWVudC1zaWRlbGVhdmVzIC5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmciAxZnI7XHJcblx0Z2FwOiA0cHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXByZXZpZXctY29sIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3LWNvbC5wbGFjZW1lbnQtcHJldmlldy1tYWluIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLnBsYWNlbWVudC1pbmxpbmUgLnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3LXNpbmdsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLWRlc2Mge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWluLWhlaWdodDogM2VtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQUktU3R5bGUgSW50cm8gVHlwaW5nIEFuaW1hdGlvbiAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFdyYXBwZXIgdG8gcHJldmVudCBsYXlvdXQgc2hpZnQgKi9cclxuLmludHJvLXR5cGluZy13cmFwcGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQuaW50cm8tdHlwaW5nLXdyYXBwZXIge1xyXG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XHJcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XHJcbn1cclxuXHJcbi5pbnRyby10eXBpbmcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KSB2YXIoLS1zaXplLTQtNCk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmludHJvLWxpbmUge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG4uaW50cm8tbGluZS0xIHtcclxuXHQvKiBcIkhpLFwiIC0gTGFyZ2UgcmVzcG9uc2l2ZSBncmVldGluZyAqL1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgNnZ3LCA1cmVtKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lLTIge1xyXG5cdC8qIFwiVGhhbmsgeW91IGZvciB1c2luZyBUYXNrIEdlbml1c1wiIC0gU2Vjb25kYXJ5IGdyZWV0aW5nICovXHJcblx0Zm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lLTMsXHJcbi5pbnRyby1saW5lLTQge1xyXG5cdC8qIERlc2NyaXB0aW9uIHRleHQgLSBSZXNwb25zaXZlIGJvZHkgdGV4dCAqL1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMnZ3LCAxLjRyZW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNSk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmludHJvLWxpbmUtNCB7XHJcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1oZWFkZXIgPiAuaW50cm8tbGluZS00IHtcclxuXHRwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLyogQUktc3R5bGUgc3RyZWFtaW5nIGNoYXJhY3RlcnMgKi9cclxuLmludHJvLWNoYXIge1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdGZpbHRlcjogYmx1cig0cHgpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0b3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXHJcblx0XHRmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxyXG5cdFx0dHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5pbnRyby1jaGFyLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0ZmlsdGVyOiBibHVyKDBweCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiBTcGFjZSBjaGFyYWN0ZXIgaGFuZGxpbmcgKi9cclxuLmludHJvLWNoYXItc3BhY2Uge1xyXG5cdHdpZHRoOiAwLjI1ZW07XHJcbn1cclxuXHJcbi8qIFN0cmVhbWluZyBjdXJzb3IgdGhhdCBmb2xsb3dzIGNoYXJhY3RlcnMgKi9cclxuLmludHJvLWN1cnNvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAxcHg7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdGFuaW1hdGlvbjogY3Vyc29yQmxpbmsgMXMgaW5maW5pdGU7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY3Vyc29yQmxpbmsge1xyXG5cdDAlLFxyXG5cdDQ5JSB7XHJcblx0XHRvcGFjaXR5OiAwLjc7XHJcblx0fVxyXG5cdDUwJSxcclxuXHQxMDAlIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG59XHJcblxyXG4vKiBDb21wbGV0ZWQgc3RyZWFtIGxpbmUgKi9cclxuLnN0cmVhbS1jb21wbGV0ZSB7XHJcblx0YW5pbWF0aW9uOiBzdHJlYW1Db21wbGV0ZSAwLjNzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHN0cmVhbUNvbXBsZXRlIHtcclxuXHQwJSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0b3BhY2l0eTogMC45NTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLyogRmFkZSBvdXQgYW5pbWF0aW9uIGZvciByZW1vdmluZyBsaW5lcyAqL1xyXG4uaW50cm8tbGluZS1mYWRlb3V0IHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcblx0dHJhbnNpdGlvbjpcclxuXHRcdG9wYWNpdHkgMC41cyBlYXNlLW91dCxcclxuXHRcdHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vKiBNb2RlIHNlbGVjdGlvbiBjb250YWluZXIgdGhhdCBhcHBlYXJzIGFmdGVyIGludHJvIHR5cGluZyAqL1xyXG4uaW50cm8tbW9kZS1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuXHRhbmltYXRpb246IGZhZGVJbkZyb21Cb3R0b20gMC42cyBlYXNlLW91dDtcclxuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkZyb21Cb3R0b20ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIHJlYWRhYmlsaXR5IG9uIGRpZmZlcmVudCB0aGVtZXMgKi9cclxuLnRoZW1lLWRhcmsgLmludHJvLWxpbmUtMSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR0ZXh0LXNoYWRvdzogMCAwIDIwcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmludHJvLWNoYXItdmlzaWJsZSB7XHJcblx0LyogU3VidGxlIGdsb3cgZWZmZWN0IGZvciBkYXJrIHRoZW1lICovXHJcblx0dGV4dC1zaGFkb3c6IDAgMCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSk7XHJcbn1cclxuXHJcbi8qIFNtb290aCBhcHBlYXJhbmNlIGZvciB3aG9sZSB0eXBpbmcgY29udGFpbmVyICovXHJcbi5pbnRyby10eXBpbmcge1xyXG5cdGFuaW1hdGlvbjogZmFkZUluVHlwaW5nIDAuNXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVHlwaW5nIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBUcmFuc2l0aW9uIG1lc3NhZ2UgY29udGFpbmVyICovXHJcbi5pbnRyby10cmFuc2l0aW9uLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1pbi1oZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDgpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wMykgMTAwJVxyXG5cdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2UgLnRyYW5zaXRpb24taWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRhbmltYXRpb246IHNwYXJrbGUgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuLmludHJvLXRyYW5zaXRpb24tbWVzc2FnZSAudHJhbnNpdGlvbi10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BhcmtsZSB7XHJcblx0MCUsXHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHRcdG9wYWNpdHk6IDAuODtcclxuXHR9XHJcbn1cclxuXHJcbi8qIENvbmZpZyBjaGVjayB0eXBpbmcgYW5pbWF0aW9uICovXHJcbi5jb25maWctY2hlY2stdHlwaW5nIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lIHtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS0xIHtcclxuXHQvKiBGaXJzdCBsaW5lIC0gYXR0ZW50aW9uIGdyYWJiZXIgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMi41dncsIDEuOHJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMixcclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMyB7XHJcblx0LyogUHJvZ3Jlc3MgbWVzc2FnZXMgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDJ2dywgMS4zcmVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtcmVzdWx0IHtcclxuXHQvKiBSZXN1bHQgbWVzc2FnZSAtIGhpZ2hsaWdodGVkIGNhcmQgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDEuMXJlbSwgMi4ydncsIDEuNnJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC01KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjAyKSAxMDAlXHJcblx0KTtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtc3VjY2VzcyB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4wOCkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMDIpIDEwMCVcclxuXHQpO1xyXG59XHJcblxyXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS1mcmVzaCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogTmV3IFVJIENvbXBvbmVudHMgKHNoYWRjbiBEZXNpZ24pICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogPT09PT0gU2VsZWN0YWJsZSBDYXJkIENvbXBvbmVudCA9PT09PSAqL1xyXG4uc2VsZWN0YWJsZS1jYXJkcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtNCkgMDtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZHMtY29udGFpbmVyLnVzZXItbGV2ZWwtY2FyZHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cywgdmFyKC0tcmFkaXVzLW0pKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQuaXMtc2VsZWN0ZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtaWNvbiB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtdGl0bGUtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXRpdGxlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtc3VidGl0bGUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1iYWRnZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtYm9keSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtZmVhdHVyZXMgdWwge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTIwMjJcIjtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogY2FsYygtMSAqIHZhcigtLXNpemUtNC0zKSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qID09PT09IEZlYXR1cmUgTGlzdCBDb21wb25lbnQgPT09PT0gKi9cclxuLmZlYXR1cmUtbGlzdCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5mZWF0dXJlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5mZWF0dXJlLWl0ZW0taWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmVhdHVyZS1pdGVtLXRleHQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qID09PT09IEJhZGdlIENvbXBvbmVudCA9PT09PSAqL1xyXG4ub25ib2FyZGluZy1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAxZW07XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2UtZGVmYXVsdCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1iYWRnZS1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWJhZGdlLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2UtaW5mbyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1iYWRnZS1hY2NlbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi8qID09PT09IEFsZXJ0IENvbXBvbmVudCA9PT09PSAqL1xyXG4ub25ib2FyZGluZy1hbGVydCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxyXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1yZWQtcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3IgLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi8qID09PT09IFByb2dyZXNzIERvdHMgQ29tcG9uZW50ID09PT09ICovXHJcbi5wcm9ncmVzcy1kb3RzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdCB7XHJcblx0d2lkdGg6IDhweDtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1kb3QuaXMtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMS41KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdC5pcy1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtZG90LWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcbiIsICIvKiBOb2lzZSBMYXllciBFZmZlY3QgKi9cclxuLnRnLW5vaXNlLWxheWVyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udGctbm9pc2UtbGF5ZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG9wYWNpdHk6IDAuMjU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIHZpZXdCb3g9XCIwIDAgMTkwMSA5NjFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBvcGFjaXR5PVwiMC4yNVwiIGZpbHRlcj1cInVybCglMjNmaWx0ZXIwX25fMV8yKVwiPjxyZWN0IHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbGw9XCIlMjNFRkVGRUZcIi8+PC9nPjxkZWZzPjxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX25fMV8yXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIi8+PGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cInNoYXBlXCIvPjxmZVR1cmJ1bGVuY2UgdHlwZT1cImZyYWN0YWxOb2lzZVwiIGJhc2VGcmVxdWVuY3k9XCIxLjI1IDEuMjVcIiBzdGl0Y2hUaWxlcz1cInN0aXRjaFwiIG51bU9jdGF2ZXM9XCIzXCIgcmVzdWx0PVwibm9pc2VcIiBzZWVkPVwiNTMzOVwiIC8+PGZlQ29sb3JNYXRyaXggaW49XCJub2lzZVwiIHR5cGU9XCJsdW1pbmFuY2VUb0FscGhhXCIgcmVzdWx0PVwiYWxwaGFOb2lzZVwiIC8+PGZlQ29tcG9uZW50VHJhbnNmZXIgaW49XCJhbHBoYU5vaXNlXCIgcmVzdWx0PVwiY29sb3JlZE5vaXNlMVwiPjxmZUZ1bmNBIHR5cGU9XCJkaXNjcmV0ZVwiIHRhYmxlVmFsdWVzPVwiMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCBcIi8+PC9mZUNvbXBvbmVudFRyYW5zZmVyPjxmZUNvbXBvc2l0ZSBvcGVyYXRvcj1cImluXCIgaW4yPVwic2hhcGVcIiBpbj1cImNvbG9yZWROb2lzZTFcIiByZXN1bHQ9XCJub2lzZTFDbGlwcGVkXCIgLz48ZmVGbG9vZCBmbG9vZC1jb2xvcj1cInJnYmEoMCwgMCwgMCwgMC4yNSlcIiByZXN1bHQ9XCJjb2xvcjFGbG9vZFwiIC8+PGZlQ29tcG9zaXRlIG9wZXJhdG9yPVwiaW5cIiBpbjI9XCJub2lzZTFDbGlwcGVkXCIgaW49XCJjb2xvcjFGbG9vZFwiIHJlc3VsdD1cImNvbG9yMVwiIC8+PGZlTWVyZ2UgcmVzdWx0PVwiZWZmZWN0MV9ub2lzZV8xXzJcIj48ZmVNZXJnZU5vZGUgaW49XCJzaGFwZVwiIC8+PGZlTWVyZ2VOb2RlIGluPVwiY29sb3IxXCIgLz48L2ZlTWVyZ2U+PC9maWx0ZXI+PC9kZWZzPjwvc3ZnPicpO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLnRnLW5vaXNlLWxheWVyID4gKiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDI7XHJcbn1cclxuIiwgIi50Zy1jaGFuZ2Vsb2ctdmlldyB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMik7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctaGVhZGVyIGgyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLW1ldGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctbWV0YSBhIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctbWV0YSBhOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWVycm9yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgxLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDIsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMyB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlLCBpbmhlcml0KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgxIHtcclxuXHRmb250LXNpemU6IDEuNjVyZW07XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMiB7XHJcblx0Zm9udC1zaXplOiAxLjM1cmVtO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDI6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC04KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzIHtcclxuXHRmb250LXNpemU6IDEuMTVyZW07XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yKTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxcmVtO1xyXG5cdGhlaWdodDogMXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGZsZXg6IDAgMCBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkJ1ZyBGaXhlc1wiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQsICNlMDZjNzUpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkZlYXR1cmVzXCJdOjpiZWZvcmUsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoM1tkYXRhLWhlYWRpbmdePVwiTmV3XCJdOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWN5YW4sICM1NmI2YzIpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkltcHJvdmVtZW50c1wiXTo6YmVmb3JlLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkVuaGFuY2VtZW50c1wiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci15ZWxsb3csICNkMTlhNjYpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIlBlcmZvcm1hbmNlXCJdOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLCAjOThjMzc5KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMSxcclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMixcclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTYpO1xyXG59XHJcbiIsICIvKiBUaW1lbGluZSBTaWRlYmFyIFZpZXcgU3R5bGVzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1zaWRlYmFyLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcclxuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEhlYWRlciAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAxMDAlXHJcblx0KTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC04KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC04KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuLmlzLWFjdGl2ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBUaW1lbGluZSBDb250ZW50ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXHJcbi50aW1lbGluZS1kYXRlLWdyb3VwOm5vdCguaXMtdG9kYXkpIHtcclxuXHRvcGFjaXR5OiAwLjM7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtOCk7XHJcbn1cclxuXHJcbi8qIERhdGUgR3JvdXBzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXlcclxuLnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLXJlbGF0aXZlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIEV2ZW50cyBMaXN0ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4vKiBUaW1lbGluZSBFdmVudHMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50OmhvdmVyOmhhcygudGltZWxpbmUtZXZlbnQtY2hlY2tib3g6aG92ZXIpIHtcclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWQge1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZFxyXG4udGltZWxpbmUtZXZlbnQtdGV4dCB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBFdmVudCBUaW1lICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0bWluLXdpZHRoOiA0NXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCB0aW1lIGRpc3BsYXkgc3R5bGVzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtc2luZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZSB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAxMDAlKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRhbmltYXRpb246IHN1YnRsZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXHUyM0YxXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLTZweDtcclxuXHRyaWdodDogLTZweDtcclxuXHRmb250LXNpemU6IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRtaW4td2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdHBhZGRpbmc6IDAgNHB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFdoZW4gZHVyYXRpb24gaXMgcHJvdmlkZWQsIHNob3cgaXQgaW5zdGVhZCBvZiB0aGUgaWNvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlW2RhdGEtZHVyYXRpb25dOjphZnRlciB7XHJcblx0Y29udGVudDogYXR0cihkYXRhLWR1cmF0aW9uKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kZWZhdWx0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWdyb3VwIHtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZXh0LWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMTAwJSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdG1pbi13aWR0aDogNjBweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kYXRlLW9ubHkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWluLXdpZHRoOiA2MHB4O1xyXG59XHJcblxyXG4vKiBUaW1lIEdyb3VwIFN0eWxlcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cCB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtY291bnQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtZXZlbnRzIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LnRpbWVsaW5lLWV2ZW50LWdyb3VwZWQ6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLyogRGF0ZS1vbmx5IEV2ZW50cyBTZWN0aW9uICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcblxyXG4vKiBIaWRlIHBlci1ldmVudCB0aW1lIGxhYmVscyBpbnNpZGUgQWxsIGRheSBzZWN0aW9uIGFzIHNhZmV0eSBuZXQgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1zZWN0aW9uIC50aW1lbGluZS1ldmVudCAudGltZWxpbmUtZXZlbnQtdGltZSB7XHJcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS10aXRsZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qIEV2ZW50IENvbnRlbnQgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jaGVja2JveCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94XHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRleHQge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1pY29uIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAxcHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHQge1xyXG5cdGZsZXg6IDE7XHJcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuLyogRXZlbnQgQWN0aW9ucyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQ6aG92ZXJcclxuLnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBRdWljayBJbnB1dCBBcmVhICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogQ29sbGFwc2VkIHN0YXRlICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Z2FwOiAwO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxyXG4ucXVpY2staW5wdXQtaGVhZGVyLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcbi5xdWljay1pbnB1dC1lZGl0b3IsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcclxuLnF1aWNrLWlucHV0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBzdGF0ZXMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1leHBhbmRpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBoZWFkZXIgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtdGl0bGUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9uczpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEV4cGFuZGVkIGhlYWRlciB3aXRoIGNvbGxhcHNlIGJ1dHRvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFJvdGF0ZSBjb2xsYXBzZSBidXR0b24gaWNvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHN2ZyB7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcclxuLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0blxyXG5zdmcge1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10YXJnZXQtaW5mbyB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiA4MHB4O1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGV4dCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3I6Zm9jdXMtd2l0aGluIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWVkaXRvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWZvY3VzZWQge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi5xdWljay1pbnB1dC1lZGl0b3JcclxuLmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG4sXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udHJvbHMge1xyXG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcclxuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XHJcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XHJcblx0XHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFNjcm9sbGJhciBTdHlsaW5nICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0d2lkdGg6IDZweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzdWJ0bGUtcHVsc2Uge1xyXG5cdDAlLCAxMDAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC40KTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogRm9jdXMgTW9kZSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdHRvIGJvdHRvbSxcclxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjcpIDUwJSxcclxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMTAwJVxyXG5cdCk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxyXG4udGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIE1hcmtkb3duIHJlbmRlcmVyIHN0eWxlcyBpbiB0aW1lbGluZSBldmVudHMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2sge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5zdHJvbmcsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmVtLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5jb2RlIHtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmEge1xyXG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmE6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG51bCxcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxubGkge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cclxuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlciBhbGlnbiBjb250ZW50ICovXHJcbn1cclxuXHJcbi5yZXdhcmQtbW9kYWwgLm1vZGFsLXRpdGxlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXdhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgY2VudGVyaW5nICovXHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlIHtcclxuXHRtYXgtd2lkdGg6IDgwJTsgLyogTGltaXQgaW1hZ2Ugd2lkdGggKi9cclxuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXHJcblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9wdGlvbmFsOiBhZGQgc3VidGxlIHNoYWRvdyAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWVycm9yIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXHJcbn1cclxuXHJcbi5yZXdhcmQtc3BhY2VyIHtcclxuXHRoZWlnaHQ6IDIwcHg7IC8qIEFkZCBzb21lIHNwYWNlIGJlZm9yZSB0aGUgYnV0dG9ucyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyB3aXRoaW4gdGhlIG1vZGFsICovXHJcbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgYnV0dG9ucyAqL1xyXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xyXG59XHJcbiIsICIubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcclxufVxyXG5cclxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIudGctbWVudSB7XHJcblx0ei1pbmRleDogMjA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXIge1xyXG5cdHdpZHRoOiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXItbWFya2VyIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xyXG5cdG9wYWNpdHk6IDAuMTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyLW1hcmtlcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZpZWxkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpZWxkLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYmJlZCBJbnRlcmZhY2UgU3R5bGVzICovXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpOyAvKiBBZGp1c3RlZCBmb3IgY29uc2lzdGVuY3kgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XHJcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRW5zdXJlIGNvbnRlbnQgd2l0aGluIHBhbmUgZmxvd3MgdmVydGljYWxseSAqL1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XHJcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvcixcclxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi8qIGZsdWVudCBWaWV3IE1haW4gTGF5b3V0ICovXG4udGFzay1nZW5pdXMtZmx1ZW50LXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50Zy1mbHVlbnQtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udmlldy1jb250ZW50LnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IHtcblx0cGFkZGluZzogMDtcbn1cblxuLnRnLWZsdWVudC1sYXlvdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBTaWRlYmFyIFN0eWxlcyAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAyNjBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mbHVlbnQtc2lkZWJhciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsdWVudC1zaWRlYmFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFdvcmtzcGFjZSBTZWxlY3RvciAqL1xuLndvcmtzcGFjZS1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ud29ya3NwYWNlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ud29ya3NwYWNlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi53b3Jrc3BhY2UtaWNvbiB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLndvcmtzcGFjZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi53b3Jrc3BhY2UtZGV0YWlscyB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi53b3Jrc3BhY2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3Jrc3BhY2UtbGFiZWwge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtzcGFjZS1kcm9wZG93bi1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBOZXcgVGFzayBCdXR0b24gKi9cbmJ1dHRvbi5mbHVlbnQtbmV3LXRhc2stYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGJveC1zaGFkb3c6IHVuc2V0O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbmJ1dHRvbi5mbHVlbnQtbmV3LXRhc2stYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1uZXctdGFzay1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogU2lkZWJhciBDb250ZW50ICovXG4uZmx1ZW50LXNpZGViYXItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDhweCAwO1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRwYWRkaW5nOiA4cHggMDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24gKyAuZmx1ZW50LXNpZGViYXItc2VjdGlvbiB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDRweCAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIgc3BhbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaGVhZGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXNvcnQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXRyZWUtdG9nZ2xlLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC1zb3J0LXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC10cmVlLXRvZ2dsZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBOYXZpZ2F0aW9uIEl0ZW1zICovXG4uZmx1ZW50LW5hdmlnYXRpb24tbGlzdCB7XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSAuZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWJhZGdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUHJvamVjdCBMaXN0ICovXG4uZmx1ZW50LXByb2plY3Qtc2Nyb2xsIHtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmZsdWVudC1hZGQtcHJvamVjdCB7XG5cdG1hcmdpbjogMCA4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yLWRhc2hlZCB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbi1zcGFjZXIge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFRyZWUgaW5kZW50YXRpb24gKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsPVwiMVwiXSB7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWxpc3QuaXMtdHJlZS12aWV3IC5mbHVlbnQtcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIyXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbD1cIjNcIl0ge1xuXHRwYWRkaW5nLWxlZnQ6IDY4cHg7XG59XG5cbi8qIFRyZWUgaGllcmFyY2h5IGxpbmVzIChvcHRpb25hbCAtIGNhbiBiZSBhZGRlZCBsYXRlcikgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA4cHg7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlld1xuXHQuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKTpob3Zlcjo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiBWaXJ0dWFsIHByb2plY3Qgbm9kZXMgKGludGVybWVkaWF0ZSBmb2xkZXJzKSAqL1xuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0b3BhY2l0eTogMC44NTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtY29sb3Ige1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRGlzYWJsZWQgcHJvamVjdCBsaXN0IHN0eWxlcyAtIHVzZWQgd2hlbiBzaG93aW5nIGZ1bGwgcHJvamVjdHMgb3ZlcnZpZXcgKi9cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMC41O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjM7XG5cdHotaW5kZXg6IDE7XG59XG5cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBNYWluIENvbnRhaW5lciAqL1xuLnRnLWZsdWVudC1tYWluLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRvcCBOYXZpZ2F0aW9uICovXG4udGctZmx1ZW50LXRvcC1uYXYge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRoZWlnaHQ6IDU2cHg7XG5cdHBhZGRpbmc6IDAgMjBweDtcblx0Z2FwOiAyMHB4O1xufVxuXG4uZmx1ZW50LW5hdi1sZWZ0IHtcblx0ZmxleDogMCAxIDQwMHB4O1xufVxuXG4uZmx1ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZmxleDogMTtcbn1cblxuLyogQ2VudGVyIE5hdmlnYXRpb24gKi9cbi5mbHVlbnQtbmF2LWNlbnRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLmZsdWVudC12aWV3LXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMnB4O1xufVxuXG4uZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC12aWV3LXRhYi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uZmx1ZW50LXZpZXctdGFiLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmx1ZW50LW5hdi1zZXBhcmF0b3Ige1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1uYXYtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLmZsdWVudC1uYXYtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbi1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogUmlnaHQgTmF2aWdhdGlvbiAqL1xuLmZsdWVudC1uYXYtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi5mbHVlbnQtbmF2LWljb24tYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LW5hdi1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW5vdGlmaWNhdGlvbi1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMnB4O1xuXHRyaWdodDogLTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29udGVudCBBcmVhICovXG4udGctZmx1ZW50LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmJhc2VzLXZpZXcgLnRnLWthbmJhbi1maWx0ZXJzLFxuLnRnLWZsdWVudC1jb250ZW50IC5jb250ZW50LWhlYWRlcixcbi50Zy1mbHVlbnQtY29udGVudCAudGcta2FuYmFuLWZpbHRlcnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBWaWV3LXNwZWNpZmljIHN0eWxlcyAqL1xuLnRnLWZsdWVudC1saXN0LXZpZXcsXG4udGctZmx1ZW50LWthbmJhbi12aWV3LFxuLnRnLWZsdWVudC10cmVlLXZpZXcsXG4udGctZmx1ZW50LWNhbGVuZGFyLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyOm5vdCguaXMtbW9iaWxlLWRyYXdlcikge1xuXHRcdHdpZHRoOiAyMDBweDtcblx0fVxuXG5cdC5mbHVlbnQtbmF2LWNlbnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC5mbHVlbnQtbmF2LWxlZnQgLnNlYXJjaC1pbnB1dC1jb250YWluZXIge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG4vKiBNb2JpbGUtc3BlY2lmaWMgbWVkaWEgcXVlcnkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQvKiBFbnN1cmUgZHJhd2VyIHRha2VzIGFwcHJvcHJpYXRlIHdpZHRoIG9uIHNtYWxsIHNjcmVlbnMgKi9cblx0LnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIHtcblx0XHR3aWR0aDogNzV2dyAhaW1wb3J0YW50O1xuXHRcdG1heC13aWR0aDogMzIwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC8qIE1ha2UgaGFtYnVyZ2VyIGJ1dHRvbiBtb3JlIHByb21pbmVudCBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC1oYW1idXJnZXItYnV0dG9uIHtcblx0XHR3aWR0aDogNDRweDtcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdH1cblxuXHQvKiBBZGp1c3QgdG9wIG5hdmlnYXRpb24gc3BhY2luZyBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC10b3AtbmF2aWdhdGlvbiB7XG5cdFx0cGFkZGluZzogMCAxMnB4O1xuXHR9XG5cblx0LyogSGlkZSB2aWV3IHRhYnMgb24gdmVyeSBzbWFsbCBzY3JlZW5zICovXG5cdC5mbHVlbnQtdmlldy10YWJzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogT3B0aW1pemUgc2VhcmNoIGNvbnRhaW5lciBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE4MHB4KTtcblx0fVxufVxuXG4vKiA9PT09PSBDb2xsYXBzZWQgU2lkZWJhciAoUmFpbCkgPT09PT0gKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR0cmFuc2l0aW9uOlxuXHRcdHdpZHRoIDAuMnMgZWFzZSxcblx0XHRtaW4td2lkdGggMC4ycyBlYXNlLFxuXHRcdG1heC13aWR0aCAwLjJzIGVhc2U7XG59XG5cbi8qIFdoZW4gdGhlIHNpZGViYXIgZWxlbWVudCBpdHNlbGYgaXMgY29sbGFwc2VkICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLWNvbGxhcHNlZCxcblx0LyogT3Igd2hlbiB0aGUgcm9vdCBhZGRzIGEgaGVscGVyIGNsYXNzICovXG4uZmx1ZW50LXNpZGViYXItY29sbGFwc2VkIC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRtYXgtd2lkdGg6IDQ0cHg7XG59XG5cbi8qIFJhaWwgbGF5b3V0ICovXG4uZmx1ZW50LXNpZGViYXItcmFpbCB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCA0cHg7XG59XG5cbi5mbHVlbnQtcmFpbC1idG4ge1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG5cdFx0Y29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmZsdWVudC1yYWlsLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXJhaWwtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qIEFjdGl2ZSBzdGF0ZSBmb3IgcmFpbCBidXR0b25zICovXG4uZmx1ZW50LXJhaWwtYnRuLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWJldGEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1iZXRhOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiYmV0YVwiO1xuXHRmb250LXNpemU6IDAuNDRlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50LWludmVydGVkKTtcblx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdHBhZGRpbmctcmlnaHQ6IDJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRyaWdodDogLTJweDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nLXRvcDogMXB4O1xufVxuXG4vKiA9PT09PSBNb2JpbGUgRHJhd2VyIFN0eWxlcyA9PT09PSAqL1xuLmRyYXdlci1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0ei1pbmRleDogOTk5O1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kcmF3ZXItb3BlbiAuZHJhd2VyLW92ZXJsYXkge1xuXHRvcGFjaXR5OiAxO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLyogTW9iaWxlIGRyYXdlciBzaWRlYmFyICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMjgwcHggIWltcG9ydGFudDtcblx0bWF4LXdpZHRoOiA4NXZ3ICFpbXBvcnRhbnQ7XG5cdG1pbi13aWR0aDogMjgwcHggIWltcG9ydGFudDtcblx0ei1pbmRleDogMTAwMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0Ym94LXNoYWRvdzogNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBXaGVuIGRyYXdlciBpcyBvcGVuICovXG4uZHJhd2VyLW9wZW4gLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBFbnN1cmUgc2lkZWJhciBjb250ZW50IGlzIHZpc2libGUgb24gbW9iaWxlIGV2ZW4gd2hlbiBcImNvbGxhcHNlZFwiICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIgLmZsdWVudC1zaWRlYmFyLmlzLWNvbGxhcHNlZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIaWRlIHJhaWwgbW9kZSBvbiBtb2JpbGUgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciAuZmx1ZW50LXNpZGViYXItcmFpbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBzaWRlYmFyIGNvbnRlbnQgYWRqdXN0bWVudHMgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItaGVhZGVyIHtcblx0cGFkZGluZzogMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogRW5zdXJlIGFsbCBzZWN0aW9ucyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiBjYWxjKFxuXHRcdDEwMHZoIC0gMTUwcHhcblx0KTsgLyogQWNjb3VudCBmb3IgaGVhZGVyIGFuZCBuZXcgdGFzayBidXR0b24gKi9cbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLyogRW5zdXJlIHNlY3Rpb24gaGVhZGVycyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmlzLW1vYmlsZSAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmV3LXRhc2stYnRuIHtcblx0cGFkZGluZzogMTJweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pcy1tb2JpbGUgc3Bhbi5mbHVlbnQtbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRvdWNoLWZyaWVuZGx5IHNpemluZyAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LW5hdmlnYXRpb24taXRlbSxcbi5pcy1tb2JpbGUgLmZsdWVudC1wcm9qZWN0LWl0ZW0sXG4uaXMtbW9iaWxlIC5mbHVlbnQtYWRkLXByb2plY3Qge1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4vKiBBZGp1c3QgbWFpbiBjb250YWluZXIgb24gbW9iaWxlIHdoZW4gZHJhd2VyIGlzIG9wZW4gKi9cbi5kcmF3ZXItb3BlbiAudGctZmx1ZW50LW1haW4tY29udGFpbmVyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEhhbWJ1cmdlciBtZW51IGJ1dHRvbiBmb3IgbW9iaWxlICovXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG5cdFx0Y29sb3IgMC4xNXMgZWFzZTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1oYW1idXJnZXItYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIG9uIG1vYmlsZSB3aGVuIGhhbWJ1cmdlciBpcyBwcmVzZW50ICovXG4uZmx1ZW50LW5hdi1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIEhpZGUgc2lkZWJhciB0b2dnbGUgb24gZGVza3RvcCB3aGVuIGluIG1vYmlsZSBkcmF3ZXIgbW9kZSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyXG5cdH4gLnRnLWZsdWVudC1tYWluLWNvbnRhaW5lclxuXHQuc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgZHJhd2VyIGZyb20gcmlnaHQgKG9wdGlvbmFsIC0gY2FuIGJlIGNvbmZpZ3VyZWQpICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIuZHJhd2VyLXJpZ2h0IHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0Ym94LXNoYWRvdzogLTRweCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmRyYXdlci1vcGVuIC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlci5kcmF3ZXItcmlnaHQge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi52aWV3LWNvbnRlbnQ6aGFzKC50Zy1yaWdodC1kZXRhaWwtdmlldykge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4udGctcmlnaHQtZGV0YWlsLXZpZXcgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTbW9vdGggYW5pbWF0aW9ucyBmb3IgYWxsIHRyYW5zaXRpb25zICovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tTGVmdCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tUmlnaHQge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ub25ib2FyZGluZy1zaGFkb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMCk7XG5cdGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cdHJvdGF0ZTogMzVkZWc7XG5cdHdpZHRoOiAyNjBweDtcblx0dG9wOiAyMDBweDtcblx0aGVpZ2h0OiA0MDBweDtcblx0ZmlsdGVyOiBibHVyKDE1MHB4KTtcblx0YW5pbWF0aW9uOiBzaGFkb3ctc2xpZGUgaW5maW5pdGUgNHMgbGluZWFyIGFsdGVybmF0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgc2hhZG93LXNsaWRlIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMC4yKTtcblx0XHRyaWdodDogMzYwcHg7XG5cdH1cblx0dG8ge1xuXHRcdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMC44KTtcblx0XHRyaWdodDogMTYwcHg7XG5cdH1cbn1cblxuLnZpZXctY29udGVudC50YXNrLWdlbml1cy1mbHVlbnQtdmlldy50YXNrLWdlbml1cy12aWV3IHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuXG5AY29udGFpbmVyICh3aWR0aCA8IDgwMHB4KSB7XG5cdC50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIgYnV0dG9uLmZsdWVudC12aWV3LXRhYi5jbGlja2FibGUtaWNvbiBzcGFuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCAiLyogVGFzayBHZW5pdXMgZmx1ZW50IEVuaGFuY2VkIFN0eWxlcyAtIFNoYWRjbi1pbnNwaXJlZCAqL1xyXG5cclxuLyogPT09PT09PT09PSBCYXNlIFZhcmlhYmxlcyA9PT09PT09PT09ICovXHJcbjpyb290IHtcclxuXHQvKiBTaGFkb3dzICovXHJcblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xyXG5cdC0tdGctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tdGctc2hhZG93LW1kOlxyXG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXRnLXNoYWRvdy1sZzpcclxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXRnLXNoYWRvdy14bDpcclxuXHRcdDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSk7XHJcblxyXG5cdC8qIEFuaW1hdGlvbnMgKi9cclxuXHQtLXRnLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHQtLXRnLXRyYW5zaXRpb24tYmFzZTogMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHQtLXRnLXRyYW5zaXRpb24tc2xvdzogMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHJcblx0LyogQm9yZGVyIHJhZGl1cyAqL1xyXG5cdC0tdGctcmFkaXVzLXNtOiAwLjI1cmVtO1xyXG5cdC0tdGctcmFkaXVzOiAwLjM3NXJlbTtcclxuXHQtLXRnLXJhZGl1cy1tZDogMC41cmVtO1xyXG5cdC0tdGctcmFkaXVzLWxnOiAwLjc1cmVtO1xyXG5cdC0tdGctcmFkaXVzLWZ1bGw6IDk5OTlweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUYXNrIExpc3QgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xyXG4udGFzay1saXN0LWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XHJcbn1cclxuXHJcbi50YXNrLWxpc3Qtd3JhcHBlciB7XHJcblx0bWF4LXdpZHRoOiAxMjAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi50Zy10YXNrLWxpc3QtaXRlbSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stbGlzdC1pdGVtOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLnRnLXRhc2stbGlzdC1pdGVtOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy10YXNrLWxpc3QtaXRlbTpob3Zlcjo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1saXN0LWl0ZW0uaXMtY29tcGxldGVkIHtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4udGFzay1saXN0LWl0ZW0uaXMtb3ZlcmR1ZTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stbGlzdC1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUYXNrIFRyZWUgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xyXG4udGFzay10cmVlLWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtd3JhcHBlciB7XHJcblx0bWF4LXdpZHRoOiAxMjAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0OmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDAuOTVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyNUI2XCI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0LmlzLWV4cGFuZGVkIC50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXRhc2tzIHtcclxuXHRwYWRkaW5nOiAwLjVyZW07XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtaXRlbSB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG5cdG1hcmdpbjogMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtaXRlbTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAxcmVtO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHR3aWR0aDogNHB4O1xyXG5cdGhlaWdodDogNHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBGaWx0ZXIgUGFuZWwgU3R5bGVzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1maWx0ZXItcGFuZWwge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRyaWdodDogLTM4MHB4O1xyXG5cdHRvcDogMDtcclxuXHRib3R0b206IDA7XHJcblx0d2lkdGg6IDM4MHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LXhsKTtcclxuXHR0cmFuc2l0aW9uOiByaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtZmlsdGVyLXBhbmVsLmlzLW9wZW4ge1xyXG5cdHJpZ2h0OiAwO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWhlYWRlciB7XHJcblx0cGFkZGluZzogMS4yNXJlbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5maWx0ZXItcGFuZWwtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1wYW5lbC1jbG9zZSB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWNsb3NlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDEuMjVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcclxufVxyXG5cclxuLmZpbHRlci1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItb3B0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLW9wdGlvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItb3B0aW9uLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItY2hlY2tib3gge1xyXG5cdG1hcmdpbi1yaWdodDogMC43NXJlbTtcclxufVxyXG5cclxuLyogRmlsdGVyIHNwZWNpZmljIHN0eWxlcyAqL1xyXG4uZmlsdGVyLXNlbGVjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLXNlbGVjdDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFncy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xyXG59XHJcblxyXG4uZmlsdGVyLXRhZyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFnLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtZmllbGQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWZpZWxkIHNwYW4ge1xyXG5cdG1pbi13aWR0aDogNTBweDtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtaW5wdXQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNzVyZW07XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyBidXR0b24ge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5wcmlvcml0eS1jb2xvci1kb3Qge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gTG9hZGluZyBTdGF0ZXMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWxvYWRpbmcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRnYXA6IDFyZW07XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtc3Bpbm5lciB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcblx0fVxyXG59XHJcblxyXG4udGctZmx1ZW50LWxvYWRpbmctdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEVtcHR5IFN0YXRlcyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1lbXB0eS1pY29uIHtcclxuXHR3aWR0aDogNjRweDtcclxuXHRoZWlnaHQ6IDY0cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdC0taWNvbi1zaXplOiA0OHB4O1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1lbXB0eS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRtYXgtd2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWFjdGlvbiB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxLjVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWFjdGlvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUb29sdGlwcyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtdG9vbHRpcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbGcpO1xyXG5cdHotaW5kZXg6IDk5OTk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLnRnLWZsdWVudC10b29sdGlwLmlzLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IENhcmRzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbGcpO1xyXG5cdHBhZGRpbmc6IDEuMjVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtY2FyZC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb24ge1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWNhcmQtYWN0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEJ1dHRvbnMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtYnV0dG9uOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0d2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KSxcclxuXHRcdGhlaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XHJcblx0d2lkdGg6IDMwMHB4O1xyXG5cdGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLXByaW1hcnkge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tcHJpbWFyeTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tc2Vjb25kYXJ5IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1naG9zdCB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tZ2hvc3Q6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1kYW5nZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tZGFuZ2VyOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjZGMyNjI2O1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEFuaW1hdGlvbnMgPT09PT09PT09PSAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xyXG5cdGZyb20ge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcclxuXHQwJSxcclxuXHQxMDAlIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHRvcGFjaXR5OiAwLjU7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFJlc3BvbnNpdmUgRGVzaWduID09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG5cdC50YXNrLWxpc3QtY29udGFpbmVyLFxyXG5cdC50YXNrLXRyZWUtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDFyZW07XHJcblx0fVxyXG5cclxuXHQudGctZmx1ZW50LWZpbHRlci1wYW5lbCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHJpZ2h0OiAtMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xyXG5cdC50Zy10YXNrLWxpc3QtaXRlbSB7XHJcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0fVxyXG5cclxuXHQudGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuXHR9XHJcblxyXG5cdC50Zy1mbHVlbnQtY2FyZCB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PSBEYXJrIE1vZGUgQWRqdXN0bWVudHMgPT09PT09PT09PSAqL1xyXG4udGhlbWUtZGFyayB7XHJcblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuNCksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3ctbWQ6XHJcblx0XHQwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjMpO1xyXG5cdC0tdGctc2hhZG93LWxnOlxyXG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjMpO1xyXG5cdC0tdGctc2hhZG93LXhsOlxyXG5cdFx0MCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRnLWZsdWVudC1jYXJkOmhvdmVyLFxyXG4udGhlbWUtZGFyayAudGctdGFzay1saXN0LWl0ZW06aG92ZXIsXHJcbi50aGVtZS1kYXJrIC50YXNrLXRyZWUtcHJvamVjdDpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzpcclxuXHRcdDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpLFxyXG5cdFx0dmFyKC0tdGctc2hhZG93LW1kKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBQcm9ncmVzcyBCYXJzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1wcm9ncmVzcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbjogMC41cmVtIDA7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtcHJvZ3Jlc3MtYmFyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0dHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1wcm9ncmVzcy1iYXI6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0OTBkZWcsXHJcblx0XHR0cmFuc3BhcmVudCxcclxuXHRcdHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcclxuXHRcdHRyYW5zcGFyZW50XHJcblx0KTtcclxuXHRhbmltYXRpb246IHNoaW1tZXIgMnMgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hpbW1lciB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFRhZ3MgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LXRhZyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZy1wcmltYXJ5IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZy1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiAjMTBiOTgxO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6ICMxMGI5ODE7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtdGFnLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6ICNmNTllMGI7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogI2Y1OWUwYjtcclxufVxyXG5cclxuLnRnLWZsdWVudC10YWctZGFuZ2VyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLndvcmtzcGFjZS1uYW1lLXdpdGgtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG4iLCAiLyogVGFzayBHZW5pdXMgZmx1ZW50IENvbnRlbnQgSGVhZGVyIFN0eWxlcyAqL1xyXG5cclxuLyogPT09IENvbnRlbnQgV3JhcHBlciA9PT0gKi9cclxuLnRnLWZsdWVudC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogPT09IENvbnRlbnQgSGVhZGVyID09PSAqL1xyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDEycHggMjBweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWluLWhlaWdodDogNTZweDtcclxuXHRnYXA6IDE2cHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1sZWZ0LXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEycHg7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC50YXNrLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiAycHggOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC1maWx0ZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItaW5wdXQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLXJpZ2h0LXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbixcclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMnB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46aG92ZXIsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmhvdmVyLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46YWN0aXZlLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbjphY3RpdmUsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b246YWN0aXZlIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG4gc3ZnLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbiBzdmcsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi8qID09PSBDb250ZW50IEFyZWEgKHdpdGggaGVhZGVyKSA9PT0gKi9cclxuLnRnLWZsdWVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLyogPT09IFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgPT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0fVxyXG5cclxuXHQuZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItbGVmdC1zZWN0aW9uIHtcclxuXHRcdG1pbi13aWR0aDogYXV0bztcclxuXHR9XHJcblxyXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XHJcblx0XHRvcmRlcjogMztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdH1cclxuXHJcblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHR9XHJcbn1cclxuIiwgIi8qIFByb2plY3QgUG9wb3ZlciBTdHlsZXMgKi9cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRtaW4td2lkdGg6IDMyMHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRhbmltYXRpb246IHBvcG92ZXItZmFkZS1pbiAwLjJzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1pbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3csXG4uZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcblx0YmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBBcnJvdyBwb3NpdGlvbmluZyBmb3IgZGlmZmVyZW50IHBsYWNlbWVudHMgKi9cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0Ym90dG9tOiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0dG9wOiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHRyaWdodDogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdGxlZnQ6IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1oZWFkZXIgaDMge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dC5pcy1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGFuaW1hdGlvbjogc2hha2UgMC4zcztcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0MjUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG5cdH1cblx0NzUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcblx0fVxufVxuXG4uZmx1ZW50LWNvbG9yLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b24ge1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZsdWVudC1idXR0b24tcHJpbWFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIE1vZGFsIFN0eWxlcyB1c2luZyBPYnNpZGlhbiBuYXRpdmUgTW9kYWwgKi9cbi5mbHVlbnQtcHJvamVjdC1tb2RhbCB7XG5cdC8qIE1vZGFsIHdpbGwgdXNlIE9ic2lkaWFuJ3MgZGVmYXVsdCBzdHlsaW5nICovXG59XG5cbi5mbHVlbnQtcHJvamVjdC1tb2RhbCAubW9kYWwtY29udGVudCBoMiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1tb2RhbC1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmZsdWVudC1tb2RhbC1zZWN0aW9uIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtaW5wdXQuaXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRhbmltYXRpb246IHNoYWtlIDAuM3M7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogMTJweDtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b24ge1xuXHR3aWR0aDogNDhweDtcblx0aGVpZ2h0OiA0OHB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtcHJldmlldyB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0tcHJldmlldyAuZmx1ZW50LXByb2plY3QtY29sb3Ige1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLXByZXZpZXcgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWZvb3RlciAuZmx1ZW50LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEwcHggMjRweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLENBQUM7QUFDQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUMsZ0JBQWdCLENBUGhCO0FBUUEsV0FBUztBQUNWO0FBRUEsQ0FBQyxlQUFlLENBWGY7QUFZQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUM7QUFDQSxVQUFRO0FBQ1IsWUFBVTtBQUNYO0FBR0EsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNB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 */