mirror of
https://github.com/taskgenius/taskgenius-plugin.git
synced 2026-07-22 06:40:25 +00:00
- Centralize CSS imports in content.ts component - Add modern.css with updated task item design - Remove task item borders for cleaner appearance - Clean up code formatting (trailing commas) - Update README description text
18456 lines
1.4 MiB
18456 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-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/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/task-list.css */
|
|
.task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0;
|
|
}
|
|
.task-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 8px 16px;
|
|
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/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/modern.css */
|
|
.task-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 8px 16px;
|
|
border-bottom: 1px solid var(--color-base-10);
|
|
cursor: pointer;
|
|
gap: var(--size-2-3);
|
|
min-height: 40px;
|
|
gap: 0;
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.task-list > .task-item {
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.fluent-search-container input[type=search] {
|
|
width: 100%;
|
|
background-color: var(--background-primary-alt);
|
|
height: var(--size-4-8);
|
|
border: unset;
|
|
}
|
|
.search-input-container {
|
|
width: 100%;
|
|
}
|
|
.task-list {
|
|
padding: var(--size-4-2);
|
|
}
|
|
|
|
/* 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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9kYXRlLXBpY2tlci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ZlYXR1cmVzL3Rhc2svZmlsdGVyL2luLXZpZXcvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zdGF0dXMtaW5kaWNhdG9yLmNzcyIsICJzcmMvc3R5bGVzL2lubGluZS1lZGl0b3IuY3NzIiwgInNyYy9zdHlsZXMvdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9wZXJ0eS12aWV3LmNzcyIsICJzcmMvc3R5bGVzL2ZvcmVjYXN0LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyLmNzcyIsICJzcmMvc3R5bGVzL3RhYmxlLmNzcyIsICJzcmMvc3R5bGVzL3F1YWRyYW50L3F1YWRyYW50LmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stdGltZXIuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5nLXYyLmNzcyIsICJzcmMvc3R5bGVzL2JldGEtd2FybmluZy5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5ncy1zZWFyY2guY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3MtbWlncmF0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3dvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci5jc3MiLCAic3JjL3N0eWxlcy9vbmJvYXJkaW5nLWNvbXBvbmVudHMuY3NzIiwgInNyYy9zdHlsZXMvbGF5b3V0LXBsYWNlbWVudC5jc3MiLCAic3JjL3N0eWxlcy9maWxlLWZpbHRlci1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1lZGl0LWRpYWxvZy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1saXN0LmNzcyIsICJzcmMvc3R5bGVzL2ljcy1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwtZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctc2V0dGluZy10YWIuY3NzIiwgInNyYy9zdHlsZXMvbWNwLWludGVncmF0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3dvcmtmbG93LmNzcyIsICJzcmMvc3R5bGVzL3F1aWNrLWNhcHR1cmUuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1saXN0LmNzcyIsICJzcmMvc3R5bGVzL3RyZWUtdmlldy5jc3MiLCAic3JjL3N0eWxlcy9tb2Rlcm4uY3NzIiwgInNyYy9zdHlsZXMvdGFnLXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvamVjdC12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb2plY3QtdHJlZS5jc3MiLCAic3JjL3N0eWxlcy9yZXZpZXctdmlldy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1jb25maWcuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zdGF0dXMuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zZWxlY3Rpb24uY3NzIiwgInNyYy9zdHlsZXMvb25ib2FyZGluZy5jc3MiLCAic3JjL3N0eWxlcy9ub2lzZS5jc3MiLCAic3JjL3N0eWxlcy9jaGFuZ2Vsb2cuY3NzIiwgInNyYy9zdHlsZXMvdGltZWxpbmUtc2lkZWJhci5jc3MiLCAic3JjL3N0eWxlcy9yZXdhcmQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1ndXR0ZXIuY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1tYWluLmNzcyIsICJzcmMvc3R5bGVzL2ZsdWVudC9mbHVlbnQtc2Vjb25kYXJ5LmNzcyIsICJzcmMvc3R5bGVzL2ZsdWVudC9mbHVlbnQtY29udGVudC1oZWFkZXIuY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1wcm9qZWN0LXBvcG92ZXIuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDFweDtcbn1cblxuLm5vLXByb2dyZXNzLWJhciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZSB7XG5cdGhlaWdodDogOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFByb2dyZXNzIGJhciBjb2xvcnMgZm9yIGRpZmZlcmVudCBwZXJjZW50YWdlcyBvZiBjb21wbGV0aW9uICovXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1lbXB0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0wIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0yNS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy01MC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy03NS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWNvbXBsZXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMTAwLWNvbG9yKTtcbn1cblxuLyogQ29sb3JzIGZvciBkaWZmZXJlbnQgdGFzayBzdGF0dXNlcyAqL1xuLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0ei1pbmRleDogMztcbn1cblxuLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdHotaW5kZXg6IDI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiA4NXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQuaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvcnMgaW4gdGhlIHRhc2sgbnVtYmVyIGRpc3BsYXkgKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciAudGFzay1zdGF0dXMtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5jb21wbGV0ZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5pbi1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuYWJhbmRvbmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAucGxhbm5lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIFdpdGggTnVtYmVyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uSHlwZXJNRC1oZWFkZXJcblx0LmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyXG5cdC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQsXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0bWFyZ2luLWJvdHRvbTogLTJweDtcblx0d2lkdGg6IDQycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4vKiBBZGFwdGF0aW9ucyBmb3IgZGFyayB0aGVtZSAqL1xuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLnRhc2stcHJvZ3Jlc3MtYmFyLXBvcG92ZXIge1xuXHR3aWR0aDogNDAwcHg7XG59XG4iLCAiLmNvbmZpcm0tbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLyogTGlzdCBDb25maWcgTW9kYWwgU3R5bGVzICovXHJcbi5saXN0LWNvbmZpZy1tb2RhbCB7XHJcblx0bWluLXdpZHRoOiA0MDBweDtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctZGVzY3JpcHRpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctY29udGFpbmVyIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xyXG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XHJcbn1cclxuXHJcbi5saXN0LWNvbmZpZy1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWVtcHR5LXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWl0ZW06bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWRlbGV0ZS1idG4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmxpc3QtY29uZmlnLWRlbGV0ZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xyXG59XHJcblxyXG4ubGlzdC1jb25maWctZGVsZXRlLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLyogQnVsayBEYXRlIFBpY2tlciBNb2RhbCBTdHlsZXMgKi9cclxuLmJ1bGstZGF0ZS1waWNrZXItbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdG1pbi13aWR0aDogMzIwcHg7XHJcbn1cclxuXHJcbi8qIEJ1bGsgRGF0ZSBPZmZzZXQgTW9kYWwgU3R5bGVzICovXHJcbi5idWxrLWRhdGUtb2Zmc2V0LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRtaW4td2lkdGg6IDQwMHB4O1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcbn1cclxuXHJcbi5idWxrLW9mZnNldC1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTIwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4uYnVsay1vZmZzZXQtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uYnVsay1vZmZzZXQtY3VzdG9tLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC02KTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5idWxrLW9mZnNldC1jdXN0b20tc2VjdGlvbiBsYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm1vZGFsLWRlc2NyaXB0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuIiwgIi8qIERhdGUgUGlja2VyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItcmlnaHQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogUXVpY2sgT3B0aW9ucyBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWF4LWhlaWdodDogMTk1cHg7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIENhbGVuZGFyIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgteWVhciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDMycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFBvcG92ZXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUgLmRhdGUtcGlja2VyLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1vYmlsZSBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tYWluLXBhbmVsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1sZWZ0LXBhbmVsIHtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIge1xuXHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR9XG59XG5cbi8qIFdpZGdldCBFcnJvciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItd2lkZ2V0LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG59XG4iLCAiLnRhc2stZGV0YWlscyAucGFuZWwtdG9nZ2xlLWNvbnRhaW5lciB7XG5cdGxlZnQ6IDEwcHg7XG59XG5cbi8qIERldGFpbCBQYW5lbCBTdHlsZXMgKi9cbi50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMzAwcHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9yZGVyOiAxO1xufVxuXG4vKiBEZXRhaWxzIHBhbmVsIHZpc2liaWxpdHkgKi9cbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0zMDBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAzNTBweDtcblx0b3BhY2l0eTogMTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBNb2JpbGUgdmlldyAtIHNsaWRlIGZyb20gcmlnaHQgKi9cbi5pcy1waG9uZSAudGFzay1kZXRhaWxzLFxuLmlzLW1vYmlsZSAudGFzay1kZXRhaWxzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyxcbi5pcy1tb2JpbGUgLnRnLWZsdWVudC1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMsXG4uaXMtbW9iaWxlIC50Zy1mbHVlbnQtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNpemUtNC0xMikpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gZGV0YWlscyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlLFxuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1jbG9zZS1idG4sXG4uaXMtbW9iaWxlIC5kZXRhaWxzLWNsb3NlLWJ0biB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtaGVhZGVyLFxuLmlzLW1vYmlsZSAuZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5kZXRhaWxzLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIERldGFpbHMgY29udGVudCAqL1xuLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5kZXRhaWxzLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogbWF4KHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pLCB2YXIoLS1zaXplLTQtOCkpO1xufVxuXG4uZGV0YWlscy1uYW1lIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMS4zZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1sYWJlbCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lbnUtaXRlbS10aXRsZTpoYXMoLnN0YXR1cy1vcHRpb24pIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRnYXA6IDRweDtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24tY2hlY2tib3gpIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWljb24pIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdGF0dXMtb3B0aW9uLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnN0YXR1cy1vcHRpb24tY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN0YXR1cy1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3RhdHVzLW9wdGlvbi5jdXJyZW50IHtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0b3V0bGluZTogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuMyk7XG5cdG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5zdGF0dXMtb3B0aW9uIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG59XG5cbi5kZXRhaWxzLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcbn1cblxuLm1ldGFkYXRhLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWV0YWRhdGEtdmFsdWUge1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmRldGFpbHMtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG4sXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtYnRuOmhvdmVyLFxuLmRldGFpbHMtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFRhc2sgZWRpdGluZyBmb3JtIHN0eWxlcyAqL1xuLmRldGFpbHMtZWRpdC1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kZXRhaWxzLWZvcm0taW5wdXQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRldGFpbHMtZWRpdC1jb250ZW50IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCBpbnB1dCxcbi5kZXRhaWxzLWZvcm0taW5wdXQgc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZGF0ZS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpZWxkLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi50YWdzLWVkaXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA2cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWdzLWVkaXRvcl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA2cHg7XG5cdGZsZXg6IDE7XG59XG5cbi50YWdzLWVkaXRvcl9fdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YWdzLWVkaXRvcl9fdGFnLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhZ3MtZWRpdG9yX19yZW1vdmUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogMCAycHg7XG59XG5cbi50YWdzLWVkaXRvcl9fcmVtb3ZlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFncy1lZGl0b3JfX2FkZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLnRhZ3MtZWRpdG9yX19hZGQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFncy1lZGl0b3JfX2lucHV0IHtcblx0bWluLXdpZHRoOiAxNDBweDtcbn1cblxuLnRhZ3MtZWRpdG9yX19pbnB1dCBpbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA0cHggNnB4O1xufVxuXG4udGFncy1lZGl0b3JfX2lucHV0LS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFncy1lZGl0b3JfX2VtcHR5IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFncy1lZGl0b3JfX3RhZyBkaXYuY2xpY2thYmxlLWljb24ge1xuXHRwYWRkaW5nOiAwO1xuXHQtLWljb24tc2l6ZTogMTJweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRnYXA6IDhweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIGJ1dHRvbiB7XG5cdGZsZXg6IDE7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGV0YWlscy1mb3JtLWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBmbHVlbnQgQ29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyBmb3IgbW9iaWxlICovXG4uaXMtbW9iaWxlIC50Zy1mbHVlbnQtY29udGFpbmVyIC50YXNrLWRldGFpbHMge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0aGVpZ2h0OiAxMDB2aDtcblx0d2lkdGg6IDg1dnc7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdHotaW5kZXg6IDEwMDE7IC8qIEFib3ZlIGRyYXdlciBvdmVybGF5ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym94LXNoYWRvdzogLTRweCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uaXMtbW9iaWxlIC50YXNrLWRldGFpbHMgLmRldGFpbHMtY2xvc2UtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4uaXMtbW9iaWxlIC5kZXRhaWxzLWNvbnRlbnQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIG1vYmlsZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stb21uaWZvY3VzLWNvbnRhaW5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC50YXNrLXNpZGViYXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdH1cblxuXHQudGFzay1jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZGV0YWlscyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHR9XG59XG5cbi8qIFByb2plY3Qgc291cmNlIGluZGljYXRvciBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBSZWFkb25seSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogT3ZlcnJpZGUgaW5kaWNhdG9yICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5vdmVycmlkZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRmllbGQgZGVzY3JpcHRpb25zICovXG4uZmllbGQtZGVzY3JpcHRpb24ucmVhZG9ubHktZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ub3ZlcnJpZGUtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIGVkaXRvciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IuaW5saW5lLWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBUYWJsZSBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDJweDtcblx0cmlnaHQ6IDJweDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR6LWluZGV4OiA1O1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnRhYmxlLWluZGljYXRvciAuaW5kaWNhdG9yLWljb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4udGFzay10YWJsZS1jZWxsLnJlYWRvbmx5LWNlbGwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4vKiBQcm9qZWN0IGNvbnRhaW5lciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSAucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuIiwgIi8qIE9uQ29tcGxldGlvbiBDb25maWd1cmF0b3IgU3R5bGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tYWN0aW9uLXR5cGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRwYWRkaW5nLXRvcDogOHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLyogQWN0aW9uIFR5cGUgRHJvcGRvd24gKi9cclxuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSAuZHJvcGRvd24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBJbnB1dCBGaWVsZHMgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFRvZ2dsZSBDb21wb25lbnQgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAuY2hlY2tib3gtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcbn1cclxuXHJcbi8qIFN1Z2dlc3RlciBTdHlsZXMgKi9cclxuLnRhc2staWQtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1jb250ZW50LXByZXZpZXcge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbGUtcGF0aCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4uYWN0aW9uLXR5cGUtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uYWN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIFZhbGlkYXRpb24gU3RhdGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLmludmFsaWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLnZhbGlkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxuXHRwYWRkaW5nOiA0cHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2UuZXJyb3Ige1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uuc3VjY2VzcyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi8qIEludGVncmF0aW9uIHdpdGggVGFzayBEZXRhaWxzICovXHJcbi50YXNrLWRldGFpbHMgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWZpZWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRcdHBhZGRpbmc6IDhweDtcclxuXHRcdGdhcDogOHB4O1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1jb25maWcge1xyXG5cdFx0Z2FwOiA4cHg7XHJcblx0fVxyXG5cclxuXHQudGFzay1jb250ZW50LXByZXZpZXcge1xyXG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdH1cclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBDb25maWd1cmF0aW9uIENoYW5nZXMgKi9cclxuLm9uY29tcGxldGlvbi1jb25maWcge1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWZpZWxkIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWZpZWxkLmVudGVyaW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQuZXhpdGluZyB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbn1cclxuXHJcbi8qIE9uQ29tcGxldGlvbiBNb2RhbCBTdHlsZXMgKi9cclxuLm9uY29tcGxldGlvbi1tb2RhbCB7XHJcblx0LS1kaWFsb2ctd2lkdGg6IDYwMHB4O1xyXG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcclxuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4MHZoO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDhweDtcclxuXHRwYWRkaW5nOiAxNnB4IDIwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xyXG5cdG1pbi13aWR0aDogODBweDtcclxufVxyXG5cclxuLyogSW5saW5lIE9uQ29tcGxldGlvbiBCdXR0b24gU3R5bGVzICovXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0bWluLXdpZHRoOiAxMDBweDtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBNb2RhbCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQub25jb21wbGV0aW9uLW1vZGFsIHtcclxuXHRcdC0tZGlhbG9nLXdpZHRoOiA5NXZ3O1xyXG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogODV2aDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAxNnB4O1xyXG5cdFx0bWF4LWhlaWdodDogNjV2aDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XHJcblx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLXdpZHRoOiB1bnNldDtcclxuXHR9XHJcbn1cclxuIiwgIi8qIFVuaXZlcnNhbCBTdWdnZXN0IFN0eWxlcyAqL1xyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG5cclxuLyogU3BlY2lhbCBjaGFyYWN0ZXIgdHJpZ2dlciBoaWdobGlnaHRpbmcgKi9cclxuLmNtLWVkaXRvciAuY20tbGluZSAudW5pdmVyc2FsLXN1Z2dlc3QtdHJpZ2dlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHBhZGRpbmc6IDFweCAycHg7XHJcbn1cclxuXHJcbi8qIFN1Z2dlc3QgcG9wdXAgY29udGFpbmVyICovXHJcbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgKi9cclxuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG5cdH0gXHJcblx0XHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIsXHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0fVxyXG59XHJcbiIsICIudGcta2FuYmFuLXZpZXcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCB2aWV3IGl0c2VsZiBmcm9tIHNjcm9sbGluZyAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlcnMge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZmxleC1zaHJpbms6IDA7IC8qIERvbid0IHNocmluayBmaWx0ZXIgYmFyICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0Z2FwOiA4cHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTJweDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tc29ydC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tc29ydC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXRvZ2dsZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi10b2dnbGUtbGFiZWwge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDZweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXRvZ2dsZS1jaGVja2JveCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dCB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdHBhZGRpbmc6IDZweCAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDsgLyogT3B0aW9uYWw6IHNwYWNlIGlmIG90aGVyIGNvbnRyb2xzIGFyZSBhZGRlZCAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIFRha2UgcmVtYWluaW5nIGhlaWdodCAqL1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsaW5nIGZvciBjb2x1bW5zICovXHJcblx0b3ZlcmZsb3cteTogaGlkZGVuOyAvKiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbGluZyBoZXJlICovXHJcblx0cGFkZGluZzogMTBweDtcclxuXHRnYXA6IDEwcHg7IC8qIFNwYWNlIGJldHdlZW4gY29sdW1ucyAqL1xyXG5cdGhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciBjaGlsZHJlbiBoZWlnaHQgKi9cclxuXHJcblx0LyogTW9iaWxlIHNjcm9sbGluZyBpbXByb3ZlbWVudHMgKi9cclxuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIFNtb290aCBob3Jpem9udGFsIHNjcm9sbGluZyBvbiBpT1MgKi9cclxuXHQvKiBDb25kaXRpb25hbCBvdmVyc2Nyb2xsIGJlaGF2aW9yIC0gcHJldmVudCBib3VuY2Ugb24gZGVza3RvcCwgYWxsb3cgb24gbW9iaWxlIGZvciBkcmFnICovXHJcblx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBhdXRvOyAvKiBBbGxvdyBkZWZhdWx0IGJlaGF2aW9yIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXHJcblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7IC8qIEtlZXAgc25hcCBmb3IgbW9iaWxlIFVYICovXHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cclxufVxyXG5cclxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCBzY3JvbGwgYm91bmNlICovXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuXHQudGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xyXG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBub25lOyAvKiBQcmV2ZW50IGJvdW5jZSBvbiBkZXNrdG9wICovXHJcblx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lOyAvKiBEaXNhYmxlIHNuYXAgb24gZGVza3RvcCAqL1xyXG5cdH1cclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4ge1xyXG5cdGZsZXg6IDAgMCAyODBweDsgLyogRml4ZWQgd2lkdGggZm9yIGNvbHVtbnMsIG5vIHNocmlua2luZy9ncm93aW5nICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBGaWxsIGNvbnRhaW5lciBoZWlnaHQgKi9cclxuXHRtYXgtaGVpZ2h0OiAxMDAlOyAvKiBQcmV2ZW50IGV4Y2VlZGluZyBjb250YWluZXIgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIG92ZXJmbG93IHdpdGhpbiB0aGUgY29sdW1uICovXHJcblxyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHJcblx0LyogTW9iaWxlIHNjcm9sbCBzbmFwIGZvciBiZXR0ZXIgVVggKi9cclxuXHRzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XHJcbn1cclxuXHJcbi8qIERlc2t0b3Atc3BlY2lmaWM6IERpc2FibGUgc2Nyb2xsIHNuYXAgKi9cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG5cdC50Zy1rYW5iYW4tY29sdW1uIHtcclxuXHRcdHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtbik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGhlYWRlciBmcm9tIHNocmlua2luZyAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0LyogcGFkZGluZy1yaWdodDogMDsgKi9cclxuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsgLyogS2VlcCBjb250YWluIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cclxufVxyXG5cclxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGwgYm91bmNlICovXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuXHQudGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcclxuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cclxuXHR9XHJcbn1cclxuLyogLS0tIENhcmQgU3R5bGluZyAtLS0gKi9cclxuLnRnLWthbmJhbi1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAxMHB4IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHQvKiBFbnN1cmUgY2FyZCBmaXRzIHdpdGhpbiBjb2x1bW4gYW5kIGhhbmRsZXMgY29udGVudCAqL1xyXG5cdG1heC13aWR0aDogMTAwJTsgLyogUHJldmVudCBjYXJkIGZyb20gZXhjZWVkaW5nIHBhcmVudCB3aWR0aCAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nICovXHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdC8qIE1vYmlsZSB0b3VjaCBpbXByb3ZlbWVudHMgKi9cclxuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogT3B0aW1pemUgZm9yIHRvdWNoIGludGVyYWN0aW9ucyAqL1xyXG5cdHVzZXItc2VsZWN0OiBub25lOyAvKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIGR1cmluZyBkcmFnICovXHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC50YXNrLWNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogNnB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtY29udGVudCBwOmxhc3QtY2hpbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7IC8qIEF2b2lkIGV4dHJhIHNwYWNlIGZyb20gcGFyYWdyYXBoICovXHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiA0cHggOHB4OyAvKiBSb3cgYW5kIGNvbHVtbiBnYXAgKi9cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay10YWdzLWNvbnRhaW5lcixcclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3ZlclxyXG5cdCk7IC8qIE9yIHVzZSB0YWcgY29sb3IgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDFweCA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLW92ZXJkdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWVycm9yKTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZHVlLWRhdGUudGFzay1kdWUtdG9kYXkge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtd2FybmluZyk7XHJcbn1cclxuXHJcbi8qIFByaW9yaXR5IGluZGljYXRvcnMgKHNpbXBsZSBleGFtcGxlKSAqL1xyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4vKiBBZGQgbW9yZSBwcmlvcml0eSBzdHlsZXMgaWYgbmVlZGVkICovXHJcblxyXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsaW5nIC0tLSAqL1xyXG4udGcta2FuYmFuLWNhcmQtZHJhZ2dpbmcge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAqL1xyXG5cdC8qIG9wYWNpdHk6IDAuODsgKi8gLyogUmVtb3ZlZCBvcGFjaXR5ICovXHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpOyAvKiBNb3JlIHByb21pbmVudCBzaGFkb3cgKi9cclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLWdob3N0IHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIG9yaWdpbmFsIGNhcmQgd2hlbiBhIGNsb25lIGlzIGRyYWdnZWQgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtYWN0aXZlIHtcclxuXHQvKiBTdHlsZSBmb3IgcG90ZW50aWFsIGRyb3Agem9uZXMgd2hlbiBkcmFnZ2luZyBzdGFydHMgKi9cclxuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTsgKi9cclxuXHRvdXRsaW5lOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcclxuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtaG92ZXIge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgc3BlY2lmaWMgZHJvcCB6b25lIGJlaW5nIGhvdmVyZWQgb3ZlciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogU3R5bGVzIGZvciBLYW5iYW4gZHJvcCBpbmRpY2F0b3JzICovXHJcbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYmVmb3JlIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXHJcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjFzIGVhc2Utb3V0LCBib3JkZXItdG9wIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtLWRyb3AtaW5kaWNhdG9yLWFmdGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cclxuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjFzIGVhc2Utb3V0LCBib3JkZXItYm90dG9tIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xyXG59XHJcblxyXG4vKiBPcHRpb25hbDogU3R5bGUgZm9yIGRyb3BwaW5nIGludG8gYW4gZW1wdHkgY29sdW1uICovXHJcbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQtLWRyb3AtaW5kaWNhdG9yLWVtcHR5IHtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRtaW4taGVpZ2h0OiA1MHB4OyAvKiBFbnN1cmUgZW1wdHkgY29sdW1uIGhhcyBzb21lIGhlaWdodCBmb3IgdGhlIGJvcmRlciAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgYm9yZGVyIGluIGhlaWdodCBjYWxjdWxhdGlvbiAqL1xyXG5cdG1hcmdpbi10b3A6IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXHJcbn1cclxuXHJcbi8qIEVuc3VyZSB0cmFuc2l0aW9ucyBhcmUgc21vb3RoIHdoZW4gY2xhc3NlcyBhcmUgcmVtb3ZlZCAqL1xyXG4udGcta2FuYmFuLWNhcmQge1xyXG5cdC8qIEVuc3VyZSBleGlzdGluZyB0cmFuc2l0aW9ucyBkb24ndCBjb25mbGljdCwgb3IgYWRkIGJhc2UgdHJhbnNpdGlvbiAqL1xyXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjFzIGVhc2Utb3V0LCBwYWRkaW5nIDAuMXMgZWFzZS1vdXQsXHJcblx0XHRib3JkZXIgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQsXHJcblx0XHRib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDsgLyogTWVyZ2VkIHRyYW5zaXRpb25zICovXHJcbn1cclxuXHJcbi5kcm9wLXRhcmdldC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjIpOyAvKiBcdTUzNEFcdTkwMEZcdTY2MEVcdTdFRkZcdTgyNzJcdTgwQ0NcdTY2NkYgKi9cclxuXHRvdXRsaW5lOiAycHggZGFzaGVkIGdyZWVuOyAvKiBcdTdFRkZcdTgyNzJcdTg2NUFcdTdFQkZcdThGQjlcdTY4NDYgKi9cclxuXHQvKiBcdTRGNjBcdTUzRUZcdTgwRkRcdThGRDhcdTk3MDBcdTg5ODFcdThDMDNcdTY1NzQgcGFkZGluZyBcdTYyMTYgbWFyZ2luIFx1Njc2NSAnXHU2NTNFXHU1OTI3JyBcdTg5QzZcdTg5QzlcdTUzM0FcdTU3REYgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi9cclxuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi9cclxufVxyXG5cclxuLyogQWRkIENhcmQgQnV0dG9uICovXHJcbi50Zy1rYW5iYW4tYWRkLWNhcmQtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjb250YWluZXIgZnJvbSBzaHJpbmtpbmcgKi9cclxufVxyXG5cclxuLyogU3R5bGVzIGZvciB0aGUgQWRkIENhcmQgYnV0dG9uIGluIGJvYXJkIHZpZXcgKi9cclxuLnRhc2stZ2VuaXVzLWFkZC1jYXJkLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi10b3A6IGF1dG87IC8qIFB1c2ggdG8gdGhlIGJvdHRvbSBpZiB0aGUgY29sdW1uIHVzZXMgZmxleCAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b24ge1xyXG5cdC0taWNvbi1zaXplOiAxNnB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogTWFrZSBpdCBsZXNzIHByb21pbmVudCAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tYWRkLWNhcmQtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiBDb2x1bW4gRHJhZyAmIERyb3AgU3R5bGluZyAqL1xyXG4udGcta2FuYmFuLWNvbHVtbi1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBjb2x1bW4gYmVpbmcgZHJhZ2dlZCAqL1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWdob3N0IHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIGdob3N0IHBsYWNlaG9sZGVyIHdoZW4gZHJhZ2dpbmcgY29sdW1ucyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcclxuXHQvKiBNYWtlIGNvbHVtbiBoZWFkZXJzIGRyYWdnYWJsZSAqL1xyXG5cdGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyOmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBncmFiYmluZztcclxufVxyXG4iLCAiLyogRmlsdGVyIENvbXBvbmVudCBTdHlsZXMgKi9cclxuLmZpbHRlci1jb21wb25lbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1pbi1oZWlnaHQ6IDQ4cHg7XHJcblxyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBQaWxscyBDb250YWluZXIgKi9cclxuLmZpbHRlci1waWxscy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBDb250cm9scyAqL1xyXG4uZmlsdGVyLWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZpbHRlciBQaWxscyAqL1xyXG4uZmlsdGVyLXBpbGwge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRwYWRkaW5nOiA1cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRhbmltYXRpb246IGZpbHRlci1waWxsLWFwcGVhciAyMDBtcyBlYXNlLW91dDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxyXG5cdFx0dHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlIC5jbGlja2FibGUtaWNvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC10ZXJ0aWFyeSk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1jYXRlZ29yeSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC12YWx1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0xKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxyXG5cdFx0Y29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmUtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIEJ1dHRvbnMgKi9cclxuLmZpbHRlci1hZGQtYnV0dG9uLFxyXG4uZmlsdGVyLWNsZWFyLWFsbC1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA2cHggMTBweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1hZGQtYnV0dG9uIHtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItYWRkLWljb24ge1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBEcm9wZG93biAqL1xyXG4uZmlsdGVyLWRyb3Bkb3duIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDIyMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3Zlcik7XHJcblx0bWF4LWhlaWdodDogNDAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSwgdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12aXNpYmxlIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2g6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtcmluZy1jb2xvcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tbGlzdCB7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRtYXgtaGVpZ2h0OiAzNTBweDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tbGFiZWwge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbS1hcnJvdyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93LmJhY2sge1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tYmFjayB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlcGFyYXRvciB7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGl2aWRlci1jb2xvcik7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1lbXB0eSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1pdGVtIHtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1jYXRlZ29yeSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldyB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC00KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldzpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb25zICovXHJcbkBrZXlmcmFtZXMgZmlsdGVyLXBpbGwtYXBwZWFyIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92aW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQ7XHJcbn1cclxuIiwgIi8qIHN0eWxlcy9jYWxlbmRhci9jYWxlbmRhci5jc3MgKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7IC8qIE9yIGFkanVzdCBhcyBuZWVkZWQgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleC1ncm93OiAxO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC00KTsgLyogVXNlIE9ic2lkaWFuIHZhcmlhYmxlcyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIgYnV0dG9uIHtcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYsXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgYnV0dG9uIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b246bm90KC5pcy1hY3RpdmUpLFxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgYnV0dG9uOm5vdCguaXMtYWN0aXZlKSB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1jdXJyZW50LWRhdGUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBpdCB0byB0YWtlIHNwYWNlICovXG5cblx0bWF4LXdpZHRoOiBtYXgoMTIwcHgsIDQwJSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdmlldyB0byB0YWtlIHJlbWFpbmluZyBzcGFjZSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBFbmFibGUgc2Nyb2xsaW5nIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBOZWVkZWQgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIGV2ZW50cyAqL1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEJhc2ljIFZpZXcgU3R5bGVzIChQbGFjZWhvbGRlcnMpICovXG4vKiAtLS0gTW9udGggVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXktaGVhZGVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAtMXB4OyAvKiBPdmVybGFwIHdpdGggZ3JpZCBnYXAgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBTbGlnaHQgZGlzdGluY3Rpb24gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctbW9udGgge1xuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZyBpZiBncmlkIHByb3ZpZGVzIGl0IHZpYSBnYXAgKi9cblx0LyogU3R5bGVzIG1vdmVkIHRvIC5jYWxlbmRhci1tb250aC1ncmlkICovXG59XG5cbi8qIEFkZCB0aGUgZ3JpZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhlIGdyaWQgY29udGFpbmVyIGVsZW1lbnQgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMTAwcHgsIGF1dG8pOyAvKiBHaXZlIHJvd3MgYSBtaW5pbXVtIGhlaWdodCAqL1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXG5cblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsIHtcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYSBkYXkgY2VsbCBpbiBtb250aCB2aWV3ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcblx0LyogbWluLWhlaWdodDogODBweDsgLSBMZXQgZ3JpZC1hdXRvLXJvd3MgaGFuZGxlIGhlaWdodCAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94IGZvciBsYXlvdXQgaW5zaWRlIHRoZSBjZWxsICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGRheSBudW1iZXIgYW5kIGV2ZW50cyAqL1xuXHRtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgY29udGVudCBmcm9tIGV4cGFuZGluZyB0aGUgY2VsbCB3aWR0aCBpbiB0aGUgZ3JpZCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1oKSxcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtcyksXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWwpLFxuXHRcdDAuOFxuXHQpICFpbXBvcnRhbnQ7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtdG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuNSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtdG9kYXkgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRjb2xvcjogaHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsOm5vdCguaXMtdG9kYXkpIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtd2Vla2VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5XG5cdCk7IC8qIFNsaWdodGx5IGRpZmZlcmVudCBiYWNrZ3JvdW5kIGZvciB3ZWVrZW5kcyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgbnVtYmVyIGZyb20gc2hyaW5raW5nICovXG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kOyAvKiBQb3NpdGlvbiB0byB0aGUgdG9wIHJpZ2h0ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgZXZlbnRzIGNvbnRhaW5lciB0byBmaWxsIHNwYWNlICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgZXZlbnRzIHRoYXQgb3ZlcmZsb3cgdGhlIGNlbGwgaGVpZ2h0ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudCB7XG5cdC8qIEV4YW1wbGUgc3R5bGUgZm9yIGFuIGV2ZW50ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0tYm9sZC1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIEluY3JlYXNlIHNwYWNpbmcgc2xpZ2h0bHkgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoIGF2YWlsYWJsZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KS5jYWxlbmRhci1ldmVudC13ZWVrLWFsbGRheSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtbW9udGgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpob3ZlciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MtaG92ZXJcblx0KTsgLyogT3IgdXNlIGdyZXkvc3RyaWtldGhyb3VnaCAqL1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheSB7XG5cdC8qIEJhc2ljIHN0eWxlIGZvciBtdWx0aS1kYXksIG1vcmUgYWR2YW5jZWQgY291bGQgcmVtb3ZlIHJvdW5kZWQgY29ybmVycyAqL1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkuaXMtc3RhcnQge1xuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIHN0YXJ0IHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cblx0LyogYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7ICovXG5cdC8qIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyAqL1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkuaXMtZW5kIHtcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBlbmQgc2VnbWVudCBkaWZmZXJlbnRseSAqL1xuXHQvKiBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyAqL1xuXHQvKiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyAqL1xufVxuXG4vKiBBZGQgbW9yZSBzcGVjaWZpYyBzdHlsZXMgZm9yIHdlZWssIGRheSwgYWdlbmRhIHZpZXdzIGFzIHRoZXkgYXJlIGltcGxlbWVudGVkICovXG5cbi8qIFN0eWxlIGZvciBtb250aCB2aWV3IGV2ZW50cyB0byBoYW5kbGUgb3ZlcmZsb3cgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtbW9udGgge1xuXHQvKiBJbmhlcml0cyBiYXNlIC5jYWxlbmRhci1ldmVudCBzdHlsZXMgKi9cblx0LyogQWRkIG92ZXJmbG93IGhhbmRsaW5nIHNpbWlsYXIgdG8gd2Vlay1hbGxkYXkgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgYmxvY2sgZGlzcGxheSAqL1xuXHR3aWR0aDogMTAwJTsgLyogRXhwbGljaXRseSBzZXQgd2lkdGggKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xufVxuXG4vKiAtLS0gRGF5IFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LWRheSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nLCBtYW5hZ2UgaW50ZXJuYWxseSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLXNlY3Rpb24ge1xuXHRmbGV4LWdyb3c6IDE7XG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTm8gbG9uZ2VyIG5lZWRlZCBmb3IgYWJzb2x1dGUgZXZlbnQgcG9zaXRpb25pbmcgKi9cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciB0aGF0IHdhcyBvbiBhbGxkYXkgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogQWxsb3cgdGltZWxpbmUgdG8gc2Nyb2xsICovXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1ldmVudHMtY29udGFpbmVyIHtcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXG5cdC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTsgKi9cblx0LyogdG9wOiAwOyAqL1xuXHQvKiBsZWZ0OiAwOyAqL1xuXHQvKiByaWdodDogMDsgKi9cblx0LyogYm90dG9tOiAwOyAqL1xuXHQvKiB6LWluZGV4OiAyOyAqL1xuXHQvKiBSZW1vdmUgY2FsY3VsYXRlZCBoZWlnaHQgKi9cblx0LyogaGVpZ2h0OiBjYWxjKDI0ICogNDBweCk7ICovXG5cblx0LyogQWRkIGZsZXggbGF5b3V0IGZvciB2ZXJ0aWNhbCBzdGFja2luZyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogQWRkIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1ldmVudHMtY29udGFpbmVyLmlzLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4vKiBTdHlsZSBhZGp1c3RtZW50cyBmb3IgZXZlbnRzIHByZXZpb3VzbHkgdGltZWQgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZWQge1xuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8qIEFkZCBtYXJnaW4gZm9yIHNwYWNpbmcgaW4gdGhlIG5ldyBmbG93IGxheW91dCAqL1xuXHQvKiBVc2luZyBnYXAgb24gcGFyZW50IGNvbnRhaW5lciBub3cgKi9cblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpOyAqL1xuXHR3aWR0aDogMTAwJTsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOlxuXHRcdHRyYW5zZm9ybSAwLjE1cyBlYXNlLFxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lZDpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4vKiBTcGVjaWZpYyBzdHlsZXMgZm9yIGRheSB2aWV3IHRpbWVkIGV2ZW50cyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC1kYXktdGltZWQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAyLjVlbTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC1kYXktdGltZWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC1kYXktdGltZWQuaXMtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzLWhvdmVyKTtcblx0b3BhY2l0eTogMC43O1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLyogS2VlcCBpbnRlcm5hbCBzdHlsZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDFweCAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgLyogU2xpZ2h0IGJhY2tncm91bmQgZm9yIHRpbWUgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMnB4IDNweDtcblx0ZmxleC1ncm93OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIC0tLSBXZWVrIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXdlZWsge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstaGVhZGVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0LyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IHJlcGVhdCg3LCAxZnIpOyAqLyAvKiBHdXR0ZXIgKyA3IGRheXMgLT4gUmVtb3ZlIGd1dHRlciAqL1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOyAvKiBKdXN0IDcgZGF5cyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMS41ZW07XG5cdGhlaWdodDogMS41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0bWFyZ2luOiBhdXRvO1xuXG5cdG1hcmdpbjogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLyogVXBkYXRlZCBXZWVrIEdyaWQgU2VjdGlvbiAod2FzIC1hbGxkYXktc2VjdGlvbikgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkLXNlY3Rpb24ge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGhpcyBzZWN0aW9uIHRvIGZpbGwgYXZhaWxhYmxlIHZlcnRpY2FsIHNwYWNlICovXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IHRvIGVuc3VyZSBncmlkIGZpbGxzIGhlaWdodCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBZGQgc2Nyb2xsIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIE1hdGNoIG9sZCBzdHlsZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstZ3JpZCB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBncmlkIHRvIGV4cGFuZCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsgLyogTWFrZSBncmlkIGZpbGwgdGhlIHNlY3Rpb24gaGVpZ2h0ICovXG5cdGdhcDogMXB4OyAvKiBBZGQgZ2FwIGZvciBib3JkZXJzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogR3JpZCBsaW5lcyAqL1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgdG9wIGJvcmRlciAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4ge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcblx0LyogbWluLWhlaWdodDogNWVtOyAqLyAvKiBSZW1vdmUgZml4ZWQgbWluLWhlaWdodCwgbGV0IGNvbnRlbnQgZGljdGF0ZSAqL1xuXHRib3JkZXItbGVmdDogbm9uZTsgLyogUmVtb3ZlIHJlZHVuZGFudCBsZWZ0IGJvcmRlciwgZ2FwIGhhbmRsZXMgbGluZXMgKi9cblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIHZlcnRpY2FsIGxheW91dCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjb2x1bW4gKi9cblx0bWluLXdpZHRoOiAwOyAvKiBIZWxwIGdyaWQgaXRlbSBzaHJpbmsgcHJvcGVybHkgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uOmZpcnN0LWNoaWxkIHtcblx0LyogTm8gc3BlY2lmaWMgZmlyc3QtY2hpbGQgYm9yZGVyIG5lZWRlZCBub3cgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uLmlzLXdlZWtlbmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEFkanVzdCBncmlkIGxheW91dHMgd2hlbiB3ZWVrZW5kcyBhcmUgaGlkZGVuICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHNcblx0LmNhbGVuZGFyLXdlZWtkYXktaGVhZGVyIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0NSxcblx0XHQxZnJcblx0KSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kc1xuXHQuY2FsZW5kYXItbW9udGgtZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdDUsXG5cdFx0MWZyXG5cdCkgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHNcblx0LmNhbGVuZGFyLXdlZWstaGVhZGVyIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0NSxcblx0XHQxZnJcblx0KSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kc1xuXHQuY2FsZW5kYXItd2Vlay1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0NSxcblx0XHQxZnJcblx0KSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kc1xuXHQubWluaS1tb250aC1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0NSxcblx0XHQxZnJcblx0KSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXG4gICBzbyBubyBoaWRpbmcgcnVsZXMgYXJlIG5lZWRlZC4gVGhlIGdyaWQgbGF5b3V0IGFkanVzdG1lbnRzIGFib3ZlIGFyZSBzdWZmaWNpZW50LiAqL1xuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1ldmVudHMtY29udGFpbmVyIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHQvKiBUaGlzIGNvbnRhaW5lciBtaWdodCBub3QgYmUgc3RyaWN0bHkgbmVjZXNzYXJ5IGlmIC5jYWxlbmRhci1kYXktY29sdW1uIHVzZXMgZmxleCAqL1xuXHQvKiBTdHlsZXMgYXJlIGFwcGxpZWQgZGlyZWN0bHkgdG8gLmNhbGVuZGFyLWRheS1jb2x1bW4gbm93ICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGFpbmVyIHRvIGdyb3cgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAzcHg7IC8qIFNwYWNlIGJldHdlZW4gZXZlbnRzICovXG59XG5cbi8qIEVuc3VyZSBldmVudHMgdGFrZSBmdWxsIHdpZHRoIGFuZCBkb24ndCBoYXZlIGhvcml6b250YWwgZGlzcGxheSBwcm9wZXJ0aWVzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5IGZvciB2ZXJ0aWNhbCBzdGFja2luZyAqL1xuXHR3aWR0aDogMTAwJTsgLyogVGFrZSBmdWxsIHdpZHRoIG9mIHRoZSBjb2x1bW4gKi9cblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBSZXNldCBwb3NpdGlvbiBpZiBpdCB3YXMgYWJzb2x1dGUgKi9cblx0bGVmdDogYXV0bztcblx0dG9wOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87IC8qIExldCBjb250ZW50IGRldGVybWluZSBoZWlnaHQgKi9cblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBDb25zaXN0ZW50IHNwYWNpbmcgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBpbnRlcm5hbCBjb250ZW50IGZyb20gb3ZlcmZsb3dpbmcgKi9cblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IC8qIEFkZCBlbGxpcHNpcyBmb3Igb3ZlcmZsb3cgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRW5zdXJlIGVsbGlwc2lzIHdvcmtzICovXG59XG5cbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBvbGQgdGltZWxpbmUgc2VjdGlvbiAqL1xuLypcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay10aW1lbGluZS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcbi8vIC4uLiBleGlzdGluZyBjb2RlIC4uLlxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG4qL1xuXG4vKiAtLS0gWWVhciBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy15ZWFyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdGF1dG8tZml0LFxuXHRcdG1pbm1heCgyMDBweCwgMWZyKVxuXHQpOyAvKiBSZXNwb25zaXZlIGNvbHVtbnMgKi9cblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbWluaS1tb250aCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIENsaXAgY29udGVudCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWJvZHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAycHg7IC8qIFNtYWxsIGdhcCBiZXR3ZWVuIGRheXMgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktd2Vla2RheS1oZWFkZXIge1xuXHRkaXNwbGF5OiBjb250ZW50czsgLyogTGV0IGNoaWxkcmVuIHBhcnRpY2lwYXRlIGluIHRoZSBncmlkICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5IHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTsgLyogQWRqdXN0IGZvciBjZW50ZXJpbmcgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5pcy10b2RheSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50cyB7XG5cdC8qIEluZGljYXRlIGV2ZW50cyAtIGUuZy4sIGJvbGQgb3IgYmFja2dyb3VuZCBkb3QgKi9cblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdC8qIE9yIGFkZCBhIGJhY2tncm91bmQgZG90OiAqL1xuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7ICovXG59XG4vKiAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMnB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufSAqL1xuXG4uYWdlbmRhLWRheS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmFnZW5kYS1kYXktZGF0ZS1jb2x1bW4ge1xuXHR3aWR0aDogMjAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hZ2VuZGEtZGF5LWV2ZW50cy1jb2x1bW4ge1xuXHRmbGV4OiAxO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuXHRzY2FsZTogMC45O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXItc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsZXMgLS0tICovXG4uY2FsZW5kYXItZXZlbnQtZ2hvc3Qge1xuXHQvKiBTdHlsZSBmb3IgdGhlIHBsYWNlaG9sZGVyIHdoZW4gZHJhZ2dpbmcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpICFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxlbmRhci1ldmVudC1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgZWxlbWVudCBiZWluZyBkcmFnZ2VkICovXG5cdG9wYWNpdHk6IDAuOSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCkgIWltcG9ydGFudDtcblx0dHJhbnNmb3JtOiByb3RhdGUoMmRlZykgIWltcG9ydGFudDtcblx0ei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xufVxuXG4vKiBNYWtlIGNhbGVuZGFyIGV2ZW50cyBkcmFnZ2FibGUgKi9cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudCB7XG5cdGN1cnNvcjogZ3JhYjtcblx0dHJhbnNpdGlvbjpcblx0XHR0cmFuc2Zvcm0gMC4ycyBlYXNlLFxuXHRcdGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIFNvcnRhYmxlIGNvbnRhaW5lciBzdHlsZXMgKi9cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyLFxuLmNhbGVuZGFyLWRheS1ldmVudHMtY29udGFpbmVyIHtcblx0bWluLWhlaWdodDogMjBweDsgLyogRW5zdXJlIHRoZXJlJ3MgYWx3YXlzIGEgZHJvcCB6b25lICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogNjAwcHgpIHtcblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jYWxlbmRhci1uYXYgLnByZXYtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmNhbGVuZGFyLW5hdiAubmV4dC1idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXItc2VsZWN0b3Ige1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4iLCAiLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZS1jb250YWluZXIgcCB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiAwO1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcclxuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0LyogSGFuZGxlIHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUgcCB7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbn1cclxuIiwgIi8qIENhbGVuZGFyIEJhZGdlIFN0eWxlcyAqL1xyXG4uY2FsZW5kYXItYmFkZ2VzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGdhcDogNHB4O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItYmFkZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZvbnQtc2l6ZTogMTBweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cclxuXHRtYXgtd2lkdGg6IDgwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vKiBFbnN1cmUgYmFkZ2VzIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBkYXkgY2VsbCAqL1xyXG4uY2FsZW5kYXItZGF5LWNlbGwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4iLCAiLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblxyXG5cdC0tZ2FudHQtaGVhZGVyLWhlaWdodDogNTBweDtcclxuXHQtLWdhbnR0LXJvdy1oZWlnaHQ6IDQwcHg7XHJcblx0LS1nYW50dC1iYXItaGVpZ2h0OiAyMHB4O1xyXG5cdC0tZ2FudHQtYmFyLXJhZGl1czogM3B4O1xyXG5cclxuXHQtLWdhbnR0LWJnLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0LS1nYW50dC1ncmlkLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0LS1nYW50dC1yb3ctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHQtLWdhbnR0LWJhci1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0LS1nYW50dC1taWxlc3RvbmUtY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XHJcblx0LS1nYW50dC1wcm9ncmVzcy1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0LS1nYW50dC10b2RheS1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LXN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWJnIHtcclxuXHRmaWxsOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLXRleHQge1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWJnIHtcclxuXHRmaWxsOiB0cmFuc3BhcmVudDtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWxpbmUtdmVydGljYWwge1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDIsIDI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHN0cm9rZTogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDFweDtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UtYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDFweDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwge1xyXG5cdGZpbGw6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IGNhbGModmFyKC0tZm9udC11aS1zbWFsbCkgKiAwLjkpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHdoaXRlLXNwYWNlOiBwcmU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhci5zdGF0dXMtY29tcGxldGVkIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbi1ib3JkZXIpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIucHJpb3JpdHktaGlnaCB7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHYW50dCBDaGFydCBTdHlsZXNcclxuICovXHJcblxyXG4uZ2FudHQtaGVhZGVyIHtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGhlaWdodDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLXJvdyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogNTAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLXJvdy5wcmltYXJ5IHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1jZWxsIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuXHJcbi5nYW50dC1ib2R5IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpICogLTEpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpKTtcclxuXHRtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtY29sdW1uLnRvZGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC10b2RheS1jb2xvcik7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLXJvdyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtcm93LWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtcm93Om50aC1jaGlsZChvZGQpIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XHJcbn1cclxuXHJcbi5nYW50dC1iYXJzIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xyXG5cdG1pbi13aWR0aDogMTAwJTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stY29udGFpbmVyOmhvdmVyIHtcclxuXHR6LWluZGV4OiAxMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhci5taWxlc3RvbmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LW1pbGVzdG9uZS1jb2xvcik7XHJcblx0d2lkdGg6IDE1cHggIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdHRvcDogNTAlO1xyXG5cdG1hcmdpbi10b3A6IC03LjVweDtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luLWxlZnQ6IC03LjVweDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stcHJvZ3Jlc3Mge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3IpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG5cdHRvcDogMDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1nYW50dC1iYXItaGVpZ2h0KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stY29udGFpbmVyLnJpZ2h0LWFsaWduZWQgLmdhbnR0LXRhc2stbGFiZWwge1xyXG5cdGxlZnQ6IGF1dG87XHJcblx0cmlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2ODBweCkge1xyXG5cdC5nYW50dC1oZWFkZXItY2VsbCB7XHJcblx0XHRmb250LXNpemU6IDEwcHg7XHJcblx0fVxyXG5cclxuXHQuZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0XHRmb250LXNpemU6IDEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLXN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItdGljay1tYWpvcixcclxuLmdhbnR0LWhlYWRlci10aWNrLW1pbm9yLFxyXG4uZ2FudHQtaGVhZGVyLXRpY2stZGF5LFxyXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG59XHJcbi5nYW50dC1oZWFkZXItdGljay1tYWpvciB7XHJcblx0c3Ryb2tlLXdpZHRoOiAxLjU7XHJcbn1cclxuLmdhbnR0LWhlYWRlci10b2RheS1tYXJrZXIge1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRzdHJva2Utd2lkdGg6IDEuNTtcclxuXHRzdHJva2UtZGFzaGFycmF5OiA0LCAyO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yLFxyXG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1pbm9yLFxyXG4uZ2FudHQtaGVhZGVyLWxhYmVsLWRheSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmdhbnR0LXNjcm9sbC1jb250YWluZXIge1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nYW50dC1jb250ZW50LXdyYXBwZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yLFxyXG4uZ2FudHQtZ3JpZC1saW5lLW1pbm9yIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDAuNTtcclxufVxyXG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yIHtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuLmdhbnR0LWdyaWQtbGluZS1ob3Jpem9udGFsIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLXRvZGF5LW1hcmtlciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxuXHRzdHJva2UtZGFzaGFycmF5OiA0LCAyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1pdGVtIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhciB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ibHVlLWhvdmVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDAuNTtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3ItcHVycGxlKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2U7XHJcbn1cclxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stYmFyLFxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stYmFyLFxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtaW5wcm9ncmVzcyAuZ2FudHQtdGFzay1iYXIge1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbC1mbyB7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0cGFkZGluZzogMCAycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biBwIHtcclxuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdhbnR0LW1pbGVzdG9uZS1sYWJlbC1jb250YWluZXIgcCB7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcclxuXHRtYXJnaW4taW5saW5lLWVuZDogMDtcclxuXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHRwYWRkaW5nOiAwIDJweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtY2FuY2VsbGVkIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG59XHJcblxyXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsIHtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5nYW50dC1maWx0ZXItYXJlYSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1maWx0ZXItYXJlYSAuZmlsdGVyLWNvbXBvbmVudCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3Ige1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IGNhbGMoNTAlICsgMjBweCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiA4cHg7XHJcblx0aGVpZ2h0OiA4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvcltzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdIHtcclxuXHRvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvci1sZWZ0IHtcclxuXHRsZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yLXJpZ2h0IHtcclxuXHRyaWdodDogNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRib3R0b206IDA7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC0zKTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lci1sZWZ0IHtcclxuXHRsZWZ0OiAwO1xyXG59XHJcblxyXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lci1yaWdodCB7XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLmdhbnR0LXNpbmdsZS1pbmRpY2F0b3I6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcblx0dG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQsIDQwcHgpICsgdmFyKC0tZmlsdGVyLWhlaWdodCwgMHB4KSk7XHJcblx0Ym90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIC5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcclxuXHRyaWdodDogMTVweDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwgcCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1nYW50dC1iYXItaGVpZ2h0KTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuIiwgIi50YXNrLXN0YXR1cy1pbmRpY2F0b3Itd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xuXHRtaW4taGVpZ2h0OiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZSxcblx0XHRvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3JfX3RleHQge1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0xKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvci5pcy1kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4udGFzay1zdGF0dXMtaW5kaWNhdG9yLmlzLXByb2Nlc3Npbmcge1xuXHRvcGFjaXR5OiAwLjc7XG5cdGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3IuaXMtY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cbiIsICIvKiBJbmxpbmUgRWRpdG9yIFN0eWxlcyAtIE9wdGltaXplZCBmb3IgUGVyZm9ybWFuY2UgYW5kIFVYICovXHJcbi5pbmxpbmUtZWRpdG9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cclxuLmlubGluZS1jb250ZW50LWVkaXRvciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xyXG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIENvbnRhaW5lciAtIE1vcmUgY29tcGFjdCBhbmQgaW5saW5lICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQge1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcblx0b3V0bGluZTogdW5zZXQ7XHJcblx0cGFkZGluZzogMDtcclxuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRib3JkZXI6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB1bnNldDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgSW5wdXQgRmllbGRzIC0gTW9yZSBjb21wYWN0ICovXHJcbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcclxuLmlubGluZS10YWdzLWlucHV0LFxyXG4uaW5saW5lLWNvbnRleHQtaW5wdXQsXHJcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcclxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtdGFncy1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1jb250ZXh0LWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXHJcbi5hZGQtbWV0YWRhdGEtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QgLnRhc2staXRlbTpub3QoLnRyZWUtdGFzay1pdGVtKTpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWl0ZW0tY29udGFpbmVyOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjJweDtcclxuXHRoZWlnaHQ6IDIycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHQtLWljb24tc2l6ZTogMTBweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biBzdmcge1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxufVxyXG5cclxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cclxuLmlubGluZS1lZGl0b3IgKiB7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcclxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xyXG4uaW5saW5lLWVkaXRvciBpbnB1dDpmb2N1cyxcclxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXHJcbi5pbmxpbmUtZWRpdG9yIHNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRWRpdGFibGUgTWV0YWRhdGEgSXRlbXMgLSBNb3JlIHN1YnRsZSBob3ZlciBlZmZlY3RzICovXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3ZlcixcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgRWRpdGFibGUgSG92ZXIgLSBNb3JlIHN1YnRsZSAqL1xyXG4udGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIHRyYW5zaXRpb25zIC0gT3B0aW1pemVkICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgbGF5b3V0IHNoaWZ0IGR1cmluZyBlZGl0aW5nICovXHJcbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcclxuXHRtaW4taGVpZ2h0OiAxZW07XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIC0gU2ltcGxpZmllZCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaW5saW5lLXByb2plY3QtaW5wdXQsXHJcblx0LmlubGluZS10YWdzLWlucHV0LFxyXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcclxuXHQuaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xyXG5cdFx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHR9XHJcblxyXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRcdG1heC13aWR0aDogMjUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQuaW5saW5lLWNvbnRlbnQtZWRpdG9yLFxyXG5cdC5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LmlubGluZS1lZGl0b3IgKixcclxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnLFxyXG5cdC50YXNrLWl0ZW0tY29udGVudCxcclxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogTmV3IGZpZWxkIGlucHV0IHN0eWxlcyAqL1xyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dCxcclxuLmlubGluZS1pZC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1pZC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDo6cGxhY2Vob2xkZXIsXHJcbi5pbmxpbmUtaWQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuIiwgIi50YXNrLXNpZGViYXIuY29sbGFwc2VkIHtcblx0d2lkdGg6IDQ4cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYW5lbC10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjY7XG5cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi5wYW5lbC10b2dnbGUtYnRuOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogU2lkZWJhciBOYXZpZ2F0aW9uICovXG4uc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAyMHB4IDAgMTBweCAwO1xuXHRnYXA6IDVweDtcbn1cblxuLnNpZGViYXItbmF2LXNwYWNlciB7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbjogOHB4IDE1cHg7XG5cdG9wYWNpdHk6IDAuNztcblx0bWFyZ2luLXRvcDogYXV0bztcbn1cblxuLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMCA1cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnNpZGViYXItbmF2LWl0ZW0uaXMtYWN0aXZlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHQtLWljb24tY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm5hdi1pdGVtLWljb24ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5uYXYtaXRlbS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm5hdi1pdGVtLWxhYmVsLmhpZGRlbiB7XG5cdG9wYWNpdHk6IDA7XG5cdHdpZHRoOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblxuXHR0cmFuc2l0aW9uOlxuXHRcdHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsXG5cdFx0ZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLm5hdi1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIENvbnRlbnQgU3R5bGVzICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWluLXdpZHRoOiAwO1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAudGFzay1jb250ZW50IHtcblx0bWFyZ2luLWxlZnQ6IC0yMDBweDtcblxuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4vKiBQcm9qZWN0IFRyZWUgKi9cbi50YXNrLWdlbml1cy12aWV3IC5wcm9qZWN0LXRyZWUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSxcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENvbnRlbnQgSGVhZGVyICovXG4uY29udGVudC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZvY3VzLWZpbHRlciB7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKiBUYXNrVmlldyAtIE9tbmlGb2N1cyBTdHlsZSAqL1xuXG4ud29ya3NwYWNlLWxlYWYtY29udGVudCAudGFzay1nZW5pdXMtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5iYXNlcy12aWV3IC50YXNrLWdlbml1cy12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBNYWluIGNvbnRhaW5lciBsYXlvdXQgKi9cbi50YXNrLWdlbml1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTGVmdCBzaWRlYmFyICovXG4udGFzay1zaWRlYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cblx0d2lkdGg6IDI0MHB4O1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIE1haW4gY29udGVudCBhcmVhICovXG4udGFzay1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBOYXZpZ2F0aW9uIHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogOHB4IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUHJvamVjdCB0cmVlICovXG4ucHJvamVjdC10cmVlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogOHB4IDA7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDJweCA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5leHBhbmRlZCA+IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWFyZ2luLWxlZnQ6IDE2cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250ZW50IGhlYWRlciAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcblx0ZmxleDogMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtdGl0bGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay1nZW5pdXMtdmlldyAudGFzay1jb3VudCB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1maWx0ZXIge1xuXHRcdGZsZXg6IDE7XG5cdH1cbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtZmlsdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZmlsdGVyLWlucHV0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAyMDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA0cHggMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uLmZvY3VzZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLm1vZC1sZWZ0LXNwbGl0IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZC1sZWZ0LXNwbGl0XG5cdC53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLXJpZ2h0LXNwbGl0XG5cdC53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1lbXB0eS1zdGF0ZSxcbi50YXNrLWdlbml1cy1mbHVlbnQtdmlldyAudGFzay1lbXB0eS1zdGF0ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctZmx1ZW50LWVycm9yLXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtMTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLm1vZC1yb290IC50YXNrLWdlbml1cy10YWItaGVhZGVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplICFpbXBvcnRhbnQ7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogMTIwcHgpIHtcblx0Lm1vZC1yb290IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdiB7XG5cdG1heC13aWR0aDogNDVweDtcbn1cblxuLyogV29ya2Zsb3cgUXVpY2sgTW9kYWwgU3R5bGVzICovXG4ucXVpY2std29ya2Zsb3ctbW9kYWwge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLndvcmtmbG93LXRlbXBsYXRlLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRlbXBsYXRlLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnRlbXBsYXRlLWRlc2MtdGV4dCB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW46IDA7XG59XG5cbi53b3JrZmxvdy1mb3JtLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXByZXZpZXcge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uc3RhZ2VzLXByZXZpZXctbGlzdCB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5zdGFnZS1wcmV2aWV3LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRtYXJnaW46IDRweCAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4uc3RhZ2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdGFnZS10eXBlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uc3RhZ2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNHB4O1xufVxuXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi53b3JrZmxvdy1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTVweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogV29ya2Zsb3cgUHJvZ3Jlc3MgSW5kaWNhdG9yIFN0eWxlcyAqL1xuLndvcmtmbG93LXByb2dyZXNzLWluZGljYXRvciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1hcmdpbjogMTBweCAwO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWJhciB7XG5cdGZsZXg6IDE7XG5cdGhlaWdodDogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWZpbGwge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXBlcmNlbnRhZ2Uge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtaW4td2lkdGg6IDM1cHg7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogOHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmN1cnJlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLnBlbmRpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24uY29tcGxldGVkLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24uY3VycmVudC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLnBlbmRpbmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xuXHRjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCAud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNHB4IDA7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1pY29uIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiB0YXNrLXByb3BlcnR5IFZpZXcgU3R5bGVzICovXHJcbi50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcclxuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcclxuXHRtYXgtd2lkdGg6IDMwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXJpZ2h0LWNvbHVtbiB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktc2lkZWJhci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5tdWx0aS1zZWxlY3QtbW9kZSAudGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDRweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbmFtZSB7XHJcblx0ZmxleDogMTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWNvdW50IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2staGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS10YXNrLWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcbn1cclxuXHJcbi8qIHRhc2stcHJvcGVydHkgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2Uge1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiAxMHB4O1xyXG5cdHotaW5kZXg6IDE1O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xyXG4uaXMtcGhvbmVcclxuXHQudGFzay1wcm9wZXJ0eS1jb250YWluZXI6aGFzKFxyXG5cdFx0LnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZVxyXG5cdCk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyOmhhcygudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG4iLCAiLyogRm9yZWNhc3QgQ29tcG9uZW50IFN0eWxlcyAqL1xyXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmZvcmVjYXN0LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC10aXRsZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmZvcmVjYXN0LXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4uZm9yZWNhc3QtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZm9yZWNhc3Qtc2V0dGluZ3Mge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmZvcmVjYXN0LXNldHRpbmdzOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtZm9jdXMtYmFyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBhZGRpbmc6IDEwcHggMTVweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZm9jdXMtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udW5mb2N1cy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnVuZm9jdXMtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBNYWluIGNvbnRlbnQgbGF5b3V0IHdpdGggdHdvIGNvbHVtbnMgKi9cclxuLmZvcmVjYXN0LWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xyXG5cdHdpZHRoOiAzNjBweDtcclxuXHRtaW4td2lkdGg6IDM2MHB4O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtdGFzay1saXN0IHtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtY2FsZW5kYXItc2VjdGlvbiB7XHJcblx0cGFkZGluZzogMTBweCAwO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBTdGF0cyBCYXIgKi9cclxuLmZvcmVjYXN0LXN0YXRzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uc3RhdC1pdGVtIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnN0YXQtaXRlbTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAxMCU7XHJcblx0d2lkdGg6IDgwJTtcclxuXHRoZWlnaHQ6IDNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnN0YXQtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0uYWN0aXZlOjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRhbmltYXRpb246IGNvbG9yLXB1bHNlIDEuNXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNvbG9yLXB1bHNlIHtcclxuXHQwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMSkgIWltcG9ydGFudDtcclxuXHRcdG9wYWNpdHk6IDAuNztcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMikgIWltcG9ydGFudDtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlOjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uc3RhdC1pdGVtLnRnLXRvZGF5OjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctZnV0dXJlOjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnN0YXQtY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnN0YXQtaXRlbS50Zy1wYXN0LWR1ZSAuc3RhdC1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4uc3RhdC1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIER1ZSBTb29uIFNlY3Rpb24gKi9cclxuLmZvcmVjYXN0LWR1ZS1zb29uLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4uZHVlLXNvb24taGVhZGVyIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0cGFkZGluZzogNXB4IDE1cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDhweCAxNXB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uZHVlLXNvb24taXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1kYXRlIHtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uZHVlLXNvb24tY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweCAxNXB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRvZ2dsZSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XHJcblx0ZmxleDogMTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC01KTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBPdmVyZHVlIHNlY3Rpb24gc3R5bGluZyAqL1xyXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuZGF0ZS1zZWN0aW9uLWhlYWRlciB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tdGl0bGUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tY291bnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnNlY3Rpb24tdGFza3Mge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmZvcmVjYXN0LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGhlaWdodDogMTAwcHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4uZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLmlzLXBob25lXHJcblx0LmZvcmVjYXN0LWhlYWRlcjpoYXMoLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlKVxyXG5cdC5mb3JlY2FzdC10aXRsZS1jb250YWluZXIge1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLyogRm9yZWNhc3QgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItY2xvc2Uge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwcHg7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0d2lkdGg6IDI4cHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcyguZm9yZWNhc3QtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4iLCAiLyogQ2FsZW5kYXIgQ29tcG9uZW50IFN0eWxlcyAqL1xyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA4cHggMTVweDtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aCB7XHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXIteWVhciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LWJ0bjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuIHtcclxuXHRwYWRkaW5nOiAycHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XHJcblx0Z2FwOiAxcHg7XHJcblx0cGFkZGluZzogMCAxMHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiAzcHggMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi1ib3R0b206IDNweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXdcclxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBBZGp1c3QgZ3JpZCBsYXlvdXQgd2hlbiB3ZWVrZW5kcyBhcmUgaGlkZGVuIGluIG1pbmkgY2FsZW5kYXIgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLWdyaWQge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cclxufVxyXG5cclxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcclxuICAgc28gbm8gaGlkaW5nIHJ1bGVzIGFyZSBuZWVkZWQuIFRoZSBncmlkIGxheW91dCBhZGp1c3RtZW50cyBhYm92ZSBhcmUgc3VmZmljaWVudC4gKi9cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogMXB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnBhc3QtZHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRwYWRkaW5nOiAxcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvdW50IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxuXHRwYWRkaW5nOiAxcHggNHB4O1xyXG5cdG1hcmdpbjogMXB4IGF1dG8gMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudC5oYXMtcHJpb3JpdHkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XHJcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxyXG5cdFx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0XHQuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuIiwgIi8qIFRhc2sgVGFibGUgVmlldyBTdHlsZXMgKi9cbi50YWJsZS12aWV3LWFkYXB0ZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmbGV4OiAxO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHQvKiBFbnN1cmUgdGFibGUgdGFrZXMgZnVsbCB3aWR0aCBldmVuIHdpdGggbWFueSBjb2x1bW5zICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIFRhYmxlIHdyYXBwZXIgZm9yIHNjcm9sbGluZyAqL1xuLnRhc2stdGFibGUtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qIEVuYWJsZSBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHNjcm9sbGluZyAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHQvKiBTbW9vdGggc2Nyb2xsaW5nICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBIZWFkZXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXIge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC8qIEVuc3VyZSBoZWFkZXIgZG9lc24ndCBicmVhayB3aGVuIHNjcm9sbGluZyBob3Jpem9udGFsbHkgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LyogUHJldmVudCBoZWFkZXIgY2VsbHMgZnJvbSBzaHJpbmtpbmcgdG9vIG11Y2ggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRnYXA6IDRweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXRpdGxlIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3BhY2l0eTogMC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5hc2MsXG4udGFzay10YWJsZS1zb3J0LWljb24uZGVzYyB7XG5cdG9wYWNpdHk6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogMTAwJTtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBCb2R5IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlLXJvdyB7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwuZWRpdGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRyZWUtaW5kZW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4OyBcbn1cblxuLnRhc2stdGFibGUtY2VsbDpoYXMoLnRhc2stdGFibGUtZXhwYW5kLWJ0bikge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi50YXNrLXRhYmxlLXJvdy50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA1MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA3MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA5MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMTJweDtcbn1cblxuLyogQ2VsbCBUeXBlIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jb21wbGV0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmluLXByb2dyZXNzIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5hYmFuZG9uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5wbGFubmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMubm90LXN0YXJ0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFByaW9yaXR5IENlbGwgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5tZWRpdW0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRGF0ZSBDZWxsICovXG4udGFzay10YWJsZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9tb3Jyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnllc3RlcmRheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnVwY29taW5nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVGFncyBDZWxsICovXG4udGFzay10YWJsZS10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdGFnLWNoaXAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS10YWdzLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIElubGluZSBFZGl0aW5nIElucHV0cyAqL1xuLnRhc2stdGFibGUtdGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKSAhaW1wb3J0YW50O1xufVxuXG4udGFzay10YWJsZS10ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcbn1cblxuLyogVGFzayBDb3VudCBJY29uICovXG4udGFzay1jb3VudC1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1yb3cge1xuXHRoZWlnaHQ6IDgwcHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LWNlbGwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBMb2FkaW5nIFN0YXRlICovXG4udGFzay10YWJsZS1sb2FkaW5nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4vKiBSZXNpemUgU3RhdGUgKi9cbi50YXNrLXRhYmxlLnJlc2l6aW5nIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLnJlc2l6aW5nICoge1xuXHRjdXJzb3I6IGNvbC1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZSB7XG5cdFx0bWluLXdpZHRoOiA4MDBweDsgLyogRW5zdXJlIHRhYmxlIGRvZXNuJ3QgZ2V0IHRvbyBuYXJyb3cgKi9cblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IE1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdH1cbn1cblxuLyogUHJpbnQgU3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblxuXHQudGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHRkIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogQ29udGV4dCBtZW51IHN0eWxlcyAqL1xuLnRhc2stdGFibGUtY29udGV4dC1tZW51IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBEYXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZGF0ZS1pbnB1dCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEF1dG9jb21wbGV0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSb3cgc2VsZWN0aW9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXItd2Vhayk7XG59XG5cbi8qIFJlc3BvbnNpdmUgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUge1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdH1cblxuXHR0aFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0XHRnYXA6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGRbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDRweDtcblx0fVxufVxuXG4vKiBUYXNrIFRhYmxlIEhlYWRlciBCYXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmbGV4LXNocmluazogMDtcblx0bWluLWhlaWdodDogNDBweDtcbn1cblxuLnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFRhc2sgQ291bnQgRGlzcGxheSAqL1xuLnRhc2stY291bnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stY291bnQtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENvbnRyb2wgQnV0dG9ucyAqL1xuLnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udGFibGUtY29udHJvbC1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0Ym94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLW1vZGUtYnRuLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50cmVlLW1vZGUtaWNvbixcbi5yZWZyZXNoLWljb24sXG4uY29sdW1uLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udHJlZS1tb2RlLXRleHQsXG4ucmVmcmVzaC10ZXh0LFxuLmNvbHVtbi10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRyb3Bkb3duLWFycm93IHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4vKiBDb2x1bW4gRHJvcGRvd24gKi9cbi5jb2x1bW4tZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgSGVhZGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDEycHg7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQsXG5cdC50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzIGZvciBIZWFkZXIgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGhlbWUtZGFyayAuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEN1c3RvbSBBdXRvLVN1Z2dlc3QgRHJvcGRvd24gKi9cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWF4LWhlaWdodDogMjAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIsXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEVuaGFuY2VkIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcGFyZW50IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWNlbGwge1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWZvY3VzKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtc3RydWN0dXJlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay10YWJsZS10cmVlLWxpbmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29ubmVjdG9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS10cmVlLXZlcnRpY2FsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stdGFibGUtdG9wLWxldmVsLWV4cGFuZCB7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZW50LXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi50YXNrLXRhYmxlLWNoaWxkLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogRW5oYW5jZWQgU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1czpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBFbmhhbmNlZCBQcmlvcml0eSBJY29ucyAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmaWx0ZXI6IGJyaWdodG5lc3MoMS4yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3dlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFRyZWUgZXhwYW5kIGJ1dHRvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb24ge1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogT3ZlcnJpZGUgZXhpc3RpbmcgdHJlZSBpbmRlbnRhdGlvbiB0byB1c2UgbmV3IHN5c3RlbSAqL1xuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7IC8qIFJlc2V0IHRvIG5vcm1hbCBwYWRkaW5nLCBsZXQgdHJlZSBzdHJ1Y3R1cmUgaGFuZGxlIGluZGVudGF0aW9uICovXG59XG4iLCAiLyogVGFzayBHZW5pdXMgLSBRdWFkcmFudCBWaWV3IFN0eWxlcyAqL1xyXG5cclxuLyogTWFpbiBRdWFkcmFudCBDb250YWluZXIgKi9cclxuLnRnLXF1YWRyYW50LWNvbXBvbmVudC1jb250YWluZXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBIZWFkZXIgU2VjdGlvbiAqL1xyXG4udGctcXVhZHJhbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRpdGxlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Qge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0OmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0d2lkdGg6IDI4cHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogRmlsdGVyIFNlY3Rpb24gKi9cclxuLnRnLXF1YWRyYW50LWZpbHRlci1jb250YWluZXIge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFF1YWRyYW50IEdyaWQgKi9cclxuLnRnLXF1YWRyYW50LWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjtcclxuXHRnYXA6IDFweDtcclxuXHRmbGV4OiAxO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBJbmRpdmlkdWFsIFF1YWRyYW50IENvbHVtbnMgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWluLWhlaWdodDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi0taGlkZGVuIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBRdWFkcmFudCBIZWFkZXJzICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXByaW9yaXR5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LXRpdGxlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY291bnQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi8qIFF1YWRyYW50IENvbnRlbnQgQXJlYXMgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHR3aWR0aDogOHB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcbn1cclxuXHJcbi8qIFF1YWRyYW50IFNwZWNpZmljIFN0eWxpbmcgLSBTdWJ0bGUgYWNjZW50IGJhcnMgKi9cclxuLnF1YWRyYW50LXVyZ2VudC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRoZWlnaHQ6IDNweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5xdWFkcmFudC1ub3QtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucXVhZHJhbnQtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRoZWlnaHQ6IDNweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnF1YWRyYW50LW5vdC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLyogVGFzayBDYXJkcyAqL1xyXG4udGctcXVhZHJhbnQtY2FyZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpsYXN0LWNoaWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiBDYXJkIEhlYWRlciAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtY2hlY2tib3gge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtYWN0aW9ucyB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG4ge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiBDYXJkIENvbnRlbnQgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1wcmlvcml0eSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtdGFncyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10YWcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtdGFnOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGFnLS11cmdlbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGFnLS1pbXBvcnRhbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLyogQ2FyZCBNZXRhZGF0YSAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC1tZXRhZGF0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS1pY29uIHtcclxuXHR3aWR0aDogMTJweDtcclxuXHRoZWlnaHQ6IDEycHg7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tdXJnZW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtLW92ZXJkdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pbmZvIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pbmZvIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWljb24ge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1uYW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bWF4LXdpZHRoOiAxMjBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWxpbmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0b3BhY2l0eTogMC42O1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi8qIFByaW9yaXR5IENsYXNzZXMgLSBTdWJ0bGUgbGVmdCBib3JkZXIgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2hlc3Qge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1oaWdoIHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1tZWRpdW0ge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvdyB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93ZXN0IHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBEcmFnIGFuZCBEcm9wIFN0YXRlcyAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xyXG5cdG9wYWNpdHk6IDAuNDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkIC0gZm9sbG93aW5nIGthbmJhbiBwYXR0ZXJuICovXHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpOyAvKiBNb3JlIHByb21pbmVudCBzaGFkb3cgKi9cclxufVxyXG5cclxuLyogUmVtb3ZlIG9sZCBkcmFnIGNsYXNzZXMgdGhhdCBhcmUgbm8gbG9uZ2VyIHVzZWQgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLyogRW1wdHkgU3RhdGUgKi9cclxuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEyMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xyXG5cdHdpZHRoOiAzMnB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGctcXVhZHJhbnQtZ3JpZCB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb250cm9scyB7XHJcblx0XHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEZvY3VzIHN0YXRlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xyXG4udGctcXVhZHJhbnQtY2FyZDpmb2N1cyB7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46Zm9jdXMge1xyXG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIGludGVyYWN0aW9ucyAqL1xyXG5Aa2V5ZnJhbWVzIGNhcmRDb21wbGV0ZSB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1jb21wbGV0ZWQge1xyXG5cdGFuaW1hdGlvbjogY2FyZENvbXBsZXRlIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi8qIEltcHJvdmVkIGhvdmVyIHN0YXRlcyAqL1xyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIEJldHRlciB2aXN1YWwgaGllcmFyY2h5ICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogTGF6eSBsb2FkaW5nIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtbG9hZGluZyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkaW5nLXNwaW5uZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zcGlubmVyIHtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkaW5nLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogRW5oYW5jZWQgZHJhZyBhbmQgZHJvcCBzdHlsZXMgKi9cclxuLnRnLXF1YWRyYW50LWRyYWdnaW5nIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1kcmFnZ2luZyAqIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWdob3N0IHtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcclxuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHRib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XHJcblx0b3BhY2l0eTogMC45O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLS1kcmFnLXRhcmdldCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiRHJvcCB0YXNrIGhlcmVcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEZlZWRiYWNrIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAyMHB4O1xyXG5cdHJpZ2h0OiAyMHB4O1xyXG5cdHotaW5kZXg6IDEwMDAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tc2hvdyB7XHJcblx0b3BhY2l0eTogMTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLWVycm9yIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2stdGV4dCB7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgY2FyZCBpbnRlcmFjdGlvbnMgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQge1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDphY3RpdmUge1xyXG5cdGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi8qIEltcHJvdmVkIGVtcHR5IHN0YXRlICovXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbSAxcmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWluLWhlaWdodDogMTIwcHg7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0bWFyZ2luOiAwLjVyZW0gMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRtYXgtd2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4vKiBMb2FkaW5nIGFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcblx0fVxyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc3Bpbm5lciBjaXJjbGUge1xyXG5cdGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xyXG5cdFx0dG9wOiAxMHB4O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0tc2hvdyB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLWhpZGUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcclxuXHRcdG1pbi13aWR0aDogYXV0bztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLyogRGFyayBtb2RlIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi8qIEFjY2Vzc2liaWxpdHkgaW1wcm92ZW1lbnRzICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LnRnLXF1YWRyYW50LWNhcmQsXHJcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayxcclxuXHQudGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuLFxyXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcclxuXHRcdHRyYW5zaXRpb246IG5vbmU7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtc3Bpbm5lciBjaXJjbGUge1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogU2Nyb2xsIGNvbnRhaW5lciBzdHlsZXMgKi9cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0bWF4LWhlaWdodDogNzB2aDtcclxuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0d2lkdGg6IDZweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogTG9hZCBtb3JlIGluZGljYXRvciBzdHlsZXMgKi9cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtLXZpc2libGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtc3Bpbm5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogQW5pbWF0ZSB0aGUgT2JzaWRpYW4gbG9hZGVyIGljb24gKi9cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHN2ZyB7XHJcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIENvbHVtbiBsYXlvdXQgYWRqdXN0bWVudHMgZm9yIHNjcm9sbGluZyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDgwdmg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC41cmVtO1xyXG59XHJcblxyXG4vKiBTbW9vdGggc2Nyb2xsaW5nICovXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG5cclxuLyogTG9hZGluZyBzdGF0ZXMgZHVyaW5nIHNjcm9sbCAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLmxvYWRpbmctbW9yZSAudGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vKiBJbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgdGFyZ2V0IHN0eWxpbmcgKi9cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XHJcblx0bWluLWhlaWdodDogNDBweDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgZW1wdHkgc3RhdGUgZm9yIHNjcm9sbGFibGUgY29udGVudCAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6ZW1wdHk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLyogR3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgKi9cclxuLnRnLXF1YWRyYW50LWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDBweCk7XHJcblx0bWluLWhlaWdodDogNDAwcHg7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgc2Nyb2xsIGNvbnRhaW5lciBoZWlnaHRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0XHRtYXgtaGVpZ2h0OiA2MHZoO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNvbHVtbiB7XHJcblx0XHRtYXgtaGVpZ2h0OiA3MHZoO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xyXG5cdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xyXG5cdFx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRcdG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWdyaWQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4vKiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XHJcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlO1xyXG5cdHdpbGwtY2hhbmdlOiBjb250ZW50cztcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQge1xyXG5cdGNvbnRhaW46IGxheW91dCBzdHlsZSBwYWludDtcclxufVxyXG5cclxuLyogU2Nyb2xsIGluZGljYXRvcnMgKi9cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIuaGFzLXNjcm9sbDo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdHRvIGJvdHRvbSxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksXHJcblx0XHR0cmFuc3BhcmVudFxyXG5cdCk7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIuaGFzLXNjcm9sbDo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IHN0aWNreTtcclxuXHRib3R0b206IDA7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSwgdHJhbnNwYXJlbnQpO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuIiwgIi8qIFRhc2sgVGltZXIgV2lkZ2V0IFN0eWxlcyAtIFNpbXBsZSBUZXh0LUJhc2VkICovXHJcblxyXG4udGFzay10aW1lci13aWRnZXQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogNHB4IDA7XHJcblx0cGFkZGluZzogMnB4IDA7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLyogU3RhcnQgYnV0dG9uIGFuZCBhY3Rpb24gbGlua3MgKi9cclxuLnRhc2stdGltZXItc3RhcnQsXHJcbi50YXNrLXRpbWVyLWFjdGlvbiB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLXRpbWVyLXN0YXJ0OmhvdmVyLFxyXG4udGFzay10aW1lci1hY3Rpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XHJcbn0iLCAiLyogRXhwZXJpbWVudGFsIFNldHRpbmdzICovXHJcbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XHJcblx0bWFyZ2luOiAyMHB4IDA7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcclxuXHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xyXG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0bWFyZ2luOiAxMHB4IDAgMjBweCAwO1xyXG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcclxuXHRtYXJnaW46IDE1cHggMDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtaW5mbyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXJlc3RhcnQtbm90aWNlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXHJcbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xyXG4uZXhwZXJpbWVudGFsLXNldHRpbmdzLXNlY3Rpb24ge1xyXG5cdG1hcmdpbjogMjBweCAwO1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLXNlY3Rpb24taGVhZGluZyB7XHJcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtc3Vic2VjdGlvbi1oZWFkaW5nIHtcclxuXHRtYXJnaW46IDE1cHggMCA4cHggMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcclxuXHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5leHBlcmltZW50YWwtZGF0YWZsb3ctc2VjdGlvbiB7XHJcblx0bWFyZ2luOiAxNXB4IDA7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4uZXhwZXJpbWVudGFsLWluZm8ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xyXG4udGFzay1zdGF0ZXMtY29udGFpbmVyIHtcclxuXHRtYXJnaW46IDEwcHggMDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyB7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0ZmxleC13cmFwOiBub3dyYXA7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW4tbGVmdDogNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xKTtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIC50YXNrLXN0YXRlIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcclxufVxyXG5cclxuLyogQ2F0ZWdvcnkgc2VjdGlvbiAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogQ2F0ZWdvcnkgaGVhZGVyICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktaGVhZGVyIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi8qIENhdGVnb3J5IHRhYnMgY29udGFpbmVyICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgKGZhbGxiYWNrKSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcblx0Z3JpZC1hdXRvLXJvd3M6IHZhcigtLXNpemUtNC0xOCk7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XHJcblx0fVxyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAxMHB4O1xyXG5cdHJpZ2h0OiAtODBweDtcclxuXHR3aWR0aDogMjAwcHg7XHJcblx0aGVpZ2h0OiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTVkZWcpO1xyXG5cdHotaW5kZXg6IDA7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3Zlcjo6YWZ0ZXIge1xyXG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTBkZWcpO1xyXG5cdG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlOjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcbi8qIFRhYiBjb250ZW50IHN0eWxpbmcgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItaWNvbixcclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWIgc3BhbixcclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItbGFiZWwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCB0YWIgaWNvbiBzdHlsaW5nIGZvciBjYXRlZ29yaXplZCBsYXlvdXQgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24gc3ZnIHtcclxuXHR3aWR0aDogdmFyKC0taWNvbi1zKTtcclxuXHRoZWlnaHQ6IHZhcigtLWljb24tcyk7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIHRhYiBsYWJlbCBzdHlsaW5nIGZvciBjYXRlZ29yaXplZCBsYXlvdXQgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcblx0ZmxleDogMTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgY2F0ZWdvcml6ZWQgdGFicyAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogTGVnYWN5IHRhYiBzdHlsZXMgKGZhbGxiYWNrKSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9ucyB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbi1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogMTZweDtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBUYWIgc2VjdGlvbiBoZWFkZXIgdmlzaWJpbGl0eSBydWxlcyAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYltkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEhpZGUgY2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgd2hlbiBhbnkgbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKFxyXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcclxuXHQpXHJcbi5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIHZpc2liaWxpdHkgKGZhbGxiYWNrKSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBTaG93IGxlZ2FjeSB0YWJzIHdoZW4gZ2VuZXJhbCB0YWIgaXMgYWN0aXZlIChmYWxsYmFjayBiZWhhdmlvcikgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyguc2V0dGluZ3MtdGFiLWFjdGl2ZVtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXHJcbi5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLyogU2V0dGluZ3MgaGVhZGVyIHZpc2liaWxpdHkgLSBoaWRlIHdoZW4gbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyhcclxuXHRcdC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmU6bm90KFtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXHJcblx0KVxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBFeHByZXNzaW9uIGV4YW1wbGVzIGluIHNldHRpbmdzICovXHJcbi5leHByZXNzaW9uLWV4YW1wbGVzIHtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4uZXhwcmVzc2lvbi1leGFtcGxlLWl0ZW0ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtY29kZSB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xyXG59XHJcblxyXG4uZXhwcmVzc2lvbi1leGFtcGxlLXVzZSB7XHJcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC10ZXh0YXJlYSB7XHJcblx0aGVpZ2h0OiAyMDBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWxhYmVsIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wbGFjZWhvbGRlci1pbmZvIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cclxuXHR1c2VyLXNlbGVjdDogdGV4dDtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1lcnJvcixcclxuLmV4cHJlc3Npb24tcHJldmlldy1lcnJvciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4vKiBcdTg4NjhcdThGQkVcdTVGMEZcdTc5M0FcdTRGOEJcdTk4ODRcdTg5QzhcdTY4MzdcdTVGMEYgKi9cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1wcmV2aWV3IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4ucHJlc2V0LWZpbHRlcnMtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ucHJlc2V0LWZpbHRlci1yb3cge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5wcmVzZXQtZmlsdGVyLXJvdzpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLm5vLXByZXNldHMtbWVzc2FnZSB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLnByZXNldC1zYXZlZC1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA1cHg7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi50YXNrLWZpbHRlci1zYXZlLXByZXNldCB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbi5tb2Qtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLm1vZGFsLXdvcmtmbG93LWRlZmluaXRpb24ge1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0d2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbi5tb2RhbC1zdGFnZS1kZWZpbml0aW9uIHtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdHdpZHRoOiA5MHZ3O1xyXG59XHJcblxyXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBwYW5lbCBpbXByb3ZlbWVudHMgKi9cclxuLndvcmtmbG93LWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtaW5mbyB7XHJcblx0bWFyZ2luLXRvcDogMTJweDtcclxuXHRwYWRkaW5nOiA4cHggMCAwIDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1jeWNsZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXRlcm1pbmFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLm5vLXdvcmtmbG93cy1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4vKiBXb3JrZmxvdyBtb2RhbCBzdHlsZXMgKi9cclxuLndvcmtmbG93LWZvcm0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmctdG9wOiAxNXB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24gaDIge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRmb250LXNpemU6IDEuM2VtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZsZXgtd3JhcDogdW5zZXQ7XHJcblx0Z2FwOiB1bnNldDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0cGFkZGluZzogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLndvcmtmbG93LWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24sXHJcbi53b3JrZmxvdy1jYW5jZWwtYnV0dG9uLFxyXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LWNhbmNlbC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5uby1zdGFnZXMtbWVzc2FnZSB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLyogU3RhZ2UgZWRpdGluZyBzdHlsZXMgKi9cclxuLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmbGV4OiAxO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1lZGl0LFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcclxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZSB7XHJcblx0cGFkZGluZzogM3B4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdDpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXA6aG92ZXIsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTBweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlLWxpbmVhciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1jeWNsZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXR5cGUtdGVybWluYWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBTdWJzdGFnZSBzdHlsZXMgKi9cclxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcclxuXHRwYWRkaW5nOiAwIDAgMCB2YXIoLS1zaXplLTQtNik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN1YnN0YWdlLXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFN0YWdlIGVkaXQgbW9kYWwgKi9cclxuLnN0YWdlLXR5cGUtc2V0dGluZ3Mge1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5zdWJzdGFnZXMtc2VjdGlvbixcclxuLmNhbi1wcm9jZWVkLXRvLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN1YnN0YWdlcy1jb250YWluZXIsXHJcbi5jYW4tcHJvY2VlZC10by1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZXMtbGlzdCxcclxuLmNhbi1wcm9jZWVkLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dCB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uZXh0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNXB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbixcclxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHBhZGRpbmc6IDJweCA1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b246aG92ZXIsXHJcbi5jYW4tcHJvY2VlZC1yZW1vdmUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uYWRkLXN1YnN0YWdlLWJ1dHRvbixcclxuLmFkZC1jYW4tcHJvY2VlZC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiA0cHggMTBweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uYWRkLWNhbi1wcm9jZWVkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDEwcHg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uYWRkLWNhbi1wcm9jZWVkLXNlbGVjdCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5zdGFnZS1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN0YWdlLXNhdmUtYnV0dG9uLFxyXG4uc3RhZ2UtY2FuY2VsLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnN0YWdlLWVycm9yLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4vKiBXb3JrZmxvdyB0YXNrIGluIGVkaXRvci9wcmV2aWV3IG1vZGUgc3R5bGVzICovXHJcbi50YXNrLXdvcmtmbG93LXRhZyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LXN0YWdlIHtcclxuXHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LXN1YnN0YWdlIHtcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay13b3JrZmxvdy1oaXN0b3J5IHtcclxuXHRtYXJnaW4tbGVmdDogMjBweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay13b3JrZmxvdy10aW1lc3RhbXAge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxufVxyXG5cclxuLyogV29ya2Zsb3cgc2V0dGluZ3MgZGlzcGxheSBlbmhhbmNlbWVudHMgKi9cclxuLnNldHRpbmctaXRlbS1jb250cm9sIHNwYW5bY2xhc3NePVwid29ya2Zsb3ctc3RhZ2UtbmFtZS1cIl0ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLWN5Y2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtdGVybWluYWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93RGVmaW5pdGlvbk1vZGFsIGhlYWRlciBlbmhhbmNlbWVudHMgKi9cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XHJcblx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTBweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdWJzdGFnZXMtbGlzdCB7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcblx0bWFyZ2luOiA1cHggMCAxMHB4IDA7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIEJldHRlciBidXR0b25zIGluIHdvcmtmbG93IHBhbmVscyAqL1xyXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbixcclxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEsXHJcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogNnB4IDE1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbjpob3ZlcixcclxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIsXHJcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd24sXHJcbi53b3JrZmxvdy1zdGFnZS1lZGl0LFxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDNweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXA6aG92ZXIsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIsXHJcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1kZWxldGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIFN1YnRhc2sgc3R5bGluZyBpbXByb3ZlbWVudHMgKi9cclxuLnN1YnN0YWdlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDZweCAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQ6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubm8tc3RhZ2VzLW1lc3NhZ2UsXHJcbi5uby13b3JrZmxvd3MtbWVzc2FnZSxcclxuLm5vLXN1YnN0YWdlcy1tZXNzYWdlLFxyXG4ubm8tY2FuLXByb2NlZWQtbWVzc2FnZSB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRtYXJnaW46IDEwcHggMDtcclxufVxyXG5cclxuLyogU1RBUlQ6IFJld2FyZCBTZXR0aW5ncyBTdHlsZXMgKi9cclxuLnJld2FyZHMtbGV2ZWxzLWNvbnRhaW5lcixcclxuLnJld2FyZHMtaXRlbXMtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWluZm8sXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sLFxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwOyAvKiBBbGxvdyB3cmFwcGluZyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuXHRnYXA6IDEwcHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDEwMHB4OyAvKiBFbnN1cmUgcmVhc29uYWJsZSBtaW5pbXVtIHdpZHRoICovXHJcbn1cclxuXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuaW5wdXQtY29udGFpbmVyIHtcclxuXHQvKiBPYnNpZGlhbiB1c2VzIHRoaXMgY2xhc3MgZm9yIHRleHQvdGV4dGFyZWEgKi9cclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB0ZXh0YXJlYSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2UgdGV4dGFyZWEgdGFrZSBmdWxsIHdpZHRoIHdpdGhpbiBpdHMgY29udGFpbmVyICovXHJcblx0bWluLWhlaWdodDogNDBweDsgLyogRW5zdXJlIGl0J3MgdGFsbCBlbm91Z2ggZm9yIGEgY291cGxlIGxpbmVzICovXHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5kcm9wZG93biB7XHJcblx0bWluLXdpZHRoOiAxMjBweDtcclxufVxyXG5cclxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24sXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiBQdXNoIGRlbGV0ZSBidXR0b24gdG8gdGhlIHJpZ2h0ICovXHJcbn1cclxuXHJcbi5yZXdhcmRzLWl0ZW0tZGl2aWRlciB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0uc29ydC1jcml0ZXJpb24tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgc2VsZWN0LmRyb3Bkb3duIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG5cclxuLnZpZXctZWRpdC1idXR0b24sXHJcbi52aWV3LWNvcHktYnV0dG9uLFxyXG4udmlldy1vcmRlci1idXR0b24sXHJcbi52aWV3LWRlbGV0ZS1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udmlldy1jb3B5LWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi52aWV3LWNvcHktYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi52aWV3LWRlbGV0ZS1idXR0b24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnZpZXctZGVsZXRlLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xyXG4uY29weS1tb2RlLWluZm8ge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uY29weS1tb2RlLWluZm8gcCB7XHJcblx0bWFyZ2luOiA0cHggMDtcclxufVxyXG5cclxuLyogVGFza3MgUGx1Z2luIENvbXBhdGliaWxpdHkgV2FybmluZyBCYW5uZXIgKi9cclxuLnRhc2tzLWNvbXBhdGliaWxpdHktd2FybmluZyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcclxuXHRcdHZhcigtLWFjY2VudC1oKSxcclxuXHRcdHZhcigtLWFjY2VudC1zKSxcclxuXHRcdHZhcigtLWFjY2VudC1sKSxcclxuXHRcdDAuNVxyXG5cdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgaHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuNSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctdGV4dCBhIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IGE6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3Ryb25nIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW4ge1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46bGFzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBQcm9qZWN0IENvbmZpZ3VyYXRpb24gU3R5bGVzICovXHJcbi5wcm9qZWN0LXBhdGgtbWFwcGluZ3MtY29udGFpbmVyLFxyXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5ncy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3csXHJcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmctcm93IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLm5vLW1hcHBpbmdzLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFRhc2sgUHJvamVjdCBEaXNwbGF5IFN0eWxlcyAqL1xyXG4udGFzay1wcm9qZWN0LXRnIHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRwYWRkaW5nLWxlZnQ6IDRweDtcclxufVxyXG5cclxuLnRhc2stcHJvamVjdC10Zzo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1RDgzRFx1REQxN1wiO1xyXG5cdG1hcmdpbi1yaWdodDogMnB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcbn1cclxuXHJcbi8qIE1ldGFkYXRhIEVkaXRvciBQcm9qZWN0IFN0eWxlcyAqL1xyXG4ucHJvamVjdC1yZWFkb25seSB7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4ucHJvamVjdC1yZWFkb25seSBpbnB1dCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLyogRGF0ZSBmb3JtYXQgY29uZmlndXJhdGlvbiBzdHlsZXMgKi9cclxuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEwcHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDZweCAxMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcclxuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjphY3RpdmUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLyogRGF0ZSBmb3JtYXQgZXhhbXBsZXMgc2VjdGlvbiAqL1xyXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZXhhbXBsZXMtaGVhZGVyIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCxcclxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xyXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmhvdmVyIHRkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLWluZGV4LXRhc2stc291cmNlLXdyYXBwZXIge1xyXG5cdG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuXHJcbi50Zy1pbmRleC10YXNrLXNvdXJjZS1wYW5lbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEycHg7XHJcbn1cclxuXHJcbi50Zy1zb3VyY2Utc2V0dGluZ3MtYm9keSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTJweDtcclxufVxyXG5cclxuLnRnLXNvdXJjZS1zZXR0aW5ncy1ib2R5LnRnLXNvdXJjZS1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC41NTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4iLCAiLnRnLXN0YXR1cy1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc2l6ZS0yLTEpKTtcbn1cblxuLnRnLWljb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIC50Zy1zdGF0dXMtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogR2xvYmFsIEZpbHRlciBDb250YWluZXIgU3R5bGVzICovXG4uZ2xvYmFsLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBGaWxlIFRhc2sgZHluYW1pYyBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLW1ldGFkYXRhLWZpZWxkcy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtdGFncy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xuXHRtYXJnaW46IDFyZW0gMDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXRhZ3MtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXBhdGhzLWhlYWRlcixcbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlcixcbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtbGlzdCxcbi50YXNrLWdlbml1cy10YWctbGlzdCxcbi50YXNrLWdlbml1cy1wYXRoLWxpc3QsXG4udGFzay1nZW5pdXMtZm9ybWF0LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWl0ZW0sXG4udGFzay1nZW5pdXMtdGFnLWl0ZW0sXG4udGFzay1nZW5pdXMtcGF0aC1pdGVtLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy10YWctaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dCxcbi50YXNrLWdlbml1cy10YWctaW5wdXQsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dCxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjRyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtdGFnLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLXBhdGgtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtdGFnLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtcGF0aC1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1maWVsZC1idG4sXG4udGFzay1nZW5pdXMtYWRkLXRhZy1idG4sXG4udGFzay1nZW5pdXMtYWRkLXBhdGgtYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyB0YWJsZSAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWlmcmFtZS1tb2RhbCB7XG5cdHdpZHRoOiA5MCU7XG5cdG1heC13aWR0aDogMTQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi50aW1lLXBhcnNpbmctZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0aW1lXCJdIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5maWxlLXNvdXJjZS1zdHJhdGVneS1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZmx1ZW50LXZpZXctdGFicy50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udGctaW5kZXgtdGFzay1zb3VyY2Utc3dpdGNoZXIgLmZsdWVudC12aWV3LXRhYiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGctaW5kZXgtdGFzay1zb3VyY2Utc3dpdGNoZXIgLmZsdWVudC12aWV3LXRhYjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGctaW5kZXgtdGFzay1zb3VyY2Utc3dpdGNoZXIgLmZsdWVudC12aWV3LXRhYi1sYWJlbCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmlsZS1uYW1lLXRlbXBsYXRlcy1jb250YWluZXIgaW5wdXQge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsZS1uYW1lLXRlbXBsYXRlcy1jb250YWluZXIgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogV29ya3NwYWNlIEhpZGRlbiBNb2R1bGVzIENvbmZpZ3VyYXRpb24gKi9cbi53b3Jrc3BhY2UtaGlkZGVuLW1vZHVsZXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtzcGFjZS1oaWRkZW4tbW9kdWxlcy10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ud29ya3NwYWNlLWhpZGRlbi1tb2R1bGVzLXRpdGxlIHN2ZyB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtzcGFjZS1oaWRkZW4tbW9kdWxlcy1kZXNjIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1ncm91cCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZmxleDogMTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtY291bnQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWxpc3Qge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtLmlzLWhpZGRlbiB7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtaXRlbS5pcy1oaWRkZW46aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWNoZWNrYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZsZXg6IDE7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWl0ZW0uaXMtaGlkZGVuIC53b3Jrc3BhY2UtbW9kdWxlLWxhYmVsIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogV29ya3NwYWNlIGxpc3QgaWNvbiBpbiBzZXR0aW5ncyAqL1xuLndvcmtzcGFjZS1uYW1lLXdpdGgtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ud29ya3NwYWNlLWxpc3QtaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuIiwgIi8qIEJldGEgdGVzdCB3YXJuaW5nIGJhbm5lciBzdHlsZXMgKi9cclxuLmJldGEtdGVzdC13YXJuaW5nLWJhbm5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IDEycHg7XHJcblx0cGFkZGluZzogMTZweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4uYmV0YS13YXJuaW5nLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uYmV0YS13YXJuaW5nLXRleHQge1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4iLCAiLyogU2V0dGluZ3MgU2VhcmNoIENvbXBvbmVudCBTdHlsZXMgKi9cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0Nlx1NUJCOVx1NTY2OCAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdThGOTNcdTUxNjVcdTY4NDZcdTY4MzdcdTVGMEYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dC1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW5wdXQtYmFja2dyb3VuZCk7XHJcblx0Ym9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDcgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24gc3ZnIHtcclxuXHR3aWR0aDogdmFyKC0taWNvbi1zKTtcclxuXHRoZWlnaHQ6IHZhcigtLWljb24tcyk7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0NiAtIFx1OTFDRFx1N0Y2RSBPYnNpZGlhbiBcdTlFRDhcdThCQTRcdTY4MzdcdTVGMEYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5pbnB1dC50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQge1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRSAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTYzMDlcdTk0QUVcdTY4MzdcdTVGMEYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHR3aWR0aDogdmFyKC0tY2xpY2thYmxlLWljb24tc2l6ZSk7XHJcblx0aGVpZ2h0OiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIgc3ZnIHtcclxuXHR3aWR0aDogdmFyKC0taWNvbi14cyk7XHJcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXhzKTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1QkI5XHU1NjY4IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NUYzOVx1NTFGQVx1ODNEQ1x1NTM1NVx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IGNhbGMoMTAwJSArIHZhcigtLXNpemUtMi0xKSk7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcclxuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcclxuXHRtYXgtaGVpZ2h0OiAzMjBweDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU5ODc5IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1ODNEQ1x1NTM1NVx1OTg3OVx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0Omxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmhvdmVyLFxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTU0MERcdTc5RjAgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1MTQzXHU0RkUxXHU2MDZGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW1ldGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWNhdGVnb3J5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1N0VEM1x1Njc5Q1x1NjNDRlx1OEZGMCAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1kZXNjIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi8qIFx1NjVFMFx1N0VEM1x1Njc5Q1x1NzJCNlx1NjAwMSAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLW5vLXJlc3VsdCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC0zKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLyogXHU4QkJFXHU3RjZFXHU5ODc5XHU5QUQ4XHU0RUFFXHU2NTQ4XHU2NzlDICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaGlnaGxpZ2h0IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzIGVhc2Utb3V0O1xyXG5cdGFuaW1hdGlvbjogdGctc2V0dGluZ3Mtc2VhcmNoLXB1bHNlIDAuNnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgdGctc2V0dGluZ3Mtc2VhcmNoLXB1bHNlIHtcclxuXHQwJSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFx1OTUyRVx1NzZEOFx1NUJGQ1x1ODIyQVx1NjMwN1x1NzkzQVx1NTY2OCAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcclxuXHRvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XHJcbn1cclxuXHJcbi8qIFx1NTRDRFx1NUU5NFx1NUYwRlx1OEJCRVx1OEJBMSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xyXG5cdFx0bWF4LWhlaWdodDogMjgwcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0fVxyXG5cclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbmFtZSB7XHJcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdH1cclxuXHJcblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xyXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0xKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFx1NkVEQVx1NTJBOFx1Njc2MVx1NjgzN1x1NUYwRiAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdTZFREFcdTUyQThcdTY3NjEgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcclxuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHR3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLXRoaW4td2lkdGgpO1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zY3JvbGxiYXItdGhpbi10aHVtYi1yYWRpdXMpO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZy1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLyogXHU0RTBFXHU4QkJFXHU3RjZFXHU2ODA3XHU3QjdFXHU5ODc1XHU1QkI5XHU1NjY4XHU3Njg0XHU5NUY0XHU4REREXHU4QzAzXHU2NTc0ICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLyogXHU0RkVFXHU1OTBEXHU1M0VGXHU4MEZEXHU3Njg0IHotaW5kZXggXHU5NUVFXHU5ODk4ICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3ZlciwgMjAwKTtcclxufVxyXG5cclxuLyogXHU3ODZFXHU0RkREXHU4RjkzXHU1MTY1XHU2ODQ2XHU4MDVBXHU3MTI2XHU2NUY2XHU3Njg0XHU2ODM3XHU1RjBGXHU2QjYzXHU3ODZFICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwN1x1NzY4NFx1NEVBNFx1NEU5Mlx1NzJCNlx1NjAwMSAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFXHU3Njg0XHU1NkZFXHU2ODA3XHU2ODM3XHU1RjBGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIge1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG4iLCAiLyogU2V0dGluZ3MgTWlncmF0aW9uIFN0eWxpbmcgKi9cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcblx0bWFyZ2luOiAxMnB4IDA7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiBwIHtcclxuXHRtYXJnaW46IDRweCAwO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogOHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtbXV0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtbXV0ZWQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIE1pZ3JhdGlvbiBTdWNjZXNzIEluZGljYXRvciAqL1xyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWJnKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcblx0bWFyZ2luOiAxMnB4IDA7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyAuc2V0dGluZy1pdGVtLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi8qIEZpbGVTb3VyY2UgSW50ZWdyYXRpb24gTm90aWNlICovXHJcbi5maWxlLXNvdXJjZS1ub3RpY2Uge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRtYXJnaW46IDhweCAwO1xyXG59XHJcblxyXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcbiIsICIvKiBXb3Jrc3BhY2UgU2V0dGluZ3MgU2VsZWN0b3IgU3R5bGVzICovXHJcblxyXG4vKiBNYWluIGNvbnRhaW5lciBmb3IgdGhlIGhlYWRlciBiYXIgKi9cclxuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEycHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogQ29udGFpbmVyIGZvciB3b3Jrc3BhY2Ugc2VsZWN0b3IgKi9cclxuLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBXb3Jrc3BhY2Ugc2VsZWN0b3IgYnV0dG9uICovXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG5cdG1pbi13aWR0aDogMTUwcHg7XHJcblx0aGVpZ2h0OiAzNHB4OyAvKiBNYXRjaCBzZWFyY2ggYmFyIGhlaWdodCAqL1xyXG59XHJcblxyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBXb3Jrc3BhY2UgaWNvbiAqL1xyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjBweDtcclxuXHRoZWlnaHQ6IDIwcHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLyogV29ya3NwYWNlIG5hbWUgKi9cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24gLndvcmtzcGFjZS1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLyogRHJvcGRvd24gYXJyb3cgaWNvbiAqL1xyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLWRyb3Bkb3duLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiBzdmcge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b246aG92ZXIgLndvcmtzcGFjZS1kcm9wZG93bi1pY29uIHN2ZyB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiBBZGp1c3Qgc2VhcmNoIGNvbnRhaW5lciB0byB0YWtlIHJlbWFpbmluZyBzcGFjZSAqL1xyXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciAudGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMTtcclxuXHRtYXgtd2lkdGg6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEVuc3VyZSBzZWFyY2ggaW5wdXQgY29udGFpbmVyIGZpbGxzIHdpZHRoICovXHJcbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogTWFpbiBjb250YWluZXIgYWRqdXN0bWVudHMgKi9cclxuLnRnLXNldHRpbmdzLW1haW4tY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIEVuc3VyZSBzZWFyY2ggcmVzdWx0cyBhcHBlYXIgYmVsb3cgdGhlIGhlYWRlciBiYXIgKi9cclxuLnRnLXNldHRpbmdzLW1haW4tY29udGFpbmVyIC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcblx0XHRnYXA6IDhweDtcclxuXHR9XHJcblxyXG5cdC53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLXdpZHRoOiB1bnNldDtcclxuXHR9XHJcblxyXG5cdC50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC50Zy13b3Jrc3BhY2Utc2VsZWN0b3ItY29udGFpbmVyIC53b3Jrc3BhY2UtaWNvbiB7XHJcblx0d2lkdGg6IHVuc2V0O1xyXG5cdGhlaWdodDogdW5zZXQ7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcbn1cclxuIiwgIi8qIE9uYm9hcmRpbmcgQ29tcG9uZW50IFByZXZpZXdzIFN0eWxlcyAqL1xuXG4ub25ib2FyZGluZy12aWV3OmhhcyguY29tcG9uZW50LXNob3djYXNlKSAub25ib2FyZGluZy1jb250ZW50IHtcblx0b3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4ub25ib2FyZGluZy12aWV3OmhhcyguY29tcG9uZW50LXNob3djYXNlLCAuaW50cm8tbGluZSkgLm9uYm9hcmRpbmctaGVhZGVyIHtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMikgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKVxuXHRcdHZhcigtLXNpemUtNC0yKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWhlYWRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsdWVudC10b3AtbmF2aWdhdGlvbi5jb21wb25lbnQtcHJldmlldyB7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5mbHVlbnQtc2lkZWJhci5jb21wb25lbnQtcHJldmlldyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyhcblx0XHQudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdFx0XHQrIC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC50Zy1mbHVlbnQtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdHdpZHRoOiAyMDBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy10b3BuYXYge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4vKiBDb21wb25lbnQgc2hvd2Nhc2UgY29udGFpbmVyICovXG4uY29tcG9uZW50LXNob3djYXNlIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTQpIDA7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHRtaW4td2lkdGg6IDkwJTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IHtcblx0ZmxleDogMTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtZGVzY3JpcHRpb24ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiBoMyB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiBwIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5jb21wb25lbnQtZmVhdHVyZS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jb21wb25lbnQtZmVhdHVyZS1saXN0IGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBDb21wb25lbnQgcHJldmlldyBhZGp1c3RtZW50cyAqL1xuLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vKiBTY2FsZSBkb3duIHByZXZpZXdzIHRvIGZpdCAqL1xuLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIge1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uY29tcG9uZW50LXByZXZpZXctcG9wb3ZlciB7XG5cdG1heC13aWR0aDogMzUwcHg7XG59XG5cbi8qIERpc2FibGUgaW50ZXJhY3Rpb25zIGluIHByZXZpZXdzICovXG4uY29tcG9uZW50LXByZXZpZXcgaW5wdXQsXG4uY29tcG9uZW50LXByZXZpZXcgYnV0dG9uLFxuLmNvbXBvbmVudC1wcmV2aWV3IC5jbGlja2FibGUtaWNvbiB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIENvbXBvbmVudCB0YWJzIGZvciBzd2l0Y2hpbmcgdmlld3MgKi9cbi5jb21wb25lbnQtdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5jb21wb25lbnQtdGFiIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNvbXBvbmVudC10YWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogTXVsdGlwbGUgY29tcG9uZW50IHNob3djYXNlICovXG4uY29tcG9uZW50cy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmNvbXBvbmVudC1zaG93Y2FzZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldyB7XG5cdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdH1cbn1cblxuLyogRmlsZSBmaWx0ZXIgcHJldmlldyBzdHlsZXMgKi9cbi5maWxlLWZpbHRlci1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5maWxlLWZpbHRlci1jb25maWcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdHMtcHJldmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uZmlsdGVyLXN0YXQtaXRlbSB7XG5cdGZsZXg6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpbHRlci1zdGF0LXZhbHVlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmlsdGVyLXN0YXQtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi8qIFJlY29tbWVuZGVkIGNvbmZpZ3MgKi9cbi5yZWNvbW1lbmRlZC1jb25maWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5yZWNvbW1lbmRlZC1jb25maWctaXRlbSBoNCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXNpZGViYXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogUHJldmlldyBpbnRlcmFjdGl2aXR5IChzY29wZWQgdG8gcHJldmlldyBvbmx5KSAqL1xuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIC5mbHVlbnQtcHJvamVjdC1pdGVtIHtcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSxcbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXByb2plY3QtaXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW06Zm9jdXMtdmlzaWJsZSxcbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LXByb2plY3QtaXRlbTpmb2N1cy12aXNpYmxlIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLyogRm9jdXMvRGltIG1vZGUgZm9yIHN0ZXAgaGlnaGxpZ2h0cyAqL1xuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LmZvY3VzLW1vZGUgLmlzLWRpbW1lZCB7XG5cdG9wYWNpdHk6IDAuNTtcblx0ZmlsdGVyOiBncmF5c2NhbGUoMTUlKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy5mb2N1cy1tb2RlIC5pcy1mb2N1c2VkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0ei1pbmRleDogMTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZTpoYXMoLmZsdWVudC10b3AtbmF2aWdhdGlvbik6bm90KFxuXHRcdDpoYXMoLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIpXG5cdCkge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcuZm9jdXMtbW9kZS50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGZsZXg6IHVuc2V0O1xuXHRoZWlnaHQ6IG1heC1jb250ZW50O1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uLmNvbXBvbmVudC1wcmV2aWV3LmlzLWZvY3VzZWQge1xuXHRvdXRsaW5lOiB1bnNldDtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3Omhhcyhcblx0XHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciArIC5jb21wb25lbnQtcHJldmlldy10b3BuYXZcblx0KVxuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyhcblx0XHQudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdFx0XHQrIC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ub25ib2FyZGluZy1jb250ZW50IC5yZXNvdXJjZXMtc2VjdGlvbiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwgIi8qIFBsYWNlbWVudCBQcmV2aWV3IFN0eWxlcyAqL1xyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmciAxZnI7XHJcblx0Z2FwOiAycHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGhlaWdodDogMTgwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi8qIFNpZGViYXJzICovXHJcbi5wbGFjZW1lbnQtc2lkZWJhciB7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAycHg7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC40O1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXNpZGViYXItaW5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcbi8qIFNpZGViYXIgaXRlbXMgKi9cclxuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0ge1xyXG5cdGhlaWdodDogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC1zaWRlYmFyLWl0ZW0tYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbS1pbmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0b3BhY2l0eTogMC4yO1xyXG59XHJcblxyXG4vKiBSaWdodCBzaWRlYmFyIGl0ZW1zIChzbWFsbGVyKSAqL1xyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbS1zbWFsbCB7XHJcblx0aGVpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi8qIENlbnRlciBhcmVhICovXHJcbi5wbGFjZW1lbnQtY2VudGVyIHtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNlbnRlci1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC40O1xyXG59XHJcblxyXG4vKiBUYWIgYmFyICovXHJcbi5wbGFjZW1lbnQtdGFiLWJhciB7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMnB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtdGFiIHtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDEwcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxuXHRib3JkZXItcmFkaXVzOiAxcHg7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtdGFiLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLyogQ29udGVudCBhcmVhICovXHJcbi5wbGFjZW1lbnQtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNHB4O1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNvbnRlbnQtbGluZSB7XHJcblx0aGVpZ2h0OiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxuXHRib3JkZXItcmFkaXVzOiAxcHg7XHJcbn1cclxuIiwgIi8qIEZpbGUgRmlsdGVyIFNldHRpbmdzIFN0eWxlcyAqL1xuXG4uZmlsZS1maWx0ZXItcnVsZXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDFyZW07XG5cdHBhZGRpbmc6IDAuNzVyZW07XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5maWxlLWZpbHRlci1ydWxlOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS10eXBlLFxuLmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCxcbi5maWxlLWZpbHRlci1ydWxlLXNjb3BlLFxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC4yNXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSB7XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCB7XG5cdGZsZXg6IDE7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRtaW4td2lkdGg6IDYwcHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1kZWxldGUge1xuXHRwYWRkaW5nOiAwLjI1cmVtO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLXdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSArIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiBub25lO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdHMge1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0Om5vdCg6bGFzdC1jaGlsZCkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc3RhdC1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zdGF0LXZhbHVlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIEVycm9yIHN0YXRlIGZvciBzdGF0aXN0aWNzICovXG4uZmlsZS1maWx0ZXItc3RhdC5lcnJvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdC5lcnJvciAuc3RhdC1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogUmVmcmVzaCBidXR0b24gc3R5bGluZyAqL1xuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXSB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvblthcmlhLWxhYmVsKj1cInJlZnJlc2hcIl06aG92ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi8qIExvYWRpbmcgc3RhdGUgYW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIHJlZnJlc2gtc3BpbiB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59XG5cbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbltkaXNhYmxlZF0gLmx1Y2lkZS1yZWZyZXNoLWN3IHtcblx0YW5pbWF0aW9uOiByZWZyZXNoLXNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3Igc21hbGxlciBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmZpbGUtZmlsdGVyLXJ1bGUge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0Z2FwOiAwLjVyZW07XG5cdH1cblxuXHQuZmlsZS1maWx0ZXItcnVsZS10eXBlLFxuXHQuZmlsZS1maWx0ZXItcnVsZS1wYXRoLFxuXHQuZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdH1cblxuXHQuZmlsZS1maWx0ZXItcnVsZS1kZWxldGUge1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0fVxufVxuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBFbXB0eSBzdGF0ZSBzdHlsaW5nICovXG4uZmlsZS1maWx0ZXItcnVsZXMtY29udGFpbmVyOmVtcHR5OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIk5vIGZpbHRlciBydWxlcyBjb25maWd1cmVkLiBBZGQgcnVsZXMgYmVsb3cgdG8gc3RhcnQgZmlsdGVyaW5nIGZpbGVzIGFuZCBmb2xkZXJzLlwiO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMnJlbTtcbn1cblxuLyogUHJlc2V0IHRlbXBsYXRlcyBzZWN0aW9uICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciAuc2V0dGluZy1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBQcmVzZXQgYnV0dG9uIHN0eWxpbmcgKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkIHtcblx0b3BhY2l0eTogMC42O1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi8qIFN1Y2Nlc3Mgc3RhdGUgZm9yIGFwcGxpZWQgcHJlc2V0cyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbi1yZ2IpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWVkaXRvci1tb2RhbCB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHdpZHRoOiA5MHZ3O1xufVxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1N0YxNlx1OEY5MVx1NUYzOVx1N0E5N1x1NjgzN1x1NUYwRiAqL1xyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIHtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1N0M3Qlx1NTc4Qlx1OTAwOVx1NjJFOVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcblx0LmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtdGV4dCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY29tbW9uLWZvcm0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1mb3JtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4vKiBcdTU2RkVcdTY4MDdcdTk4ODRcdTg5QzggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzBweDtcclxuXHRoZWlnaHQ6IDMwcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHN2ZyB7XHJcblx0d2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxOHB4O1xyXG59XHJcblxyXG4vKiBcdTY2MjBcdTVDMDRcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmcta2V5IHtcclxuXHR3aWR0aDogODBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctYXJyb3cge1xyXG5cdG1hcmdpbjogMCAxMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXZhbHVlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1kZWxldGUge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRwYWRkaW5nOiAwIDhweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtbWFwcGluZy1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTRFOEJcdTRFRjZcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudHMtY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1uYW1lIHtcclxuXHR3aWR0aDogMTIwcHg7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZXRhaWxzIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcHJvcGVydHkge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRlbGV0ZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1ldmVudC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTYzMDlcdTk0QUVcdTVCQjlcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1lZGl0LWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jYW5jZWwtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXNhdmUtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIFx1OEY5M1x1NTE2NVx1NUI1N1x1NkJCNSAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLWRlc2MsXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLW5hbWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NUJCOVx1NTY2OCAqL1xyXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oYWJpdC1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFx1NkRGQlx1NTJBMFx1NjMwOVx1OTRBRSAqL1xyXG4uaGFiaXQtYWRkLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4uaGFiaXQtYWRkLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNnB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmhhYml0LWFkZC1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NEUzQVx1N0E3QVx1NzJCNlx1NjAwMSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmhhYml0LWVtcHR5LXN0YXRlIGgyIHtcclxuXHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU5ODc5XHU1MjE3XHU4ODY4ICovXHJcbi5oYWJpdC1pdGVtcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1OTg3OSAqL1xyXG4uaGFiaXQtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogNy41cmVtO1xyXG59XHJcblxyXG4uaGFiaXQtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTZGRVx1NjgwNyAqL1xyXG4uaGFiaXQtaXRlbS1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDQ4cHg7XHJcblx0aGVpZ2h0OiA0OHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxufVxyXG5cclxuLmhhYml0LWl0ZW0taWNvbiBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NEZFMVx1NjA2RiAqL1xyXG4uaGFiaXQtaXRlbS1pbmZvIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDsgLyogXHU5NjMyXHU2QjYyXHU1MTg1XHU1QkI5XHU4RkM3XHU5NTdGXHU2NDkxXHU1RjAwXHU1RTAzXHU1QzQwICovXHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLXR5cGUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU2NENEXHU0RjVDXHU2MzA5XHU5NEFFICovXHJcbi5oYWJpdC1pdGVtLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEycHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWJ1dHRvbixcclxuLmhhYml0LWRlbGV0ZS1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1idXR0b246aG92ZXIsXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtYnV0dG9uIHN2ZyxcclxuLmhhYml0LWRlbGV0ZS1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1MjIwXHU5NjY0XHU1QkY5XHU4QkREXHU2ODQ2XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1kZWxldGUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbi1jb25maXJtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCAiLyogSUNTIFNldHRpbmdzIFN0eWxlcyAqL1xyXG5cclxuLyogTWFpbiBjb250YWluZXIgKi9cclxuLmljcy1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8qIEhlYWRlciBzZWN0aW9uICovXHJcbi5pY3MtaGVhZGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uaWNzLWJhY2stYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5pY3MtYmFjay1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uaWNzLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi8qIEdsb2JhbCBzZXR0aW5ncyAqL1xyXG4uaWNzLWdsb2JhbC1zZXR0aW5ncyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi8qIFNvdXJjZXMgbGlzdCAqL1xyXG4uaWNzLXNvdXJjZXMtbGlzdCB7XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZXMtbGlzdCBoMyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1pdGVtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtaXRlbTpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLXRpdGxlIHN0cm9uZyB7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1zdGF0dXMge1xyXG5cdHBhZGRpbmc6IDAuM3JlbSAwLjhyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcclxuXHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4uc3RhdHVzLWVuYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5zdGF0dXMtZGlzYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1kZXRhaWxzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtZGV0YWlscyBkaXYge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxufVxyXG5cclxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cclxuLmljcy1zb3VyY2UtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDFyZW07XHJcbn1cclxuXHJcbi5wcmltYXJ5LWFjdGlvbnMsXHJcbi5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmcge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5lcnJvciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4vKiBBZGQgc291cmNlIGNvbnRhaW5lciAqL1xyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLyogVGVzdCBjb250YWluZXIgKi9cclxuLmljcy10ZXN0LWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcbn1cclxuXHJcbi5pY3MtdGVzdC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5pY3MtdGVzdC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogRW1wdHkgc3RhdGUgKi9cclxuLmljcy1lbXB0eS1zdGF0ZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMnJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBNb2RhbCBzdHlsZXMgKi9cclxuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uYXV0aC1maWVsZCB7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lmljcy1zb3VyY2UtaGVhZGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdGdhcDogMC41cmVtO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0Z2FwOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQucHJpbWFyeS1hY3Rpb25zLFxyXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR9XHJcblxyXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuXHQuaWNzLXNvdXJjZS1pdGVtIHtcclxuXHRcdHBhZGRpbmc6IDFyZW07XHJcblx0fVxyXG5cclxuXHQucHJpbWFyeS1hY3Rpb25zLFxyXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLyogVGV4dCBSZXBsYWNlbWVudHMgU3R5bGVzICovXHJcbi50ZXh0LXJlcGxhY2VtZW50cy1saXN0IHtcclxuXHRtYXJnaW46IDFyZW0gMDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnRzLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHN0cm9uZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzIHtcclxuXHRwYWRkaW5nOiAwLjJyZW0gMC42cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZW5hYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmRpc2FibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyBkaXYge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcGF0dGVybiB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1yZXBsYWNlbWVudCB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hZGQge1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBUZXh0IFJlcGxhY2VtZW50IE1vZGFsIFN0eWxlcyAqL1xyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4NXZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50ZXN0LW91dHB1dCB7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuOHJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4udGVzdC1yZXN1bHQge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIEV4YW1wbGVzIHNlY3Rpb24gKi9cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgdWwge1xyXG5cdG1hcmdpbjogMC41cmVtIDA7XHJcblx0cGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGxpIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgY29kZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIHN5bmMgYnV0dG9uICovXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmc6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsLFxyXG4uaWNzLXNvdXJjZS1tb2RhbCB7XHJcblx0bWF4LXdpZHRoOiAxMDAwcHg7XHJcblx0bWF4LWhlaWdodDogOTB2aDtcclxuXHJcblx0cGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50LFxyXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcbiIsICIvKiBUYXNrIGZpbHRlciBwYW5lbCBzdHlsZXMgKi9cbi50YXNrLWZpbHRlci1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhc2stZmlsdGVyLWFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1maWx0ZXItcGFuZWwgPiAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnRhc2stZmlsdGVyLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gaDMge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb246bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0bWFyZ2luOiAwO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGxhYmVsIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSxcbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1maWx0ZXItcmVzZXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1jbG9zZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRhc2stZmlsdGVyLXF1ZXJ5LWlucHV0OmZvY3VzIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1heC1oZWlnaHQ6IDcwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuIiwgIi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMikgMDsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NkIyMVx1ODk4MVx1NjU4N1x1NjcyQ1x1OTg5Q1x1ODI3MiAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YmVmb3JlLFxyXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RkI5XHU2ODQ2XHU5ODlDXHU4MjcyICovXHJcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtMi0xKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4uZHJhZy1oYW5kbGUge1xyXG5cdGN1cnNvcjogZ3JhYjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFx1NjMwOVx1OTRBRVx1NTQ4Q1x1OEY5M1x1NTE2NVx1Njg0Nlx1NzY4NFx1OEY4M1x1NUMwRlx1NjU4N1x1NjcyQ1x1NTQ4Q1x1NTE4NVx1OEZCOVx1OERERCAqL1xyXG4uY29tcGFjdC1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0LXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcclxuXHRjdXJzb3I6IHZhcigtLWN1cnNvcik7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdG1pbi1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5jb21wYWN0LWJ0bjpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRvcGFjaXR5OiB2YXIoLS1pY29uLW9wYWNpdHktaG92ZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5jb21wYWN0LWlucHV0LFxyXG4uY29tcGFjdC1zZWxlY3Qge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xyXG5cdGhlaWdodDogdmFyKC0taW5wdXQtaGVpZ2h0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1OEY5M1x1NTE2NVx1Njg0Nlx1OUFEOFx1NUVBNlx1NTNEOFx1OTFDRiAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uY29tcGFjdC1zZWxlY3Q6aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5jb21wYWN0LXRleHQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4vKiBcdTYyRDZcdTUyQThcdTY1RjZcdTc2ODRcdTUzNjBcdTRGNERcdTdCMjYgKi9cclxuLmRyYWdnaW5nLXBsYWNlaG9sZGVyIHtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyXHJcblx0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NjBBQ1x1NTA1Q1x1ODBDQ1x1NjY2Rlx1ODI3MiAqL1xyXG59XHJcblxyXG4vKiBcdTU5ODJcdTY3OUNcdTk3MDBcdTg5ODFcdUZGMENcdTRFM0FcdThGQzdcdTZFRTRcdTU2NjhcdTdFQzRcdTRFRjZcdTc2ODRcdTY4MzlcdTVCQjlcdTU2NjhcdThCQkVcdTdGNkVcdTY4MzdcdTVGMEYgKi9cclxuLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyLnRhc2stcG9wb3Zlci1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0bWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTU3MDZcdTg5RDJcdTUzRDhcdTkxQ0YgKi9cclxufVxyXG5cclxuLmZpbHRlci1tZW51IHtcclxuXHR6LWluZGV4OiA1MDtcclxuXHRtaW4td2lkdGg6IDYwMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIHJvb3RGaWx0ZXJTZXR1cFNlY3Rpb24gaW4gVFMsIGNvcnJlc3BvbmRzIHRvIEhUTUwncyAjcm9vdC1maWx0ZXItY29udGFpbmVyICovXHJcbi5yb290LWZpbHRlci1zZXR1cC1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjc1cmVtOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0zKSAqL1xyXG59XHJcblxyXG4vKiBSb290IENvbmRpdGlvbiBTZWN0aW9uIChkaXYuZmxleC5pdGVtcy1jZW50ZXIuc3BhY2UteC0yLnAtMi5iZy1zbGF0ZS0xMDAucm91bmRlZC1tZC5ib3JkZXIuYm9yZGVyLXNsYXRlLTIwMCkgKi9cclxuLnJvb3QtY29uZGl0aW9uLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTsgLyogc3BhY2UteC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cclxuXHRwYWRkaW5nOiAwLjVyZW07IC8qIHAtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKVxyXG5cdCk7IC8qIGJnLXNsYXRlLTEwMCAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgKi9cclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLWxhYmVsIHtcclxuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cclxuXHRmb250LXdlaWdodDogNTAwOyAvKiBmb250LW1lZGl1bSAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zZWxlY3Qge1xyXG5cdC8qIGNvbXBhY3Qtc2VsZWN0IGFscmVhZHkgcHJvdmlkZXMgYmFzZSBzdHlsaW5nICovXHJcblx0d2lkdGg6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xyXG5cdC8qIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTsgLyogc2hhZG93LXNtICovIC8qIENvbnNpZGVyIGlmIG5lZWRlZCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zcGFuIHtcclxuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgR3JvdXBzIENvbnRhaW5lciAoI2ZpbHRlci1ncm91cHMtY29udGFpbmVyKSAqL1xyXG4uZmlsdGVyLWdyb3Vwcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTsgLyogc3BhY2UteS0zIGZyb20gSFRNTCAqL1xyXG5cclxuXHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgR3JvdXAgKCNmaWx0ZXItZ3JvdXAtdGVtcGxhdGUpICovXHJcbi5maWx0ZXItZ3JvdXAge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTsgLyogcC0zIGZyb20gSFRNTCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgKi9cclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAvKiBiZy13aGl0ZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogc3BhY2UteS0yIGZyb20gSFRNTCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC4zNzVyZW07IC8qIHNwYWNlLXgtMS41IGZyb20gSFRNTCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lcjpob3ZlciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogaG92ZXI6dGV4dC1zbGF0ZS01MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiAuY29tcGFjdC10ZXh0LFxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gc3Bhbi5jb21wYWN0LXRleHQge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjI1cmVtOyAvKiBzcGFjZS14LTEgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4sXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4ge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogcm91bmRlZC1tZCBmcm9tIFRhaWx3aW5kICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0XHJcbi5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXJcclxuLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogaG92ZXI6dGV4dC1pbmRpZ28tNjAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3ZlcilcclxuXHQpO1xyXG59XHJcblxyXG4vKiBGaWx0ZXJzIExpc3QgKC5maWx0ZXJzLWxpc3QpICovXHJcbi5maWx0ZXJzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTsgLyogc3BhY2UteS0xLjUgZnJvbSBIVE1MICovXHJcblx0cGFkZGluZy1sZWZ0OiAxcmVtOyAvKiBwbC00IGZyb20gSFRNTCAqL1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXItbC0yIGJvcmRlci1zbGF0ZS0yMDAgKi9cclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpOyAvKiBtbC0xLjUgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXJzLWxpc3Q6ZW1wdHkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEdyb3VwIEZvb3RlciAoLmdyb3VwLWZvb3RlcikgKi9cclxuLmdyb3VwLWZvb3RlciB7XHJcblx0LyogSFRNTDogPGRpdiBjbGFzcz1cInBsLTQgbXQtMS41XCI+IGNvbnRhaW5pbmcgYnV0dG9uICovXHJcblx0LyogVFMgY3JlYXRlcyAuZ3JvdXAtZm9vdGVyLCB0aGVuIGFkZHMgQnV0dG9uQ29tcG9uZW50IHRvIGl0LiAqL1xyXG5cdHBhZGRpbmctbGVmdDogMC4zNzVyZW07IC8qIENvcnJlc3BvbmRzIHRvIHBsLTEuNSBlZmZlY3RpdmVseSBpZiBpdGVtcyBpbnNpZGUgLmZpbHRlcnMtbGlzdCBoYXZlIG1hcmdpbi9wYWRkaW5nICovXHJcblx0bWFyZ2luLXRvcDogMC4zNzVyZW07IC8qIG10LTEuNSAqL1xyXG59XHJcblxyXG4uYWRkLWZpbHRlci1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgSXRlbSAoI2ZpbHRlci1pdGVtLXRlbXBsYXRlKSAqL1xyXG4uZmlsdGVyLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0LyogYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xyXG5cdC8qIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgKi9cclxuXHRwYWRkaW5nLXRvcDogMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uanVuY3Rpb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogdGV4dC0yeHMgKi9cclxuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xyXG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcclxuXHRmbGV4LWJhc2lzOiAzMCU7IC8qIHctMS8zICovXHJcblx0ZmxleC1ncm93OiAwO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdHdpZHRoOiBhdXRvOyAvKiB3LWF1dG8gKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dCB7XHJcblx0ZmxleC1ncm93OiAxOyAvKiBmbGV4LWdyb3cgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLXZhbHVlLWlucHV0LmNvbXBhY3QtaW5wdXQ6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3ZlcixcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXHJcblx0KTtcclxufVxyXG5cclxuLyogQWRkIEZpbHRlciBHcm91cCBCdXR0b24gU2VjdGlvbiAqL1xyXG4uYWRkLWdyb3VwLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmFkZC1maWx0ZXItZ3JvdXAtYnRuLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbmZpZ3VyYXRpb24gU2VjdGlvbiAqL1xyXG4uZmlsdGVyLWNvbmZpZy1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdC8qIG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7ICovXHJcblx0LyogbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpOyAqL1xyXG5cdC8qIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcbn1cclxuXHJcbi5zYXZlLWZpbHRlci1jb25maWctYnRuLFxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0biB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4taWNvbixcclxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBDb25maWcgTW9kYWwgU3R5bGVzICovXHJcbi5maWx0ZXItY29uZmlnLWRldGFpbHMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KSAxMDAlXHJcblx0KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWRldGFpbHM6aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWRldGFpbHMgaDMge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWRldGFpbHMgcCB7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMikgMDtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLW1ldGEge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctc3VtbWFyeSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwIDAgMDtcclxuXHRib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IGg0IHtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTItMykgMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgcCB7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1idXR0b25zIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctbmFtZS1oaWdobGlnaHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIEFkdmFuY2VkIGZpbHRlciBjb250YWluZXIgc3R5bGVzIGZvciBWaWV3Q29uZmlnTW9kYWwgKi9cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1yb290LWNvbnRhaW5lciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1tYWluLXBhbmVsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogU21hbGxlciBzdHlsaW5nIGZvciBmaWx0ZXJzIGluIG1vZGFsICovXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWdyb3VwIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1pdGVtIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0bWluLWhlaWdodDogMjZweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LXNlbGVjdCxcclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWlucHV0IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG59XHJcbiIsICIvKiBWaWV3IFNldHRpbmdzIFRhYiBTdHlsZXMgKi9cclxuXHJcbi8qIFZpZXcgbWFuYWdlbWVudCBsaXN0IGNvbnRhaW5lciAqL1xyXG4udmlldy1tYW5hZ2VtZW50LWxpc3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDIwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4vKiBTZWN0aW9uIGNvbnRhaW5lcnMgKi9cclxuLnZpZXctc2VjdGlvbi1jb250YWluZXIge1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLyogU2VjdGlvbiBoZWFkZXJzICovXHJcbi52aWV3LXNlY3Rpb24taGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udmlldy1zZWN0aW9uLWhlYWRlciBoNCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnZpZXctc2VjdGlvbi1pdGVtcyxcclxuLnNvcnRhYmxlLXZpZXdzIHtcclxuXHRtaW4taGVpZ2h0OiA2MHB4O1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uc29ydGFibGUtdmlld3M6ZW1wdHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBhdHRyKGRhdGEtZW1wdHktdGV4dCk7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLnNvcnRhYmxlLXZpZXdzW2RhdGEtcmVnaW9uPVwidG9wXCJdOmVtcHR5OjphZnRlciB7XHJcblx0Y29udGVudDogXCJEcmFnIHZpZXdzIGhlcmUgZm9yIHRoZSB0b3Agc2VjdGlvblwiO1xyXG59XHJcblxyXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJib3R0b21cIl06ZW1wdHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIkRyYWcgdmlld3MgaGVyZSBmb3IgdGhlIGJvdHRvbSBzZWN0aW9uXCI7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBzdHlsZXMgKi9cclxuLnZpZXctaXRlbSxcclxuLnNvcnRhYmxlLXZpZXctaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IG1vdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnZpZXctaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBEcmFnIGhhbmRsZSBzdHlsZXMgKi9cclxuLnZpZXctZHJhZy1oYW5kbGUge1xyXG5cdGN1cnNvcjogZ3JhYjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi52aWV3LWRyYWctaGFuZGxlOmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBWaWV3IGl0ZW0gaWNvbiAqL1xyXG4udmlldy1pdGVtLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4vKiBWaWV3IGl0ZW0gaW5mbyAqL1xyXG4udmlldy1pdGVtLWluZm8ge1xyXG5cdGZsZXg6IDE7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi52aWV3LWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnZpZXctaXRlbS10eXBlIHtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBWaWV3IGl0ZW0gYWN0aW9ucyAqL1xyXG4udmlldy1pdGVtLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi52aWV3LWFjdGlvbi1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udmlldy1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udmlldy1hY3Rpb24tZGVsZXRlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uc29ydGFibGUtZ2hvc3Qge1xyXG5cdG9wYWNpdHk6IDAuNDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc29ydGFibGUtZHJhZyB7XHJcblx0b3BhY2l0eTogMDtcclxufVxyXG5cclxuLnNvcnRhYmxlLWNob3NlbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcclxufVxyXG4iLCAiLyogTUNQIEludGVncmF0aW9uIFNldHRpbmdzIFN0eWxlcyAqL1xyXG5cclxuLyogU3RhdHVzIENvbnRhaW5lciAqL1xyXG4ubWNwLXN0YXR1cy1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tY3Atc3RhdHVzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG59XHJcblxyXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3Ige1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxLjA1ZW07XHJcbn1cclxuXHJcbi5tY3Atc3RhdHVzLWluZGljYXRvci5ydW5uaW5nIC5zdGF0dXMtZG90IHtcclxuICAgIGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpO1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5tY3Atc3RhdHVzLWluZGljYXRvci5zdG9wcGVkIC5zdGF0dXMtZG90IHtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbn1cclxuXHJcbi5tY3Atc3RhdHVzLWRldGFpbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMjRweDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbn1cclxuXHJcbi8qIENsaWVudCBDb25maWd1cmF0aW9uICovXHJcbi5tY3AtY29uZmlnLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm1jcC1jbGllbnQtaGVhZGVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxufVxyXG5cclxuLm1jcC1jbGllbnQtaGVhZGVyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBBcnJvdyBpY29uIGZvciBjb2xsYXBzaWJsZSBzZWN0aW9ucyAqL1xyXG4ubWNwLWFycm93IHtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLm1jcC1hcnJvdyBzdmcge1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICBzdHJva2Utd2lkdGg6IDI7XHJcbn1cclxuXHJcbi5tY3AtYXJyb3cuZXhwYW5kZWQge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1uYW1lIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubWNwLWNsaWVudC1jb250ZW50LmV4cGFuZGVkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1jb2RlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDE2cHggNjBweCAxNnB4IDE2cHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiAwLjg1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdmFyKC0tc2Nyb2xsYmFyLWJnKTtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZSBjb2RlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1iZyk7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1hY3RpdmUtdGh1bWItYmcpO1xyXG59XHJcblxyXG4vKiBDb3B5IEJ1dHRvbnMgKi9cclxuLm1jcC1jb3B5LWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHRvcDogMTJweDtcclxuICAgIHJpZ2h0OiAxMnB4O1xyXG4gICAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLm1jcC1jb3B5LWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLm1jcC1jb3B5LWJ0bi5jb3BpZWQge1xyXG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEF1dGhlbnRpY2F0aW9uIE1ldGhvZHMgTGlzdCAqL1xyXG4ubWNwLWF1dGgtbWV0aG9kcyB7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tY3AtYXV0aC1saXN0IHtcclxuICAgIG1hcmdpbjogMTBweCAwIDAgMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbn1cclxuXHJcbi5tY3AtYXV0aC1saXN0IGxpIHtcclxuICAgIG1hcmdpbjogOHB4IDA7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ubWNwLWF1dGgtbGlzdCBjb2RlIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XHJcbiAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIFRva2VuIElucHV0ICovXHJcbi5tY3AtdG9rZW4taW5wdXQge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLyogQVBJIERvY3VtZW50YXRpb24gKi9cclxuLm1jcC1kb2NzLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ubWNwLWRvY3Mtc2VjdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4ubWNwLWRvY3Mtc3VidGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIEVuZHBvaW50IEJveCAqL1xyXG4ubWNwLWVuZHBvaW50LWJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTJweDtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubWNwLWVuZHBvaW50LWNvbnRlbnQge1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbn1cclxuXHJcbi5tY3AtZW5kcG9pbnQtbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm1jcC1lbmRwb2ludC11cmwge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcclxufVxyXG5cclxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0biB7XHJcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xyXG59XHJcblxyXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0bi5jb3BpZWQge1xyXG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFRvb2xzIEdyaWQgKi9cclxuLm1jcC10b29scy1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcbiAgICBnYXA6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG59XHJcblxyXG4ubWNwLXRvb2wtY2FyZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDEwMCUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubWNwLXRvb2wtY2FyZDo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsIHZhcigtLXRleHQtYWNjZW50KSAxMDAlKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5tY3AtdG9vbC1jYXJkOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLm1jcC10b29sLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxufVxyXG5cclxuLm1jcC10b29sLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm1jcC10b29sLWljb24ge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbiAgICBvcGFjaXR5OiAwLjk7XHJcbn1cclxuXHJcbi5tY3AtdG9vbC1pY29uIHN2ZyB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHN0cm9rZS13aWR0aDogMjtcclxufVxyXG5cclxuLm1jcC10b29sLW5hbWUge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJveCk7XHJcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4ubWNwLXRvb2wtZGVzYyB7XHJcbiAgICBmb250LXNpemU6IDAuODVlbTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XHJcbn1cclxuXHJcbi8qIEV4YW1wbGUgQ29udGFpbmVyICovXHJcbi5tY3AtZXhhbXBsZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxufVxyXG5cclxuLyogRXhhbXBsZSBUYWJzICovXHJcbi5tY3AtZXhhbXBsZS10YWJzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm94KSAxMDAlKTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtdGFiIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLXRhYjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDApO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIGhlaWdodDogM3B4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLXRhYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XHJcbiAgICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlOjphZnRlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDEpO1xyXG59XHJcblxyXG4vKiBFeGFtcGxlIENvZGUgKi9cclxuLm1jcC1leGFtcGxlLWNvZGUtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtYmxvY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLm1jcC1leGFtcGxlLWJsb2NrLmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtY29kZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAyNHB4IDgwcHggMjRweCAyNHB4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29kZS1iYWNrZ3JvdW5kKSAwJSwgcmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC41KSAxMDAlKTtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNztcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb2RlOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtY29kZSBjb2RlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtY29weS1idG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAwLjg1ZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XHJcbn1cclxuXHJcbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtY29weS1idG46YWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjMpO1xyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtY29weS1idG4uY29waWVkIHtcclxuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC40cyBlYXNlO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcy1yZ2IpLCAwLjMpO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb25zICovXHJcbkBrZXlmcmFtZXMgY29weVN1Y2Nlc3Mge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgMCUgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgeyBvcGFjaXR5OiAwLjY7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbi8qIFNtb290aCB0cmFuc2l0aW9ucyBmb3IgYWxsIGludGVyYWN0aXZlIGVsZW1lbnRzICovXHJcbi5tY3AtY2xpZW50LWhlYWRlcixcclxuLm1jcC1leGFtcGxlLXRhYixcclxuLm1jcC10b29sLWNhcmQsXHJcbmJ1dHRvbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4vKiBDb2RlIHN5bnRheCBjb2xvcnMgZm9yIGJldHRlciByZWFkYWJpbGl0eSAqL1xyXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLWtleSB7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLXN0cmluZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLm1jcC1jb25maWctY29kZSAuanNvbi1udW1iZXIge1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuXHJcbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tYm9vbGVhbiB7XHJcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubWNwLXRvb2xzLWdyaWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubWNwLXN0YXR1cy1kZXRhaWxzIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWNwLWV4YW1wbGUtc3VidGl0bGUge1xyXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi8qIEN1cnNvciBPbmUtQ2xpY2sgSW5zdGFsbCBTZWN0aW9uICovXHJcbi5tY3AtY3Vyc29yLWluc3RhbGwtc2VjdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItaW5zdGFsbC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEycHg7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWluc3RhbGwtZGVzYyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1pbnN0YWxsLWxpbmsge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWluc3RhbGwtbGluazpob3ZlciB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItYWRkaXRpb25hbC1idXR0b25zIHtcclxuXHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4uY29waWVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctY29udGVudCB7XHJcblx0bWFyZ2luLXRvcDogMTJweDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdG1hcmdpbi10b3A6IDEycHg7XHJcbn1cclxuXHJcbi5tY3AtY3Vyc29yLWRlYnVnLWxhYmVsOmZpcnN0LWNoaWxkIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdG92ZXJmbG93LXg6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIGNvZGUge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XHJcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG59XHJcblxyXG4ubWNwLXNlY3Rpb24tc2VwYXJhdG9yIHtcclxuXHRtYXJnaW46IDI0cHggMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufSIsICIvKiBXb3JrZmxvdyBEZWNvcmF0b3IgU3R5bGVzICovXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Igc3BhbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogRGlmZmVyZW50IGNvbG9ycyBmb3IgZGlmZmVyZW50IHN0YWdlIHR5cGVzICovXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImN5Y2xlXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG4iLCAiLyogUXVpY2sgQ2FwdHVyZSBFbmhhbmNlZCBTdHlsZXMgLSB3aXRoIHNoYWRjbiB0aGVtZSAqL1xyXG5cclxuOnJvb3Qge1xyXG5cdC8qIFRhYiBjb21wb25lbnQgY29sb3JzICovXHJcblx0LS10Zy10YWItYmFja2dyb3VuZDogMCAwJSAxMDAlO1xyXG5cdC0tdGctdGFiLWZvcmVncm91bmQ6IDI0MCAxMCUgMy45JTtcclxuXHQtLXRnLXRhYi1tdXRlZDogMjQwIDQuOCUgOTUuOSU7XHJcblx0LS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZDogMjQwIDMuOCUgNDYuMSU7XHJcblx0LS10Zy10YWItYm9yZGVyOiAyNDAgNS45JSA5MCU7XHJcblxyXG5cdC8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIGJhY2tncm91bmQgKGxpZ2h0KSAqL1xyXG5cdC0tdGctcWMtaGVhZGVyLWJnOiAwIDAlIDEwMCU7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIHtcclxuXHQtLXRnLXRhYi1iYWNrZ3JvdW5kOiAyNDAgMTAlIDMuOSU7XHJcblx0LS10Zy10YWItZm9yZWdyb3VuZDogMCAwJSA5OCU7XHJcblx0LS10Zy10YWItbXV0ZWQ6IDI0MCAzLjclIDE1LjklO1xyXG5cdC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQ6IDI0MCA1JSA2NC45JTtcclxuXHQtLXRnLXRhYi1ib3JkZXI6IDI0MCAzLjclIDE1LjklO1xyXG5cclxuXHQvKiBRdWljayBDYXB0dXJlIEhlYWRlciBiYWNrZ3JvdW5kIChkYXJrKSAqL1xyXG5cdC0tdGctcWMtaGVhZGVyLWJnOiAyNDAgNCUgMTAlO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIEhlYWRlciAtIHNoYWRjbiBzdHlsZSwgd2l0aCBjdXN0b20gYmFja2dyb3VuZCBmb3IgaGVhZGVyICovXHJcbi5xdWljay1jYXB0dXJlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxMnB4IDE2cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCh2YXIoLS10Zy10YWItYm9yZGVyKSk7XHJcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLXRnLXFjLWhlYWRlci1iZykpO1xyXG59XHJcblxyXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5xdWljay1jYXB0dXJlLWhlYWRlciB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxufVxyXG5cclxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAubW9kZWwtaGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIFRhYnMgLSBzaGFkY24gc3R5bGUgKi9cclxuLnF1aWNrLWNhcHR1cmUtdGFicyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQpKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Z2FwOiAycHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLnF1aWNrLWNhcHR1cmUtdGFiLXRleHQge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLnF1aWNrLWNhcHR1cmUtdGFiLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFiOmhvdmVyOm5vdCguYWN0aXZlKSB7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWIuYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLWJhY2tncm91bmQpKTtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XHJcblx0Ym94LXNoYWRvdzpcclxuXHRcdDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksXHJcblx0XHQwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWJzLmlzLWhpZGRlbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBUYWIgQnV0dG9uIEljb24gYW5kIFRleHQgLSBzaGFkY24gc3R5bGUgKi9cclxuLnF1aWNrLWNhcHR1cmUtdGFiLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogNnB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWItaWNvbiBzdmcge1xyXG5cdHdpZHRoOiAxNHB4O1xyXG5cdGhlaWdodDogMTRweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFiLXRleHQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgQ2xlYXIgQnV0dG9uIC0gc2hhZGNuIHN0eWxlICovXHJcbi5xdWljay1jYXB0dXJlLWNsZWFyIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tdGctdGFiLWJvcmRlcikpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jbGVhcjpob3ZlciB7XHJcblx0LypiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLW11dGVkKSk7Ki9cclxuXHQvKmNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTsqL1xyXG5cdC8qYm9yZGVyLWNvbG9yOiBoc2wodmFyKC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQpKTsqL1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIENvbnRlbnQgKi9cclxuLnF1aWNrLWNhcHR1cmUtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBGb290ZXIgKi9cclxuLnF1aWNrLWNhcHR1cmUtZm9vdGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1mb290ZXItbGVmdCxcclxuLnF1aWNrLWNhcHR1cmUtZm9vdGVyLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jb250aW51ZSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBGaWxlIE5hbWUgSW5wdXQgQ29tcG9uZW50ICovXHJcbi5maWxlLW5hbWUtaW5wdXQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4uZmlsZS1uYW1lLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZmlsZS1uYW1lLWlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uZmlsZS1uYW1lLWlucHV0LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQtd3JhcHBlciBpbnB1dC5maWxlLW5hbWUtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtdGVtcGxhdGUtY29udGFpbmVyIHtcclxuXHRtYXgtd2lkdGg6IHZhcigtLXNpemUtNC0xOCk7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtdGVtcGxhdGVzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50ZW1wbGF0ZXMtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRlbXBsYXRlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGVtcGxhdGUtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50ZW1wbGF0ZS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBNb2RlLXNwZWNpZmljIGFkanVzdG1lbnRzICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLnF1aWNrLWNhcHR1cmUtY2hlY2tib3gge1xyXG5cdHdpZHRoOiA4MDBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwucXVpY2stY2FwdHVyZS1maWxlIHtcclxuXHR3aWR0aDogODAwcHg7XHJcblx0bWF4LXdpZHRoOiA5MHZ3O1xyXG5cdGhlaWdodDogNzAwcHg7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwudGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIHtcclxuXHR3aWR0aDogNjAwcHg7XHJcblx0bWF4LXdpZHRoOiA5MHZ3O1xyXG5cdGhlaWdodDogMzAwcHg7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBQYW5lbCAqL1xyXG4ucXVpY2stY2FwdHVyZS1wYW5lbCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgQWN0aW9ucyAqL1xyXG4ucXVpY2stY2FwdHVyZS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBNb2RhbCAqL1xyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5taW5pbWFsIHtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdG1pbi13aWR0aDogNTAwcHg7XHJcblx0bWF4LWhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBUYXJnZXQgRGlzcGxheSAqL1xyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLXRhcmdldC1jb250YWluZXIge1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLXRhcmdldCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LWxhYmVsIHtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LXZhbHVlIHtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1maWxlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLXRnLXRhYi1iYWNrZ3JvdW5kKSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1maWxlLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogUmVtb3ZlZCBtaW5pbWFsIG1vZGUgc3R5bGVzIGFzIG1pbmltYWwgVUkgbW9kZSBubyBsb25nZXIgZXhpc3RzICovXHJcblxyXG4ucXVpY2stYWN0aW9ucy1sZWZ0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ucXVpY2stYWN0aW9ucy1yaWdodCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ucXVpY2stYWN0aW9uLXNhdmUge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhZy1pbnB1dCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogNjBweDtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdHdpZHRoOiAzMDBweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XHJcblx0ei1pbmRleDogMTAwMDtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIFN1Z2dlc3QgKi9cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0bWluLWhlaWdodDogNDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tbGFiZWwge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCAuc3VnZ2VzdGlvbi1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRtaW4td2lkdGg6IDIwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1oZWFkZXItY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGl0bGUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0IHtcclxuXHRmbGV4OiAxO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRtYXgtd2lkdGg6IDUwMHB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6Zm9jdXMge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWhpbnQge1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdG1hcmdpbi10b3A6IC00cHg7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtZmlsZS1zdWdnZXN0IHtcclxuXHRtYXgtd2lkdGg6IDUwMHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiA4cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXN1Ym1pdCxcclxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwgLm1vZGFsLXRpdGxlOmhhcyguaXMtaGlkZGVuKSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwgLm1vZGFsLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRnYXA6IDEwcHg7XHJcblxyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xyXG5cdG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qIEZ1bGwtZmVhdHVyZWQgbW9kYWwgc3R5bGVzICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xyXG5cdHdpZHRoOiA4MHZ3O1xyXG5cdG1heC13aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWxheW91dCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Z2FwOiAxNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XHJcblx0ZmxleDogMTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1yaWdodDogMTZweDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG1heC13aWR0aDogNDAlO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1lZGl0b3ItcGFuZWwge1xyXG5cdGZsZXg6IDEuNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXNlY3Rpb24tdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIC5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxufVxyXG5cclxuLyogTW9iaWxlIG9wdGltaXphdGlvbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcclxuXHRcdHdpZHRoOiA5NXZ3O1xyXG5cdH1cclxuXHJcblx0LnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0XHRtYXgtaGVpZ2h0OiA0MCU7XHJcblx0fVxyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG4iLCAiLyogVGFzayBsaXN0ICovXG4udGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogMDtcbn1cblxuLnRhc2staXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblxuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWl0ZW0tY29udGVudCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWl0ZW0gLm1hcmtkb3duLWJsb2NrLm1hcmtkb3duLXJlbmRlcmVyID4gcDpvbmx5LWNoaWxkIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stY2hlY2tib3gge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2staXRlbS50YXNrLWNvbXBsZXRlZCAudGFzay1jaGVja2JveCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2staXRlbS1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0LyogUmVtb3ZlIHRyYW5zaXRpb24gdG8gcHJldmVudCBmbGFzaCBkdXJpbmcgbGF5b3V0IGNoYW5nZXMgKi9cblx0LyogVXNlIEdQVS1hY2NlbGVyYXRlZCBwcm9wZXJ0aWVzIG9ubHkgaWYgdHJhbnNpdGlvbiBpcyBuZWVkZWQgKi9cblx0d2lsbC1jaGFuZ2U6IGF1dG87XG59XG5cbi8qIFNpbmdsZSBsaW5lIGNvbnRlbnQgbGF5b3V0IC0gaG9yaXpvbnRhbCAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdC8qIHdpZHRoOiAxMDAlOyAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLWRhdGUge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1kYXRlOjpiZWZvcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmb250LXNpemU6IHh4LXNtYWxsO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udGcta2FuYmFuLXZpZXcgLnRhc2stZGF0ZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEQ0M1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXNvb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXN0YXJ0LWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERUVCXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1jcmVhdGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzk1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1zY2hlZHVsZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTIzRjNcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWRvbmUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3MDVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNhbmNlbGxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1Mjc0Q1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stcmVjdXJyZW5jZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdUREMDFcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW9uLWNvbXBsZXRpb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNDXHVERkMxXCI7XG59XG5cbi50YXNrLXByb2plY3Qge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRhc2stcHJvamVjdDpoYXMoaW5wdXQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXByb2plY3Qge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1wcm9qZWN0OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1RERDMlx1RkUwRlwiO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stcHJvamVjdDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stcHJpb3JpdHkge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1wcmlvcml0eS1jbGlja2FibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGFzay1wcmlvcml0eS1jbGlja2FibGU6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5hZGQtcHJpb3JpdHktYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRwYWRkaW5nOiAwO1xuXHQvKiBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tdGV4dC1tdXRlZCk7ICovXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5hZGQtcHJpb3JpdHktYnRuOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByaW9yaXR5LWNsaWNrYWJsZSxcbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLmFkZC1wcmlvcml0eS1idG4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBOZXcgZmllbGQgc3R5bGVzICovXG4udGFzay1vbmNvbXBsZXRpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stb25jb21wbGV0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1kZXBlbmRzb246aG92ZXIge1xuXHQvKmJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpOyovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2staWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cbi50YXNrLXRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stdGFncy1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay10YWcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvcGFjaXR5OiAwLjc1O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCBwOmhhcyhpbWcpIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xufVxuIiwgIi8qIFRyZWUgVmlldyBzdHlsZXMgKi9cblxuLyogVHJlZSBpdGVtIGNvbnRhaW5lciAqL1xuLnRyZWUtdGFzay1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciAudGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogMDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XG5cdGdhcDogMDtcbn1cblxuLnRyZWUtdGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRyZWUtdGFzay1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBUYXNrIGNvbnRlbnQgcm93IChjb250YWlucyB0aGUgbWFpbiB0YXNrIGNvbnRlbnQpICovXG4udHJlZS10YXNrLWl0ZW0gPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiA2cHg7XG59XG5cbi8qIEluZGVudGF0aW9uIGZvciBoaWVyYXJjaHkgKi9cbi50YXNrLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWV4cGFuZC10b2dnbGUge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLyogRXhwYW5kL2NvbGxhcHNlIHRvZ2dsZSAqL1xuLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWV4cGFuZC10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBUYXNrIGNoZWNrYm94ICovXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveDpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3guY2hlY2tlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIFRhc2sgY29udGVudCAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRyZWUtdGFzay1pdGVtLmNvbXBsZXRlZCAudGFzay1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50XG5cdC50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogQWxsb3cgY29udGVudCB0byBzaHJpbmsgKi9cbn1cblxuLnRyZWUtdGFzay1pdGVtXG5cdC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnRcblx0LnRhc2stbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnRcblx0LnRhc2staXRlbS1jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50cmVlLXRhc2staXRlbVxuXHQudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnRcblx0LnRhc2stbWV0YWRhdGEge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFRhc2sgbWV0YWRhdGEgKi9cbi50YXNrLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kdWUtZGF0ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1wcm9qZWN0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZTpob3ZlciB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLnRhc2staXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJhc2UtMTApO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRnYXA6IDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcbn1cblxuLnRhc2stbGlzdCA+IC50YXNrLWl0ZW0ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC04KTtcblx0Ym9yZGVyOiB1bnNldDtcbn1cblxuLnNlYXJjaC1pbnB1dC1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stbGlzdCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXHJcbi50YWdzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3OmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFncy1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YWdzLWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFncy1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDRweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi50YWctaW5kZW50IHtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhZy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4udGFnLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFnLWNvdW50IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcbn1cclxuXHJcbi50YWctY2hpbGRyZW4ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFncy10YXNrLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFncy10YXNrLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnRhZ3MtdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFncy10YXNrLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRhZ3MtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XHJcblx0ZmxleDogMTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XHJcbn1cclxuXHJcbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItaGVhZGVyOmhhcygudGFncy1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cclxuLnByb2plY3RzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucHJvamVjdHMtY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnByb2plY3RzLWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4ucHJvamVjdHMtc2lkZWJhci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlci1idG4tZ3JvdXAge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnByb2plY3RzLXRyZWUtdG9nZ2xlLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnByb2plY3RzLXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wcm9qZWN0LWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnByb2plY3QtaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5wcm9qZWN0LW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb3VudCB7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRwYWRkaW5nOiAxcHggNnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyB3aGVuIHNob3dpbmcgY29tcGxldGVkL3RvdGFsICovXHJcbi5wcm9qZWN0LWNvdW50LnBhcnRpYWxseS1jb21wbGV0ZWQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5wcm9qZWN0LWNvdW50Lmhhcy1wcm9ncmVzcyB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBzdGF0ZSBvdmVycmlkZXMgKi9cclxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQgLnByb2plY3QtY291bnQuYWxsLWNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItbWFpbi1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnByb2plY3RzLWhlYWRlci10b3Atcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb2plY3RzLWhlYWRlci10b3AtcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgYmFyIHN0eWxlcyBmb3IgUHJvamVjdHMgdmlldyAqL1xyXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA2cHg7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4vKiBBZGp1c3QgdGhlIGV4aXN0aW5nIHByb2dyZXNzIGJhciBzdHlsZXMgd2hlbiB1c2VkIGluIHByb2plY3RzIHZpZXcgKi9cclxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XHJcblx0ZmxleDogMTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLXN0YXR1cyB7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnByb2plY3RzLXRhc2stdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdGFzay1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcbn1cclxuXHJcbi8qIFByb2plY3RzIFZpZXcgLSBNb2JpbGUgKi9cclxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1jbG9zZSB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyOmhhcygucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xyXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1oZWFkZXI6aGFzKC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG5cclxuLyogUHJvamVjdCBpbmZvIHBvcG92ZXIgc3R5bGluZyAqL1xyXG4udGctcHJvamVjdC1wb3BvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0cGFkZGluZzogMTBweCAxMnB4O1xyXG5cdG1heC13aWR0aDogNTIwcHg7XHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRnLXByb2plY3QtcHJvcHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxufVxyXG5cclxuLyogRWFjaCByb3c6IGtleSBvbiB0aGUgbGVmdCwgdmFsdWUgb24gdGhlIHJpZ2h0ICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDkwcHgsIDE2MHB4KSAxZnI7XHJcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xyXG5cdGNvbHVtbi1nYXA6IDEwcHg7XHJcblx0cGFkZGluZzogMnB4IDA7XHJcbn1cclxuXHJcbi8qIEtleSBjZWxsICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4vKiBWYWx1ZSBjZWxsICovXHJcbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2Omxhc3QtY2hpbGQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuLyogSW5mbyBidXR0b24gcG9saXNoICovXHJcbi5wcm9qZWN0cy1wcm9wcy1idG4ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLWljb24tc2l6ZSwgMjRweCk7XHJcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcbi5wcm9qZWN0cy1wcm9wcy1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuIiwgIi8qKlxyXG4gKiBQcm9qZWN0IFRyZWUgVmlldyBTdHlsZXNcclxuICovXHJcblxyXG46cm9vdCB7XHJcblx0LyogRGVmYXVsdCB0cmVlIGluZGVudGF0aW9uIHNpemUgcGVyIGxldmVsICovXHJcblx0LS10cmVlLWluZGVudC1zaXplOiAxLjVyZW07XHJcblx0LyogR3VpZGUgbGluZSBjb2xvciAqL1xyXG5cdC0tdHJlZS1ndWlkZS1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBDb250YWluZXIgKi9cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnByb2plY3QtdHJlZSB7XHJcblx0cGFkZGluZzogMC41cmVtIDA7XHJcbn1cclxuXHJcbi8qIFRyZWUgSXRlbSBCYXNlICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdC0tdHJlZS1sZXZlbDogMDsgLyogRGVmYXVsdCBsZXZlbCwgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IGlubGluZSBzdHlsZSAqL1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoY2FsYyh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBTdGF0ZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBUb2dnbGUgQnV0dG9uICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMS41cmVtO1xyXG5cdGhlaWdodDogMS41cmVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGU6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUgc3ZnIHtcclxuXHR3aWR0aDogMC44NzVyZW07XHJcblx0aGVpZ2h0OiAwLjg3NXJlbTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZS1zcGFjZXIge1xyXG5cdHdpZHRoOiAxLjVyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qIEljb24gKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMS4yNXJlbTtcclxuXHRoZWlnaHQ6IDEuMjVyZW07XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBDb250ZW50IFdyYXBwZXIgKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogUHJvamVjdCBOYW1lICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFRhc2sgQ291bnRzICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QsXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtaW4td2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdHBhZGRpbmc6IDAgMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyBmb3IgdHJlZSB2aWV3ICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QucGFydGlhbGx5LWNvbXBsZXRlZCxcclxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLnBhcnRpYWxseS1jb21wbGV0ZWQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGVkIHN0YXRlIGZvciBjb3VudCBiYWRnZXMgaW4gdHJlZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxyXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xyXG5cdG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLyogQ2hpbGRyZW4gQ29udGFpbmVyICovXHJcbi5wcm9qZWN0LXRyZWUtY2hpbGRyZW4ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogVHJlZSBndWlkZSBsaW5lcyAob3B0aW9uYWwpICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKSA+IC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiBjYWxjKDAuNXJlbSArICh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkgKyAwLjc1cmVtKTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdHJlZS1ndWlkZS1jb2xvcik7XHJcblx0b3BhY2l0eTogMC4zO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4ge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbjpub3QoLmlzLWV4cGFuZGVkKSB7XHJcblx0bWF4LWhlaWdodDogMDtcclxufVxyXG5cclxuLyogRW1wdHkgU3RhdGUgKi9cclxuLnByb2plY3QtdHJlZS1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi8qIFZpZXcgVG9nZ2xlIEJ1dHRvbiAqL1xyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEuNzVyZW07XHJcblx0aGVpZ2h0OiAxLjc1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHN2ZyB7XHJcblx0d2lkdGg6IDFyZW07XHJcblx0aGVpZ2h0OiAxcmVtO1xyXG59XHJcblxyXG4vKiBNdWx0aS1zZWxlY3QgTW9kZSBJbmRpY2F0b3IgKi9cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XHJcblx0Y29udGVudDogJyc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDAuMjVyZW07XHJcblx0dG9wOiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiAwLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDAuODc1cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjphZnRlciB7XHJcblx0Y29udGVudDogJ1x1MjcxMyc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDAuMjVyZW07XHJcblx0dG9wOiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiAwLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDAuODc1cmVtO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIHRyZWUgZXhwYW5zaW9uICovXHJcbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW4gPiAucHJvamVjdC10cmVlLWl0ZW0ge1xyXG5cdGFuaW1hdGlvbjogc2xpZGVEb3duIDAuMTVzIGVhc2U7XHJcbn1cclxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucmV2aWV3LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMjUwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXZpZXctcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucmV2aWV3LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvamVjdCBncm91cCBoZWFkZXJzICovXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nOiA0cHggOHB4IDRweDtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogUHJvamVjdCBpdGVtcyBpbiB0aGUgc2lkZWJhciAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLyogUHJvamVjdHMgd2l0aCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogUHJvamVjdHMgd2l0aG91dCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtOm5vdCguaGFzLXJldmlldy1zZXR0aW5ncykgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWhlYWRlci1jb250ZW50IGgzIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5yZXZpZXctaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnJldmlldy1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDAgOHB4O1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXZpZXctbGFzdC1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1uby1zZXR0aW5ncyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRmlsdGVyIGluZm9ybWF0aW9uICovXG4ucmV2aWV3LWZpbHRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnJldmlldy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5yZXZpZXctZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBSZXZpZXcgYnV0dG9ucyAqL1xuLnJldmlldy1idXR0b24tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bixcbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1lZGl0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5yZXZpZXctZWRpdC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IENvbmZpZ3VyZSBNb2RhbCAqL1xuLnJldmlldy1tb2RhbC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1jdXN0b20tZnJlcXVlbmN5IHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYXN0LXJldmlld2VkIHtcblx0cGFkZGluZzogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24ge1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyOmhhcygucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi50Zy1oYWJpdC1jb21wb25lbnQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMXJlbTsgLyogZ2FwLTQgKi9cclxuXHRwYWRkaW5nOiAxcmVtOyAvKiBwLTQgKi9cclxuXHRoZWlnaHQ6IDEwMCU7IC8qIEFsbG93IHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi8qID09PSBIYWJpdCBMaXN0IENvbnRhaW5lciA9PT0gKi9cclxuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcclxuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFx1NUMwRlx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nOiAwLjVyZW07XHJcblx0XHRnYXA6IDAuNzVyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBcdTRFMkRcdTdCNDlcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgfjc2OHB4ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU1OTI3XHU1QzRGXHU1RTU1XHU4QkJFXHU1OTA3ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRtYXgtd2lkdGg6IDUwMHB4O1xyXG5cdH1cclxufVxyXG4vKiBBZGp1c3QgbWF4LXdpZHRoL2NvbHVtbnMgYmFzZWQgb24gZGVzaXJlZCBsYXlvdXQgKi9cclxuXHJcbi5oYWJpdC1jYXJkLXdyYXBwZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4vKiA9PT0gQ3JlYXRlIEhhYml0IEJ1dHRvbiA9PT0gKi9cclxuLmhhYml0LWNyZWF0ZS1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxufVxyXG5cclxuLyogPT09IEJhc2UgQ2FyZCBTdHlsZXMgPT09ICovXHJcbi5oYWJpdC1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBTdGFuZGFyZCBtZWRpdW0gcmFkaXVzICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGhlYWRlciBhbmQgY29udGVudCAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcbn1cclxuXHJcbi5oYWJpdC1jYXJkIC5jYXJkLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07IC8qIGdhcC0yICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTsgLyogTGFyZ2VyIFVJIGZvbnQgKi9cclxuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aXRsZSB0byB0YWtlIHNwYWNlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBsb25nIG5hbWVzIGJyZWFraW5nIGxheW91dCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1uYW1lLmhhYml0LW5hbWU6aG92ZXIge1xyXG5cdC8qIFNwZWNpZmljaXR5IGZvciBob3ZlciAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07IC8qIENvbnNpc3RlbnQgcGFkZGluZyAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXHJcblx0LyogTGF5b3V0IHNwZWNpZmljcyBkZWZpbmVkIHBlciBjYXJkIHR5cGUgKi9cclxufVxyXG5cclxuLyogPT09IERhaWx5IEhhYml0IENhcmQgPT09ICovXHJcbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xyXG5cdC8qIGJvcmRlci1ib3R0b206IG5vbmU7ICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XHJcblx0LyogU3R5bGUgY29udGFpbmVyIGlmIG5lZWRlZCAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XHJcblx0LS1jaGVja2JveC1zaXplOiAxLjI1cmVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHQvKiBDb250YWlucyBoZWF0bWFwICovXHJcblx0cGFkZGluZzogMHJlbSAxcmVtIDAuNzVyZW07IC8qIEFkanVzdCBwYWRkaW5nIGFyb3VuZCBoZWF0bWFwICovXHJcbn1cclxuXHJcbi8qID09PSBDb3VudCBIYWJpdCBDYXJkID09PSAqL1xyXG4uY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRGVmYXVsdCBtb2JpbGUgbGF5b3V0ICovXHJcblx0Z2FwOiAwLjc1cmVtOyAvKiBBZGp1c3RlZCBnYXAgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xyXG5cdC0taWNvbi1zaXplOiAycmVtO1xyXG5cdGhlaWdodDogNHJlbTsgLyogU2xpZ2h0bHkgc21hbGxlciB0aGFuIGgtMTYgKi9cclxuXHR3aWR0aDogNHJlbTtcclxuXHRhc3BlY3QtcmF0aW86IDE7XHJcblx0cGFkZGluZzogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbGVyIHJhZGl1cyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEuNXJlbTsgLyogRm9yIGljb24gKi9cclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtY2FyZC1uYW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmbGV4LWdyb3c6IDE7XHJcbn1cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8gaDMge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIENvdW50IENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lyogc20gYnJlYWtwb2ludCAqL1xyXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWxpZ24gaXRlbXMgdmVydGljYWxseSAqL1xyXG5cdFx0Z2FwOiAxcmVtO1xyXG5cdH1cclxuXHQuY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtcHJvZ3Jlc3MtYXJlYSB7XHJcblx0XHR3aWR0aDogYXV0bzsgLyogQWxsb3cgaXQgdG8gc2hyaW5rICovXHJcblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvKiBBbGlnbiBwcm9ncmVzcyB0byB0aGUgcmlnaHQgKi9cclxuXHR9XHJcblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xyXG5cdFx0d2lkdGg6IDEwMCU7IC8qIEFsbG93IGhlYXRtYXAgdG8gZGVmaW5lIGl0cyBvd24gd2lkdGggKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qID09PSBTY2hlZHVsZWQgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cclxuXHRnYXA6IDAuNzVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBoZWF0bWFwIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWV2ZW50LWRyb3Bkb3duIHtcclxuXHR3aWR0aDogYXV0bzsgLyogQXV0byB3aWR0aCBkcm9wZG93biAqL1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBTY2hlZHVsZWQgQ2FyZCAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gdG9wICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXHJcblx0XHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGhlYXRtYXAgdG8gdGFrZSBhdmFpbGFibGUgc3BhY2UgKi9cclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTsgLyogU3BhY2UgYmV0d2VlbiBoZWF0bWFwIGFuZCBjb250cm9scyAqL1xyXG5cdH1cclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHRcdHdpZHRoOiBhdXRvOyAvKiBTaHJpbmsgY29udHJvbHMgKi9cclxuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiBjb250cm9scyBsZWZ0ICovXHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gTWFwcGluZyBIYWJpdCBDYXJkID09PSAqL1xyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXHJcblx0Z2FwOiAwLjc1cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjc1cmVtOyAvKiBMYXJnZXIgZW1vamkvdGV4dCAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDEwMHB4OyAvKiBMaW1pdCBidXR0b24gd2lkdGggKi9cclxuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iZyk7XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cclxuXHRtYXgtd2lkdGg6IDIwMHB4OyAvKiBMaW1pdCBzbGlkZXIgd2lkdGggKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgc2xpZGVyIGxhYmVsICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cclxufVxyXG5cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBNYXBwaW5nIENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5ICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogS2VlcCBidXR0b24gYWJvdmUgc2xpZGVyICovXHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiAwLjc1cmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXHJcblx0XHRoZWlnaHQ6IDRyZW07XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHRcdHdpZHRoOiAxMDAlOyAvKiBTbGlkZXIgdGFrZXMgd2lkdGggb2YgY29udHJvbCBhcmVhICovXHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7IC8qIFBpbGwgc2hhcGUgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogRm9yIHRleHQgb3ZlcmxheSAqL1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcclxuXHRtaXgtYmxlbmQtbW9kZTogdW5zZXQ7XHJcbn1cclxuLmhhYml0LXByb2dyZXNzLXRleHQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IGNvbG9yIG9uIGZpbGxlZCBwYXJ0ICovXHJcblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qID09PSBIZWF0bWFwIFN0eWxlcyA9PT0gKi9cclxuLnRnLWhlYXRtYXAtcm9vdCB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cclxuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXHJcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYXRtYXAtY2VsbCB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbCByYWRpdXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNlbGxzIGZyb20gc2hyaW5raW5nICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxyXG5cdCk7IC8qIERlZmF1bHQgYmFja2dyb3VuZCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBCb3JkZXIgZm9yIGJsYW5rL2N1c3RvbSAqL1xyXG59XHJcblxyXG4vKiBIZWF0bWFwIFNoYXBlcyAqL1xyXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XHJcblx0LyogRGVmaW5lZCBieSBzaXplICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC1kb3Qge1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuLyogSGVhdG1hcCBTaXplcyAqL1xyXG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMC43NXJlbTtcclxuXHRoZWlnaHQ6IDAuNzVyZW07XHJcbn1cclxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjRyZW07XHJcblx0aGVpZ2h0OiAxLjRyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn1cclxuXHJcbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjFyZW07XHJcblx0aGVpZ2h0OiAxLjFyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn0gLyogTWFwcGluZy9TY2hlZHVsZWQgKi9cclxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY2VsbCB7XHJcblx0d2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufSAvKiBEYWlseSAqL1xyXG5cclxuLyogSGVhdG1hcCBWYXJpYW50cyAqL1xyXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xyXG5cdC8qIERlZmF1bHQgc3R5bGVzIGFscmVhZHkgc2V0ICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBvbiBmaWxsZWQgKGUuZy4sIGVtb2ppKSAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudDpoYXMoLnBpZS1kb3QtY29udGFpbmVyKSB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiB1bnNldDtcclxufVxyXG5cclxuLyogU3R5bGUgZm9yIGNlbGxzIHdpdGggY3VzdG9tIGNvbnRlbnQgbGlrZSBQaWVEb3Qgb3IgRW1vamkgKi9cclxuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQsXHJcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBVc2UgY2FyZCBiYWNrZ3JvdW5kICovXHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5oYXMtdGV4dC1jb250ZW50IHtcclxuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cclxufVxyXG5cclxuLyogUGllRG90IENvbnRhaW5lciAqL1xyXG4ucGllLWRvdC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnBpZS1kb3QtY29udGFpbmVyIHN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cclxufVxyXG5cclxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiA9PT0gSWNvbnMgUGxhY2Vob2xkZXIgPT09ICovXHJcbi5oYWJpdC1pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Lyogd2lkdGg6IDFlbTsgKi9cclxuXHRoZWlnaHQ6IDFlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuXHQtLWljb24tc2l6ZTogMS41cmVtO1xyXG59XHJcblxyXG4vKiA9PT0gSGFiaXQgQ2hhcnQgTW9kYWwgPT09ICovXHJcbi5oYWJpdC1jaGFydC1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbn1cclxuLmhhYml0LWNoYXJ0LWZpbHRlcnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuIHtcclxuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNnJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uaGFiaXQtY2hhcnQtZmlsdGVycyAuZmlsdGVyLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG4uaGFiaXQtY2hhcnQteWVhcnMgLnllYXJzLWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRnYXA6IDAuNHJlbTtcclxuXHRvdmVyZmxvdy14OiBhdXRvO1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0biB7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bi5zZWxlY3RlZCxcclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4uaGFiaXQtY2hhcnQtaGVhdG1hcCB7XHJcblx0LyogUmV1c2UgdGhlIGhlYXRtYXAgZ3JpZCBzdHlsZXM7IGFsbG93IG92ZXJmbG93ICovXHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG4iLCAiLyogRGVmaW5lIHRoZW1lIHZhcmlhYmxlcyAqL1xyXG46cm9vdCB7XHJcblx0LyogVGFzayBzdGF0dXMgY29sb3JzICovXHJcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcclxuXHQtLXRhc2stZG9pbmctY29sb3I6ICM4MGRlZTU7XHJcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZjlkOTIzO1xyXG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNlYjUzNTM7XHJcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICM5YzI3YjA7IC8qIFBsYW5uZWQgdGFzayBjb2xvciAqL1xyXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzIxOTZmMzsgLyogUXVlc3Rpb24gdGFza3MgKi9cclxuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZjQ0MzM2OyAvKiBJbXBvcnRhbnQgdGFza3MgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmYzEwNzsgLyogU3RhciB0YXNrcyAqL1xyXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzYwN2Q4YjsgLyogUXVvdGUgdGFza3MgKi9cclxuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM3OTU1NDg7IC8qIExvY2F0aW9uIHRhc2tzICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmY5ODAwOyAvKiBCb29rbWFyayB0YXNrcyAqL1xyXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzAwYmNkNDsgLyogSW5mb3JtYXRpb24gdGFza3MgKi9cclxuXHQtLXRhc2staWRlYS1jb2xvcjogIzljMjdiMDsgLyogSWRlYSB0YXNrcyAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNGNhZjUwOyAvKiBQcm9zIHRhc2tzICovXHJcblx0LS10YXNrLWNvbnMtY29sb3I6ICNmNDQzMzY7IC8qIENvbnMgdGFza3MgKi9cclxuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNTcyMjsgLyogRmlyZSB0YXNrcyAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyAqL1xyXG5cdC0tdGFzay13aW4tY29sb3I6ICM2NmJiNmE7IC8qIFdpbiB0YXNrcyAqL1xyXG5cdC0tdGFzay11cC1jb2xvcjogIzRjYWY1MDsgLyogVXAgdGFza3MgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2Y0NDMzNjsgLyogRG93biB0YXNrcyAqL1xyXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjOWU5ZTllOyAvKiBOb3RlIHRhc2tzICovXHJcblx0LS10YXNrLWFtb3VudC1jb2xvcjogIzhiYzM0YTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMDNhOWY0OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzICovXHJcblxyXG5cdC8qIFByb2dyZXNzIGJhciBncmFkaWVudCBjb2xvcnMgLSBsaWdodCB0aGVtZSAqL1xyXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcclxuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xyXG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XHJcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3NztcclxuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcclxuXHJcblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4vKiBEYXJrIHRoZW1lIGNvbG9yIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIHtcclxuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xyXG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzM3OWZhNztcclxuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmZmMxMDc7XHJcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2Y0NDMzNjtcclxuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogI2NlOTNkODsgLyogUGxhbm5lZCB0YXNrIGNvbG9yIGZvciBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjNDJhNWY1OyAvKiBRdWVzdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2VmNTM1MDsgLyogSW1wb3J0YW50IHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmZDU0ZjsgLyogU3RhciB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjOTBhNGFlOyAvKiBRdW90ZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjOGQ2ZTYzOyAvKiBMb2NhdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmZiNzRkOyAvKiBCb29rbWFyayB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMjZjNmRhOyAvKiBJbmZvcm1hdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWlkZWEtY29sb3I6ICNjZTkzZDg7IC8qIElkZWEgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNjZiYjZhOyAvKiBQcm9zIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stY29ucy1jb2xvcjogI2VmNTM1MDsgLyogQ29ucyB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjcwNDM7IC8qIEZpcmUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXdpbi1jb2xvcjogIzgxYzc4NDsgLyogV2luIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stdXAtY29sb3I6ICM2NmJiNmE7IC8qIFVwIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2VmNTM1MDsgLyogRG93biB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLW5vdGUtY29sb3I6ICNiZGJkYmQ7IC8qIE5vdGUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICNhZWQ1ODE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMjliNmY2OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHJcblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xyXG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XHJcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcclxuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xyXG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xyXG5cclxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuIiwgIi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCB7XG5cdHdpZHRoOiBtYXgoNzAlLCA1MDBweCk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IENvbmZpZ3VyYXRpb24gTW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtIHtcblx0LyogQWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHNldHRpbmdzIGluIHRoZSBtb2RhbCAqL1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWxcblx0LnNldHRpbmctaXRlbTpub3QoLnNldHRpbmctaXRlbS1oZWFkaW5nKVxuXHQuc2V0dGluZy1pdGVtLWluZm8ge1xuXHQvKiBFbnN1cmUgbGFiZWxzIGFyZSBhbGlnbmVkIHdlbGwgKi9cblx0d2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LyogRW5zdXJlIHRleHQgaW5wdXRzIHRha2UgYXZhaWxhYmxlIHdpZHRoICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdC8qIFN0eWxlIGRlc2NyaXB0aW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBNYW5hZ2VtZW50IExpc3QgaW4gU2V0dGluZ3MgVGFiICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIGJldHRlciBjb250cm9sICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgbmFtZS9kZXNjcmlwdGlvbiB0byB0YWtlIHVwIHNwYWNlICovXG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdC8qIEtlZXAgY29udHJvbHMgdG9nZXRoZXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gdG9nZ2xlcy9idXR0b25zICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmJ1dHRvbi1jb21wb25lbnQge1xuXHRwYWRkaW5nOiA1cHg7IC8qIFNtYWxsZXIgcGFkZGluZyBmb3IgaWNvbiBidXR0b25zICovXG5cdGhlaWdodDogYXV0bztcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1kZWxldGUtYnV0dG9uIHtcblx0LyogU3R5bGUgYWN0aW9uIGJ1dHRvbnMgKi9cblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxpbmcgZm9yIHRvZ2dsZXMgaW4gdGhlIGxpc3QgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2lucyBpZiBhbnkgKi9cbn1cblxuLyogSWNvbiBQaWNrZXIgTWVudSBTdHlsZXMgKFNjb3BlZCkgKi9cbi50Zy1pY29uLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBvdmVyYWxsIG1lbnUgaGVpZ2h0ICovXG5cdHdpZHRoOiAyNTBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogUHJldmVudCBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIG1heC1oZWlnaHQgY2FsY3VsYXRpb24gZm9yIGZsZXggY2hpbGRyZW4gKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIGludGVybWVkaWF0ZSBjb250YWluZXIgKi9cbi8qIC5ibS1wbHVnaW4taWNvbi1tZW51IC5ibS1tZW51LWNvbnRlbnQgeyBcblx0ZmxleC1ncm93OiAxOyBcblx0b3ZlcmZsb3cteTogYXV0bzsgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi1oZWlnaHQ6IDA7IFxufSAqL1xuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LXNlYXJjaCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBzZWFyY2ggYmFyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtaWNvbnMge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEljb24gbGlzdCB0YWtlcyByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogTWFrZSB0aGUgaWNvbiBsaXN0IHNjcm9sbGFibGUgKi9cblx0bWluLWhlaWdodDogMDsgLyogQ3J1Y2lhbCBmb3IgYWxsb3dpbmcgZmxleCBjaGlsZCB0byBzaHJpbmsgYW5kIHNjcm9sbCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMnB4LCAxZnIpKTtcblx0Z2FwOiA0cHg7XG5cdC8qIFJlbW92ZSBtaW4taGVpZ2h0IHByZXZpb3VzbHkgbmVlZGVkIGZvciBncmlkIGluIGZsZXggKi9cbn1cblxuLyogU2NvcGUgdGhlIGNsaWNrYWJsZSBpY29uICp3aXRoaW4qIHRoZSBtZW51ICovXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBDaGVja2JveCBTdGF0dXMgU3dpdGNoZXIgU3R5bGVzICovXHJcbi50YXNrLXN0YXR1cy13aWRnZXQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS5saXZlLXByZXZpZXctbW9kZSB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRhc2stc3RhdHVzLXdpZGdldCAubGlzdC1idWxsZXQ6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saXN0LW1hcmtlci1jb2xvcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVE9ETyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogRE9JTkcgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi9cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvaW5nLWNvbG9yKTtcclxufVxyXG5cclxuLyogSU4tUFJPR1JFU1Mgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj5cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLyogRE9ORSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwieFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiWFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogQ0FOQ0VMTEVEIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCItXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBTQ0hFRFVMRUQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBRVUVTVElPTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiP1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcXVlc3Rpb24tY29sb3IpO1xyXG59XHJcblxyXG4vKiBJTVBPUlRBTlQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiFcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWltcG9ydGFudC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFNUQVIgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIipcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXN0YXItY29sb3IpO1xyXG59XHJcblxyXG4vKiBRVU9URSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPSdcIiddIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1xdW90ZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIExPQ0FUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJsXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1sb2NhdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEJPT0tNQVJLIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJiXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1ib29rbWFyay1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElORk9STUFUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJpXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElERUEgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIklcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWlkZWEtY29sb3IpO1xyXG59XHJcblxyXG4vKiBQUk9TIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJwXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1wcm9zLWNvbG9yKTtcclxufVxyXG5cclxuLyogQ09OUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiY1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29ucy1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEZJUkUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImZcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWZpcmUtY29sb3IpO1xyXG59XHJcblxyXG4vKiBLRVkgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImtcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWtleS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFdJTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwid1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2std2luLWNvbG9yKTtcclxufVxyXG5cclxuLyogVVAgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXVwLWNvbG9yKTtcclxufVxyXG5cclxuLyogRE9XTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZG93bi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIE5PVEUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIm5cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLW5vdGUtY29sb3IpO1xyXG59XHJcblxyXG4vKiBBTU9VTlQvU0FWSU5HUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiU1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stYW1vdW50LWNvbG9yKTtcclxufVxyXG5cclxuLyogU1BFRUNIIEJVQkJMRSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMVwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMlwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiM1wiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNVwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNlwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiN1wiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOFwiXSxcclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stc3BlZWNoLWNvbG9yKTtcclxufVxyXG5cclxuLnRhc2stZmFrZS1idWxsZXQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogNXB4O1xyXG5cdGhlaWdodDogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stZmFrZS1idWxsZXQge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLXN0YXRlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcclxufVxyXG4iLCAiLyogVGFzayBNdWx0aS1TZWxlY3Rpb24gU3R5bGVzICovXHJcblxyXG4vKiBTZWxlY3Rpb24gbW9kZSBpbmRpY2F0b3Igb3ZlcmxheSAqL1xyXG4udGFzay12aWV3LnNlbGVjdGlvbi1tb2RlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50YXNrLXZpZXcuc2VsZWN0aW9uLW1vZGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDMpO1xyXG5cdHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGVkIHRhc2sgaXRlbSBzdHlsaW5nICovXHJcbi50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjE1KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRwYWRkaW5nLWxlZnQ6IDEzcHg7IC8qIENvbXBlbnNhdGUgZm9yIGJvcmRlciAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIGNvdW50IGJhZGdlICovXHJcbi50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdGFuaW1hdGlvbjogc2xpZGVJblVwIDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuXHRmcm9tIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4udGFzay1zZWxlY3Rpb24tYmFkZ2UgLnNlbGVjdGlvbi1jb3VudCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIExvbmcgcHJlc3MgZmVlZGJhY2sgb24gbW9iaWxlICovXHJcbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XHJcblx0LnRhc2staXRlbS5sb25nLXByZXNzLWFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIb3ZlciBlZmZlY3Qgd2hlbiBpbiBzZWxlY3Rpb24gbW9kZSAqL1xyXG4udGFzay12aWV3LnNlbGVjdGlvbi1tb2RlIC50YXNrLWl0ZW06bm90KC50YXNrLWl0ZW0tc2VsZWN0ZWQpOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA4KTtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNSk7XHJcblx0cGFkZGluZy1sZWZ0OiAxNHB4O1xyXG59XHJcblxyXG4vKiBTaGlmdCBrZXkgaW5kaWNhdG9yIChvcHRpb25hbCB2aXN1YWwgZmVlZGJhY2spICovXHJcbi50YXNrLXZpZXcuc2hpZnQta2V5LWFjdGl2ZSAudGFzay1pdGVtIHtcclxuXHRjdXJzb3I6IGNyb3NzaGFpcjtcclxufVxyXG5cclxuLyogQnVsayBvcGVyYXRpb25zIG1lbnUgc3R5bGluZyAqL1xyXG4udGFzay1idWxrLW9wZXJhdGlvbnMtbWVudSB7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLnRhc2stYnVsay1vcGVyYXRpb25zLW1lbnUgLm1lbnUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4udGFzay1idWxrLW9wZXJhdGlvbnMtbWVudSAubWVudS1pdGVtLWljb24ge1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIG1vZGUgZXhpdCBidXR0b24gKi9cclxuLnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogNjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA2cHg7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCBrYmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG59XHJcblxyXG4vKiBUcmVlIHZpZXcgc2VsZWN0aW9uIHN0eWxlcyAqL1xyXG4udHJlZS1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xNSkgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50cmVlLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIC50cmVlLWl0ZW0taW5uZXIge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIERpc2FibGVkIHN0YXRlIGZvciBub24tc2VsZWN0YWJsZSBpdGVtcyAqL1xyXG4udGFzay1pdGVtLnNlbGVjdGlvbi1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0uc2VsZWN0aW9uLWRpc2FibGVkOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyogU2VsZWN0aW9uIGNoZWNrYm94IHZpc3VhbCAoaWYgYWRkaW5nIGV4cGxpY2l0IGNoZWNrYm94ZXMpICovXHJcbi50YXNrLWl0ZW0tc2VsZWN0aW9uLWNoZWNrYm94IHtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE4cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLXNlbGVjdGVkIC50YXNrLWl0ZW0tc2VsZWN0aW9uLWNoZWNrYm94IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2staXRlbS1zZWxlY3RlZCAudGFzay1pdGVtLXNlbGVjdGlvbi1jaGVja2JveDo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIEZhZGUgaW4vb3V0IGFuaW1hdGlvbnMgZm9yIHNlbGVjdGlvbiBtb2RlICovXHJcbi50YXNrLXNlbGVjdGlvbi1tb2RlLWVudGVyIHtcclxuXHRhbmltYXRpb246IGZhZGVJbiAwLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG4udGFzay1zZWxlY3Rpb24tbW9kZS1leGl0IHtcclxuXHRhbmltYXRpb246IGZhZGVPdXQgMC4ycyBlYXNlLW91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyogTW9iaWxlLXNwZWNpZmljIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0XHRib3R0b206IDcwcHg7IC8qIEFjY291bnQgZm9yIG1vYmlsZSBib3R0b20gbmF2ICovXHJcblx0fVxyXG5cclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4OyAvKiBNb3JlIHByb21pbmVudCBvbiBtb2JpbGUgKi9cclxuXHRcdHBhZGRpbmctbGVmdDogMTJweDtcclxuXHR9XHJcblxyXG5cdC50YXNrLXNlbGVjdGlvbi1leGl0LWhpbnQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBFU0MgaGludCBvbiBtb2JpbGUgKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnRhc2staXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRhc2stc2VsZWN0aW9uLWJhZGdlIHtcclxuXHRib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxufVxyXG5cclxuLyogTGlnaHQgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWxpZ2h0IC50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGhlbWUtbGlnaHQgLnRhc2stc2VsZWN0aW9uLWJhZGdlIHtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLyogQ29tcGFjdCBtb2RlIGFkanVzdG1lbnRzICovXHJcbi50YXNrLXZpZXcuY29tcGFjdC1tb2RlIC50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRwYWRkaW5nLXRvcDogNHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi8qIEFjY2Vzc2liaWxpdHk6IEhpZ2ggY29udHJhc3QgbW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yNSkgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFJlZHVjZSBtb3Rpb24gZm9yIGFjY2Vzc2liaWxpdHkgKi9cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHQudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCxcclxuXHQudGFzay1zZWxlY3Rpb24tYmFkZ2UsXHJcblx0LnRhc2stc2VsZWN0aW9uLWV4aXQtaGludCB7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogVGFzayBHZW5pdXMgT25ib2FyZGluZyBTdHlsZXMgKi9cclxuLyogc2hhZGNuIERlc2lnbiBQcmluY2lwbGVzIEFwcGxpZWQgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIE1haW4gb25ib2FyZGluZyBzdHlsZXMgLSBzaGFyZWQgYnkgbW9kYWwgYW5kIHZpZXcgKi9cclxuLm9uYm9hcmRpbmctdmlldyB7XHJcblx0LS1kaWFsb2ctd2lkdGg6IDgwMHB4O1xyXG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcclxuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5MHZoO1xyXG5cdC0tb25ib2FyZGluZy1zcGFjaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0LS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHQtLW9uYm9hcmRpbmctdHJhbnNpdGlvbjogYWxsIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblxyXG5cdC8qIHNoYWRjbiBkZXNpZ24gdG9rZW5zICovXHJcblx0LS1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xyXG5cdC0tc2hhZG93LW1kOiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tc2hhZG93LWxnOlxyXG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXNoYWRvdy14bDpcclxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcclxufVxyXG5cclxuLyogTW9kYWwgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGFsLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGFsLWJhY2tncm91bmQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLXJhZGl1cyk7XHJcblx0bWF4LXdpZHRoOiB2YXIoLS1kaWFsb2ctbWF4LXdpZHRoKTtcclxuXHRtYXgtaGVpZ2h0OiB2YXIoLS1kaWFsb2ctbWF4LWhlaWdodCk7XHJcblx0aGVpZ2h0OiA5MHZoO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi8qIFZpZXcgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmlldy1jb250ZW50IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4vKiBIaWRlIG9uYm9hcmRpbmctaGVhZGVyIGlmIG5vIGhlYWRlciBjb250ZW50ICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyOmVtcHR5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXN1YnRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRtaW4taGVpZ2h0OiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGb290ZXIgc2VjdGlvbiAtIE1vZGVybiBkZXNpZ24gKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRib3gtc2hhZG93OiAwIC0ycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4vKiBHbGFzcyBtb3JwaGlzbSBlZmZlY3QgZm9yIG1vZGVybiBsb29rICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLCB0cmFuc3BhcmVudCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBncm91cHMgLSBsZWZ0IGFuZCByaWdodCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5idXR0b25zLWxlZnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYnV0dG9ucy1yaWdodCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBidXR0b24gc3R5bGVzICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b24ge1xyXG5cdG1pbi1oZWlnaHQ6IDM2cHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogUmlwcGxlIGVmZmVjdCBvbiBidXR0b24gY2xpY2sgKi9cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0d2lkdGggMC42cyxcclxuXHRcdGhlaWdodCAwLjZzO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uOmFjdGl2ZTo6YWZ0ZXIge1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogU2V0dGluZ3MgQ2hlY2sgU3RlcCAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4vKiBDdXJyZW50IGNvbmZpZ3VyYXRpb24gY2FyZCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jdXJyZW50LWNhcmQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1oZWFkZXItdGl0bGUgaDMge1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNhcmQtYm9keSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGVjay1jYXJkLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jaGFuZ2VzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS1jaGVjay1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBBY3Rpb25zIGNvbnRhaW5lciAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi8qIEFjdGlvbiBjYXJkcyAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogU2VsZWN0ZWQgY2FyZCBzdGF0ZSAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZC5pcy1zZWxlY3RlZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSAxMDAlXHJcblx0KTtcclxuXHRib3gtc2hhZG93OlxyXG5cdFx0dmFyKC0tc2hhZG93LW1kKSxcclxuXHRcdDAgMCAwIDNweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3ZlciB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24tY2FyZDpob3Zlcjo6YmVmb3JlIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxufVxyXG5cclxuLyogV2l6YXJkIGNhcmQgKHByaW1hcnkpICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi13aXphcmQge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMTAwJVxyXG5cdCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWFjdGlvbi13aXphcmQ6OmJlZm9yZSB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIEtlZXAgY2FyZCAoc2Vjb25kYXJ5KSAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24ta2VlcCB7XHJcblx0b3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24ta2VlcDpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogQWN0aW9uIGNhcmQgY29udGVudCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMmVtO1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1jb250ZW50IGgzIHtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtY29udGVudCA+IHAge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0zKSAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMCAwIDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1mZWF0dXJlcyBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtZmVhdHVyZXMgLmZlYXR1cmUtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLW5vdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtbm90ZSAubm90ZS1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNvbnRlbnQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogV2VsY29tZSBTdGVwICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAud2VsY29tZS1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlcy1vdmVydmlldyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pY29uIHtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1ub3RlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogVXNlciBMZXZlbCBTZWxlY3Rpb24gKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS44ZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtdGl0bGUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHVsIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5yZWNvbW1lbmRhdGlvbi1iYWRnZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBDb25maWd1cmF0aW9uIFByZXZpZXcgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3ZlcnZpZXcge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc2V0dGluZ3Mge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWZlYXR1cmVzIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy12aWV3cyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtY2hlY2sge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3LW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaTpsYXN0LWNoaWxkIHtcclxuXHRib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmctdmFsdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW9wdGlvbnMge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY3VzdG9taXphdGlvbi1ub3RlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm5vdGUtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luOiAwO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLyogQ29uZmlndXJhdGlvbiBDaGFuZ2VzIFByZXZpZXcgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMge1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVwZGF0ZWQtdmlld3MsXHJcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwIDAgdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1ub3RlIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBUYXNrIENyZWF0aW9uIEd1aWRlICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudGFzay1ndWlkZS1pbnRybyB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZ3VpZGUtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWxlZ2VuZCBzbWFsbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5tZXRhZGF0YS1zeW1ib2xzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxyXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGNvZGUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1pbi13aWR0aDogNDBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucHJhY3RpY2UtZmVlZGJhY2sge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tZXJyb3Ige1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24taW5mbyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQ29tcGxldGlvbiBQYWdlICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29tcGxldGlvbi1zdWNjZXNzIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3VjY2Vzcy1pY29uIHtcclxuXHRmb250LXNpemU6IDNlbTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stc2VjdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXN1bW1hcnktY2FyZCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtbnVtYmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNvbnRlbnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNoZWNrIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pY29uIHtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1wb3NpdGl2ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stbmVnYXRpdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3Mge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZS10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lm9uYm9hcmRpbmctdmlldyB7XHJcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcclxuXHRcdC0tZGlhbG9nLW1heC13aWR0aDogOTV2dztcclxuXHRcdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDk1dmg7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQvKiBNb2RlIGFuZCBQbGFjZW1lbnQgU2VsZWN0aW9uIC0gTW9iaWxlIExheW91dCAqL1xyXG5cdC5tb2RlLW9wdGlvbnMsXHJcblx0LnBsYWNlbWVudC1vcHRpb25zIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm1vZGUtY2FyZC1wcmV2aWV3IHtcclxuXHRcdGhlaWdodDogMTAwcHg7XHJcblx0fVxyXG5cclxuXHQucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XHJcblx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0fVxyXG5cclxuXHQubW9kZS1jYXJkLFxyXG5cdC5wbGFjZW1lbnQtY2FyZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0fVxyXG5cclxuXHQvKiBJbnRybyBtb2RlIHNlbGVjdGlvbiAtIE1vYmlsZSBhZGp1c3RtZW50cyAqL1xyXG5cdC5pbnRyby1tb2RlLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMSk7XHJcblx0fVxyXG5cclxuXHQuaW50cm8tdHlwaW5nIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQvKiBGb290ZXIgYWRqdXN0bWVudHMgZm9yIG1vYmlsZSAqL1xyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xyXG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0XHRmb250LXNpemU6IDAuOWVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzIGZvciBmb290ZXIgKi9cclxuLnRoZW1lLWRhcmsgLnRoZW1lLWRhcmsgLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xyXG5cdGJveC1zaGFkb3c6IDAgLTJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRoZW1lLWRhcmsgLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXI6OmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjIpLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBBbmltYXRpb24gYW5kIFRyYW5zaXRpb25zICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcclxuXHRhbmltYXRpb246IGZhZGVJblVwIDAuM3MgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXAge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XHJcblx0YW5pbWF0aW9uOiBjYXJkU2VsZWN0IDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY2FyZFNlbGVjdCB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBNb2RlIFNlbGVjdGlvbiAtIEZsdWVudCB2cyBMZWdhY3kgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubW9kZS1zZWxlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5tb2RlLW9wdGlvbnMge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWNhcmQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLmlzLXNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtaGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1vZGUtY2FyZC1ib2R5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtcHJldmlldyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDNlbTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm1vZGUtZmx1ZW50IC5tb2RlLWNhcmQtcHJldmlldyB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxyXG5cdCk7XHJcbn1cclxuXHJcbi5tb2RlLWxlZ2FjeSAubW9kZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtZGVzYyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtaW4taGVpZ2h0OiAzZW07XHJcbn1cclxuXHJcbi8qIFNlY3Rpb24gc2hhcmVkIHN0eWxlcyAqL1xyXG4ub25ib2FyZGluZy1zZWN0aW9uLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMjVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNlY3Rpb24tZGVzYyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLm1vZGUtdGlwcyxcclxuLnBsYWNlbWVudC10aXBzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5tb2RlLXRpcHMgcCxcclxuLnBsYWNlbWVudC10aXBzIHAge1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogUGxhY2VtZW50IFNlbGVjdGlvbiAtIFNpZGVsZWF2ZXMgdnMgSW5saW5lICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBsYWNlbWVudC1zZWxlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtb3B0aW9ucyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLmlzLXNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1ib2R5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcclxuXHRoZWlnaHQ6IDEwMHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBWaXN1YWwgcmVwcmVzZW50YXRpb25zIGZvciBwbGFjZW1lbnQgbW9kZXMgKi9cclxuLnBsYWNlbWVudC1zaWRlbGVhdmVzIC5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmciAxZnI7XHJcblx0Z2FwOiA0cHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXByZXZpZXctY29sIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3LWNvbC5wbGFjZW1lbnQtcHJldmlldy1tYWluIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLnBsYWNlbWVudC1pbmxpbmUgLnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3LXNpbmdsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC1jYXJkLWRlc2Mge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWluLWhlaWdodDogM2VtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQUktU3R5bGUgSW50cm8gVHlwaW5nIEFuaW1hdGlvbiAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFdyYXBwZXIgdG8gcHJldmVudCBsYXlvdXQgc2hpZnQgKi9cclxuLmludHJvLXR5cGluZy13cmFwcGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQuaW50cm8tdHlwaW5nLXdyYXBwZXIge1xyXG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XHJcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpICogMyk7XHJcbn1cclxuXHJcbi5pbnRyby10eXBpbmcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KSB2YXIoLS1zaXplLTQtNCk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmludHJvLWxpbmUge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG4uaW50cm8tbGluZS0xIHtcclxuXHQvKiBcIkhpLFwiIC0gTGFyZ2UgcmVzcG9uc2l2ZSBncmVldGluZyAqL1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgNnZ3LCA1cmVtKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lLTIge1xyXG5cdC8qIFwiVGhhbmsgeW91IGZvciB1c2luZyBUYXNrIEdlbml1c1wiIC0gU2Vjb25kYXJ5IGdyZWV0aW5nICovXHJcblx0Zm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDN2dywgMi41cmVtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lLTMsXHJcbi5pbnRyby1saW5lLTQge1xyXG5cdC8qIERlc2NyaXB0aW9uIHRleHQgLSBSZXNwb25zaXZlIGJvZHkgdGV4dCAqL1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMnZ3LCAxLjRyZW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNSk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmludHJvLWxpbmUtNCB7XHJcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1oZWFkZXIgPiAuaW50cm8tbGluZS00IHtcclxuXHRwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLyogQUktc3R5bGUgc3RyZWFtaW5nIGNoYXJhY3RlcnMgKi9cclxuLmludHJvLWNoYXIge1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdGZpbHRlcjogYmx1cig0cHgpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0b3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXHJcblx0XHRmaWx0ZXIgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxyXG5cdFx0dHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5pbnRyby1jaGFyLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0ZmlsdGVyOiBibHVyKDBweCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiBTcGFjZSBjaGFyYWN0ZXIgaGFuZGxpbmcgKi9cclxuLmludHJvLWNoYXItc3BhY2Uge1xyXG5cdHdpZHRoOiAwLjI1ZW07XHJcbn1cclxuXHJcbi8qIFN0cmVhbWluZyBjdXJzb3IgdGhhdCBmb2xsb3dzIGNoYXJhY3RlcnMgKi9cclxuLmludHJvLWN1cnNvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAxcHg7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdGFuaW1hdGlvbjogY3Vyc29yQmxpbmsgMXMgaW5maW5pdGU7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY3Vyc29yQmxpbmsge1xyXG5cdDAlLFxyXG5cdDQ5JSB7XHJcblx0XHRvcGFjaXR5OiAwLjc7XHJcblx0fVxyXG5cdDUwJSxcclxuXHQxMDAlIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG59XHJcblxyXG4vKiBDb21wbGV0ZWQgc3RyZWFtIGxpbmUgKi9cclxuLnN0cmVhbS1jb21wbGV0ZSB7XHJcblx0YW5pbWF0aW9uOiBzdHJlYW1Db21wbGV0ZSAwLjNzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHN0cmVhbUNvbXBsZXRlIHtcclxuXHQwJSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0b3BhY2l0eTogMC45NTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLyogRmFkZSBvdXQgYW5pbWF0aW9uIGZvciByZW1vdmluZyBsaW5lcyAqL1xyXG4uaW50cm8tbGluZS1mYWRlb3V0IHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcblx0dHJhbnNpdGlvbjpcclxuXHRcdG9wYWNpdHkgMC41cyBlYXNlLW91dCxcclxuXHRcdHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vKiBNb2RlIHNlbGVjdGlvbiBjb250YWluZXIgdGhhdCBhcHBlYXJzIGFmdGVyIGludHJvIHR5cGluZyAqL1xyXG4uaW50cm8tbW9kZS1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuXHRhbmltYXRpb246IGZhZGVJbkZyb21Cb3R0b20gMC42cyBlYXNlLW91dDtcclxuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkZyb21Cb3R0b20ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIHJlYWRhYmlsaXR5IG9uIGRpZmZlcmVudCB0aGVtZXMgKi9cclxuLnRoZW1lLWRhcmsgLmludHJvLWxpbmUtMSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR0ZXh0LXNoYWRvdzogMCAwIDIwcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmludHJvLWNoYXItdmlzaWJsZSB7XHJcblx0LyogU3VidGxlIGdsb3cgZWZmZWN0IGZvciBkYXJrIHRoZW1lICovXHJcblx0dGV4dC1zaGFkb3c6IDAgMCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSk7XHJcbn1cclxuXHJcbi8qIFNtb290aCBhcHBlYXJhbmNlIGZvciB3aG9sZSB0eXBpbmcgY29udGFpbmVyICovXHJcbi5pbnRyby10eXBpbmcge1xyXG5cdGFuaW1hdGlvbjogZmFkZUluVHlwaW5nIDAuNXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVHlwaW5nIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBUcmFuc2l0aW9uIG1lc3NhZ2UgY29udGFpbmVyICovXHJcbi5pbnRyby10cmFuc2l0aW9uLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1pbi1oZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDgpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wMykgMTAwJVxyXG5cdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2UgLnRyYW5zaXRpb24taWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRhbmltYXRpb246IHNwYXJrbGUgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuLmludHJvLXRyYW5zaXRpb24tbWVzc2FnZSAudHJhbnNpdGlvbi10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BhcmtsZSB7XHJcblx0MCUsXHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHRcdG9wYWNpdHk6IDAuODtcclxuXHR9XHJcbn1cclxuXHJcbi8qIENvbmZpZyBjaGVjayB0eXBpbmcgYW5pbWF0aW9uICovXHJcbi5jb25maWctY2hlY2stdHlwaW5nIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lIHtcclxuXHRsaW5lLWhlaWdodDogMS42O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS0xIHtcclxuXHQvKiBGaXJzdCBsaW5lIC0gYXR0ZW50aW9uIGdyYWJiZXIgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMi41dncsIDEuOHJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMixcclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMyB7XHJcblx0LyogUHJvZ3Jlc3MgbWVzc2FnZXMgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDJ2dywgMS4zcmVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtcmVzdWx0IHtcclxuXHQvKiBSZXN1bHQgbWVzc2FnZSAtIGhpZ2hsaWdodGVkIGNhcmQgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDEuMXJlbSwgMi4ydncsIDEuNnJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC01KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjAyKSAxMDAlXHJcblx0KTtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtc3VjY2VzcyB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4wOCkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMDIpIDEwMCVcclxuXHQpO1xyXG59XHJcblxyXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZS1mcmVzaCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogTmV3IFVJIENvbXBvbmVudHMgKHNoYWRjbiBEZXNpZ24pICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogPT09PT0gU2VsZWN0YWJsZSBDYXJkIENvbXBvbmVudCA9PT09PSAqL1xyXG4uc2VsZWN0YWJsZS1jYXJkcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtNCkgMDtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZHMtY29udGFpbmVyLnVzZXItbGV2ZWwtY2FyZHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cywgdmFyKC0tcmFkaXVzLW0pKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQuaXMtc2VsZWN0ZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtaWNvbiB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtdGl0bGUtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXRpdGxlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtc3VidGl0bGUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1iYWRnZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtYm9keSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtZmVhdHVyZXMgdWwge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIGxpOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTIwMjJcIjtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogY2FsYygtMSAqIHZhcigtLXNpemUtNC0zKSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qID09PT09IEZlYXR1cmUgTGlzdCBDb21wb25lbnQgPT09PT0gKi9cclxuLmZlYXR1cmUtbGlzdCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5mZWF0dXJlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5mZWF0dXJlLWl0ZW0taWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmVhdHVyZS1pdGVtLXRleHQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qID09PT09IEJhZGdlIENvbXBvbmVudCA9PT09PSAqL1xyXG4ub25ib2FyZGluZy1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAxZW07XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2UtZGVmYXVsdCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1iYWRnZS1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWJhZGdlLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2UtaW5mbyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1iYWRnZS1hY2NlbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi8qID09PT09IEFsZXJ0IENvbXBvbmVudCA9PT09PSAqL1xyXG4ub25ib2FyZGluZy1hbGVydCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1pbmZvIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxyXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LXRpdGxlLFxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1yZWQtcmdiKSwgMC4xKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIC5vbmJvYXJkaW5nLWFsZXJ0LWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3IgLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi8qID09PT09IFByb2dyZXNzIERvdHMgQ29tcG9uZW50ID09PT09ICovXHJcbi5wcm9ncmVzcy1kb3RzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdCB7XHJcblx0d2lkdGg6IDhweDtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1kb3QuaXMtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMS41KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdC5pcy1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtZG90LWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcbiIsICIvKiBOb2lzZSBMYXllciBFZmZlY3QgKi9cclxuLnRnLW5vaXNlLWxheWVyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udGctbm9pc2UtbGF5ZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG9wYWNpdHk6IDAuMjU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIHZpZXdCb3g9XCIwIDAgMTkwMSA5NjFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBvcGFjaXR5PVwiMC4yNVwiIGZpbHRlcj1cInVybCglMjNmaWx0ZXIwX25fMV8yKVwiPjxyZWN0IHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbGw9XCIlMjNFRkVGRUZcIi8+PC9nPjxkZWZzPjxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX25fMV8yXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTkwMVwiIGhlaWdodD1cIjk2MVwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIi8+PGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cInNoYXBlXCIvPjxmZVR1cmJ1bGVuY2UgdHlwZT1cImZyYWN0YWxOb2lzZVwiIGJhc2VGcmVxdWVuY3k9XCIxLjI1IDEuMjVcIiBzdGl0Y2hUaWxlcz1cInN0aXRjaFwiIG51bU9jdGF2ZXM9XCIzXCIgcmVzdWx0PVwibm9pc2VcIiBzZWVkPVwiNTMzOVwiIC8+PGZlQ29sb3JNYXRyaXggaW49XCJub2lzZVwiIHR5cGU9XCJsdW1pbmFuY2VUb0FscGhhXCIgcmVzdWx0PVwiYWxwaGFOb2lzZVwiIC8+PGZlQ29tcG9uZW50VHJhbnNmZXIgaW49XCJhbHBoYU5vaXNlXCIgcmVzdWx0PVwiY29sb3JlZE5vaXNlMVwiPjxmZUZ1bmNBIHR5cGU9XCJkaXNjcmV0ZVwiIHRhYmxlVmFsdWVzPVwiMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCBcIi8+PC9mZUNvbXBvbmVudFRyYW5zZmVyPjxmZUNvbXBvc2l0ZSBvcGVyYXRvcj1cImluXCIgaW4yPVwic2hhcGVcIiBpbj1cImNvbG9yZWROb2lzZTFcIiByZXN1bHQ9XCJub2lzZTFDbGlwcGVkXCIgLz48ZmVGbG9vZCBmbG9vZC1jb2xvcj1cInJnYmEoMCwgMCwgMCwgMC4yNSlcIiByZXN1bHQ9XCJjb2xvcjFGbG9vZFwiIC8+PGZlQ29tcG9zaXRlIG9wZXJhdG9yPVwiaW5cIiBpbjI9XCJub2lzZTFDbGlwcGVkXCIgaW49XCJjb2xvcjFGbG9vZFwiIHJlc3VsdD1cImNvbG9yMVwiIC8+PGZlTWVyZ2UgcmVzdWx0PVwiZWZmZWN0MV9ub2lzZV8xXzJcIj48ZmVNZXJnZU5vZGUgaW49XCJzaGFwZVwiIC8+PGZlTWVyZ2VOb2RlIGluPVwiY29sb3IxXCIgLz48L2ZlTWVyZ2U+PC9maWx0ZXI+PC9kZWZzPjwvc3ZnPicpO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLnRnLW5vaXNlLWxheWVyID4gKiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDI7XHJcbn1cclxuIiwgIi50Zy1jaGFuZ2Vsb2ctdmlldyB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMik7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctaGVhZGVyIGgyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLW1ldGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctbWV0YSBhIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctbWV0YSBhOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWVycm9yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgxLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDIsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMyB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlLCBpbmhlcml0KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgxIHtcclxuXHRmb250LXNpemU6IDEuNjVyZW07XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMiB7XHJcblx0Zm9udC1zaXplOiAxLjM1cmVtO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDI6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC04KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzIHtcclxuXHRmb250LXNpemU6IDEuMTVyZW07XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yKTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxcmVtO1xyXG5cdGhlaWdodDogMXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGZsZXg6IDAgMCBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkJ1ZyBGaXhlc1wiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQsICNlMDZjNzUpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkZlYXR1cmVzXCJdOjpiZWZvcmUsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoM1tkYXRhLWhlYWRpbmdePVwiTmV3XCJdOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWN5YW4sICM1NmI2YzIpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkltcHJvdmVtZW50c1wiXTo6YmVmb3JlLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIkVuaGFuY2VtZW50c1wiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci15ZWxsb3csICNkMTlhNjYpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIlBlcmZvcm1hbmNlXCJdOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLCAjOThjMzc5KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMSxcclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMixcclxuLnRnLWNoYW5nZWxvZy1ib2R5IHAgKyBoMyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTYpO1xyXG59XHJcbiIsICIvKiBUaW1lbGluZSBTaWRlYmFyIFZpZXcgU3R5bGVzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1zaWRlYmFyLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcclxuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEhlYWRlciAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAxMDAlXHJcblx0KTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC04KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC04KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuLmlzLWFjdGl2ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBUaW1lbGluZSBDb250ZW50ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXHJcbi50aW1lbGluZS1kYXRlLWdyb3VwOm5vdCguaXMtdG9kYXkpIHtcclxuXHRvcGFjaXR5OiAwLjM7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtOCk7XHJcbn1cclxuXHJcbi8qIERhdGUgR3JvdXBzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXlcclxuLnRpbWVsaW5lLWRhdGUtaGVhZGVyIHtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLXJlbGF0aXZlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIEV2ZW50cyBMaXN0ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4vKiBUaW1lbGluZSBFdmVudHMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50OmhvdmVyOmhhcygudGltZWxpbmUtZXZlbnQtY2hlY2tib3g6aG92ZXIpIHtcclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWQge1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZFxyXG4udGltZWxpbmUtZXZlbnQtdGV4dCB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBFdmVudCBUaW1lICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0bWluLXdpZHRoOiA0NXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCB0aW1lIGRpc3BsYXkgc3R5bGVzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtc2luZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZSB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAxMDAlKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRhbmltYXRpb246IHN1YnRsZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXHUyM0YxXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLTZweDtcclxuXHRyaWdodDogLTZweDtcclxuXHRmb250LXNpemU6IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcclxuXHRtaW4td2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdHBhZGRpbmc6IDAgNHB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFdoZW4gZHVyYXRpb24gaXMgcHJvdmlkZWQsIHNob3cgaXQgaW5zdGVhZCBvZiB0aGUgaWNvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlW2RhdGEtZHVyYXRpb25dOjphZnRlciB7XHJcblx0Y29udGVudDogYXR0cihkYXRhLWR1cmF0aW9uKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kZWZhdWx0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWdyb3VwIHtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZXh0LWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMTAwJSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdG1pbi13aWR0aDogNjBweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kYXRlLW9ubHkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWluLXdpZHRoOiA2MHB4O1xyXG59XHJcblxyXG4vKiBUaW1lIEdyb3VwIFN0eWxlcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cCB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtY291bnQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtZXZlbnRzIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LnRpbWVsaW5lLWV2ZW50LWdyb3VwZWQ6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLyogRGF0ZS1vbmx5IEV2ZW50cyBTZWN0aW9uICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcblxyXG4vKiBIaWRlIHBlci1ldmVudCB0aW1lIGxhYmVscyBpbnNpZGUgQWxsIGRheSBzZWN0aW9uIGFzIHNhZmV0eSBuZXQgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1zZWN0aW9uIC50aW1lbGluZS1ldmVudCAudGltZWxpbmUtZXZlbnQtdGltZSB7XHJcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS10aXRsZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qIEV2ZW50IENvbnRlbnQgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jaGVja2JveCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94XHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRleHQge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1pY29uIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAxcHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHQge1xyXG5cdGZsZXg6IDE7XHJcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuLyogRXZlbnQgQWN0aW9ucyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQ6aG92ZXJcclxuLnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBRdWljayBJbnB1dCBBcmVhICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogQ29sbGFwc2VkIHN0YXRlICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Z2FwOiAwO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxyXG4ucXVpY2staW5wdXQtaGVhZGVyLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcbi5xdWljay1pbnB1dC1lZGl0b3IsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcclxuLnF1aWNrLWlucHV0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBzdGF0ZXMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1leHBhbmRpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBoZWFkZXIgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtdGl0bGUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9uczpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEV4cGFuZGVkIGhlYWRlciB3aXRoIGNvbGxhcHNlIGJ1dHRvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFJvdGF0ZSBjb2xsYXBzZSBidXR0b24gaWNvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHN2ZyB7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcclxuLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0blxyXG5zdmcge1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10YXJnZXQtaW5mbyB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiA4MHB4O1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGV4dCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3I6Zm9jdXMtd2l0aGluIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWVkaXRvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWZvY3VzZWQge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi5xdWljay1pbnB1dC1lZGl0b3JcclxuLmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG4sXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udHJvbHMge1xyXG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuIHtcclxuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XHJcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XHJcblx0XHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFNjcm9sbGJhciBTdHlsaW5nICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0d2lkdGg6IDZweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzdWJ0bGUtcHVsc2Uge1xyXG5cdDAlLCAxMDAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC40KTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogRm9jdXMgTW9kZSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdHRvIGJvdHRvbSxcclxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMCUsXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjcpIDUwJSxcclxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMTAwJVxyXG5cdCk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxyXG4udGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIE1hcmtkb3duIHJlbmRlcmVyIHN0eWxlcyBpbiB0aW1lbGluZSBldmVudHMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2sge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5zdHJvbmcsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmVtLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5jb2RlIHtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmEge1xyXG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmE6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG51bCxcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxubGkge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cclxuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlciBhbGlnbiBjb250ZW50ICovXHJcbn1cclxuXHJcbi5yZXdhcmQtbW9kYWwgLm1vZGFsLXRpdGxlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXdhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgY2VudGVyaW5nICovXHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlIHtcclxuXHRtYXgtd2lkdGg6IDgwJTsgLyogTGltaXQgaW1hZ2Ugd2lkdGggKi9cclxuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXHJcblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9wdGlvbmFsOiBhZGQgc3VidGxlIHNoYWRvdyAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWVycm9yIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXHJcbn1cclxuXHJcbi5yZXdhcmQtc3BhY2VyIHtcclxuXHRoZWlnaHQ6IDIwcHg7IC8qIEFkZCBzb21lIHNwYWNlIGJlZm9yZSB0aGUgYnV0dG9ucyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyB3aXRoaW4gdGhlIG1vZGFsICovXHJcbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgYnV0dG9ucyAqL1xyXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xyXG59XHJcbiIsICIubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcclxufVxyXG5cclxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIudGctbWVudSB7XHJcblx0ei1pbmRleDogMjA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXIge1xyXG5cdHdpZHRoOiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXItbWFya2VyIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xyXG5cdG9wYWNpdHk6IDAuMTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyLW1hcmtlcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZpZWxkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpZWxkLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYmJlZCBJbnRlcmZhY2UgU3R5bGVzICovXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpOyAvKiBBZGp1c3RlZCBmb3IgY29uc2lzdGVuY3kgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XHJcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRW5zdXJlIGNvbnRlbnQgd2l0aGluIHBhbmUgZmxvd3MgdmVydGljYWxseSAqL1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XHJcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvcixcclxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi8qIGZsdWVudCBWaWV3IE1haW4gTGF5b3V0ICovXG4udGFzay1nZW5pdXMtZmx1ZW50LXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50Zy1mbHVlbnQtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udmlldy1jb250ZW50LnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IHtcblx0cGFkZGluZzogMDtcbn1cblxuLnRnLWZsdWVudC1sYXlvdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBTaWRlYmFyIFN0eWxlcyAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAyNjBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mbHVlbnQtc2lkZWJhciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsdWVudC1zaWRlYmFyLWhlYWRlciB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFdvcmtzcGFjZSBTZWxlY3RvciAqL1xuLndvcmtzcGFjZS1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ud29ya3NwYWNlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ud29ya3NwYWNlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi53b3Jrc3BhY2UtaWNvbiB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLndvcmtzcGFjZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi53b3Jrc3BhY2UtZGV0YWlscyB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi53b3Jrc3BhY2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3Jrc3BhY2UtbGFiZWwge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtzcGFjZS1kcm9wZG93bi1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBOZXcgVGFzayBCdXR0b24gKi9cbmJ1dHRvbi5mbHVlbnQtbmV3LXRhc2stYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGJveC1zaGFkb3c6IHVuc2V0O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbmJ1dHRvbi5mbHVlbnQtbmV3LXRhc2stYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1uZXctdGFzay1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogU2lkZWJhciBDb250ZW50ICovXG4uZmx1ZW50LXNpZGViYXItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDhweCAwO1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRwYWRkaW5nOiA4cHggMDtcbn1cblxuLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24gKyAuZmx1ZW50LXNpZGViYXItc2VjdGlvbiB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDRweCAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mbHVlbnQtc2VjdGlvbi1oZWFkZXIgc3BhbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaGVhZGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXNvcnQtcHJvamVjdC1idG4sXG4uZmx1ZW50LXRyZWUtdG9nZ2xlLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC1zb3J0LXByb2plY3QtYnRuOmhvdmVyLFxuLmZsdWVudC10cmVlLXRvZ2dsZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBOYXZpZ2F0aW9uIEl0ZW1zICovXG4uZmx1ZW50LW5hdmlnYXRpb24tbGlzdCB7XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSAuZmx1ZW50LW5hdmlnYXRpb24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWJhZGdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUHJvamVjdCBMaXN0ICovXG4uZmx1ZW50LXByb2plY3Qtc2Nyb2xsIHtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmZsdWVudC1hZGQtcHJvamVjdCB7XG5cdG1hcmdpbjogMCA4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvbG9yLWRhc2hlZCB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmZsdWVudC1hZGQtcHJvamVjdCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbiBzdmcge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtY2hldnJvbi1zcGFjZXIge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFRyZWUgaW5kZW50YXRpb24gKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsPVwiMVwiXSB7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWxpc3QuaXMtdHJlZS12aWV3IC5mbHVlbnQtcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIyXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbD1cIjNcIl0ge1xuXHRwYWRkaW5nLWxlZnQ6IDY4cHg7XG59XG5cbi8qIFRyZWUgaGllcmFyY2h5IGxpbmVzIChvcHRpb25hbCAtIGNhbiBiZSBhZGRlZCBsYXRlcikgKi9cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA4cHg7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlld1xuXHQuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKTpob3Zlcjo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiBWaXJ0dWFsIHByb2plY3Qgbm9kZXMgKGludGVybWVkaWF0ZSBmb2xkZXJzKSAqL1xuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0b3BhY2l0eTogMC44NTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0uaXMtdmlydHVhbCAuZmx1ZW50LXByb2plY3QtY29sb3Ige1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRGlzYWJsZWQgcHJvamVjdCBsaXN0IHN0eWxlcyAtIHVzZWQgd2hlbiBzaG93aW5nIGZ1bGwgcHJvamVjdHMgb3ZlcnZpZXcgKi9cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3BhY2l0eTogMC41O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjM7XG5cdHotaW5kZXg6IDE7XG59XG5cbi50Zy1wcm9qZWN0LWxpc3QtZGlzYWJsZWQgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBNYWluIENvbnRhaW5lciAqL1xuLnRnLWZsdWVudC1tYWluLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRvcCBOYXZpZ2F0aW9uICovXG4udGctZmx1ZW50LXRvcC1uYXYge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRoZWlnaHQ6IDU2cHg7XG5cdHBhZGRpbmc6IDAgMjBweDtcblx0Z2FwOiAyMHB4O1xufVxuXG4uZmx1ZW50LW5hdi1sZWZ0IHtcblx0ZmxleDogMCAxIDQwMHB4O1xufVxuXG4uZmx1ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZmxleDogMTtcbn1cblxuLyogQ2VudGVyIE5hdmlnYXRpb24gKi9cbi5mbHVlbnQtbmF2LWNlbnRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLmZsdWVudC12aWV3LXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMnB4O1xufVxuXG4uZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC12aWV3LXRhYi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uZmx1ZW50LXZpZXctdGFiLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmx1ZW50LW5hdi1zZXBhcmF0b3Ige1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1uYXYtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLmZsdWVudC1uYXYtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbi1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLyogUmlnaHQgTmF2aWdhdGlvbiAqL1xuLmZsdWVudC1uYXYtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi5mbHVlbnQtbmF2LWljb24tYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LW5hdi1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW5vdGlmaWNhdGlvbi1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMnB4O1xuXHRyaWdodDogLTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29udGVudCBBcmVhICovXG4udGctZmx1ZW50LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmJhc2VzLXZpZXcgLnRnLWthbmJhbi1maWx0ZXJzLFxuLnRnLWZsdWVudC1jb250ZW50IC5jb250ZW50LWhlYWRlcixcbi50Zy1mbHVlbnQtY29udGVudCAudGcta2FuYmFuLWZpbHRlcnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBWaWV3LXNwZWNpZmljIHN0eWxlcyAqL1xuLnRnLWZsdWVudC1saXN0LXZpZXcsXG4udGctZmx1ZW50LWthbmJhbi12aWV3LFxuLnRnLWZsdWVudC10cmVlLXZpZXcsXG4udGctZmx1ZW50LWNhbGVuZGFyLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyOm5vdCguaXMtbW9iaWxlLWRyYXdlcikge1xuXHRcdHdpZHRoOiAyMDBweDtcblx0fVxuXG5cdC5mbHVlbnQtbmF2LWNlbnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC5mbHVlbnQtbmF2LWxlZnQgLnNlYXJjaC1pbnB1dC1jb250YWluZXIge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxufVxuXG4vKiBNb2JpbGUtc3BlY2lmaWMgbWVkaWEgcXVlcnkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQvKiBFbnN1cmUgZHJhd2VyIHRha2VzIGFwcHJvcHJpYXRlIHdpZHRoIG9uIHNtYWxsIHNjcmVlbnMgKi9cblx0LnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIHtcblx0XHR3aWR0aDogNzV2dyAhaW1wb3J0YW50O1xuXHRcdG1heC13aWR0aDogMzIwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC8qIE1ha2UgaGFtYnVyZ2VyIGJ1dHRvbiBtb3JlIHByb21pbmVudCBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC1oYW1idXJnZXItYnV0dG9uIHtcblx0XHR3aWR0aDogNDRweDtcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdH1cblxuXHQvKiBBZGp1c3QgdG9wIG5hdmlnYXRpb24gc3BhY2luZyBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC10b3AtbmF2aWdhdGlvbiB7XG5cdFx0cGFkZGluZzogMCAxMnB4O1xuXHR9XG5cblx0LyogSGlkZSB2aWV3IHRhYnMgb24gdmVyeSBzbWFsbCBzY3JlZW5zICovXG5cdC5mbHVlbnQtdmlldy10YWJzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogT3B0aW1pemUgc2VhcmNoIGNvbnRhaW5lciBvbiBtb2JpbGUgKi9cblx0LmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE4MHB4KTtcblx0fVxufVxuXG4vKiA9PT09PSBDb2xsYXBzZWQgU2lkZWJhciAoUmFpbCkgPT09PT0gKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR0cmFuc2l0aW9uOlxuXHRcdHdpZHRoIDAuMnMgZWFzZSxcblx0XHRtaW4td2lkdGggMC4ycyBlYXNlLFxuXHRcdG1heC13aWR0aCAwLjJzIGVhc2U7XG59XG5cbi8qIFdoZW4gdGhlIHNpZGViYXIgZWxlbWVudCBpdHNlbGYgaXMgY29sbGFwc2VkICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLWNvbGxhcHNlZCxcblx0LyogT3Igd2hlbiB0aGUgcm9vdCBhZGRzIGEgaGVscGVyIGNsYXNzICovXG4uZmx1ZW50LXNpZGViYXItY29sbGFwc2VkIC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRtYXgtd2lkdGg6IDQ0cHg7XG59XG5cbi8qIFJhaWwgbGF5b3V0ICovXG4uZmx1ZW50LXNpZGViYXItcmFpbCB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCA0cHg7XG59XG5cbi5mbHVlbnQtcmFpbC1idG4ge1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG5cdFx0Y29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmZsdWVudC1yYWlsLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXJhaWwtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qIEFjdGl2ZSBzdGF0ZSBmb3IgcmFpbCBidXR0b25zICovXG4uZmx1ZW50LXJhaWwtYnRuLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWJldGEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1iZXRhOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiYmV0YVwiO1xuXHRmb250LXNpemU6IDAuNDRlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50LWludmVydGVkKTtcblx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdHBhZGRpbmctcmlnaHQ6IDJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMXB4O1xuXHRyaWdodDogLTJweDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nLXRvcDogMXB4O1xufVxuXG4vKiA9PT09PSBNb2JpbGUgRHJhd2VyIFN0eWxlcyA9PT09PSAqL1xuLmRyYXdlci1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0ei1pbmRleDogOTk5O1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kcmF3ZXItb3BlbiAuZHJhd2VyLW92ZXJsYXkge1xuXHRvcGFjaXR5OiAxO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLyogTW9iaWxlIGRyYXdlciBzaWRlYmFyICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMjgwcHggIWltcG9ydGFudDtcblx0bWF4LXdpZHRoOiA4NXZ3ICFpbXBvcnRhbnQ7XG5cdG1pbi13aWR0aDogMjgwcHggIWltcG9ydGFudDtcblx0ei1pbmRleDogMTAwMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0Ym94LXNoYWRvdzogNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBXaGVuIGRyYXdlciBpcyBvcGVuICovXG4uZHJhd2VyLW9wZW4gLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBFbnN1cmUgc2lkZWJhciBjb250ZW50IGlzIHZpc2libGUgb24gbW9iaWxlIGV2ZW4gd2hlbiBcImNvbGxhcHNlZFwiICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIgLmZsdWVudC1zaWRlYmFyLmlzLWNvbGxhcHNlZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIaWRlIHJhaWwgbW9kZSBvbiBtb2JpbGUgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciAuZmx1ZW50LXNpZGViYXItcmFpbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBzaWRlYmFyIGNvbnRlbnQgYWRqdXN0bWVudHMgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItaGVhZGVyIHtcblx0cGFkZGluZzogMTZweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogRW5zdXJlIGFsbCBzZWN0aW9ucyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zaWRlYmFyLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiBjYWxjKFxuXHRcdDEwMHZoIC0gMTUwcHhcblx0KTsgLyogQWNjb3VudCBmb3IgaGVhZGVyIGFuZCBuZXcgdGFzayBidXR0b24gKi9cbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLyogRW5zdXJlIHNlY3Rpb24gaGVhZGVycyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1tb2JpbGUgLmZsdWVudC1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmlzLW1vYmlsZSAuZmx1ZW50LXByb2plY3QtaXRlbSB7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmV3LXRhc2stYnRuIHtcblx0cGFkZGluZzogMTJweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pcy1tb2JpbGUgc3Bhbi5mbHVlbnQtbmF2aWdhdGlvbi1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRvdWNoLWZyaWVuZGx5IHNpemluZyAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LW5hdmlnYXRpb24taXRlbSxcbi5pcy1tb2JpbGUgLmZsdWVudC1wcm9qZWN0LWl0ZW0sXG4uaXMtbW9iaWxlIC5mbHVlbnQtYWRkLXByb2plY3Qge1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4vKiBBZGp1c3QgbWFpbiBjb250YWluZXIgb24gbW9iaWxlIHdoZW4gZHJhd2VyIGlzIG9wZW4gKi9cbi5kcmF3ZXItb3BlbiAudGctZmx1ZW50LW1haW4tY29udGFpbmVyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEhhbWJ1cmdlciBtZW51IGJ1dHRvbiBmb3IgbW9iaWxlICovXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG5cdFx0Y29sb3IgMC4xNXMgZWFzZTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1oYW1idXJnZXItYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG59XG5cbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIG9uIG1vYmlsZSB3aGVuIGhhbWJ1cmdlciBpcyBwcmVzZW50ICovXG4uZmx1ZW50LW5hdi1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIEhpZGUgc2lkZWJhciB0b2dnbGUgb24gZGVza3RvcCB3aGVuIGluIG1vYmlsZSBkcmF3ZXIgbW9kZSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyXG5cdH4gLnRnLWZsdWVudC1tYWluLWNvbnRhaW5lclxuXHQuc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgZHJhd2VyIGZyb20gcmlnaHQgKG9wdGlvbmFsIC0gY2FuIGJlIGNvbmZpZ3VyZWQpICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIuZHJhd2VyLXJpZ2h0IHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0Ym94LXNoYWRvdzogLTRweCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmRyYXdlci1vcGVuIC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlci5kcmF3ZXItcmlnaHQge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi52aWV3LWNvbnRlbnQ6aGFzKC50Zy1yaWdodC1kZXRhaWwtdmlldykge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4udGctcmlnaHQtZGV0YWlsLXZpZXcgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTbW9vdGggYW5pbWF0aW9ucyBmb3IgYWxsIHRyYW5zaXRpb25zICovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tTGVmdCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tUmlnaHQge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0b3BhY2l0eTogMC44O1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ub25ib2FyZGluZy1zaGFkb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMCk7XG5cdGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cdHJvdGF0ZTogMzVkZWc7XG5cdHdpZHRoOiAyNjBweDtcblx0dG9wOiAyMDBweDtcblx0aGVpZ2h0OiA0MDBweDtcblx0ZmlsdGVyOiBibHVyKDE1MHB4KTtcblx0YW5pbWF0aW9uOiBzaGFkb3ctc2xpZGUgaW5maW5pdGUgNHMgbGluZWFyIGFsdGVybmF0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgc2hhZG93LXNsaWRlIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMC4yKTtcblx0XHRyaWdodDogMzYwcHg7XG5cdH1cblx0dG8ge1xuXHRcdGJhY2tncm91bmQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaHNsKSwgMC44KTtcblx0XHRyaWdodDogMTYwcHg7XG5cdH1cbn1cblxuLnZpZXctY29udGVudC50YXNrLWdlbml1cy1mbHVlbnQtdmlldy50YXNrLWdlbml1cy12aWV3IHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuXG5AY29udGFpbmVyICh3aWR0aCA8IDgwMHB4KSB7XG5cdC50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIgYnV0dG9uLmZsdWVudC12aWV3LXRhYi5jbGlja2FibGUtaWNvbiBzcGFuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCAiLyogVGFzayBHZW5pdXMgZmx1ZW50IEVuaGFuY2VkIFN0eWxlcyAtIFNoYWRjbi1pbnNwaXJlZCAqL1xyXG5cclxuLyogPT09PT09PT09PSBCYXNlIFZhcmlhYmxlcyA9PT09PT09PT09ICovXHJcbjpyb290IHtcclxuXHQvKiBTaGFkb3dzICovXHJcblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xyXG5cdC0tdGctc2hhZG93OiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tdGctc2hhZG93LW1kOlxyXG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXRnLXNoYWRvdy1sZzpcclxuXHRcdDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXRnLXNoYWRvdy14bDpcclxuXHRcdDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSk7XHJcblxyXG5cdC8qIEFuaW1hdGlvbnMgKi9cclxuXHQtLXRnLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHQtLXRnLXRyYW5zaXRpb24tYmFzZTogMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHQtLXRnLXRyYW5zaXRpb24tc2xvdzogMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHJcblx0LyogQm9yZGVyIHJhZGl1cyAqL1xyXG5cdC0tdGctcmFkaXVzLXNtOiAwLjI1cmVtO1xyXG5cdC0tdGctcmFkaXVzOiAwLjM3NXJlbTtcclxuXHQtLXRnLXJhZGl1cy1tZDogMC41cmVtO1xyXG5cdC0tdGctcmFkaXVzLWxnOiAwLjc1cmVtO1xyXG5cdC0tdGctcmFkaXVzLWZ1bGw6IDk5OTlweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUYXNrIExpc3QgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xyXG4udGFzay1saXN0LWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XHJcbn1cclxuXHJcbi50YXNrLWxpc3Qtd3JhcHBlciB7XHJcblx0bWF4LXdpZHRoOiAxMjAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi50Zy10YXNrLWxpc3QtaXRlbSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stbGlzdC1pdGVtOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLnRnLXRhc2stbGlzdC1pdGVtOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy10YXNrLWxpc3QtaXRlbTpob3Zlcjo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1saXN0LWl0ZW0uaXMtY29tcGxldGVkIHtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4udGFzay1saXN0LWl0ZW0uaXMtb3ZlcmR1ZTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stbGlzdC1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUYXNrIFRyZWUgVmlldyBTdHlsZXMgPT09PT09PT09PSAqL1xyXG4udGFzay10cmVlLWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtd3JhcHBlciB7XHJcblx0bWF4LXdpZHRoOiAxMjAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0OmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDAuOTVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3QtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyNUI2XCI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0LmlzLWV4cGFuZGVkIC50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXRhc2tzIHtcclxuXHRwYWRkaW5nOiAwLjVyZW07XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtaXRlbSB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG5cdG1hcmdpbjogMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtaXRlbTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAxcmVtO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHR3aWR0aDogNHB4O1xyXG5cdGhlaWdodDogNHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBGaWx0ZXIgUGFuZWwgU3R5bGVzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1maWx0ZXItcGFuZWwge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRyaWdodDogLTM4MHB4O1xyXG5cdHRvcDogMDtcclxuXHRib3R0b206IDA7XHJcblx0d2lkdGg6IDM4MHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LXhsKTtcclxuXHR0cmFuc2l0aW9uOiByaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtZmlsdGVyLXBhbmVsLmlzLW9wZW4ge1xyXG5cdHJpZ2h0OiAwO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWhlYWRlciB7XHJcblx0cGFkZGluZzogMS4yNXJlbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5maWx0ZXItcGFuZWwtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1wYW5lbC1jbG9zZSB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWNsb3NlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDEuMjVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcclxufVxyXG5cclxuLmZpbHRlci1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItb3B0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLW9wdGlvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItb3B0aW9uLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItY2hlY2tib3gge1xyXG5cdG1hcmdpbi1yaWdodDogMC43NXJlbTtcclxufVxyXG5cclxuLyogRmlsdGVyIHNwZWNpZmljIHN0eWxlcyAqL1xyXG4uZmlsdGVyLXNlbGVjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLXNlbGVjdDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFncy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xyXG59XHJcblxyXG4uZmlsdGVyLXRhZyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFnLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtZmllbGQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWZpZWxkIHNwYW4ge1xyXG5cdG1pbi13aWR0aDogNTBweDtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtaW5wdXQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1kYXRlLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNzVyZW07XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyBidXR0b24ge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5wcmlvcml0eS1jb2xvci1kb3Qge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gTG9hZGluZyBTdGF0ZXMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWxvYWRpbmcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRnYXA6IDFyZW07XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtc3Bpbm5lciB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcblx0fVxyXG59XHJcblxyXG4udGctZmx1ZW50LWxvYWRpbmctdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEVtcHR5IFN0YXRlcyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1lbXB0eS1pY29uIHtcclxuXHR3aWR0aDogNjRweDtcclxuXHRoZWlnaHQ6IDY0cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdC0taWNvbi1zaXplOiA0OHB4O1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1lbXB0eS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRtYXgtd2lkdGg6IDQwMHB4O1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWFjdGlvbiB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxLjVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWFjdGlvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBUb29sdGlwcyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtdG9vbHRpcCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbGcpO1xyXG5cdHotaW5kZXg6IDk5OTk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLnRnLWZsdWVudC10b29sdGlwLmlzLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IENhcmRzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbGcpO1xyXG5cdHBhZGRpbmc6IDEuMjVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3ctbWQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtY2FyZC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb24ge1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWNhcmQtYWN0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEJ1dHRvbnMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtYnV0dG9uOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR0cmFuc2l0aW9uOlxyXG5cdFx0d2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KSxcclxuXHRcdGhlaWdodCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XHJcblx0d2lkdGg6IDMwMHB4O1xyXG5cdGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLXByaW1hcnkge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tcHJpbWFyeTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tc2Vjb25kYXJ5IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1naG9zdCB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tZ2hvc3Q6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1kYW5nZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tZGFuZ2VyOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjZGMyNjI2O1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEFuaW1hdGlvbnMgPT09PT09PT09PSAqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xyXG5cdGZyb20ge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcclxuXHQwJSxcclxuXHQxMDAlIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHRvcGFjaXR5OiAwLjU7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFJlc3BvbnNpdmUgRGVzaWduID09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG5cdC50YXNrLWxpc3QtY29udGFpbmVyLFxyXG5cdC50YXNrLXRyZWUtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDFyZW07XHJcblx0fVxyXG5cclxuXHQudGctZmx1ZW50LWZpbHRlci1wYW5lbCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHJpZ2h0OiAtMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xyXG5cdC50Zy10YXNrLWxpc3QtaXRlbSB7XHJcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0fVxyXG5cclxuXHQudGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuXHR9XHJcblxyXG5cdC50Zy1mbHVlbnQtY2FyZCB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PSBEYXJrIE1vZGUgQWRqdXN0bWVudHMgPT09PT09PT09PSAqL1xyXG4udGhlbWUtZGFyayB7XHJcblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuNCksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3ctbWQ6XHJcblx0XHQwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjMpO1xyXG5cdC0tdGctc2hhZG93LWxnOlxyXG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjMpO1xyXG5cdC0tdGctc2hhZG93LXhsOlxyXG5cdFx0MCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRnLWZsdWVudC1jYXJkOmhvdmVyLFxyXG4udGhlbWUtZGFyayAudGctdGFzay1saXN0LWl0ZW06aG92ZXIsXHJcbi50aGVtZS1kYXJrIC50YXNrLXRyZWUtcHJvamVjdDpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzpcclxuXHRcdDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpLFxyXG5cdFx0dmFyKC0tdGctc2hhZG93LW1kKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBQcm9ncmVzcyBCYXJzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1wcm9ncmVzcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbjogMC41cmVtIDA7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtcHJvZ3Jlc3MtYmFyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0dHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1wcm9ncmVzcy1iYXI6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0OTBkZWcsXHJcblx0XHR0cmFuc3BhcmVudCxcclxuXHRcdHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcclxuXHRcdHRyYW5zcGFyZW50XHJcblx0KTtcclxuXHRhbmltYXRpb246IHNoaW1tZXIgMnMgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hpbW1lciB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFRhZ3MgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LXRhZyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZy1wcmltYXJ5IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZy1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiAjMTBiOTgxO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6ICMxMGI5ODE7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtdGFnLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6ICNmNTllMGI7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogI2Y1OWUwYjtcclxufVxyXG5cclxuLnRnLWZsdWVudC10YWctZGFuZ2VyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLndvcmtzcGFjZS1uYW1lLXdpdGgtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG4iLCAiLyogVGFzayBHZW5pdXMgZmx1ZW50IENvbnRlbnQgSGVhZGVyIFN0eWxlcyAqL1xyXG5cclxuLyogPT09IENvbnRlbnQgV3JhcHBlciA9PT0gKi9cclxuLnRnLWZsdWVudC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogPT09IENvbnRlbnQgSGVhZGVyID09PSAqL1xyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDEycHggMjBweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWluLWhlaWdodDogNTZweDtcclxuXHRnYXA6IDE2cHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1sZWZ0LXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEycHg7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC50YXNrLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiAycHggOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC1maWx0ZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItaW5wdXQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4yKTtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLXJpZ2h0LXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbixcclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMnB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46aG92ZXIsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmhvdmVyLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46YWN0aXZlLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbjphY3RpdmUsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b246YWN0aXZlIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG4gc3ZnLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbiBzdmcsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi8qID09PSBDb250ZW50IEFyZWEgKHdpdGggaGVhZGVyKSA9PT0gKi9cclxuLnRnLWZsdWVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLyogPT09IFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgPT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0fVxyXG5cclxuXHQuZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItbGVmdC1zZWN0aW9uIHtcclxuXHRcdG1pbi13aWR0aDogYXV0bztcclxuXHR9XHJcblxyXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1jZW50ZXItc2VjdGlvbiB7XHJcblx0XHRvcmRlcjogMztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdH1cclxuXHJcblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuY29udGVudC10aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHR9XHJcbn1cclxuIiwgIi8qIFByb2plY3QgUG9wb3ZlciBTdHlsZXMgKi9cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRtaW4td2lkdGg6IDMyMHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRhbmltYXRpb246IHBvcG92ZXItZmFkZS1pbiAwLjJzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1pbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3csXG4uZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcblx0YmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBBcnJvdyBwb3NpdGlvbmluZyBmb3IgZGlmZmVyZW50IHBsYWNlbWVudHMgKi9cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0Ym90dG9tOiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0dG9wOiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHRyaWdodDogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdGxlZnQ6IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1oZWFkZXIgaDMge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1pbnB1dC5pcy1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGFuaW1hdGlvbjogc2hha2UgMC4zcztcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0MjUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG5cdH1cblx0NzUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcblx0fVxufVxuXG4uZmx1ZW50LWNvbG9yLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRnYXA6IDhweDtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b24ge1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZsdWVudC1idXR0b24tcHJpbWFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIE1vZGFsIFN0eWxlcyB1c2luZyBPYnNpZGlhbiBuYXRpdmUgTW9kYWwgKi9cbi5mbHVlbnQtcHJvamVjdC1tb2RhbCB7XG5cdC8qIE1vZGFsIHdpbGwgdXNlIE9ic2lkaWFuJ3MgZGVmYXVsdCBzdHlsaW5nICovXG59XG5cbi5mbHVlbnQtcHJvamVjdC1tb2RhbCAubW9kYWwtY29udGVudCBoMiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1tb2RhbC1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmZsdWVudC1tb2RhbC1zZWN0aW9uIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtaW5wdXQuaXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRhbmltYXRpb246IHNoYWtlIDAuM3M7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogMTJweDtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b24ge1xuXHR3aWR0aDogNDhweDtcblx0aGVpZ2h0OiA0OHB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtcHJldmlldyB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0tcHJldmlldyAuZmx1ZW50LXByb2plY3QtY29sb3Ige1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLXByZXZpZXcgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbW9kYWwtZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LW1vZGFsLWZvb3RlciAuZmx1ZW50LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEwcHggMjRweDtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLENBQUM7QUFDQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUMsZ0JBQWdCLENBUGhCO0FBUUEsV0FBUztBQUNWO0FBRUEsQ0FBQyxlQUFlLENBWGY7QUFZQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUM7QUFDQSxVQUFRO0FBQ1IsWUFBVTtBQUNYO0FBR0EsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBR0EsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3RCLFdBQVM7QUFDVjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN0QixXQUFTO0FBQ1QsWUFBVTtBQUNWLE9BQUs7QUFDTCxVQUFRO0FBQ1Q7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdEIsV0FBUztBQUNULFlBQVU7QUFD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 */
|