mirror of
https://github.com/taskgenius/taskgenius-plugin.git
synced 2026-07-22 06:40:25 +00:00
- Add clickable-icon class to action buttons for better UX - Replace full view refresh with targeted sidebar updates - Implement granular view-config-changed event handling - Preserve current view content when toggling visibility - Only refresh view content when necessary (e.g., view type changes) - Improve performance by avoiding unnecessary task re-filtering
14418 lines
1.1 MiB
14418 lines
1.1 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/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);
|
|
}
|
|
|
|
/* 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);
|
|
}
|
|
|
|
/* 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-container {
|
|
margin-bottom: var(--size-4-4);
|
|
position: relative;
|
|
}
|
|
.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-container {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.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 .tg-settings-search-container {
|
|
order: -1;
|
|
margin-top: 0;
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.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/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 {
|
|
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 {
|
|
width: 100%;
|
|
margin-right: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
.is-phone .task-genius-container.details-visible .task-details {
|
|
width: calc(100% - var(--size-4-12));
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .task-genius-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 {
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .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;
|
|
}
|
|
.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);
|
|
}
|
|
@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/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: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.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/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;
|
|
}
|
|
|
|
/* 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: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
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/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);
|
|
}
|
|
.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: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.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;
|
|
}
|
|
|
|
/* 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/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/quick-capture.css */
|
|
.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: 200px;
|
|
}
|
|
.quick-capture-minimal-editor-container {
|
|
padding: var(--size-4-2);
|
|
min-height: 50px;
|
|
}
|
|
.quick-capture-minimal-editor-container .cm-editor {
|
|
font-size: var(--font-text-size);
|
|
min-height: 40px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1);
|
|
}
|
|
.quick-capture-minimal-editor-container .cm-editor.cm-focused {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-alpha);
|
|
}
|
|
.quick-capture-minimal-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.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 {
|
|
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;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.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;
|
|
}
|
|
.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);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.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-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);
|
|
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-modifier-error);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-error);
|
|
white-space: nowrap;
|
|
}
|
|
.task-dependson:hover {
|
|
background-color: var(--background-modifier-error-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/inline-editor.css */
|
|
.inline-editor {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 100%;
|
|
}
|
|
.inline-content-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-bottom: 1px solid var(--interactive-accent);
|
|
border-radius: 0;
|
|
padding: 2px 4px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
resize: none;
|
|
outline: none;
|
|
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
}
|
|
.inline-content-editor:focus {
|
|
border-bottom-color: var(--interactive-accent-hover);
|
|
background-color: var(--background-primary-alt);
|
|
box-shadow: 0 1px 0 0 var(--interactive-accent-hover);
|
|
}
|
|
.inline-embedded-editor-container {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-radius: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor .cm-editor {
|
|
border: none !important;
|
|
outline: none !important;
|
|
background-color: transparent !important;
|
|
border-bottom: 1px solid var(--interactive-accent) !important;
|
|
}
|
|
.inline-embedded-editor .cm-focused {
|
|
outline: none !important;
|
|
border-bottom-color: var(--interactive-accent-hover) !important;
|
|
background-color: var(--background-primary-alt) !important;
|
|
}
|
|
.inline-embedded-editor .cm-content {
|
|
padding: 2px 4px;
|
|
min-height: 18px;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
.inline-embedded-editor .cm-line {
|
|
padding: 0;
|
|
}
|
|
.inline-metadata-editor {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 2px 6px;
|
|
background-color: var(--background-primary-alt);
|
|
border: 1px solid var(--interactive-accent);
|
|
border-radius: var(--radius-s);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
min-width: 120px;
|
|
max-width: 300px;
|
|
position: relative;
|
|
z-index: 100;
|
|
}
|
|
.inline-metadata-editor input {
|
|
border: unset;
|
|
outline: unset;
|
|
padding: 0;
|
|
height: var(--line-height);
|
|
background-color: transparent;
|
|
background: transparent;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.inline-metadata-editor input:focus {
|
|
outline: unset;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-metadata-editor:has(input) {
|
|
outline: unset;
|
|
border: 0;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
border-radius: unset;
|
|
}
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-date-input,
|
|
.inline-recurrence-input {
|
|
flex: 1;
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
min-width: 80px;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-project-input:focus,
|
|
.inline-tags-input:focus,
|
|
.inline-context-input:focus,
|
|
.inline-date-input:focus,
|
|
.inline-recurrence-input:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.inline-priority-select {
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
cursor: pointer;
|
|
min-width: 80px;
|
|
}
|
|
.inline-priority-select:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.add-metadata-container {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin-left: 4px;
|
|
}
|
|
.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.tree-task-item .task-item-container:hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
--icon-size: 10px;
|
|
opacity: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.add-metadata-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn:active {
|
|
background-color: var(--background-modifier-active);
|
|
transform: scale(0.95);
|
|
}
|
|
.add-metadata-btn svg {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
.inline-editor * {
|
|
transition:
|
|
border-color 0.15s ease,
|
|
background-color 0.15s ease,
|
|
box-shadow 0.15s ease;
|
|
}
|
|
.inline-editor input:focus,
|
|
.inline-editor textarea:focus,
|
|
.inline-editor select:focus {
|
|
outline: none;
|
|
}
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, transform 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.task-item-metadata .task-date:hover,
|
|
.task-item-metadata .task-project:hover,
|
|
.task-item-metadata .task-tag:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
transform: none;
|
|
}
|
|
.task-item-metadata .task-date:hover::after,
|
|
.task-item-metadata .task-project:hover::after,
|
|
.task-item-metadata .task-tag:hover::after {
|
|
display: none;
|
|
}
|
|
.task-item-content {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: fadeInScale 0.15s ease-out;
|
|
}
|
|
@keyframes fadeInScale {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.inline-editor-placeholder {
|
|
min-height: 1em;
|
|
display: inline-block;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-recurrence-input {
|
|
min-width: 100px;
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.inline-metadata-editor {
|
|
max-width: 250px;
|
|
}
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.inline-content-editor,
|
|
.inline-embedded-editor .cm-editor {
|
|
border-bottom-width: 2px;
|
|
}
|
|
.inline-metadata-editor {
|
|
border-width: 2px;
|
|
}
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.inline-editor *,
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag,
|
|
.task-item-content,
|
|
.add-metadata-btn {
|
|
transition: none;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: none;
|
|
}
|
|
}
|
|
.inline-dependson-input,
|
|
.inline-id-input {
|
|
width: 100%;
|
|
min-width: 200px;
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
.inline-dependson-input:focus,
|
|
.inline-id-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.inline-dependson-input::placeholder,
|
|
.inline-id-input::placeholder {
|
|
color: var(--text-faint);
|
|
}
|
|
|
|
/* src/styles/tree-view.css */
|
|
.tree-task-item {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 16px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.task-children-container .task-item.tree-task-item {
|
|
border-bottom: unset;
|
|
padding-top: var(--size-2-2);
|
|
padding-bottom: var(--size-2-2);
|
|
gap: 0;
|
|
}
|
|
.task-item.tree-task-item {
|
|
gap: 0;
|
|
}
|
|
.tree-task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tree-task-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tree-task-item.completed {
|
|
opacity: 0.7;
|
|
}
|
|
.tree-task-item > div:first-of-type {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 6px;
|
|
}
|
|
.task-indent {
|
|
flex-shrink: 0;
|
|
}
|
|
.task-item.tree-task-item .task-expand-toggle {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-item .task-checkbox {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-expand-toggle {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-expand-toggle:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox {
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-item.tree-task-item .task-checkbox:hover {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox.checked {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-content {
|
|
flex-grow: 1;
|
|
line-height: 1.4;
|
|
}
|
|
.tree-task-item.completed .task-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.tree-task-item .task-content-metadata-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-item-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-metadata {
|
|
flex-shrink: 0;
|
|
margin-top: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content {
|
|
width: 100%;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata {
|
|
margin-top: 4px;
|
|
}
|
|
.task-metadata {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-top: 4px;
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-metadata:empty {
|
|
display: none;
|
|
}
|
|
.task-due-date.overdue {
|
|
color: var(--text-error);
|
|
font-weight: bold;
|
|
}
|
|
.task-item.tree-task-item .task-project {
|
|
display: inline-block;
|
|
padding: 1px 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-priority.priority-3 {
|
|
color: var(--text-error);
|
|
}
|
|
.task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.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/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/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);
|
|
}
|
|
|
|
/* 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/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;
|
|
}
|
|
.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 {
|
|
width: 100%;
|
|
height: 100%;
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.mod-root .task-genius-tab-header {
|
|
container-type: inline-size !important;
|
|
}
|
|
@container (max-width: 120px) {
|
|
.mod-root .task-genius-action-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
.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/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);
|
|
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-event-timed {
|
|
border: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
}
|
|
.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);
|
|
}
|
|
.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;
|
|
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/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/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/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/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/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-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: 0.5rem;
|
|
}
|
|
@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: 3px;
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
}
|
|
.heatmap-md .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, 1fr);
|
|
gap: 3px;
|
|
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-4-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;
|
|
}
|
|
|
|
/* 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/onboarding.css */
|
|
.onboarding-modal,
|
|
.onboarding-view {
|
|
--dialog-width: 800px;
|
|
--dialog-max-width: 90vw;
|
|
--dialog-max-height: 90vh;
|
|
--onboarding-spacing: var(--size-4-4);
|
|
--onboarding-border-radius: var(--radius-m);
|
|
--onboarding-transition: all 0.2s ease-in-out;
|
|
}
|
|
.onboarding-modal .modal-content,
|
|
.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-modal .onboarding-header,
|
|
.onboarding-view .onboarding-header {
|
|
padding: var(--onboarding-spacing) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);
|
|
text-align: center;
|
|
}
|
|
.onboarding-modal .onboarding-subtitle,
|
|
.onboarding-view .onboarding-subtitle {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .onboarding-content,
|
|
.onboarding-view .onboarding-content {
|
|
flex: 1;
|
|
padding: var(--onboarding-spacing);
|
|
overflow-y: auto;
|
|
min-height: 0;
|
|
}
|
|
.onboarding-modal .onboarding-footer,
|
|
.onboarding-view .onboarding-footer {
|
|
padding: var(--size-4-2) var(--onboarding-spacing) var(--onboarding-spacing) var(--onboarding-spacing);
|
|
border-top: var(--modal-border-width) solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-modal .onboarding-buttons,
|
|
.onboarding-view .onboarding-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.onboarding-modal .settings-check-section,
|
|
.onboarding-view .settings-check-section {
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-modal .changes-summary-list,
|
|
.onboarding-view .changes-summary-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-2) 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .changes-summary-list li,
|
|
.onboarding-view .changes-summary-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-modal .change-check,
|
|
.onboarding-view .change-check {
|
|
color: var(--color-green);
|
|
font-size: 1.1em;
|
|
display: flex;
|
|
}
|
|
.onboarding-modal .change-text,
|
|
.onboarding-view .change-text {
|
|
flex: 1;
|
|
}
|
|
.onboarding-modal .onboarding-question,
|
|
.onboarding-view .onboarding-question {
|
|
margin: var(--onboarding-spacing) 0;
|
|
text-align: center;
|
|
}
|
|
.onboarding-modal .question-options,
|
|
.onboarding-view .question-options {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
justify-content: center;
|
|
margin-top: var(--size-4-3);
|
|
}
|
|
.onboarding-modal .question-button,
|
|
.onboarding-view .question-button {
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
border-radius: var(--button-radius);
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-modal .question-options .mod-cta,
|
|
.onboarding-view .question-options .mod-cta {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.onboarding-modal .question-options .mod-cta:hover,
|
|
.onboarding-view .question-options .mod-cta:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.onboarding-modal .question-button:not(.mod-cta),
|
|
.onboarding-view .question-button:not(.mod-cta) {
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-modal .question-button:not(.mod-cta):hover,
|
|
.onboarding-view .question-button:not(.mod-cta):hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.onboarding-modal .welcome-section,
|
|
.onboarding-view .welcome-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .features-overview,
|
|
.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-modal .feature-item,
|
|
.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-modal .feature-icon,
|
|
.onboarding-view .feature-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
line-height: 1;
|
|
}
|
|
.onboarding-modal .setup-note,
|
|
.onboarding-view .setup-note {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .setup-description,
|
|
.onboarding-view .setup-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .user-level-cards,
|
|
.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-modal .user-level-card,
|
|
.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;
|
|
}
|
|
.onboarding-modal .user-level-card:hover,
|
|
.onboarding-modal .user-level-card.card-hover,
|
|
.onboarding-view .user-level-card.card-hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.onboarding-modal .user-level-card.selected,
|
|
.onboarding-view .user-level-card.selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.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-modal .config-overview,
|
|
.onboarding-view .config-overview {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .mode-card,
|
|
.onboarding-view .mode-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .mode-icon,
|
|
.onboarding-view .mode-icon {
|
|
--icon-size: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-modal .config-features,
|
|
.onboarding-modal .config-views,
|
|
.onboarding-modal .config-settings,
|
|
.onboarding-view .config-settings {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .enabled-features-list,
|
|
.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-modal .enabled-features-list li,
|
|
.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-modal .feature-check,
|
|
.onboarding-view .feature-check {
|
|
color: var(--color-green);
|
|
font-weight: bold;
|
|
}
|
|
.onboarding-modal .views-grid,
|
|
.onboarding-view .views-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .view-item,
|
|
.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-modal .view-icon,
|
|
.onboarding-view .view-icon {
|
|
font-size: 1.2em;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-modal .view-name,
|
|
.onboarding-view .view-name {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
}
|
|
.onboarding-modal .settings-summary-list,
|
|
.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-modal .settings-summary-list li,
|
|
.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-modal .settings-summary-list li:last-child,
|
|
.onboarding-view .settings-summary-list li:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.onboarding-modal .setting-label,
|
|
.onboarding-view .setting-label {
|
|
color: var(--text-normal);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-modal .setting-value,
|
|
.onboarding-view .setting-value {
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-modal .config-options,
|
|
.onboarding-view .config-options {
|
|
margin-top: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .customization-note,
|
|
.onboarding-view .customization-note {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .note-text,
|
|
.onboarding-view .note-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
font-style: italic;
|
|
}
|
|
.onboarding-modal .config-changes-summary,
|
|
.onboarding-view .config-changes-summary {
|
|
margin: var(--onboarding-spacing) 0;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .preserved-views,
|
|
.onboarding-modal .added-views,
|
|
.onboarding-modal .updated-views,
|
|
.onboarding-modal .settings-changes,
|
|
.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-modal .preserved-header,
|
|
.onboarding-view .preserved-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
margin-bottom: var(--size-4-1);
|
|
}
|
|
.onboarding-modal .preserved-icon,
|
|
.onboarding-view .preserved-icon {
|
|
color: var(--color-green);
|
|
font-size: 1.1em;
|
|
}
|
|
.onboarding-modal .preserved-text,
|
|
.onboarding-modal .change-text,
|
|
.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-modal .change-icon,
|
|
.onboarding-view .change-icon {
|
|
color: var(--interactive-accent);
|
|
font-size: 1.1em;
|
|
margin-right: var(--size-4-1);
|
|
display: flex;
|
|
}
|
|
.onboarding-modal .preserved-views-list,
|
|
.onboarding-modal .settings-changes-list,
|
|
.onboarding-view .settings-changes-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-1) 0 0 var(--size-4-4);
|
|
}
|
|
.onboarding-modal .preserved-views-list li,
|
|
.onboarding-modal .settings-changes-list li,
|
|
.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-modal .safety-note,
|
|
.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-modal .safety-icon,
|
|
.onboarding-view .safety-icon {
|
|
color: var(--color-blue);
|
|
font-size: 1.1em;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.onboarding-modal .safety-text,
|
|
.onboarding-view .safety-text {
|
|
color: var(--color-blue);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-modal .task-guide-intro,
|
|
.onboarding-view .task-guide-intro {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .guide-description,
|
|
.onboarding-view .guide-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .task-formats-section,
|
|
.onboarding-modal .quick-capture-section,
|
|
.onboarding-modal .practice-section,
|
|
.onboarding-modal .shortcuts-section,
|
|
.onboarding-view .shortcuts-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .format-example,
|
|
.onboarding-view .format-example {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.onboarding-modal .format-example code,
|
|
.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-modal .format-legend,
|
|
.onboarding-modal .format-legend small,
|
|
.onboarding-view .format-legend small {
|
|
color: var(--text-faint);
|
|
font-size: 0.8em;
|
|
margin-top: var(--size-2-1);
|
|
display: block;
|
|
}
|
|
.onboarding-modal .status-markers,
|
|
.onboarding-modal .metadata-symbols,
|
|
.onboarding-view .metadata-symbols {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .status-list,
|
|
.onboarding-view .status-list li,
|
|
.onboarding-modal .symbols-list,
|
|
.onboarding-view .symbols-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
background: var(--background-primary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .status-list li,
|
|
.onboarding-view .status-list li,
|
|
.onboarding-modal .symbols-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-modal .status-list code,
|
|
.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-modal .demo-content,
|
|
.onboarding-view .demo-content {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .demo-button,
|
|
.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-modal .demo-button:hover,
|
|
.onboarding-view .demo-button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.onboarding-modal .practice-feedback,
|
|
.onboarding-view .practice-feedback {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .validation-message,
|
|
.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-modal .validation-success,
|
|
.onboarding-view .validation-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
border: 1px solid var(--color-green);
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-modal .validation-error,
|
|
.onboarding-view .validation-error {
|
|
background: rgba(var(--color-red-rgb), 0.1);
|
|
border: 1px solid var(--color-red);
|
|
color: var(--color-red);
|
|
}
|
|
.onboarding-modal .validation-warning,
|
|
.onboarding-view .validation-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
border: 1px solid var(--color-orange);
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-modal .validation-info,
|
|
.onboarding-view .validation-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border: 1px solid var(--color-blue);
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-modal .shortcuts-list,
|
|
.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-modal .shortcuts-list li,
|
|
.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-modal .shortcuts-list code,
|
|
.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-modal .completion-success,
|
|
.onboarding-view .completion-success {
|
|
text-align: center;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .success-icon,
|
|
.onboarding-view .success-icon {
|
|
font-size: 3em;
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .success-message,
|
|
.onboarding-view .success-message {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .completion-summary,
|
|
.onboarding-modal .quick-start-section,
|
|
.onboarding-modal .next-steps-section,
|
|
.onboarding-modal .resources-section,
|
|
.onboarding-modal .feedback-section,
|
|
.onboarding-view .feedback-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-modal .config-summary-card,
|
|
.onboarding-view .config-summary-card {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .config-header,
|
|
.onboarding-view .config-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-modal .config-icon,
|
|
.onboarding-view .config-icon {
|
|
font-size: 1.5em;
|
|
}
|
|
.onboarding-modal .config-name,
|
|
.onboarding-view .config-name {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-modal .config-description,
|
|
.onboarding-view .config-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .quick-start-steps,
|
|
.onboarding-view .quick-start-steps {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .quick-start-step,
|
|
.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-modal .step-number,
|
|
.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-modal .step-content,
|
|
.onboarding-view .step-content {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-modal .next-steps-list,
|
|
.onboarding-view .next-steps-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.onboarding-modal .next-steps-list li,
|
|
.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-modal .step-check,
|
|
.onboarding-view .step-check {
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-modal .step-text,
|
|
.onboarding-view .step-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-modal .resources-list,
|
|
.onboarding-view .resources-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-modal .resource-item,
|
|
.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-modal .resource-clickable,
|
|
.onboarding-view .resource-clickable {
|
|
cursor: pointer;
|
|
}
|
|
.onboarding-modal .resource-clickable:hover,
|
|
.onboarding-view .resource-clickable:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.onboarding-modal .resource-icon,
|
|
.onboarding-view .resource-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-modal .feedback-description,
|
|
.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-modal .feedback-buttons,
|
|
.onboarding-view .feedback-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: center;
|
|
}
|
|
.onboarding-modal .feedback-button,
|
|
.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-modal .feedback-positive:hover,
|
|
.onboarding-view .feedback-positive:hover {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.onboarding-modal .feedback-negative:hover,
|
|
.onboarding-view .feedback-negative:hover {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.onboarding-modal .feedback-thanks,
|
|
.onboarding-view .feedback-thanks {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-modal .feedback-thanks-message,
|
|
.onboarding-view .feedback-thanks-message {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.onboarding-modal .feedback-thanks a,
|
|
.onboarding-view .feedback-thanks a {
|
|
color: var(--interactive-accent);
|
|
text-decoration: none;
|
|
}
|
|
.onboarding-modal .feedback-thanks a:hover,
|
|
.onboarding-view .feedback-thanks a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.onboarding-modal .final-message,
|
|
.onboarding-view .final-message {
|
|
text-align: center;
|
|
padding: var(--size-4-4);
|
|
}
|
|
.onboarding-modal .final-message-text,
|
|
.onboarding-view .final-message-text {
|
|
color: var(--text-muted);
|
|
font-size: 1em;
|
|
font-style: italic;
|
|
margin: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.onboarding-modal,
|
|
.onboarding-view {
|
|
--dialog-width: 95vw;
|
|
--dialog-max-width: 95vw;
|
|
--dialog-max-height: 95vh;
|
|
}
|
|
.onboarding-modal .user-level-cards,
|
|
.onboarding-view .user-level-cards {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-modal .features-overview,
|
|
.onboarding-view .features-overview {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-modal .views-grid,
|
|
.onboarding-view .views-grid {
|
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
|
}
|
|
.onboarding-modal .resources-list,
|
|
.onboarding-view .resources-list {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-modal .feedback-buttons,
|
|
.onboarding-view .feedback-buttons {
|
|
flex-direction: column;
|
|
}
|
|
.onboarding-modal .onboarding-buttons,
|
|
.onboarding-view .onboarding-buttons {
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
}
|
|
}
|
|
.onboarding-modal .onboarding-content,
|
|
.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-modal .user-level-card.selected,
|
|
.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);
|
|
}
|
|
}
|
|
|
|
/* 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: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
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/base-view.css */
|
|
.internal-embed .task-genius-container {
|
|
max-height: 800px;
|
|
}
|
|
.internal-embed .task-genius-container .task-sidebar {
|
|
width: 44px;
|
|
min-width: 44px;
|
|
overflow: hidden;
|
|
}
|
|
.internal-embed .task-genius-container .task-sidebar .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;
|
|
}
|
|
.internal-embed .task-genius-container .task-sidebar .sidebar-nav {
|
|
align-items: center;
|
|
}
|
|
.internal-embed .task-genius-container .task-sidebar .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;
|
|
}
|
|
.internal-embed .task-genius-container .task-sidebar .nav-item-icon {
|
|
margin-right: 0;
|
|
}
|
|
.internal-embed .task-genius-container .task-list {
|
|
max-height: 800px;
|
|
}
|
|
.internal-embed .projects-container {
|
|
flex: 1;
|
|
height: auto;
|
|
}
|
|
.internal-embed .forecast-left-column {
|
|
width: 240px;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
padding: 0 5px;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header {
|
|
text-align: center;
|
|
font-size: 0.7em;
|
|
color: var(--text-muted);
|
|
padding: 3px 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 3px;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header.calendar-weekend {
|
|
color: var(--text-accent);
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day {
|
|
aspect-ratio: 1;
|
|
border-radius: 3px;
|
|
padding: 1px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.today {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.past-due {
|
|
color: var(--text-error);
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.other-month {
|
|
opacity: 0.5;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-number {
|
|
text-align: center;
|
|
font-size: 0.75em;
|
|
font-weight: 500;
|
|
padding: 1px;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
border-radius: 8px;
|
|
font-size: 0.6em;
|
|
padding: 1px 3px;
|
|
margin: 1px auto;
|
|
text-align: center;
|
|
width: fit-content;
|
|
}
|
|
.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count.has-priority {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.internal-embed .tags-container {
|
|
height: auto;
|
|
max-height: 100%;
|
|
}
|
|
.internal-embed .task-genius-container:has(.task-details.visible) .tags-left-column {
|
|
display: none;
|
|
}
|
|
.internal-embed .task-genius-container:has(.task-details.visible) .projects-left-column {
|
|
display: none;
|
|
}
|
|
.internal-embed .full-calendar-container {
|
|
height: auto;
|
|
}
|
|
.internal-embed .tg-kanban-view {
|
|
height: auto;
|
|
}
|
|
.bases-view.task-genius-container {
|
|
border-top: unset;
|
|
}
|
|
.bases-update-error-notification {
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
background: var(--background-modifier-error);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 12px 16px;
|
|
max-width: 400px;
|
|
box-shadow: var(--shadow-s);
|
|
z-index: 1000;
|
|
cursor: pointer;
|
|
animation: slideInRight 0.3s ease-out;
|
|
}
|
|
.bases-update-error-notification:hover {
|
|
opacity: 0.8;
|
|
}
|
|
.bases-update-error-notification .error-icon {
|
|
font-size: 16px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.bases-update-error-notification .error-message .error-title {
|
|
font-weight: 600;
|
|
color: var(--text-error);
|
|
margin-bottom: 4px;
|
|
}
|
|
.bases-update-error-notification .error-message .error-details {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
@keyframes slideInRight {
|
|
from {
|
|
transform: translateX(100%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXRpbWVyLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy12Mi5jc3MiLCAic3JjL3N0eWxlcy9iZXRhLXdhcm5pbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3Mtc2VhcmNoLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmdzLW1pZ3JhdGlvbi5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWVkaXQtZGlhbG9nLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaWNzLXNldHRpbmdzLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL21vZGFsLmNzcyIsICJzcmMvc3R5bGVzL2dsb2JhbC1maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1zZXR0aW5nLXRhYi5jc3MiLCAic3JjL3N0eWxlcy9maWxlLWZpbHRlci1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy9tY3AtaW50ZWdyYXRpb24uY3NzIiwgInNyYy9zdHlsZXMvd29ya2Zsb3cuY3NzIiwgInNyYy9zdHlsZXMvZGF0ZS1waWNrZXIuY3NzIiwgInNyYy9zdHlsZXMvcXVpY2stY2FwdHVyZS5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaW5saW5lLWVkaXRvci5jc3MiLCAic3JjL3N0eWxlcy90cmVlLXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvZm9yZWNhc3QuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIuY3NzIiwgInNyYy9zdHlsZXMvdGFnLXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvamVjdC12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb2plY3QtdHJlZS5jc3MiLCAic3JjL3N0eWxlcy9yZXZpZXctdmlldy5jc3MiLCAic3JjL3N0eWxlcy92aWV3LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMva2FuYmFuL2thbmJhbi5jc3MiLCAic3JjL2NvbXBvbmVudHMvZmVhdHVyZXMvdGFzay9maWx0ZXIvaW4tdmlldy9maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvcHJvcGVydHktdmlldy5jc3MiLCAic3JjL3N0eWxlcy90YWJsZS5jc3MiLCAic3JjL3N0eWxlcy9xdWFkcmFudC9xdWFkcmFudC5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1jb25maWcuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zdGF0dXMuY3NzIiwgInNyYy9zdHlsZXMvb25ib2FyZGluZy5jc3MiLCAic3JjL3N0eWxlcy90aW1lbGluZS1zaWRlYmFyLmNzcyIsICJzcmMvc3R5bGVzL3Jld2FyZC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWd1dHRlci5jc3MiLCAic3JjL3N0eWxlcy9iYXNlLXZpZXcuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDFweDtcbn1cblxuLm5vLXByb2dyZXNzLWJhciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZSB7XG5cdGhlaWdodDogOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFByb2dyZXNzIGJhciBjb2xvcnMgZm9yIGRpZmZlcmVudCBwZXJjZW50YWdlcyBvZiBjb21wbGV0aW9uICovXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1lbXB0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0wIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0yNS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy01MC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy03NS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWNvbXBsZXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMTAwLWNvbG9yKTtcbn1cblxuLyogQ29sb3JzIGZvciBkaWZmZXJlbnQgdGFzayBzdGF0dXNlcyAqL1xuLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0ei1pbmRleDogMztcbn1cblxuLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdHotaW5kZXg6IDI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiA4NXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQuaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvcnMgaW4gdGhlIHRhc2sgbnVtYmVyIGRpc3BsYXkgKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciAudGFzay1zdGF0dXMtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5jb21wbGV0ZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5pbi1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuYWJhbmRvbmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAucGxhbm5lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIFdpdGggTnVtYmVyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uSHlwZXJNRC1oZWFkZXJcblx0LmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyXG5cdC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQsXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0bWFyZ2luLWJvdHRvbTogLTJweDtcblx0d2lkdGg6IDQycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4vKiBBZGFwdGF0aW9ucyBmb3IgZGFyayB0aGVtZSAqL1xuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLnRhc2stcHJvZ3Jlc3MtYmFyLXBvcG92ZXIge1xuXHR3aWR0aDogNDAwcHg7XG59XG4iLCAiLyogVGFzayBUaW1lciBXaWRnZXQgU3R5bGVzIC0gU2ltcGxlIFRleHQtQmFzZWQgKi9cblxuLnRhc2stdGltZXItd2lkZ2V0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogNHB4IDA7XG5cdHBhZGRpbmc6IDJweCAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qIFN0YXJ0IGJ1dHRvbiBhbmQgYWN0aW9uIGxpbmtzICovXG4udGFzay10aW1lci1zdGFydCxcbi50YXNrLXRpbWVyLWFjdGlvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRpbWVyLXN0YXJ0OmhvdmVyLFxuLnRhc2stdGltZXItYWN0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn0iLCAiLyogRXhwZXJpbWVudGFsIFNldHRpbmdzICovXG4uZXhwZXJpbWVudGFsLXNldHRpbmdzLXNlY3Rpb24ge1xuXHRtYXJnaW46IDIwcHggMDtcbn1cblxuLmV4cGVyaW1lbnRhbC1zZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5leHBlcmltZW50YWwtc3Vic2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAxNXB4IDAgOHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmV4cGVyaW1lbnRhbC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0bWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuXHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5leHBlcmltZW50YWwtZGF0YWZsb3ctc2VjdGlvbiB7XG5cdG1hcmdpbjogMTVweCAwO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmV4cGVyaW1lbnRhbC1pbmZvIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uZXhwZXJpbWVudGFsLXJlc3RhcnQtbm90aWNlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXG4udGFzay1zdGF0ZXMtY29udGFpbmVyIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcblx0bWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xKTtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIC50YXNrLXN0YXRlIHtcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtMi0xKTtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XG5cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBFeHBlcmltZW50YWwgU2V0dGluZ3MgKi9cbi5leHBlcmltZW50YWwtc2V0dGluZ3Mtc2VjdGlvbiB7XG5cdG1hcmdpbjogMjBweCAwO1xufVxuXG4uZXhwZXJpbWVudGFsLXNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1zdWJzZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDE1cHggMCA4cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZXhwZXJpbWVudGFsLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW46IDEwcHggMCAyMHB4IDA7XG5cdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmV4cGVyaW1lbnRhbC1kYXRhZmxvdy1zZWN0aW9uIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXhwZXJpbWVudGFsLWluZm8ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5leHBlcmltZW50YWwtcmVzdGFydC1ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLyogQ2hlY2tib3ggU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xufVxuXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcblxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENhdGVnb3JpemVkIHRhYnMgY29udGFpbmVyICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xufVxuXG4vKiBDYXRlZ29yeSBzZWN0aW9uICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogQ2F0ZWdvcnkgaGVhZGVyICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi8qIENhdGVnb3J5IHRhYnMgY29udGFpbmVyICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cbn1cblxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIChmYWxsYmFjaykgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRncmlkLWF1dG8tcm93czogdmFyKC0tc2l6ZS00LTE4KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMHB4O1xuXHRyaWdodDogLTgwcHg7XG5cdHdpZHRoOiAyMDBweDtcblx0aGVpZ2h0OiAyMDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xNWRlZyk7XG5cdHotaW5kZXg6IDA7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjpob3Zlcjo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTEwZGVnKTtcblx0b3BhY2l0eTogMC45O1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiBUYWIgY29udGVudCBzdHlsaW5nICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1pY29uLFxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWIgc3Bhbixcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWxhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBFbmhhbmNlZCB0YWIgaWNvbiBzdHlsaW5nIGZvciBjYXRlZ29yaXplZCBsYXlvdXQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC00KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHN2ZyB7XG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24tcyk7XG59XG5cbi8qIEVuaGFuY2VkIHRhYiBsYWJlbCBzdHlsaW5nIGZvciBjYXRlZ29yaXplZCBsYXlvdXQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGZsZXg6IDE7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qIEVuaGFuY2VkIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBjYXRlZ29yaXplZCB0YWJzICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogTGVnYWN5IHRhYiBzdHlsZXMgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbnMge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmUge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbi1pY29uIHtcblx0LS1pY29uLXNpemU6IDE2cHg7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFRhYiBzZWN0aW9uIGhlYWRlciB2aXNpYmlsaXR5IHJ1bGVzICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYltkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRlIGNhdGVnb3JpemVkIHRhYnMgY29udGFpbmVyIHdoZW4gYW55IG5vbi1nZW5lcmFsIHRhYiBpcyBhY3RpdmUgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKFxuXHRcdC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmU6bm90KFtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXG5cdClcblx0LnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIHZpc2liaWxpdHkgKGZhbGxiYWNrKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNob3cgbGVnYWN5IHRhYnMgd2hlbiBnZW5lcmFsIHRhYiBpcyBhY3RpdmUgKGZhbGxiYWNrIGJlaGF2aW9yKSAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyguc2V0dGluZ3MtdGFiLWFjdGl2ZVtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXG5cdC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG5cbi8qIFNldHRpbmdzIGhlYWRlciB2aXNpYmlsaXR5IC0gaGlkZSB3aGVuIG5vbi1nZW5lcmFsIHRhYiBpcyBhY3RpdmUgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncy1oZWFkZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyhcblx0XHQuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlOm5vdChbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxuXHQpXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncy1oZWFkZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBFeHByZXNzaW9uIGV4YW1wbGVzIGluIHNldHRpbmdzICovXG4uZXhwcmVzc2lvbi1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLWl0ZW0ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLW5hbWUge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS1jb2RlIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuXG4uZXhwcmVzc2lvbi1leGFtcGxlLXVzZSB7XG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5jdXN0b20tZm9ybWF0LXRleHRhcmVhIHtcblx0aGVpZ2h0OiAyMDBweDtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcGxhY2Vob2xkZXItaW5mbyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWVycm9yLFxuLmV4cHJlc3Npb24tcHJldmlldy1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogXHU4ODY4XHU4RkJFXHU1RjBGXHU3OTNBXHU0RjhCXHU5ODg0XHU4OUM4XHU2ODM3XHU1RjBGICovXG4uZXhwcmVzc2lvbi1leGFtcGxlLXByZXZpZXcge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnByZXNldC1maWx0ZXJzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5wcmVzZXQtZmlsdGVyLXJvdyB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnByZXNldC1maWx0ZXItcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLm5vLXByZXNldHMtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi5wcmVzZXQtc2F2ZWQtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDVweDtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4udGFzay1maWx0ZXItc2F2ZS1wcmVzZXQge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uLm1vZC13YXJuaW5nIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5tb2RhbC13b3JrZmxvdy1kZWZpbml0aW9uIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0d2lkdGg6IDkwdnc7XG59XG5cbi5tb2RhbC1zdGFnZS1kZWZpbml0aW9uIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0d2lkdGg6IDkwdnc7XG59XG5cbi8qIFdvcmtmbG93IHNldHRpbmdzIHBhbmVsIGltcHJvdmVtZW50cyAqL1xuLndvcmtmbG93LWNvbnRhaW5lciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRtYXgtaGVpZ2h0OiA1MDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi53b3JrZmxvdy1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1uYW1lIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWluZm8ge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRwYWRkaW5nOiA4cHggMCAwIDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY3ljbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4vKiBXb3JrZmxvdyBtb2RhbCBzdHlsZXMgKi9cbi53b3JrZmxvdy1mb3JtIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiBoMiB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdGZvbnQtc2l6ZTogMS4zZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlcy1saXN0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZsZXgtd3JhcDogdW5zZXQ7XG5cdGdhcDogdW5zZXQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ud29ya2Zsb3ctYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zYXZlLWJ1dHRvbixcbi53b3JrZmxvdy1jYW5jZWwtYnV0dG9uLFxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLyogU3RhZ2UgZWRpdGluZyBzdHlsZXMgKi9cbi53b3JrZmxvdy1zdGFnZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZsZXg6IDE7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDVweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWVkaXQsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd24sXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcblx0cGFkZGluZzogM3B4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXA6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWxpbmVhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtY3ljbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFN1YnN0YWdlIHN0eWxlcyAqL1xuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcblx0cGFkZGluZzogMCAwIDAgdmFyKC0tc2l6ZS00LTYpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdWJzdGFnZS1zZXR0aW5ncy1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogU3RhZ2UgZWRpdCBtb2RhbCAqL1xuLnN0YWdlLXR5cGUtc2V0dGluZ3Mge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnN1YnN0YWdlcy1zZWN0aW9uLFxuLmNhbi1wcm9jZWVkLXRvLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTVweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN1YnN0YWdlcy1jb250YWluZXIsXG4uY2FuLXByb2NlZWQtdG8tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc3Vic3RhZ2VzLWxpc3QsXG4uY2FuLXByb2NlZWQtbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXg6IDE7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dCB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc3Vic3RhZ2UtbmV4dC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDVweDtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uLFxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbjpob3Zlcixcbi5jYW4tcHJvY2VlZC1yZW1vdmUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5hZGQtc3Vic3RhZ2UtYnV0dG9uLFxuLmFkZC1jYW4tcHJvY2VlZC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiA0cHggMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLmFkZC1jYW4tcHJvY2VlZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFkZC1jYW4tcHJvY2VlZC1zZWxlY3Qge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN0YWdlLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3RhZ2Utc2F2ZS1idXR0b24sXG4uc3RhZ2UtY2FuY2VsLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc3RhZ2UtZXJyb3ItbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIFdvcmtmbG93IHRhc2sgaW4gZWRpdG9yL3ByZXZpZXcgbW9kZSBzdHlsZXMgKi9cbi50YXNrLXdvcmtmbG93LXRhZyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDVweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLXdvcmtmbG93LXN0YWdlIHtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2std29ya2Zsb3ctc3Vic3RhZ2Uge1xuXHRmb250LXNpemU6IDExcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2std29ya2Zsb3ctaGlzdG9yeSB7XG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2std29ya2Zsb3ctdGltZXN0YW1wIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBkaXNwbGF5IGVuaGFuY2VtZW50cyAqL1xuLnNldHRpbmctaXRlbS1jb250cm9sIHNwYW5bY2xhc3NePVwid29ya2Zsb3ctc3RhZ2UtbmFtZS1cIl0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLWN5Y2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLyogV29ya2Zsb3dEZWZpbml0aW9uTW9kYWwgaGVhZGVyIGVuaGFuY2VtZW50cyAqL1xuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLWhlYWRlciB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZXMtbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZzogMCAwIDAgMjBweDtcblx0bWFyZ2luOiA1cHggMCAxMHB4IDA7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBCZXR0ZXIgYnV0dG9ucyBpbiB3b3JrZmxvdyBwYW5lbHMgKi9cbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uLFxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEsXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDZweCAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uOmhvdmVyLFxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIsXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcbi53b3JrZmxvdy1zdGFnZS1lZGl0LFxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZSB7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd246aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1kZWxldGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogU3VidGFzayBzdHlsaW5nIGltcHJvdmVtZW50cyAqL1xuLnN1YnN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggMDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEzcHg7XG59XG5cbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLm5vLXN0YWdlcy1tZXNzYWdlLFxuLm5vLXdvcmtmbG93cy1tZXNzYWdlLFxuLm5vLXN1YnN0YWdlcy1tZXNzYWdlLFxuLm5vLWNhbi1wcm9jZWVkLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMTVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdG1hcmdpbjogMTBweCAwO1xufVxuXG4vKiBTVEFSVDogUmV3YXJkIFNldHRpbmdzIFN0eWxlcyAqL1xuLnJld2FyZHMtbGV2ZWxzLWNvbnRhaW5lcixcbi5yZXdhcmRzLWl0ZW1zLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWluZm8sXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucmV3YXJkcy1pdGVtLXJvdy5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiAwO1xufVxuXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwOyAvKiBBbGxvdyB3cmFwcGluZyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAxMDBweDsgLyogRW5zdXJlIHJlYXNvbmFibGUgbWluaW11bSB3aWR0aCAqL1xufVxuXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmlucHV0LWNvbnRhaW5lciB7XG5cdC8qIE9ic2lkaWFuIHVzZXMgdGhpcyBjbGFzcyBmb3IgdGV4dC90ZXh0YXJlYSAqL1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgdGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTsgLyogTWFrZSB0ZXh0YXJlYSB0YWtlIGZ1bGwgd2lkdGggd2l0aGluIGl0cyBjb250YWluZXIgKi9cblx0bWluLWhlaWdodDogNDBweDsgLyogRW5zdXJlIGl0J3MgdGFsbCBlbm91Z2ggZm9yIGEgY291cGxlIGxpbmVzICovXG5cdHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuZHJvcGRvd24ge1xuXHRtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbixcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24ge1xuXHRtYXJnaW4tbGVmdDogYXV0bzsgLyogUHVzaCBkZWxldGUgYnV0dG9uIHRvIHRoZSByaWdodCAqL1xufVxuXG4ucmV3YXJkcy1pdGVtLWRpdmlkZXIge1xuXHRib3JkZXI6IG5vbmU7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0uc29ydC1jcml0ZXJpb24tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZXR0aW5nLWl0ZW0uc29ydC1jcml0ZXJpb24tcm93IHNlbGVjdC5kcm9wZG93biB7XG5cdGZsZXg6IDE7XG59XG5cblxuLnZpZXctZWRpdC1idXR0b24sXG4udmlldy1jb3B5LWJ1dHRvbixcbi52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LWRlbGV0ZS1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi52aWV3LWNvcHktYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi52aWV3LWNvcHktYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnZpZXctZGVsZXRlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udmlldy1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4vKiBDb3B5IG1vZGUgaW5mbyBzdHlsZXMgKi9cbi5jb3B5LW1vZGUtaW5mbyB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmNvcHktbW9kZS1pbmZvIHAge1xuXHRtYXJnaW46IDRweCAwO1xufVxuXG4vKiBUYXNrcyBQbHVnaW4gQ29tcGF0aWJpbGl0eSBXYXJuaW5nIEJhbm5lciAqL1xuLnRhc2tzLWNvbXBhdGliaWxpdHktd2FybmluZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcblx0XHR2YXIoLS1hY2NlbnQtaCksXG5cdFx0dmFyKC0tYWNjZW50LXMpLFxuXHRcdHZhcigtLWFjY2VudC1sKSxcblx0XHQwLjVcblx0KTtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFza3Mtd2FybmluZy1pY29uIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrcy13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQgYSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3Ryb25nIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBQcm9qZWN0IENvbmZpZ3VyYXRpb24gU3R5bGVzICovXG4ucHJvamVjdC1wYXRoLW1hcHBpbmdzLWNvbnRhaW5lcixcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmdzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3csXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5nLXJvdyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4ubm8tbWFwcGluZ3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIFRhc2sgUHJvamVjdCBEaXNwbGF5IFN0eWxlcyAqL1xuLnRhc2stcHJvamVjdC10ZyB7XG5cdG9wYWNpdHk6IDAuODtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4udGFzay1wcm9qZWN0LXRnOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQxN1wiO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogTWV0YWRhdGEgRWRpdG9yIFByb2plY3QgU3R5bGVzICovXG4ucHJvamVjdC1yZWFkb25seSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnByb2plY3QtcmVhZG9ubHkgaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIERhdGUgZm9ybWF0IGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlciB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogRGF0ZSBmb3JtYXQgZXhhbXBsZXMgc2VjdGlvbiAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZXhhbXBsZXMtaGVhZGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoLFxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmhvdmVyIHRkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG4iLCAiLnRnLXN0YXR1cy1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc2l6ZS0yLTEpKTtcbn1cblxuLnRnLWljb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIC50Zy1zdGF0dXMtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogR2xvYmFsIEZpbHRlciBDb250YWluZXIgU3R5bGVzICovXG4uZ2xvYmFsLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBGaWxlIFRhc2sgZHluYW1pYyBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLW1ldGFkYXRhLWZpZWxkcy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtdGFncy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xuXHRtYXJnaW46IDFyZW0gMDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXRhZ3MtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLXBhdGhzLWhlYWRlcixcbi50YXNrLWdlbml1cy1mb3JtYXRzLWhlYWRlcixcbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtbGlzdCxcbi50YXNrLWdlbml1cy10YWctbGlzdCxcbi50YXNrLWdlbml1cy1wYXRoLWxpc3QsXG4udGFzay1nZW5pdXMtZm9ybWF0LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWl0ZW0sXG4udGFzay1nZW5pdXMtdGFnLWl0ZW0sXG4udGFzay1nZW5pdXMtcGF0aC1pdGVtLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy10YWctaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW06aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dCxcbi50YXNrLWdlbml1cy10YWctaW5wdXQsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dCxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjRyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtdGFnLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLXBhdGgtaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtdGFnLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtcGF0aC1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuIHtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1maWVsZC1idG4sXG4udGFzay1nZW5pdXMtYWRkLXRhZy1idG4sXG4udGFzay1nZW5pdXMtYWRkLXBhdGgtYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyB0YWJsZSAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWlmcmFtZS1tb2RhbCB7XG5cdHdpZHRoOiA5MCU7XG5cdG1heC13aWR0aDogMTQwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi50aW1lLXBhcnNpbmctZXhhbXBsZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0aW1lXCJdIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5maWxlLXNvdXJjZS1zdHJhdGVneS1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuIiwgIi8qIEJldGEgdGVzdCB3YXJuaW5nIGJhbm5lciBzdHlsZXMgKi9cbi5iZXRhLXRlc3Qtd2FybmluZy1iYW5uZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5iZXRhLXdhcm5pbmctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5iZXRhLXdhcm5pbmctY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLmJldGEtd2FybmluZy10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uYmV0YS13YXJuaW5nLXRleHQge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBTZXR0aW5ncyBTZWFyY2ggQ29tcG9uZW50IFN0eWxlcyAqL1xuXG4vKiBcdTY0MUNcdTdEMjJcdTVCQjlcdTU2NjggKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0Nlx1NUJCOVx1NTY2OCAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTY4MDdcdTUxQzZcdThGOTNcdTUxNjVcdTY4NDZcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24gc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXQudGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIgc3ZnIHtcblx0d2lkdGg6IHZhcigtLWljb24teHMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcblx0bWF4LWhlaWdodDogMzIwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU5ODc5IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1ODNEQ1x1NTM1NVx1OTg3OVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmhvdmVyLFxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTU0MERcdTc5RjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW5hbWUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1MTQzXHU0RkUxXHU2MDZGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTYzQ0ZcdThGRjAgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi8qIFx1NjVFMFx1N0VEM1x1Njc5Q1x1NzJCNlx1NjAwMSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1uby1yZXN1bHQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogXHU4QkJFXHU3RjZFXHU5ODc5XHU5QUQ4XHU0RUFFXHU2NTQ4XHU2NzlDICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWhpZ2hsaWdodCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cyBlYXNlLW91dDtcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8qIFx1NTRDRFx1NUU5NFx1NUYwRlx1OEJCRVx1OEJBMSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRcdG1heC1oZWlnaHQ6IDI4MHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0fVxuXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbmFtZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0fVxuXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWNhdGVnb3J5IHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0xKTtcblx0fVxufVxuXG4vKiBcdTZFREFcdTUyQThcdTY3NjFcdTY4MzdcdTVGMEYgLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU2ODA3XHU1MUM2XHU2RURBXHU1MkE4XHU2NzYxICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cdHNjcm9sbGJhci1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKSB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiB2YXIoLS1zY3JvbGxiYXItdGhpbi13aWR0aCk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXNjcm9sbGJhci10aGluLXRodW1iLXJhZGl1cyk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnLWhvdmVyKTtcblx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbn1cblxuLyogXHU3ODZFXHU0RkREXHU2NDFDXHU3RDIyXHU2ODQ2XHU1NzI4XHU4QkJFXHU3RjZFXHU5ODc1XHU5NzYyXHU0RTJEXHU3Njg0XHU2QjYzXHU3ODZFXHU1QjlBXHU0RjREICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xuXHRvcmRlcjogLTE7IC8qIFx1Nzg2RVx1NEZERFx1NjQxQ1x1N0QyMlx1Njg0Nlx1NjYzRVx1NzkzQVx1NTcyOFx1NjcwMFx1NTI0RFx1OTc2MiAqL1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi8qIFx1NEUwRVx1OEJCRVx1N0Y2RVx1NjgwN1x1N0I3RVx1OTg3NVx1NUJCOVx1NTY2OFx1NzY4NFx1OTVGNFx1OERERFx1OEMwM1x1NjU3NCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLyogXHU0RkVFXHU1OTBEXHU1M0VGXHU4MEZEXHU3Njg0IHotaW5kZXggXHU5NUVFXHU5ODk4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyLCAyMDApO1xufVxuXG4vKiBcdTc4NkVcdTRGRERcdThGOTNcdTUxNjVcdTY4NDZcdTgwNUFcdTcxMjZcdTY1RjZcdTc2ODRcdTY4MzdcdTVGMEZcdTZCNjNcdTc4NkUgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwN1x1NzY4NFx1NEVBNFx1NEU5Mlx1NzJCNlx1NjAwMSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiAudGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFXHU3Njg0XHU1NkZFXHU2ODA3XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cbiIsICIvKiBTZXR0aW5ncyBNaWdyYXRpb24gU3R5bGluZyAqL1xuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRtYXJnaW46IDEycHggMDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24gcCB7XG5cdG1hcmdpbjogNHB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLW11dGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLW11dGVkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIE1pZ3JhdGlvbiBTdWNjZXNzIEluZGljYXRvciAqL1xuLnNldHRpbmctaXRlbS1pbmZvLm1vZC1zdWNjZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tYmcpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luOiAxMnB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8qIEZpbGVTb3VyY2UgSW50ZWdyYXRpb24gTm90aWNlICovXG4uZmlsZS1zb3VyY2Utbm90aWNlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdG1hcmdpbjogOHB4IDA7XG59XG5cbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmZpbGUtc291cmNlLW5vdGljZSAubm90aWNlLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuIiwgIi50YXNrLWRldGFpbHMgLnBhbmVsLXRvZ2dsZS1jb250YWluZXIge1xuXHRsZWZ0OiAxMHB4O1xufVxuXG4vKiBEZXRhaWwgUGFuZWwgU3R5bGVzICovXG4udGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDMwMHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvcmRlcjogMTtcbn1cblxuLyogRGV0YWlscyBwYW5lbCB2aXNpYmlsaXR5ICovXG4udGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMDtcblx0b3BhY2l0eTogMDtcblx0bWFyZ2luLXJpZ2h0OiAtMzAwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMzUwcHg7XG5cdG9wYWNpdHk6IDE7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogTW9iaWxlIHZpZXcgLSBzbGlkZSBmcm9tIHJpZ2h0ICovXG4uaXMtcGhvbmUgLnRhc2stZGV0YWlscyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zaXplLTQtMTIpKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGRldGFpbHMgYXJlIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1jbG9zZS1idG4ge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmlzLXBob25lIC5kZXRhaWxzLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZW1wdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMjBweDtcbn1cblxuLyogRGV0YWlscyBjb250ZW50ICovXG4uZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLmRldGFpbHMtY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmctYm90dG9tOiBtYXgodmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSksIHZhcigtLXNpemUtNC04KSk7XG59XG5cbi5kZXRhaWxzLW5hbWUge1xuXHRtYXJnaW46IDAgMCA4cHggMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiAxLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmRldGFpbHMtc3RhdHVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRldGFpbHMtc3RhdHVzLWxhYmVsIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtc3RhdHVzIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWVudS1pdGVtLXRpdGxlOmhhcyguc3RhdHVzLW9wdGlvbikge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdGdhcDogNHB4O1xufVxuXG4ubWVudS1pdGVtOmhhcyguc3RhdHVzLW9wdGlvbi1jaGVja2JveCkgLm1lbnUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24taWNvbikgLm1lbnUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnN0YXR1cy1vcHRpb24taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uc3RhdHVzLW9wdGlvbi1jaGVja2JveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3RhdHVzLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdGF0dXMtb3B0aW9uLmN1cnJlbnQge1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRvdXRsaW5lOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC4zKTtcblx0b3V0bGluZS1zdHlsZTogZGFzaGVkO1xufVxuXG4uc3RhdHVzLW9wdGlvbjpub3QoLmN1cnJlbnQpIHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uc3RhdHVzLW9wdGlvbjpub3QoLmN1cnJlbnQpOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnN0YXR1cy1vcHRpb24gaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuXHRtYXJnaW4taW5saW5lLWVuZDogMDtcbn1cblxuLmRldGFpbHMtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xufVxuXG4ubWV0YWRhdGEtbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tZXRhZGF0YS12YWx1ZSB7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG4uZGV0YWlscy1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZGV0YWlscy1lZGl0LWJ0bixcbi5kZXRhaWxzLXRvZ2dsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG46aG92ZXIsXG4uZGV0YWlscy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogVGFzayBlZGl0aW5nIGZvcm0gc3R5bGVzICovXG4uZGV0YWlscy1lZGl0LWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDRweDtcbn1cblxuLmRldGFpbHMtZm9ybS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZGV0YWlscy1lZGl0LWNvbnRlbnQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGV0YWlscy1mb3JtLWlucHV0IGlucHV0LFxuLmRldGFpbHMtZm9ybS1pbnB1dCBzZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5kYXRlLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRnYXA6IDhweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIGJ1dHRvbiB7XG5cdGZsZXg6IDE7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGV0YWlscy1mb3JtLWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3IgbW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1vbW5pZm9jdXMtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnRhc2stc2lkZWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1kZXRhaWxzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdH1cbn1cblxuLyogUHJvamVjdCBzb3VyY2UgaW5kaWNhdG9yIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci1pY29uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFJlYWRvbmx5IGluZGljYXRvciAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBPdmVycmlkZSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Iub3ZlcnJpZGUtaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBGaWVsZCBkZXNjcmlwdGlvbnMgKi9cbi5maWVsZC1kZXNjcmlwdGlvbi5yZWFkb25seS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maWVsZC1kZXNjcmlwdGlvbi5vdmVycmlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgZWRpdG9yIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5pbmxpbmUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFRhYmxlIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci50YWJsZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHRyaWdodDogMnB4O1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi50YXNrLXRhYmxlLWNlbGwucmVhZG9ubHktY2VsbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFByb2plY3QgY29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3QtY29udGFpbmVyLnByb2plY3QtcmVhZG9ubHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IC5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG4iLCAiLyogT25Db21wbGV0aW9uIENvbmZpZ3VyYXRvciBTdHlsZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ub25jb21wbGV0aW9uLWFjdGlvbi10eXBlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG59XG5cbi5vbmNvbXBsZXRpb24tbGFiZWwge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25jb21wbGV0aW9uLWNvbmZpZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLXRvcDogOHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5vbmNvbXBsZXRpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBBY3Rpb24gVHlwZSBEcm9wZG93biAqL1xuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSAuZHJvcGRvd24ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogSW5wdXQgRmllbGRzICovXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogVG9nZ2xlIENvbXBvbmVudCAqL1xuLm9uY29tcGxldGlvbi1maWVsZCAuY2hlY2tib3gtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFN1Z2dlc3RlciBTdHlsZXMgKi9cbi50YXNrLWlkLXN1Z2dlc3Rpb24ge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay1jb250ZW50LXByZXZpZXcge1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uZmlsZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbGUtcGF0aCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYWN0aW9uLXR5cGUtc3VnZ2VzdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5hY3Rpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogVmFsaWRhdGlvbiBTdGF0ZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLmludmFsaWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3IudmFsaWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRwYWRkaW5nOiA0cHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlLmVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uuc3VjY2VzcyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4vKiBJbnRlZ3JhdGlvbiB3aXRoIFRhc2sgRGV0YWlscyAqL1xuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0cGFkZGluZzogMDtcbn1cblxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLWNvbmZpZyB7XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQudGFzay1jb250ZW50LXByZXZpZXcge1xuXHRcdG1heC13aWR0aDogMjAwcHg7XG5cdH1cbn1cblxuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdH1cbn1cblxuLyogQW5pbWF0aW9uIGZvciBDb25maWd1cmF0aW9uIENoYW5nZXMgKi9cbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5vbmNvbXBsZXRpb24tZmllbGQuZW50ZXJpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkLmV4aXRpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG59XG5cbi8qIE9uQ29tcGxldGlvbiBNb2RhbCBTdHlsZXMgKi9cbi5vbmNvbXBsZXRpb24tbW9kYWwge1xuXHQtLWRpYWxvZy13aWR0aDogNjAwcHg7XG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcblx0LS1kaWFsb2ctbWF4LWhlaWdodDogODB2aDtcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZzogMjBweDtcblx0bWF4LWhlaWdodDogNjB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDE2cHggMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMgYnV0dG9uIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4vKiBJbmxpbmUgT25Db21wbGV0aW9uIEJ1dHRvbiBTdHlsZXMgKi9cbi5pbmxpbmUtb25jb21wbGV0aW9uLWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIE1vZGFsICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uY29tcGxldGlvbi1tb2RhbCB7XG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogODV2aDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XG5cdFx0cGFkZGluZzogMTZweDtcblx0XHRtYXgtaGVpZ2h0OiA2NXZoO1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcblx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiB1bnNldDtcblx0fVxufVxuIiwgIi8qIFVuaXZlcnNhbCBTdWdnZXN0IFN0eWxlcyAqL1xuXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyogU3BlY2lhbCBjaGFyYWN0ZXIgdHJpZ2dlciBoaWdobGlnaHRpbmcgKi9cbi5jbS1lZGl0b3IgLmNtLWxpbmUgLnVuaXZlcnNhbC1zdWdnZXN0LXRyaWdnZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0cGFkZGluZzogMXB4IDJweDtcbn1cblxuLyogU3VnZ2VzdCBwb3B1cCBjb250YWluZXIgKi9cbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHR9IFxuXHRcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIsXG5cdC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0fVxufVxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1N0YxNlx1OEY5MVx1NUYzOVx1N0E5N1x1NjgzN1x1NUYwRiAqL1xuXG4uaGFiaXQtZWRpdC1kaWFsb2cge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZzogMjBweDtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU3QzdCXHU1NzhCXHU5MDA5XHU2MkU5XHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtc2VsZWN0b3Ige1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZGVzY3JpcHRpb24ge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdhcDogMTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG5cdC5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiBzdmcge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZGVzYyB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFx1OTAxQVx1NzUyOFx1ODg2OFx1NTM1NVx1NjgzN1x1NUYwRiAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jb21tb24tZm9ybSxcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1mb3JtIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogXHU1NkZFXHU2ODA3XHU5ODg0XHU4OUM4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWljb24tcHJldmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWljb24tcHJldmlldyBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xufVxuXG4vKiBcdTY2MjBcdTVDMDRcdTdGMTZcdThGOTFcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1jb250YWluZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0bWFyZ2luLXRvcDogNXB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmcta2V5IHtcblx0d2lkdGg6IDgwcHg7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctYXJyb3cge1xuXHRtYXJnaW46IDAgMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctdmFsdWUge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWRlbGV0ZSB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1tYXBwaW5nLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4vKiBcdTRFOEJcdTRFRjZcdTdGMTZcdThGOTFcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnRzLWNvbnRhaW5lciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRnYXA6IDVweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1uYW1lIHtcblx0d2lkdGg6IDEyMHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRldGFpbHMge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LXByb3BlcnR5IHtcblx0d2lkdGg6IDEyMHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRlbGV0ZSB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1ldmVudC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLyogXHU2MzA5XHU5NEFFXHU1QkI5XHU1NjY4ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWVkaXQtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jYW5jZWwtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXNhdmUtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFx1OEY5M1x1NTE2NVx1NUI1N1x1NkJCNSAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmhhYml0LWVkaXQtZGlhbG9nIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbS5zZWxlY3RlZCAuaGFiaXQtdHlwZS1kZXNjLFxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG4iLCAiLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU1QkI5XHU1NjY4ICovXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmhhYml0LXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctdG9wOiAxMnB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBcdTZERkJcdTUyQTBcdTYzMDlcdTk0QUUgKi9cbi5oYWJpdC1hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5oYWJpdC1hZGQtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4uaGFiaXQtYWRkLWJ1dHRvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTUyMTdcdTg4NjhcdTRFM0FcdTdBN0FcdTcyQjZcdTYwMDEgKi9cbi5oYWJpdC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmhhYml0LWVtcHR5LXN0YXRlIGgyIHtcblx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTk4NzlcdTUyMTdcdTg4NjggKi9cbi5oYWJpdC1pdGVtcy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1OTg3OSAqL1xuLmhhYml0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRoZWlnaHQ6IDcuNXJlbTtcbn1cblxuLmhhYml0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU1NkZFXHU2ODA3ICovXG4uaGFiaXQtaXRlbS1pY29uIHtcblx0LS1pY29uLXNpemU6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDhweDtcblx0aGVpZ2h0OiA0OHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLmhhYml0LWl0ZW0taWNvbiBzdmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTRGRTFcdTYwNkYgKi9cbi5oYWJpdC1pdGVtLWluZm8ge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7IC8qIFx1OTYzMlx1NkI2Mlx1NTE4NVx1NUJCOVx1OEZDN1x1OTU3Rlx1NjQ5MVx1NUYwMFx1NUUwM1x1NUM0MCAqL1xufVxuXG4uaGFiaXQtaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGFiaXQtaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uaGFiaXQtaXRlbS10eXBlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDExcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NjRDRFx1NEY1Q1x1NjMwOVx1OTRBRSAqL1xuLmhhYml0LWl0ZW0tYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tbGVmdDogMTJweDtcbn1cblxuLmhhYml0LWVkaXQtYnV0dG9uLFxuLmhhYml0LWRlbGV0ZS1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmhhYml0LWVkaXQtYnV0dG9uOmhvdmVyLFxuLmhhYml0LWRlbGV0ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmhhYml0LWVkaXQtYnV0dG9uIHN2Zyxcbi5oYWJpdC1kZWxldGUtYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmhhYml0LWRlbGV0ZS1idXR0b246aG92ZXIgc3ZnIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTUyMjBcdTk2NjRcdTVCRjlcdThCRERcdTY4NDZcdTY4MzdcdTVGMEYgKi9cbi5oYWJpdC1kZWxldGUtbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmhhYml0LWRlbGV0ZS1idXR0b24tY29uZmlybSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogI2ZmZjtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCAiLyogSUNTIFNldHRpbmdzIFN0eWxlcyAqL1xuXG4vKiBNYWluIGNvbnRhaW5lciAqL1xuLmljcy1zZXR0aW5ncy1jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLyogSGVhZGVyIHNlY3Rpb24gKi9cbi5pY3MtaGVhZGVyLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4uaWNzLWJhY2stYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5pY3MtYmFjay1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5pY3MtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogR2xvYmFsIHNldHRpbmdzICovXG4uaWNzLWdsb2JhbC1zZXR0aW5ncyB7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogU291cmNlcyBsaXN0ICovXG4uaWNzLXNvdXJjZXMtbGlzdCB7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cblxuLmljcy1zb3VyY2VzLWxpc3QgaDMge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaWNzLXNvdXJjZS1pdGVtIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZzogMS41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmljcy1zb3VyY2UtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmljcy1zb3VyY2UtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uaWNzLXNvdXJjZS10aXRsZSBzdHJvbmcge1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uaWNzLXNvdXJjZS1zdGF0dXMge1xuXHRwYWRkaW5nOiAwLjNyZW0gMC44cmVtO1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uc3RhdHVzLWVuYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnN0YXR1cy1kaXNhYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLmljcy1zb3VyY2UtZGV0YWlscyB7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uaWNzLXNvdXJjZS1kZXRhaWxzIGRpdiB7XG5cdG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cblxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cbi5pY3Mtc291cmNlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcbn1cblxuLnByaW1hcnktYWN0aW9ucyxcbi5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmRpc2FibGVkIHtcblx0b3BhY2l0eTogMC41O1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmcge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uZXJyb3Ige1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLyogQWRkIHNvdXJjZSBjb250YWluZXIgKi9cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAycmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi8qIFRlc3QgY29udGFpbmVyICovXG4uaWNzLXRlc3QtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcbn1cblxuLmljcy10ZXN0LWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmljcy10ZXN0LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdG9wYWNpdHk6IDAuODtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBFbXB0eSBzdGF0ZSAqL1xuLmljcy1lbXB0eS1zdGF0ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogM3JlbSAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogTW9kYWwgc3R5bGVzICovXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5hdXRoLWZpZWxkIHtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lmljcy1zb3VyY2UtaGVhZGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5wcmltYXJ5LWFjdGlvbnMsXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQuaWNzLXNvdXJjZS1pdGVtIHtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHR9XG5cblx0LnByaW1hcnktYWN0aW9ucyxcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcblx0fVxuXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBUZXh0IFJlcGxhY2VtZW50cyBTdHlsZXMgKi9cbi50ZXh0LXJlcGxhY2VtZW50cy1saXN0IHtcblx0bWFyZ2luOiAxcmVtIDA7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50cy1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGU6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMC44cmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIgc3Ryb25nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cyB7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmVuYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmRpc2FibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyBkaXYge1xuXHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXBhdHRlcm4ge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcmVwbGFjZW1lbnQge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uIHtcblx0cGFkZGluZzogMC40cmVtIDAuOHJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIFRleHQgUmVwbGFjZW1lbnQgTW9kYWwgU3R5bGVzICovXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdG1heC13aWR0aDogNzAwcHg7XG5cdG1heC1oZWlnaHQ6IDg1dmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50ZXN0LW91dHB1dCB7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0cGFkZGluZzogMC44cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRlc3QtcmVzdWx0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogRXhhbXBsZXMgc2VjdGlvbiAqL1xuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgdWwge1xuXHRtYXJnaW46IDAuNXJlbSAwO1xuXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHN5bmMgYnV0dG9uICovXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMC4zcmVtO1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwsXG4uaWNzLXNvdXJjZS1tb2RhbCB7XG5cdG1heC13aWR0aDogMTAwMHB4O1xuXHRtYXgtaGVpZ2h0OiA5MHZoO1xuXG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5pY3MtdGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCxcbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuIiwgIi8qIFRhc2sgZmlsdGVyIHBhbmVsIHN0eWxlcyAqL1xuLnRhc2stZmlsdGVyLXBhbmVsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1maWx0ZXItYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWZpbHRlci1wYW5lbCA+IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udGFzay1maWx0ZXItdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiBoMyB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bWFyZ2luOiA1cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbjpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gbGFiZWwge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5LFxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWZpbHRlci1yZXNldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQ6Zm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG4iLCAiLmNvbmZpcm0tbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi8qIExpc3QgQ29uZmlnIE1vZGFsIFN0eWxlcyAqL1xuLmxpc3QtY29uZmlnLW1vZGFsIHtcblx0bWluLXdpZHRoOiA0MDBweDtcblx0bWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLmxpc3QtY29uZmlnLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVyKTtcbn1cblxuLmxpc3QtY29uZmlnLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDA7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4ubGlzdC1jb25maWctZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KTtcbn1cblxuLmxpc3QtY29uZmlnLWVtcHR5LXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luOiAwO1xufVxuXG4ubGlzdC1jb25maWctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5saXN0LWNvbmZpZy1pdGVtOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubGlzdC1jb25maWctaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmxpc3QtY29uZmlnLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5saXN0LWNvbmZpZy1kZWxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi5saXN0LWNvbmZpZy1kZWxldGUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuIiwgIi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xufVxuLmZpbHRlci1ncm91cC1zZXBhcmF0b3I6OmJlZm9yZSxcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGZsZXgtZ3JvdzogMTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGQjlcdTY4NDZcdTk4OUNcdTgyNzIgKi9cblx0bWFyZ2luOiAwIHZhcigtLXNpemUtMi0xKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xufVxuLmRyYWctaGFuZGxlIHtcblx0Y3Vyc29yOiBncmFiO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXG4uY29tcGFjdC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZztcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcblx0Y3Vyc29yOiB2YXIoLS1jdXJzb3IpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cblx0bWluLWhlaWdodDogMzBweDtcbn1cblxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0b3BhY2l0eTogdmFyKC0taWNvbi1vcGFjaXR5LWhvdmVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG4uY29tcGFjdC1pbnB1dCxcbi5jb21wYWN0LXNlbGVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xuXHRoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGOTNcdTUxNjVcdTY4NDZcdTlBRDhcdTVFQTZcdTUzRDhcdTkxQ0YgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC1zZWxlY3Q6aG92ZXIge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcGFjdC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXG59XG5cbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xuLmRyYWdnaW5nLXBsYWNlaG9sZGVyIHtcblx0b3BhY2l0eTogMC41O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTYwQUNcdTUwNUNcdTgwQ0NcdTY2NkZcdTgyNzIgKi9cbn1cblxuLyogXHU1OTgyXHU2NzlDXHU5NzAwXHU4OTgxXHVGRjBDXHU0RTNBXHU4RkM3XHU2RUU0XHU1NjY4XHU3RUM0XHU0RUY2XHU3Njg0XHU2ODM5XHU1QkI5XHU1NjY4XHU4QkJFXHU3RjZFXHU2ODM3XHU1RjBGICovXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xufVxuXG4uZmlsdGVyLW1lbnUge1xuXHR6LWluZGV4OiA1MDtcblx0bWluLXdpZHRoOiA2MDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cbi5yb290LWZpbHRlci1zZXR1cC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjc1cmVtOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0zKSAqL1xufVxuXG4vKiBSb290IENvbmRpdGlvbiBTZWN0aW9uIChkaXYuZmxleC5pdGVtcy1jZW50ZXIuc3BhY2UteC0yLnAtMi5iZy1zbGF0ZS0xMDAucm91bmRlZC1tZC5ib3JkZXIuYm9yZGVyLXNsYXRlLTIwMCkgKi9cbi5yb290LWNvbmRpdGlvbi1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07IC8qIHNwYWNlLXgtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0LFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXG5cdCk7IC8qIGJnLXNsYXRlLTEwMCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XG5cdC8qIGNvbXBhY3Qtc2VsZWN0IGFscmVhZHkgcHJvdmlkZXMgYmFzZSBzdHlsaW5nICovXG5cdHdpZHRoOiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgKi9cblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXG59XG5cbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucm9vdC1jb25kaXRpb24tc3BhbiB7XG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4vKiBGaWx0ZXIgR3JvdXBzIENvbnRhaW5lciAoI2ZpbHRlci1ncm91cHMtY29udGFpbmVyKSAqL1xuLmZpbHRlci1ncm91cHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwgKi9cblxuXHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyogRmlsdGVyIEdyb3VwICgjZmlsdGVyLWdyb3VwLXRlbXBsYXRlKSAqL1xuLmZpbHRlci1ncm91cCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTsgLyogcC0zIGZyb20gSFRNTCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAvKiBiZy13aGl0ZSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogc3BhY2UteS0yIGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4zNzVyZW07IC8qIHNwYWNlLXgtMS41IGZyb20gSFRNTCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xufVxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogaG92ZXI6dGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IC5jb21wYWN0LXRleHQsXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gc3Bhbi5jb21wYWN0LXRleHQge1xuXHRmb250LXdlaWdodDogNTAwOyAvKiBmb250LW1lZGl1bSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMjVyZW07IC8qIHNwYWNlLXgtMSBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bixcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIHJvdW5kZWQtbWQgZnJvbSBUYWlsd2luZCAqL1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0XG5cdC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXJcblx0LnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIGhvdmVyOnRleHQtaW5kaWdvLTYwMCAqL1xufVxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXG5cdCk7XG59XG5cbi8qIEZpbHRlcnMgTGlzdCAoLmZpbHRlcnMtbGlzdCkgKi9cbi5maWx0ZXJzLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTsgLyogc3BhY2UteS0xLjUgZnJvbSBIVE1MICovXG5cdHBhZGRpbmctbGVmdDogMXJlbTsgLyogcGwtNCBmcm9tIEhUTUwgKi9cblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlci1sLTIgYm9yZGVyLXNsYXRlLTIwMCAqL1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpOyAvKiBtbC0xLjUgZnJvbSBIVE1MICovXG59XG4uZmlsdGVycy1saXN0OmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogR3JvdXAgRm9vdGVyICguZ3JvdXAtZm9vdGVyKSAqL1xuLmdyb3VwLWZvb3RlciB7XG5cdC8qIEhUTUw6IDxkaXYgY2xhc3M9XCJwbC00IG10LTEuNVwiPiBjb250YWluaW5nIGJ1dHRvbiAqL1xuXHQvKiBUUyBjcmVhdGVzIC5ncm91cC1mb290ZXIsIHRoZW4gYWRkcyBCdXR0b25Db21wb25lbnQgdG8gaXQuICovXG5cdHBhZGRpbmctbGVmdDogMC4zNzVyZW07IC8qIENvcnJlc3BvbmRzIHRvIHBsLTEuNSBlZmZlY3RpdmVseSBpZiBpdGVtcyBpbnNpZGUgLmZpbHRlcnMtbGlzdCBoYXZlIG1hcmdpbi9wYWRkaW5nICovXG5cdG1hcmdpbi10b3A6IDAuMzc1cmVtOyAvKiBtdC0xLjUgKi9cbn1cblxuLmFkZC1maWx0ZXItYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRmlsdGVyIEl0ZW0gKCNmaWx0ZXItaXRlbS10ZW1wbGF0ZSkgKi9cbi5maWx0ZXItaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdC8qIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cblx0LyogYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAqL1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmp1bmN0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiB0ZXh0LTJ4cyAqL1xuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cblx0YWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xuXHRmbGV4LWJhc2lzOiAzMCU7IC8qIHctMS8zICovXG5cdGZsZXgtZ3JvdzogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0d2lkdGg6IGF1dG87IC8qIHctYXV0byAqL1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItaXRlbSAuZmlsdGVyLXZhbHVlLWlucHV0LmNvbXBhY3QtaW5wdXQge1xuXHRmbGV4LWdyb3c6IDE7IC8qIGZsZXgtZ3JvdyAqL1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0d2lkdGg6IDEwMCU7XG59XG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cbn1cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xufVxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3Zlcixcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxuXHQpO1xufVxuXG4vKiBBZGQgRmlsdGVyIEdyb3VwIEJ1dHRvbiBTZWN0aW9uICovXG4uYWRkLWdyb3VwLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWRkLWZpbHRlci1ncm91cC1idG4taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlndXJhdGlvbiBTZWN0aW9uICovXG4uZmlsdGVyLWNvbmZpZy1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdC8qIG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTsgKi9cblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xuXHQvKiBwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpOyAqL1xuXHQvKiBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuIHtcblx0ZmxleDogMTtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4taWNvbixcbi5sb2FkLWZpbHRlci1jb25maWctYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBGaWx0ZXIgQ29uZmlnIE1vZGFsIFN0eWxlcyAqL1xuLmZpbHRlci1jb25maWctZGV0YWlscyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgMTAwJVxuXHQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlsczpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIGgzIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlscyBwIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMikgMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jb25maWctbWV0YSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgMCAwO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IGg0IHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS0yLTMpIDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHAge1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLmZpbHRlci1jb25maWctYnV0dG9ucyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZpbHRlci1jb25maWctbmFtZS1oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogQWR2YW5jZWQgZmlsdGVyIGNvbnRhaW5lciBzdHlsZXMgZm9yIFZpZXdDb25maWdNb2RhbCAqL1xuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBTbWFsbGVyIHN0eWxpbmcgZm9yIGZpbHRlcnMgaW4gbW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWdyb3VwIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWl0ZW0ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtYnRuIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0bWluLWhlaWdodDogMjZweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LXNlbGVjdCxcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1pbnB1dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0aGVpZ2h0OiAyOHB4O1xufVxuIiwgIi8qIFZpZXcgU2V0dGluZ3MgVGFiIFN0eWxlcyAqL1xuXG4vKiBWaWV3IG1hbmFnZW1lbnQgbGlzdCBjb250YWluZXIgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBTZWN0aW9uIGNvbnRhaW5lcnMgKi9cbi52aWV3LXNlY3Rpb24tY29udGFpbmVyIHtcblx0bWluLWhlaWdodDogMTAwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiBTZWN0aW9uIGhlYWRlcnMgKi9cbi52aWV3LXNlY3Rpb24taGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnZpZXctc2VjdGlvbi1oZWFkZXIgaDQge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udmlldy1zZWN0aW9uLWl0ZW1zLFxuLnNvcnRhYmxlLXZpZXdzIHtcblx0bWluLWhlaWdodDogNjBweDtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zb3J0YWJsZS12aWV3czplbXB0eTo6YWZ0ZXIge1xuXHRjb250ZW50OiBhdHRyKGRhdGEtZW1wdHktdGV4dCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMjBweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJ0b3BcIl06ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogXCJEcmFnIHZpZXdzIGhlcmUgZm9yIHRoZSB0b3Agc2VjdGlvblwiO1xufVxuXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJib3R0b21cIl06ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogXCJEcmFnIHZpZXdzIGhlcmUgZm9yIHRoZSBib3R0b20gc2VjdGlvblwiO1xufVxuXG4vKiBWaWV3IGl0ZW0gc3R5bGVzICovXG4udmlldy1pdGVtLFxuLnNvcnRhYmxlLXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBtb3ZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udmlldy1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xufVxuXG4vKiBEcmFnIGhhbmRsZSBzdHlsZXMgKi9cbi52aWV3LWRyYWctaGFuZGxlIHtcblx0Y3Vyc29yOiBncmFiO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udmlldy1kcmFnLWhhbmRsZTphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpZXcgaXRlbSBpY29uICovXG4udmlldy1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLyogVmlldyBpdGVtIGluZm8gKi9cbi52aWV3LWl0ZW0taW5mbyB7XG5cdGZsZXg6IDE7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udmlldy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udmlldy1pdGVtLXR5cGUge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogVmlldyBpdGVtIGFjdGlvbnMgKi9cbi52aWV3LWl0ZW0tYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNHB4O1xufVxuXG4udmlldy1hY3Rpb24tYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctYWN0aW9uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udmlldy1hY3Rpb24tZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5zb3J0YWJsZS1naG9zdCB7XG5cdG9wYWNpdHk6IDAuNDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcbn1cblxuLnNvcnRhYmxlLWRyYWcge1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uc29ydGFibGUtY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgIWltcG9ydGFudDtcbn1cbiIsICIvKiBGaWxlIEZpbHRlciBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxcmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcbi5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG4uZmlsZS1maWx0ZXItcnVsZS1zY29wZSxcbi5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuMjVyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUge1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXBhdGgge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0bWluLXdpZHRoOiA2MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0cGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0cGFkZGluZzogMC4yNXJlbTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgKyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXRzIHtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG4uZmlsZS1maWx0ZXItc3RhdDpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLnN0YXQtbGFiZWwge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uc3RhdC12YWx1ZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBFcnJvciBzdGF0ZSBmb3Igc3RhdGlzdGljcyAqL1xuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3IgLnN0YXQtbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFJlZnJlc2ggYnV0dG9uIHN0eWxpbmcgKi9cbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvblthcmlhLWxhYmVsKj1cInJlZnJlc2hcIl0ge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdOmhvdmVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlIGFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyByZWZyZXNoLXNwaW4ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bZGlzYWJsZWRdIC5sdWNpZGUtcmVmcmVzaC1jdyB7XG5cdGFuaW1hdGlvbjogcmVmcmVzaC1zcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5maWxlLWZpbHRlci1ydWxlIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCxcblx0LmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcblx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdH1cbn1cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogRW1wdHkgc3RhdGUgc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXJ1bGVzLWNvbnRhaW5lcjplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJObyBmaWx0ZXIgcnVsZXMgY29uZmlndXJlZC4gQWRkIHJ1bGVzIGJlbG93IHRvIHN0YXJ0IGZpbHRlcmluZyBmaWxlcyBhbmQgZm9sZGVycy5cIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDJyZW07XG59XG5cbi8qIFByZXNldCB0ZW1wbGF0ZXMgc2VjdGlvbiAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUHJlc2V0IGJ1dHRvbiBzdHlsaW5nICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuNjtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogU3VjY2VzcyBzdGF0ZSBmb3IgYXBwbGllZCBwcmVzZXRzICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XG5cdG9wYWNpdHk6IDAuODtcbn1cbiIsICIvKiBNQ1AgSW50ZWdyYXRpb24gU2V0dGluZ3MgU3R5bGVzICovXG5cbi8qIFN0YXR1cyBDb250YWluZXIgKi9cbi5tY3Atc3RhdHVzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLXN0YXR1cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLm1jcC1zdGF0dXMtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjA1ZW07XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5ydW5uaW5nIC5zdGF0dXMtZG90IHtcbiAgICBjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5zdG9wcGVkIC5zdGF0dXMtZG90IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLm1jcC1zdGF0dXMtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDI0cHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4vKiBDbGllbnQgQ29uZmlndXJhdGlvbiAqL1xuLm1jcC1jb25maWctY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWNwLWNsaWVudC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWNwLWNsaWVudC1oZWFkZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLm1jcC1jbGllbnQtaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogQXJyb3cgaWNvbiBmb3IgY29sbGFwc2libGUgc2VjdGlvbnMgKi9cbi5tY3AtYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4ubWNwLWFycm93IHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLm1jcC1hcnJvdy5leHBhbmRlZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4ubWNwLWNsaWVudC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWNwLWNvbmZpZy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDYwcHggMTZweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdmFyKC0tc2Nyb2xsYmFyLWJnKTtcbn1cblxuLm1jcC1jb25maWctY29kZSBjb2RlIHtcbiAgICBjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItYmcpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItYWN0aXZlLXRodW1iLWJnKTtcbn1cblxuLyogQ29weSBCdXR0b25zICovXG4ubWNwLWNvcHktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLm1jcC1jb3B5LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLm1jcC1jb3B5LWJ0bi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbn1cblxuLyogQXV0aGVudGljYXRpb24gTWV0aG9kcyBMaXN0ICovXG4ubWNwLWF1dGgtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1hdXRoLWxpc3Qge1xuICAgIG1hcmdpbjogMTBweCAwIDAgMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4ubWNwLWF1dGgtbGlzdCBsaSB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWF1dGgtbGlzdCBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbn1cblxuLyogVG9rZW4gSW5wdXQgKi9cbi5tY3AtdG9rZW4taW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyogQVBJIERvY3VtZW50YXRpb24gKi9cbi5tY3AtZG9jcy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tY3AtZG9jcy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWNwLWRvY3Mtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBFbmRwb2ludCBCb3ggKi9cbi5tY3AtZW5kcG9pbnQtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1lbmRwb2ludC1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLm1jcC1lbmRwb2ludC1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tY3AtZW5kcG9pbnQtdXJsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuIHtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtY29weS1lbmRwb2ludC1idG4uY29waWVkIHtcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRvb2xzIEdyaWQgKi9cbi5tY3AtdG9vbHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5tY3AtdG9vbC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWNwLXRvb2wtY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDAlLCB2YXIoLS10ZXh0LWFjY2VudCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4ubWNwLXRvb2wtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5tY3AtdG9vbC1jYXJkOmhvdmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4ubWNwLXRvb2wtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1jcC10b29sLWljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ubWNwLXRvb2wtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5tY3AtdG9vbC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJveCk7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLm1jcC10b29sLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLyogRXhhbXBsZSBDb250YWluZXIgKi9cbi5tY3AtZXhhbXBsZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLyogRXhhbXBsZSBUYWJzICovXG4ubWNwLWV4YW1wbGUtdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJveCkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMCk7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgxKTtcbn1cblxuLyogRXhhbXBsZSBDb2RlICovXG4ubWNwLWV4YW1wbGUtY29kZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtZXhhbXBsZS1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlO1xufVxuXG4ubWNwLWV4YW1wbGUtYmxvY2suYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjRweCA4MHB4IDI0cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2RlLWJhY2tncm91bmQpIDAlLCByZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjUpIDEwMCUpO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlciksIHRyYW5zcGFyZW50KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvZGUgY29kZSB7XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuLmNvcGllZCB7XG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjRzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MtcmdiKSwgMC4zKTtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBjb3B5U3VjY2VzcyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMC42OyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBhbGwgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cbi5tY3AtY2xpZW50LWhlYWRlcixcbi5tY3AtZXhhbXBsZS10YWIsXG4ubWNwLXRvb2wtY2FyZCxcbmJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogQ29kZSBzeW50YXggY29sb3JzIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgKi9cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24ta2V5IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLXN0cmluZyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tbnVtYmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLm1jcC1jb25maWctY29kZSAuanNvbi1ib29sZWFuIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5tY3AtdG9vbHMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICBcbiAgICAubWNwLXN0YXR1cy1kZXRhaWxzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgfVxufVxuXG4ubWNwLWV4YW1wbGUtc3VidGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBDdXJzb3IgT25lLUNsaWNrIEluc3RhbGwgU2VjdGlvbiAqL1xuLm1jcC1jdXJzb3ItaW5zdGFsbC1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWRlc2Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWxpbms6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4ubWNwLWN1cnNvci1hZGRpdGlvbmFsLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEwcHg7XG59XG5cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1jb3B5LWRlZXBsaW5rLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG4uY29waWVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctdG9nZ2xlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRlbnQge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWwge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1sYWJlbDpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvZGUgY29kZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLm1jcC1zZWN0aW9uLXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMjRweCAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59IiwgIi8qIFdvcmtmbG93IERlY29yYXRvciBTdHlsZXMgKi9cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yIHNwYW4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3I6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBEaWZmZXJlbnQgY29sb3JzIGZvciBkaWZmZXJlbnQgc3RhZ2UgdHlwZXMgKi9cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG4iLCAiLyogRGF0ZSBQaWNrZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogNTAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbWFpbi1wYW5lbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbGVmdC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1yaWdodC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItc2VjdGlvbi10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBRdWljayBPcHRpb25zIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXgtaGVpZ2h0OiAxOTVweDtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uc2VsZWN0ZWQgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogQ2FsZW5kYXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1tb250aC15ZWFyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0bWluLWhlaWdodDogMzJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogUG9wb3ZlciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmRhdGUtcGlja2VyLXBvcG92ZXIudGctbWVudSAuZGF0ZS1waWNrZXItcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTW9iaWxlIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdH1cbn1cblxuLyogV2lkZ2V0IEVycm9yIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci13aWRnZXQtZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbiIsICIvKiBRdWljayBDYXB0dXJlIFBhbmVsICovXG4ucXVpY2stY2FwdHVyZS1wYW5lbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFF1aWNrIENhcHR1cmUgQWN0aW9ucyAqL1xuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgTW9kYWwgKi9cbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWVkaXRvci1jb250YWluZXIgLmNtLWVkaXRvciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWVkaXRvci1jb250YWluZXIgLmNtLWVkaXRvci5jbS1mb2N1c2VkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWFscGhhKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5xdWljay1hY3Rpb25zLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbnMtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucXVpY2stYWN0aW9uLXNhdmUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YWctaW5wdXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogNjBweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiAzMDBweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XG5cdHotaW5kZXg6IDEwMDA7XG59XG5cbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBTdWdnZXN0ICovXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5zdWdnZXN0aW9uLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdG1pbi13aWR0aDogMjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VnZ2VzdGlvbi1jb250ZW50IHtcblx0ZmxleDogMTtcbn1cblxuLnN1Z2dlc3Rpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0ZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5xdWljay1jYXB0dXJlLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0IHtcblx0ZmxleDogMTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0bWF4LXdpZHRoOiA1MDBweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5xdWljay1jYXB0dXJlLWhpbnQge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRtYXJnaW4tdG9wOiAtNHB4O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5xdWljay1jYXB0dXJlLWZpbGUtc3VnZ2VzdCB7XG5cdG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogMTBweDtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiAxNTBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5xdWljay1jYXB0dXJlLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG59XG5cbi8qIEZ1bGwtZmVhdHVyZWQgbW9kYWwgc3R5bGVzICovXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcblx0d2lkdGg6IDgwdnc7XG5cdG1heC13aWR0aDogOTAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWxheW91dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0Z2FwOiAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC13aWR0aDogNDAlO1xufVxuXG4ucXVpY2stY2FwdHVyZS1lZGl0b3ItcGFuZWwge1xuXHRmbGV4OiAxLjU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5xdWljay1jYXB0dXJlLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0LWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwgLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogTW9iaWxlIG9wdGltaXphdGlvbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xuXHRcdHdpZHRoOiA5NXZ3O1xuXHR9XG5cblx0LnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdG1heC1oZWlnaHQ6IDQwJTtcblx0fVxufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuIiwgIi8qIFRhc2sgbGlzdCAqL1xuLnRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50YXNrLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2staXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLWl0ZW0udGFzay1jb21wbGV0ZWQgLnRhc2staXRlbS1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2staXRlbSAubWFya2Rvd24tYmxvY2subWFya2Rvd24tcmVuZGVyZXIgPiBwOm9ubHktY2hpbGQge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1jaGVja2JveCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWNoZWNrYm94IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLWl0ZW0tY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIER5bmFtaWMgY29udGVudC1tZXRhZGF0YSBjb250YWluZXIgKi9cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi8qIFNpbmdsZSBsaW5lIGNvbnRlbnQgbGF5b3V0IC0gaG9yaXpvbnRhbCAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdC8qIHdpZHRoOiAxMDAlOyAqL1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLWRhdGUge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1kYXRlOjpiZWZvcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRmb250LXNpemU6IHh4LXNtYWxsO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udGcta2FuYmFuLXZpZXcgLnRhc2stZGF0ZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEQ0M1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stZHVlLXNvb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXN0YXJ0LWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERUVCXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1jcmVhdGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzk1XCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1zY2hlZHVsZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTIzRjNcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWRvbmUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3MDVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNhbmNlbGxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1Mjc0Q1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stcmVjdXJyZW5jZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdUREMDFcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW9uLWNvbXBsZXRpb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNDXHVERkMxXCI7XG59XG5cbi50YXNrLXByb2plY3Qge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRhc2stcHJvamVjdDpoYXMoaW5wdXQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXByb2plY3Qge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1wcm9qZWN0OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1RERDMlx1RkUwRlwiO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stcHJvamVjdDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnRhc2stcHJpb3JpdHkge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBOZXcgZmllbGQgc3R5bGVzICovXG4udGFzay1vbmNvbXBsZXRpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLW9uY29tcGxldGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWRlcGVuZHNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWlkIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1pZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogVGFzayB0YWcgc3R5bGVzICovXG4udGFzay10YWdzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLXRhZ3MtY29udGFpbmVyOmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stdGFnIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3BhY2l0eTogMC43NTtcbn1cblxuLnRhc2staXRlbTpob3ZlciAudGFzay10YWcge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1pdGVtLWNvbnRlbnQgcDpoYXMoaW1nKSBpbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IG1pbig1MCUsIDIwMHB4KTtcbn1cbiIsICIvKiBJbmxpbmUgRWRpdG9yIFN0eWxlcyAtIE9wdGltaXplZCBmb3IgUGVyZm9ybWFuY2UgYW5kIFVYICovXG4uaW5saW5lLWVkaXRvciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogQ29udGVudCBFZGl0b3IgLSBNb3JlIGlubGluZSBhcHBlYXJhbmNlICovXG4uaW5saW5lLWNvbnRlbnQtZWRpdG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0cmVzaXplOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uaW5saW5lLWNvbnRlbnQtZWRpdG9yOmZvY3VzIHtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDAgMCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBFbWJlZGRlZCBFZGl0b3IgU3R5bGVzIC0gTW9yZSBzZWFtbGVzcyAqL1xuLmlubGluZS1lbWJlZGRlZC1lZGl0b3ItY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tZWRpdG9yIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgIWltcG9ydGFudDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWZvY3VzZWQge1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3ZlcikgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgIWltcG9ydGFudDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRtaW4taGVpZ2h0OiAxOHB4O1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWxpbmUge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBNZXRhZGF0YSBFZGl0b3IgQ29udGFpbmVyIC0gTW9yZSBjb21wYWN0IGFuZCBpbmxpbmUgKi9cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQge1xuXHRib3JkZXI6IHVuc2V0O1xuXHRvdXRsaW5lOiB1bnNldDtcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciBpbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IHVuc2V0O1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3I6aGFzKGlucHV0KSB7XG5cdG91dGxpbmU6IHVuc2V0O1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiB1bnNldDtcbn1cblxuLyogTWV0YWRhdGEgSW5wdXQgRmllbGRzIC0gTW9yZSBjb21wYWN0ICovXG4uaW5saW5lLXByb2plY3QtaW5wdXQsXG4uaW5saW5lLXRhZ3MtaW5wdXQsXG4uaW5saW5lLWNvbnRleHQtaW5wdXQsXG4uaW5saW5lLWRhdGUtaW5wdXQsXG4uaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmlubGluZS1wcm9qZWN0LWlucHV0OmZvY3VzLFxuLmlubGluZS10YWdzLWlucHV0OmZvY3VzLFxuLmlubGluZS1jb250ZXh0LWlucHV0OmZvY3VzLFxuLmlubGluZS1kYXRlLWlucHV0OmZvY3VzLFxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pbmxpbmUtcHJpb3JpdHktc2VsZWN0IHtcblx0cGFkZGluZzogMnB4IDRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5pbmxpbmUtcHJpb3JpdHktc2VsZWN0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIEFkZCBNZXRhZGF0YSBCdXR0b24gLSBNb3JlIHN1YnRsZSAqL1xuLmFkZC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLnRhc2stbGlzdCAudGFzay1pdGVtOm5vdCgudHJlZS10YXNrLWl0ZW0pOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWl0ZW0tY29udGFpbmVyOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLmFkZC1tZXRhZGF0YS1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMnB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcblx0LS1pY29uLXNpemU6IDEwcHg7XG5cdG9wYWNpdHk6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLmFkZC1tZXRhZGF0YS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0b3BhY2l0eTogMTtcbn1cblxuLmFkZC1tZXRhZGF0YS1idG46YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0biBzdmcge1xuXHR3aWR0aDogMTBweDtcblx0aGVpZ2h0OiAxMHB4O1xufVxuXG4vKiBTbW9vdGggdHJhbnNpdGlvbnMgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xuLmlubGluZS1lZGl0b3IgKiB7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsXG5cdFx0Ym94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuXG4vKiBGb2N1cyBzdGF0ZXMgZm9yIGJldHRlciBhY2Nlc3NpYmlsaXR5ICovXG4uaW5saW5lLWVkaXRvciBpbnB1dDpmb2N1cyxcbi5pbmxpbmUtZWRpdG9yIHRleHRhcmVhOmZvY3VzLFxuLmlubGluZS1lZGl0b3Igc2VsZWN0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogRWRpdGFibGUgTWV0YWRhdGEgSXRlbXMgLSBNb3JlIHN1YnRsZSBob3ZlciBlZmZlY3RzICovXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3QsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXIsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXIsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qIFJlbW92ZSB0b29sdGlwIG9uIGhvdmVyIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZTpob3Zlcjo6YWZ0ZXIsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXI6OmFmdGVyLFxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXI6OmFmdGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQ29udGVudCBFZGl0YWJsZSBIb3ZlciAtIE1vcmUgc3VidGxlICovXG4udGFzay1pdGVtLWNvbnRlbnQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggdHJhbnNpdGlvbnMgLSBPcHRpbWl6ZWQgKi9cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0YW5pbWF0aW9uOiBmYWRlSW5TY2FsZSAwLjE1cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi8qIFByZXZlbnQgbGF5b3V0IHNoaWZ0IGR1cmluZyBlZGl0aW5nICovXG4uaW5saW5lLWVkaXRvci1wbGFjZWhvbGRlciB7XG5cdG1pbi1oZWlnaHQ6IDFlbTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIC0gU2ltcGxpZmllZCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5pbmxpbmUtcHJvamVjdC1pbnB1dCxcblx0LmlubGluZS10YWdzLWlucHV0LFxuXHQuaW5saW5lLWNvbnRleHQtaW5wdXQsXG5cdC5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dCB7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdH1cblxuXHQuaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XG5cdFx0bWF4LXdpZHRoOiAyNTBweDtcblx0fVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC5pbmxpbmUtY29udGVudC1lZGl0b3IsXG5cdC5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0fVxuXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQuaW5saW5lLWVkaXRvciAqLFxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdCxcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWcsXG5cdC50YXNrLWl0ZW0tY29udGVudCxcblx0LmFkZC1tZXRhZGF0YS1idG4ge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblxuXHQuaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG5cbi8qIE5ldyBmaWVsZCBpbnB1dCBzdHlsZXMgKi9cbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0LFxuLmlubGluZS1pZC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0OmZvY3VzLFxuLmlubGluZS1pZC1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0OjpwbGFjZWhvbGRlcixcbi5pbmxpbmUtaWQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuIiwgIi8qIFRyZWUgVmlldyBzdHlsZXMgKi9cblxuLyogVHJlZSBpdGVtIGNvbnRhaW5lciAqL1xuLnRyZWUtdGFzay1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciAudGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGdhcDogMDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XG5cdGdhcDogMDtcbn1cblxuLnRyZWUtdGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRyZWUtdGFzay1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBUYXNrIGNvbnRlbnQgcm93IChjb250YWlucyB0aGUgbWFpbiB0YXNrIGNvbnRlbnQpICovXG4udHJlZS10YXNrLWl0ZW0gPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiA2cHg7XG59XG5cbi8qIEluZGVudGF0aW9uIGZvciBoaWVyYXJjaHkgKi9cbi50YXNrLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWV4cGFuZC10b2dnbGUge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLyogRXhwYW5kL2NvbGxhcHNlIHRvZ2dsZSAqL1xuLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWV4cGFuZC10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBUYXNrIGNoZWNrYm94ICovXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveDpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3guY2hlY2tlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIFRhc2sgY29udGVudCAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRyZWUtdGFzay1pdGVtLmNvbXBsZXRlZCAudGFzay1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogQWxsb3cgY29udGVudCB0byBzaHJpbmsgKi9cbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2stbWV0YWRhdGEge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogTXVsdGktbGluZSBjb250ZW50IGxheW91dCAtIHZlcnRpY2FsICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2stbWV0YWRhdGEge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFRhc2sgbWV0YWRhdGEgKi9cbi50YXNrLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stbWV0YWRhdGE6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1kdWUtZGF0ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1wcm9qZWN0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIE5ldyBmaWVsZCBzdHlsZXMgZm9yIHRyZWUgdmlldyAqL1xuLnRyZWUtdGFzay1pdGVtIC50YXNrLW9uY29tcGxldGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1kZXBlbmRzb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogQ2hpbGRyZW4gY29udGFpbmVyICovXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIge1xuXHQvKiBtYXJnaW4tbGVmdDogMjBweDsgKi9cblx0bWFyZ2luLXRvcDogNHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogVmlldyB0b2dnbGUgYnV0dG9uICovXG4udmlldy10b2dnbGUtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi52aWV3LXRvZ2dsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyOmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwgIi8qIEZvcmVjYXN0IENvbXBvbmVudCBTdHlsZXMgKi9cbi5mb3JlY2FzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGZsZXg6IDE7XG59XG5cbi5mb3JlY2FzdC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mb3JlY2FzdC10aXRsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9yZWNhc3QtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDEuMmVtO1xufVxuXG4uZm9yZWNhc3QtY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmZvcmVjYXN0LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb3JlY2FzdC1zZXR0aW5ncyB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZvcmVjYXN0LXNldHRpbmdzOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLmZvcmVjYXN0LWZvY3VzLWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZm9jdXMtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udW5mb2N1cy1idXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnVuZm9jdXMtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogTWFpbiBjb250ZW50IGxheW91dCB3aXRoIHR3byBjb2x1bW5zICovXG4uZm9yZWNhc3QtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiAzNjBweDtcblx0bWluLXdpZHRoOiAzNjBweDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4uZm9yZWNhc3QtcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmZvcmVjYXN0LXRhc2stbGlzdCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5mb3JlY2FzdC1jYWxlbmRhci1zZWN0aW9uIHtcblx0cGFkZGluZzogMTBweCAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBTdGF0cyBCYXIgKi9cbi5mb3JlY2FzdC1zdGF0cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zdGF0LWl0ZW0ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGF0LWl0ZW06OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDEwJTtcblx0d2lkdGg6IDgwJTtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnN0YXQtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uc3RhdC1pdGVtLmFjdGl2ZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRhbmltYXRpb246IGNvbG9yLXB1bHNlIDEuNXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGNvbG9yLXB1bHNlIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0xKSAhaW1wb3J0YW50O1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQxMDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMikgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5zdGF0LWl0ZW0udGctcGFzdC1kdWU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtaXRlbS50Zy10b2RheTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWl0ZW0udGctZnV0dXJlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGF0LWl0ZW0udGctcGFzdC1kdWUgLnN0YXQtY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5zdGF0LWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEdWUgU29vbiBTZWN0aW9uICovXG4uZm9yZWNhc3QtZHVlLXNvb24tc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5kdWUtc29vbi1oZWFkZXIge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiA1cHggMTVweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4uZHVlLXNvb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kdWUtc29vbi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZHVlLXNvb24tZGF0ZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5kdWUtc29vbi1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZHVlLXNvb24tZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRvZ2dsZSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC01KTtcblx0d2lkdGg6IHZhcigtLXNpemUtNC01KTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBPdmVyZHVlIHNlY3Rpb24gc3R5bGluZyAqL1xuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tY291bnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4uc2VjdGlvbi10YXNrcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mb3JlY2FzdC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uaXMtcGhvbmVcblx0LmZvcmVjYXN0LWhlYWRlcjpoYXMoLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlKVxuXHQuZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4vKiBGb3JlY2FzdCBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3Qtc2lkZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMHB4O1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcyguZm9yZWNhc3QtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4iLCAiLyogQ2FsZW5kYXIgQ29tcG9uZW50IFN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoIHtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXIteWVhciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0biB7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0cGFkZGluZzogMCAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogM3B4IDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXdcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktaGVhZGVyLmNhbGVuZGFyLXdlZWtlbmQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBBZGp1c3QgZ3JpZCBsYXlvdXQgd2hlbiB3ZWVrZW5kcyBhcmUgaGlkZGVuIGluIG1pbmkgY2FsZW5kYXIgKi9cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4vKiBOb3RlOiBXZWVrZW5kIGVsZW1lbnRzIGFyZSBub3QgY3JlYXRlZCB3aGVuIGhpZGVXZWVrZW5kcyBpcyBlbmFibGVkLFxuICAgc28gbm8gaGlkaW5nIHJ1bGVzIGFyZSBuZWVkZWQuIFRoZSBncmlkIGxheW91dCBhZGp1c3RtZW50cyBhYm92ZSBhcmUgc3VmZmljaWVudC4gKi9cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDFweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnBhc3QtZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdHBhZGRpbmc6IDFweCA0cHg7XG5cdG1hcmdpbjogMXB4IGF1dG8gMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvdW50Lmhhcy1wcmlvcml0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuXHQudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpXG5cdFx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdFx0LmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCAiLyogVGFncyBWaWV3IFN0eWxlcyAqL1xuLnRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleDogMTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXc6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSkgLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFncy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFncy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFncy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50YWctbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YWctbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udGFnLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFnLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4udGFnLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhZy1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4udGFnLWNoaWxkcmVuIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YWdzLXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YWdzLXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YWdzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YWdzLXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YWdzLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRvZ2dsZSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG59XG5cbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWhlYWRlcjpoYXMoLnRhZ3Mtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucHJvamVjdHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXItYnRuLWdyb3VwIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdHMtdHJlZS10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnByb2plY3RzLXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wcm9qZWN0LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgd2hlbiBzaG93aW5nIGNvbXBsZXRlZC90b3RhbCAqL1xuLnByb2plY3QtY291bnQucGFydGlhbGx5LWNvbXBsZXRlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnByb2plY3QtY291bnQuaGFzLXByb2dyZXNzIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4vKiBTZWxlY3RlZCBzdGF0ZSBvdmVycmlkZXMgKi9cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCAucHJvamVjdC1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCAucHJvamVjdC1jb3VudC5hbGwtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4ucHJvamVjdHMtdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItbWFpbi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItdG9wLXJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHR3aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLWhlYWRlci10b3AtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyIHN0eWxlcyBmb3IgUHJvamVjdHMgdmlldyAqL1xuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIEFkanVzdCB0aGUgZXhpc3RpbmcgcHJvZ3Jlc3MgYmFyIHN0eWxlcyB3aGVuIHVzZWQgaW4gcHJvamVjdHMgdmlldyAqL1xuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRmbGV4OiAxO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLXN0YXR1cyB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2plY3RzLXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi5wcm9qZWN0cy10YXNrLWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvamVjdHMtdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnByb2plY3RzLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIFByb2plY3RzIFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItY2xvc2Uge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lcjpoYXMoLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlcjpoYXMoLnByb2plY3RzLXNpZGViYXItY2xvc2UpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cbiIsICIvKipcbiAqIFByb2plY3QgVHJlZSBWaWV3IFN0eWxlc1xuICovXG5cbjpyb290IHtcblx0LyogRGVmYXVsdCB0cmVlIGluZGVudGF0aW9uIHNpemUgcGVyIGxldmVsICovXG5cdC0tdHJlZS1pbmRlbnQtc2l6ZTogMS41cmVtO1xuXHQvKiBHdWlkZSBsaW5lIGNvbG9yICovXG5cdC0tdHJlZS1ndWlkZS1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBDb250YWluZXIgKi9cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnByb2plY3QtdHJlZSB7XG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4vKiBUcmVlIEl0ZW0gQmFzZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LS10cmVlLWxldmVsOiAwOyAvKiBEZWZhdWx0IGxldmVsLCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgaW5saW5lIHN0eWxlICovXG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoY2FsYyh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIFNlbGVjdGVkIFN0YXRlICovXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLyogVG9nZ2xlIEJ1dHRvbiAqL1xuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS41cmVtO1xuXHRoZWlnaHQ6IDEuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUgc3ZnIHtcblx0d2lkdGg6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IDAuODc1cmVtO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlLXNwYWNlciB7XG5cdHdpZHRoOiAxLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBJY29uICovXG4ucHJvamVjdC10cmVlLWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS4yNXJlbTtcblx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogQ29udGVudCBXcmFwcGVyICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG5cdGdhcDogMC41cmVtO1xufVxuXG4vKiBQcm9qZWN0IE5hbWUgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogVGFzayBDb3VudHMgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMjVyZW07XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMS4yNXJlbTtcblx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRwYWRkaW5nOiAwIDAuMjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyBmb3IgdHJlZSB2aWV3ICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LnBhcnRpYWxseS1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwucGFydGlhbGx5LWNvbXBsZXRlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwuYWxsLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBTZWxlY3RlZCBzdGF0ZSBmb3IgY291bnQgYmFkZ2VzIGluIHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LmFsbC1jb21wbGV0ZWQsXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcblx0b3BhY2l0eTogMC45O1xufVxuXG4vKiBDaGlsZHJlbiBDb250YWluZXIgKi9cbi5wcm9qZWN0LXRyZWUtY2hpbGRyZW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFRyZWUgZ3VpZGUgbGluZXMgKG9wdGlvbmFsKSAqL1xuLnByb2plY3QtdHJlZS1pdGVtW2RhdGEtbGV2ZWxdOm5vdChbZGF0YS1sZXZlbD1cIjBcIl0pID4gLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoMC41cmVtICsgKHZhcigtLXRyZWUtbGV2ZWwpIC0gMSkgKiB2YXIoLS10cmVlLWluZGVudC1zaXplKSArIDAuNzVyZW0pO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDFweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdHJlZS1ndWlkZS1jb2xvcik7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2U7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbjpub3QoLmlzLWV4cGFuZGVkKSB7XG5cdG1heC1oZWlnaHQ6IDA7XG59XG5cbi8qIEVtcHR5IFN0YXRlICovXG4ucHJvamVjdC10cmVlLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLyogVmlldyBUb2dnbGUgQnV0dG9uICovXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxLjc1cmVtO1xuXHRoZWlnaHQ6IDEuNzVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0cy12aWV3LXRvZ2dsZS1idG4gc3ZnIHtcblx0d2lkdGg6IDFyZW07XG5cdGhlaWdodDogMXJlbTtcbn1cblxuLyogTXVsdGktc2VsZWN0IE1vZGUgSW5kaWNhdG9yICovXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDAuMjVyZW07XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmFmdGVyIHtcblx0Y29udGVudDogJ1x1MjcxMyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMC4yNXJlbTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0d2lkdGg6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IDAuODc1cmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07XG5cdH1cbn1cblxuLyogQW5pbWF0aW9uIGZvciB0cmVlIGV4cGFuc2lvbiAqL1xuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuID4gLnByb2plY3QtdHJlZS1pdGVtIHtcblx0YW5pbWF0aW9uOiBzbGlkZURvd24gMC4xNXMgZWFzZTtcbn1cbiIsICIvKiBQcm9qZWN0cyBWaWV3IFN0eWxlcyAqL1xuLnJldmlldy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDI1MHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucmV2aWV3LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFByb2plY3QgZ3JvdXAgaGVhZGVycyAqL1xuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXIge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogNHB4IDhweCA0cHg7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFByb2plY3QgaXRlbXMgaW4gdGhlIHNpZGViYXIgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi8qIFByb2plY3RzIHdpdGggcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFByb2plY3RzIHdpdGhvdXQgcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbTpub3QoLmhhcy1yZXZpZXctc2V0dGluZ3MpIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1oZWFkZXItY29udGVudCBoMyB7XG5cdG1hcmdpbjogMCAwIDhweCAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ucmV2aWV3LWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5yZXZpZXctc2VwYXJhdG9yIHtcblx0bWFyZ2luOiAwIDhweDtcbn1cblxuLnJldmlldy1mcmVxdWVuY3kge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmV2aWV3LWxhc3QtZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbm8tc2V0dGluZ3Mge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEZpbHRlciBpbmZvcm1hdGlvbiAqL1xuLnJldmlldy1maWx0ZXItaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi5yZXZpZXctdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucmV2aWV3LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUmV2aWV3IGJ1dHRvbnMgKi9cbi5yZXZpZXctYnV0dG9uLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4sXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctZWRpdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xuXHRtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBDb25maWd1cmUgTW9kYWwgKi9cbi5yZXZpZXctbW9kYWwtdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnJldmlldy1tb2RhbC1mb3JtIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnJldmlldy1tb2RhbC1maWVsZCB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtY3VzdG9tLWZyZXF1ZW5jeSB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFzdC1yZXZpZXdlZCB7XG5cdHBhZGRpbmc6IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogMjRweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uIHtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lcjpoYXMoLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbiIsICIudGFzay1zaWRlYmFyLmNvbGxhcHNlZCB7XG5cdHdpZHRoOiA0OHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFuZWwtdG9nZ2xlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC42O1xuXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4ucGFuZWwtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFNpZGViYXIgTmF2aWdhdGlvbiAqL1xuLnNpZGViYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMjBweCAwIDEwcHggMDtcblx0Z2FwOiA1cHg7XG59XG5cbi5zaWRlYmFyLW5hdi1zcGFjZXIge1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW46IDhweCAxNXB4O1xuXHRvcGFjaXR5OiAwLjc7XG5cdG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtLmlzLWFjdGl2ZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0LS1pY29uLWNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5uYXYtaXRlbS1pY29uIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5uYXYtaXRlbS1sYWJlbC5oaWRkZW4ge1xuXHRvcGFjaXR5OiAwO1xuXHR3aWR0aDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luOiAwO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYtaXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC05KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLm5hdi1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIENvbnRlbnQgU3R5bGVzICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWluLXdpZHRoOiAwO1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAudGFzay1jb250ZW50IHtcblx0bWFyZ2luLWxlZnQ6IC0yMDBweDtcblxuXHR0cmFuc2l0aW9uOiBtYXJnaW4gMC4zcyBlYXNlO1xufVxuXG4vKiBQcm9qZWN0IFRyZWUgKi9cbi50YXNrLWdlbml1cy12aWV3IC5wcm9qZWN0LXRyZWUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSxcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENvbnRlbnQgSGVhZGVyICovXG4uY29udGVudC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZvY3VzLWZpbHRlciB7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKiBUYXNrVmlldyAtIE9tbmlGb2N1cyBTdHlsZSAqL1xuXG4ud29ya3NwYWNlLWxlYWYtY29udGVudCAudGFzay1nZW5pdXMtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMZWZ0IHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR3aWR0aDogMjQwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFpbiBjb250ZW50IGFyZWEgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE5hdmlnYXRpb24gc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBQcm9qZWN0IHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMnB4IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLmV4cGFuZGVkID4gLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgaGVhZGVyICovXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC50YXNrLWNvdW50IHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWZpbHRlciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1maWx0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5maWx0ZXItaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24uZm9jdXNlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4ubW9kLWxlZnQtc3BsaXQgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLWxlZnQtc3BsaXRcbi53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLXJpZ2h0LXNwbGl0XG4ud29ya3NwYWNlLXRhYi1oZWFkZXItc3RhdHVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4pIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stZW1wdHktc3RhdGUge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1vZC1yb290IC50YXNrLWdlbml1cy10YWItaGVhZGVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplICFpbXBvcnRhbnQ7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogMTIwcHgpIHtcblx0Lm1vZC1yb290IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIFdvcmtmbG93IFF1aWNrIE1vZGFsIFN0eWxlcyAqL1xuLnF1aWNrLXdvcmtmbG93LW1vZGFsIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWluLWhlaWdodDogNDAwcHg7XG59XG5cbi53b3JrZmxvdy10ZW1wbGF0ZS1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50ZW1wbGF0ZS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi50ZW1wbGF0ZS1kZXNjLXRleHQge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luOiAwO1xufVxuXG4ud29ya2Zsb3ctZm9ybS1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1wcmV2aWV3IHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnN0YWdlcy1wcmV2aWV3LWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uc3RhZ2UtcHJldmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0bWFyZ2luOiA0cHggMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN0YWdlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLnN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc3RhZ2UtdHlwZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnN0YWdlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDRweDtcbn1cblxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ud29ya2Zsb3ctbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFdvcmtmbG93IFByb2dyZXNzIEluZGljYXRvciBTdHlsZXMgKi9cbi53b3JrZmxvdy1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRtYXJnaW46IDEwcHggMDtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLndvcmtmbG93LW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWJhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXIge1xuXHRmbGV4OiAxO1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1maWxsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1wZXJjZW50YWdlIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWluLXdpZHRoOiAzNXB4O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDhweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5wZW5kaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLmNvbXBsZXRlZC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLmN1cnJlbnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5wZW5kaW5nLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1jb250ZW50IHtcblx0ZmxleDogMTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCAud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1zdWNjZXNzKTtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmN1cnJlbnQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctbGVmdDogMTZweDtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDRweCAwO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaWNvbiB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLW5hbWUge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogc3R5bGVzL2NhbGVuZGFyL2NhbGVuZGFyLmNzcyAqL1xuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTsgLyogT3IgYWRqdXN0IGFzIG5lZWRlZCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4LWdyb3c6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTQpOyAvKiBVc2UgT2JzaWRpYW4gdmFyaWFibGVzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGhlYWRlciBmcm9tIHNocmlua2luZyAqL1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciBidXR0b24ge1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdixcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSksXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b246bm90KC5pcy1hY3RpdmUpIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWN1cnJlbnQtZGF0ZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGl0IHRvIHRha2Ugc3BhY2UgKi9cblxuXHRtYXgtd2lkdGg6IG1heCgxMjBweCwgNDAlKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB2aWV3IHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5lZWRlZCBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgZXZlbnRzICovXG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogQmFzaWMgVmlldyBTdHlsZXMgKFBsYWNlaG9sZGVycykgKi9cbi8qIC0tLSBNb250aCBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIE92ZXJsYXAgd2l0aCBncmlkIGdhcCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFNsaWdodCBkaXN0aW5jdGlvbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1tb250aCB7XG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nIGlmIGdyaWQgcHJvdmlkZXMgaXQgdmlhIGdhcCAqL1xuXHQvKiBTdHlsZXMgbW92ZWQgdG8gLmNhbGVuZGFyLW1vbnRoLWdyaWQgKi9cbn1cblxuLyogQWRkIHRoZSBncmlkIHN0eWxlcyBkaXJlY3RseSB0byB0aGUgZ3JpZCBjb250YWluZXIgZWxlbWVudCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7IC8qIEdpdmUgcm93cyBhIG1pbmltdW0gaGVpZ2h0ICovXG5cdGdhcDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cblxuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwge1xuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhIGRheSBjZWxsIGluIG1vbnRoIHZpZXcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA4MHB4OyAtIExldCBncmlkLWF1dG8tcm93cyBoYW5kbGUgaGVpZ2h0ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGxheW91dCBpbnNpZGUgdGhlIGNlbGwgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgZGF5IG51bWJlciBhbmQgZXZlbnRzICovXG5cdG1pbi13aWR0aDogMDsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjZWxsIHdpZHRoIGluIHRoZSBncmlkICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2woXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWgpLFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1zKSxcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtbCksXG5cdFx0MC44XG5cdCkgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGNvbG9yOiBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6bm90KC5pcy10b2RheSkge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy13ZWVrZW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnlcblx0KTsgLyogU2xpZ2h0bHkgZGlmZmVyZW50IGJhY2tncm91bmQgZm9yIHdlZWtlbmRzICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBudW1iZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7IC8qIFBvc2l0aW9uIHRvIHRoZSB0b3AgcmlnaHQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBldmVudHMgY29udGFpbmVyIHRvIGZpbGwgc3BhY2UgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBldmVudHMgdGhhdCBvdmVyZmxvdyB0aGUgY2VsbCBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYW4gZXZlbnQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBJbmNyZWFzZSBzcGFjaW5nIHNsaWdodGx5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCBhdmFpbGFibGUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzLWhvdmVyXG5cdCk7IC8qIE9yIHVzZSBncmV5L3N0cmlrZXRocm91Z2ggKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkge1xuXHQvKiBCYXNpYyBzdHlsZSBmb3IgbXVsdGktZGF5LCBtb3JlIGFkdmFuY2VkIGNvdWxkIHJlbW92ZSByb3VuZGVkIGNvcm5lcnMgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLXN0YXJ0IHtcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBzdGFydCBzZWdtZW50IGRpZmZlcmVudGx5ICovXG5cdC8qIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyAqL1xuXHQvKiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLWVuZCB7XG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgZW5kIHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cblx0LyogYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgKi9cblx0LyogYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgKi9cbn1cblxuLyogQWRkIG1vcmUgc3BlY2lmaWMgc3R5bGVzIGZvciB3ZWVrLCBkYXksIGFnZW5kYSB2aWV3cyBhcyB0aGV5IGFyZSBpbXBsZW1lbnRlZCAqL1xuXG4vKiBTdHlsZSBmb3IgbW9udGggdmlldyBldmVudHMgdG8gaGFuZGxlIG92ZXJmbG93ICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0LyogSW5oZXJpdHMgYmFzZSAuY2FsZW5kYXItZXZlbnQgc3R5bGVzICovXG5cdC8qIEFkZCBvdmVyZmxvdyBoYW5kbGluZyBzaW1pbGFyIHRvIHdlZWstYWxsZGF5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgKi9cblx0d2lkdGg6IDEwMCU7IC8qIEV4cGxpY2l0bHkgc2V0IHdpZHRoICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cbn1cblxuLyogLS0tIERheSBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1kYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZywgbWFuYWdlIGludGVybmFsbHkgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1zZWN0aW9uIHtcblx0ZmxleC1ncm93OiAxO1xuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5vIGxvbmdlciBuZWVkZWQgZm9yIGFic29sdXRlIGV2ZW50IHBvc2l0aW9uaW5nICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgdGhhdCB3YXMgb24gYWxsZGF5ICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFsbG93IHRpbWVsaW5lIHRvIHNjcm9sbCAqL1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtZXZlbnRzLWNvbnRhaW5lciB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdC8qIHRvcDogMDsgKi9cblx0LyogbGVmdDogMDsgKi9cblx0LyogcmlnaHQ6IDA7ICovXG5cdC8qIGJvdHRvbTogMDsgKi9cblx0Lyogei1pbmRleDogMjsgKi9cblx0LyogUmVtb3ZlIGNhbGN1bGF0ZWQgaGVpZ2h0ICovXG5cdC8qIGhlaWdodDogY2FsYygyNCAqIDQwcHgpOyAqL1xuXG5cdC8qIEFkZCBmbGV4IGxheW91dCBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzcGFjaW5nIGJldHdlZW4gZXZlbnRzICovXG59XG5cbi8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBldmVudHMgcHJldmlvdXNseSB0aW1lZCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lZCB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogQWRkIG1hcmdpbiBmb3Igc3BhY2luZyBpbiB0aGUgbmV3IGZsb3cgbGF5b3V0ICovXG5cdC8qIFVzaW5nIGdhcCBvbiBwYXJlbnQgY29udGFpbmVyIG5vdyAqL1xuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7ICovXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCAqL1xufVxuXG4vKiBLZWVwIGludGVybmFsIHN0eWxlcyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBTbGlnaHQgYmFja2dyb3VuZCBmb3IgdGltZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMnB4IDNweDtcblx0ZmxleC1ncm93OiAxO1xuXHQvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nIHdpdGhpbiB0aGUgZXZlbnQgYm94ICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAycHggM3B4O1xuXHRmbGV4LWdyb3c6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogLS0tIFdlZWsgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctd2VlayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHQvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggcmVwZWF0KDcsIDFmcik7ICovIC8qIEd1dHRlciArIDcgZGF5cyAtPiBSZW1vdmUgZ3V0dGVyICovXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7IC8qIEp1c3QgNyBkYXlzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsOmZpcnN0LWNoaWxkIHtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxLjVlbTtcblx0aGVpZ2h0OiAxLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRtYXJnaW46IGF1dG87XG5cblx0bWFyZ2luOiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4vKiBVcGRhdGVkIFdlZWsgR3JpZCBTZWN0aW9uICh3YXMgLWFsbGRheS1zZWN0aW9uKSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQtc2VjdGlvbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aGlzIHNlY3Rpb24gdG8gZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UgKi9cblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggdG8gZW5zdXJlIGdyaWQgZmlsbHMgaGVpZ2h0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFkZCBzY3JvbGwgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogTWF0Y2ggb2xkIHN0eWxlICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGdyaWQgdG8gZXhwYW5kICovXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyAvKiBNYWtlIGdyaWQgZmlsbCB0aGUgc2VjdGlvbiBoZWlnaHQgKi9cblx0Z2FwOiAxcHg7IC8qIEFkZCBnYXAgZm9yIGJvcmRlcnMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCB0b3AgYm9yZGVyICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA1ZW07ICovIC8qIFJlbW92ZSBmaXhlZCBtaW4taGVpZ2h0LCBsZXQgY29udGVudCBkaWN0YXRlICovXG5cdGJvcmRlci1sZWZ0OiBub25lOyAvKiBSZW1vdmUgcmVkdW5kYW50IGxlZnQgYm9yZGVyLCBnYXAgaGFuZGxlcyBsaW5lcyAqL1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgdmVydGljYWwgbGF5b3V0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpOyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNvbHVtbiAqL1xuXHRtaW4td2lkdGg6IDA7IC8qIEhlbHAgZ3JpZCBpdGVtIHNocmluayBwcm9wZXJseSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW46Zmlyc3QtY2hpbGQge1xuXHQvKiBObyBzcGVjaWZpYyBmaXJzdC1jaGlsZCBib3JkZXIgbmVlZGVkIG5vdyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4uaXMtd2Vla2VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0cyB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5taW5pLW1vbnRoLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdC8qIFRoaXMgY29udGFpbmVyIG1pZ2h0IG5vdCBiZSBzdHJpY3RseSBuZWNlc3NhcnkgaWYgLmNhbGVuZGFyLWRheS1jb2x1bW4gdXNlcyBmbGV4ICovXG5cdC8qIFN0eWxlcyBhcmUgYXBwbGllZCBkaXJlY3RseSB0byAuY2FsZW5kYXItZGF5LWNvbHVtbiBub3cgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBjb250YWluZXIgdG8gZ3JvdyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDNweDsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cbn1cblxuLyogRW5zdXJlIGV2ZW50cyB0YWtlIGZ1bGwgd2lkdGggYW5kIGRvbid0IGhhdmUgaG9yaXpvbnRhbCBkaXNwbGF5IHByb3BlcnRpZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbHVtbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJlc2V0IHBvc2l0aW9uIGlmIGl0IHdhcyBhYnNvbHV0ZSAqL1xuXHRsZWZ0OiBhdXRvO1xuXHR0b3A6IGF1dG87XG5cdGhlaWdodDogYXV0bzsgLyogTGV0IGNvbnRlbnQgZGV0ZXJtaW5lIGhlaWdodCAqL1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIENvbnNpc3RlbnQgc3BhY2luZyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGludGVybmFsIGNvbnRlbnQgZnJvbSBvdmVyZmxvd2luZyAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgLyogQWRkIGVsbGlwc2lzIGZvciBvdmVyZmxvdyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBFbnN1cmUgZWxsaXBzaXMgd29ya3MgKi9cbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIG9sZCB0aW1lbGluZSBzZWN0aW9uICovXG4vKlxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLXRpbWVsaW5lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuLy8gLi4uIGV4aXN0aW5nIGNvZGUgLi4uXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cbiovXG5cbi8qIC0tLSBZZWFyIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXllYXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXIteWVhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0YXV0by1maXQsXG5cdFx0bWlubWF4KDIwMHB4LCAxZnIpXG5cdCk7IC8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1taW5pLW1vbnRoIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogQ2xpcCBjb250ZW50ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtYm9keSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDJweDsgLyogU21hbGwgZ2FwIGJldHdlZW4gZGF5cyAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBMZXQgY2hpbGRyZW4gcGFydGljaXBhdGUgaW4gdGhlIGdyaWQgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXkge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBBZGp1c3QgZm9yIGNlbnRlcmluZyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLXRvZGF5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzIHtcblx0LyogSW5kaWNhdGUgZXZlbnRzIC0gZS5nLiwgYm9sZCBvciBiYWNrZ3JvdW5kIGRvdCAqL1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0LyogT3IgYWRkIGEgYmFja2dyb3VuZCBkb3Q6ICovXG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgKi9cbn1cbi8qIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHM6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAycHg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59ICovXG5cbi5hZ2VuZGEtZGF5LXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uYWdlbmRhLWRheS1kYXRlLWNvbHVtbiB7XG5cdHdpZHRoOiAyMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFnZW5kYS1kYXktZXZlbnRzLWNvbHVtbiB7XG5cdGZsZXg6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBpbnB1dC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG5cdHNjYWxlOiAwLjk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLSBEcmFnIGFuZCBEcm9wIFN0eWxlcyAtLS0gKi9cbi5jYWxlbmRhci1ldmVudC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgIWltcG9ydGFudDtcblx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhbGVuZGFyLWV2ZW50LWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBlbGVtZW50IGJlaW5nIGRyYWdnZWQgKi9cblx0b3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKSAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKSAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1ha2UgY2FsZW5kYXIgZXZlbnRzIGRyYWdnYWJsZSAqL1xuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0Y3Vyc29yOiBncmFiO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiBTb3J0YWJsZSBjb250YWluZXIgc3R5bGVzICovXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lcixcbi5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XG5cdG1pbi1oZWlnaHQ6IDIwcHg7IC8qIEVuc3VyZSB0aGVyZSdzIGFsd2F5cyBhIGRyb3Agem9uZSAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuY2FsZW5kYXItbmF2IC5wcmV2LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jYWxlbmRhci1uYXYgLm5leHQtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwgIi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHAge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHtcblx0LyogSGFuZGxlIHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHAge1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG4iLCAiLyogQ2FsZW5kYXIgQmFkZ2UgU3R5bGVzICovXG4uY2FsZW5kYXItYmFkZ2VzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogNHB4O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jYWxlbmRhci1iYWRnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblxuXHRtYXgtd2lkdGg6IDgwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBFbnN1cmUgYmFkZ2VzIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBkYXkgY2VsbCAqL1xuLmNhbGVuZGFyLWRheS1jZWxsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwgIi50Zy1rYW5iYW4tdmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgdmlldyBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgKi9cbn1cblxuLnRnLWthbmJhbi1maWx0ZXJzIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIERvbid0IHNocmluayBmaWx0ZXIgYmFyICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4udGcta2FuYmFuLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGcta2FuYmFuLXNvcnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi50Zy1rYW5iYW4tc29ydC1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi50Zy1rYW5iYW4tdG9nZ2xlLWxhYmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtY2hlY2tib3gge1xuXHRtYXJnaW46IDA7XG59XG5cbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0IHtcblx0ZmxleC1ncm93OiAxO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1hcmdpbi1yaWdodDogMTBweDsgLyogT3B0aW9uYWw6IHNwYWNlIGlmIG90aGVyIGNvbnRyb2xzIGFyZSBhZGRlZCAqL1xufVxuXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZ3JvdzogMTsgLyogVGFrZSByZW1haW5pbmcgaGVpZ2h0ICovXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsaW5nIGZvciBjb2x1bW5zICovXG5cdG92ZXJmbG93LXk6IGhpZGRlbjsgLyogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGxpbmcgaGVyZSAqL1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRnYXA6IDEwcHg7IC8qIFNwYWNlIGJldHdlZW4gY29sdW1ucyAqL1xuXHRoZWlnaHQ6IDEwMCU7IC8qIE5lZWRlZCBmb3IgY2hpbGRyZW4gaGVpZ2h0ICovXG5cblx0LyogTW9iaWxlIHNjcm9sbGluZyBpbXByb3ZlbWVudHMgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvKiBTbW9vdGggaG9yaXpvbnRhbCBzY3JvbGxpbmcgb24gaU9TICovXG5cdC8qIENvbmRpdGlvbmFsIG92ZXJzY3JvbGwgYmVoYXZpb3IgLSBwcmV2ZW50IGJvdW5jZSBvbiBkZXNrdG9wLCBhbGxvdyBvbiBtb2JpbGUgZm9yIGRyYWcgKi9cblx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBhdXRvOyAvKiBBbGxvdyBkZWZhdWx0IGJlaGF2aW9yIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXG5cdHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5OyAvKiBLZWVwIHNuYXAgZm9yIG1vYmlsZSBVWCAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHNjcm9sbCBib3VuY2UgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcblx0XHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cblx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lOyAvKiBEaXNhYmxlIHNuYXAgb24gZGVza3RvcCAqL1xuXHR9XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uIHtcblx0ZmxleDogMCAwIDI4MHB4OyAvKiBGaXhlZCB3aWR0aCBmb3IgY29sdW1ucywgbm8gc2hyaW5raW5nL2dyb3dpbmcgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGhlaWdodDogMTAwJTsgLyogRmlsbCBjb250YWluZXIgaGVpZ2h0ICovXG5cdG1heC1oZWlnaHQ6IDEwMCU7IC8qIFByZXZlbnQgZXhjZWVkaW5nIGNvbnRhaW5lciAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIG92ZXJmbG93IHdpdGhpbiB0aGUgY29sdW1uICovXG5cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXG5cdC8qIE1vYmlsZSBzY3JvbGwgc25hcCBmb3IgYmV0dGVyIFVYICovXG5cdHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cblxuLyogRGVza3RvcC1zcGVjaWZpYzogRGlzYWJsZSBzY3JvbGwgc25hcCAqL1xuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXHQudGcta2FuYmFuLWNvbHVtbiB7XG5cdFx0c2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG5cdH1cbn1cblxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW1uKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgaGVhZGVyIGZyb20gc2hyaW5raW5nICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0LyogcGFkZGluZy1yaWdodDogMDsgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOyAvKiBLZWVwIGNvbnRhaW4gZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cbn1cblxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGwgYm91bmNlICovXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG5cdC50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQge1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cblx0fVxufVxuLyogLS0tIENhcmQgU3R5bGluZyAtLS0gKi9cbi50Zy1rYW5iYW4tY2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMTBweCAxMnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogZ3JhYjtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0LyogRW5zdXJlIGNhcmQgZml0cyB3aXRoaW4gY29sdW1uIGFuZCBoYW5kbGVzIGNvbnRlbnQgKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBQcmV2ZW50IGNhcmQgZnJvbSBleGNlZWRpbmcgcGFyZW50IHdpZHRoICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogQWxsb3cgdGV4dCB3cmFwcGluZyAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHQvKiBNb2JpbGUgdG91Y2ggaW1wcm92ZW1lbnRzICovXG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBPcHRpbWl6ZSBmb3IgdG91Y2ggaW50ZXJhY3Rpb25zICovXG5cdHVzZXItc2VsZWN0OiBub25lOyAvKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIGR1cmluZyBkcmFnICovXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRnLWthbmJhbi1jYXJkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udGcta2FuYmFuLWNhcmQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xufVxuXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7IC8qIEF2b2lkIGV4dHJhIHNwYWNlIGZyb20gcGFyYWdyYXBoICovXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweCA4cHg7IC8qIFJvdyBhbmQgY29sdW1uIGdhcCAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kYXRlLFxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZ3MtY29udGFpbmVyLFxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXJcblx0KTsgLyogT3IgdXNlIHRhZyBjb2xvciAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxcHggNHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtZXJyb3IpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stZHVlLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtd2FybmluZyk7XG59XG5cbi8qIFByaW9yaXR5IGluZGljYXRvcnMgKHNpbXBsZSBleGFtcGxlKSAqL1xuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0zIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi8qIEFkZCBtb3JlIHByaW9yaXR5IHN0eWxlcyBpZiBuZWVkZWQgKi9cblxuLyogLS0tIERyYWcgYW5kIERyb3AgU3R5bGluZyAtLS0gKi9cbi50Zy1rYW5iYW4tY2FyZC1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAqL1xuXHQvKiBvcGFjaXR5OiAwLjg7ICovIC8qIFJlbW92ZWQgb3BhY2l0eSAqL1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xufVxuXG4udGcta2FuYmFuLWNhcmQtZ2hvc3Qge1xuXHQvKiBTdHlsZSBmb3IgdGhlIG9yaWdpbmFsIGNhcmQgd2hlbiBhIGNsb25lIGlzIGRyYWdnZWQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtYWN0aXZlIHtcblx0LyogU3R5bGUgZm9yIHBvdGVudGlhbCBkcm9wIHpvbmVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzICovXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpOyAqL1xuXHRvdXRsaW5lOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQudGcta2FuYmFuLWRyb3AtdGFyZ2V0LWhvdmVyIHtcblx0LyogU3R5bGUgZm9yIHRoZSBzcGVjaWZpYyBkcm9wIHpvbmUgYmVpbmcgaG92ZXJlZCBvdmVyICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcbn1cblxuLyogU3R5bGVzIGZvciBLYW5iYW4gZHJvcCBpbmRpY2F0b3JzICovXG4udGcta2FuYmFuLWNhcmQtLWRyb3AtaW5kaWNhdG9yLWJlZm9yZSB7XG5cdG1hcmdpbi10b3A6IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cblx0LyogcGFkZGluZy10b3A6IDIwcHg7ICovIC8qIFJlbW92ZWQgcGFkZGluZyAqL1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMXMgZWFzZS1vdXQsIGJvcmRlci10b3AgMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYWZ0ZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXG5cdGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogSW5kaWNhdG9yICovXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cblx0dHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjFzIGVhc2Utb3V0LCBib3JkZXItYm90dG9tIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xufVxuXG4vKiBPcHRpb25hbDogU3R5bGUgZm9yIGRyb3BwaW5nIGludG8gYW4gZW1wdHkgY29sdW1uICovXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LS1kcm9wLWluZGljYXRvci1lbXB0eSB7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRtaW4taGVpZ2h0OiA1MHB4OyAvKiBFbnN1cmUgZW1wdHkgY29sdW1uIGhhcyBzb21lIGhlaWdodCBmb3IgdGhlIGJvcmRlciAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIGJvcmRlciBpbiBoZWlnaHQgY2FsY3VsYXRpb24gKi9cblx0bWFyZ2luLXRvcDogNXB4OyAvKiBBZGQgc29tZSBzcGFjZSAqL1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXG59XG5cbi8qIEVuc3VyZSB0cmFuc2l0aW9ucyBhcmUgc21vb3RoIHdoZW4gY2xhc3NlcyBhcmUgcmVtb3ZlZCAqL1xuLnRnLWthbmJhbi1jYXJkIHtcblx0LyogRW5zdXJlIGV4aXN0aW5nIHRyYW5zaXRpb25zIGRvbid0IGNvbmZsaWN0LCBvciBhZGQgYmFzZSB0cmFuc2l0aW9uICovXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjFzIGVhc2Utb3V0LCBwYWRkaW5nIDAuMXMgZWFzZS1vdXQsXG5cdFx0Ym9yZGVyIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0LFxuXHRcdGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0OyAvKiBNZXJnZWQgdHJhbnNpdGlvbnMgKi9cbn1cblxuLmRyb3AtdGFyZ2V0LWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjIpOyAvKiBcdTUzNEFcdTkwMEZcdTY2MEVcdTdFRkZcdTgyNzJcdTgwQ0NcdTY2NkYgKi9cblx0b3V0bGluZTogMnB4IGRhc2hlZCBncmVlbjsgLyogXHU3RUZGXHU4MjcyXHU4NjVBXHU3RUJGXHU4RkI5XHU2ODQ2ICovXG5cdC8qIFx1NEY2MFx1NTNFRlx1ODBGRFx1OEZEOFx1OTcwMFx1ODk4MVx1OEMwM1x1NjU3NCBwYWRkaW5nIFx1NjIxNiBtYXJnaW4gXHU2NzY1ICdcdTY1M0VcdTU5MjcnIFx1ODlDNlx1ODlDOVx1NTMzQVx1NTdERiAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi9cblx0LyogcGFkZGluZy1ib3R0b206IDIwcHg7ICovXG59XG5cbi8qIEFkZCBDYXJkIEJ1dHRvbiAqL1xuLnRnLWthbmJhbi1hZGQtY2FyZC1jb250YWluZXIge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNvbnRhaW5lciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4vKiBTdHlsZXMgZm9yIHRoZSBBZGQgQ2FyZCBidXR0b24gaW4gYm9hcmQgdmlldyAqL1xuLnRhc2stZ2VuaXVzLWFkZC1jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLXRvcDogYXV0bzsgLyogUHVzaCB0byB0aGUgYm90dG9tIGlmIHRoZSBjb2x1bW4gdXNlcyBmbGV4ICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBNYWtlIGl0IGxlc3MgcHJvbWluZW50ICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29sdW1uIERyYWcgJiBEcm9wIFN0eWxpbmcgKi9cbi50Zy1rYW5iYW4tY29sdW1uLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjb2x1bW4gYmVpbmcgZHJhZ2dlZCAqL1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcblx0b3BhY2l0eTogMC44O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgZ2hvc3QgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyBjb2x1bW5zICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xuXHQvKiBNYWtlIGNvbHVtbiBoZWFkZXJzIGRyYWdnYWJsZSAqL1xuXHRjdXJzb3I6IGdyYWI7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWhlYWRlcjphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuIiwgIi8qIEZpbHRlciBDb21wb25lbnQgU3R5bGVzICovXG4uZmlsdGVyLWNvbXBvbmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1pbi1oZWlnaHQ6IDQ4cHg7XG5cblx0ZmxleDogMTtcbn1cblxuLyogRmlsdGVyIFBpbGxzIENvbnRhaW5lciAqL1xuLmZpbHRlci1waWxscy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmbGV4OiAxO1xufVxuXG4vKiBGaWx0ZXIgQ29udHJvbHMgKi9cbi5maWx0ZXItY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIEZpbHRlciBQaWxscyAqL1xuLmZpbHRlci1waWxsIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdHBhZGRpbmc6IDVweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRhbmltYXRpb246IGZpbHRlci1waWxsLWFwcGVhciAyMDBtcyBlYXNlLW91dDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcblx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG5cbi5maWx0ZXItcGlsbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtdGVydGlhcnkpO1xufVxuXG4uZmlsdGVyLXBpbGwtY2F0ZWdvcnkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItcGlsbC12YWx1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTEpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcblx0XHRjb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3ZlLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgQnV0dG9ucyAqL1xuLmZpbHRlci1hZGQtYnV0dG9uLFxuLmZpbHRlci1jbGVhci1hbGwtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbHRlci1hZGQtYnV0dG9uIHtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1hZGQtaWNvbiB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgRHJvcGRvd24gKi9cbi5maWx0ZXItZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiAyMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3Zlcik7XG5cdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSwgdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tc2VhcmNoIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2g6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1saXN0IHtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWF4LWhlaWdodDogMzUwcHg7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tbGFiZWwge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93LmJhY2sge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1iYWNrIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXNlcGFyYXRvciB7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1lbXB0eSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtaXRlbSB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWNhdGVnb3J5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC00KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgZmlsdGVyLXBpbGwtYXBwZWFyIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3Zpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dDtcbn1cbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXG5cdC0tZ2FudHQtaGVhZGVyLWhlaWdodDogNTBweDtcblx0LS1nYW50dC1yb3ctaGVpZ2h0OiA0MHB4O1xuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XG5cdC0tZ2FudHQtYmFyLXJhZGl1czogM3B4O1xuXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LS1nYW50dC1ncmlkLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC0tZ2FudHQtcm93LWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0LS1nYW50dC1taWxlc3RvbmUtY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2FudHQtc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZ2FudHQtaGVhZGVyLWJnIHtcblx0ZmlsbDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtaGVhZGVyLXRleHQge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmdhbnR0LWdyaWQtYmcge1xuXHRmaWxsOiB0cmFuc3BhcmVudDtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcbn1cblxuLmdhbnR0LXRhc2staXRlbSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbCB7XG5cdGZpbGw6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbi5nYW50dC10YXNrLWJhci5zdGF0dXMtY29tcGxldGVkIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XG59XG5cbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcbn1cblxuLyoqXG4gKiBHYW50dCBDaGFydCBTdHlsZXNcbiAqL1xuXG4uZ2FudHQtaGVhZGVyIHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdGhlaWdodDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdy5wcmltYXJ5IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmdhbnR0LWJvZHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSAqIC0xKTtcbn1cblxuLmdhbnR0LWdyaWQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xuXHRtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5nYW50dC1ncmlkLWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC10b2RheS1jb2xvcik7XG59XG5cbi5nYW50dC1ncmlkLXJvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xufVxuXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XG59XG5cbi5nYW50dC1iYXJzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpKTtcblx0bWluLXdpZHRoOiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xuXHR6LWluZGV4OiAxMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uZ2FudHQtdGFzay1iYXIubWlsZXN0b25lIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcblx0d2lkdGg6IDE1cHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNy41cHg7XG59XG5cbi5nYW50dC10YXNrLXByb2dyZXNzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0b3A6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG5cdC5nYW50dC1oZWFkZXItY2VsbCB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHR9XG5cblx0LmdhbnR0LXRhc2stbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0fVxufVxuXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5nYW50dC1oZWFkZXItc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5nYW50dC1oZWFkZXItdGljay1tYWpvcixcbi5nYW50dC1oZWFkZXItdGljay1taW5vcixcbi5nYW50dC1oZWFkZXItdGljay1kYXksXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG59XG4uZ2FudHQtaGVhZGVyLXRpY2stbWFqb3Ige1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcbn1cbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcbn1cblxuLmdhbnR0LWhlYWRlci1sYWJlbC1tYWpvcixcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXG4uZ2FudHQtaGVhZGVyLWxhYmVsLWRheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS1tYWpvcixcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0c3Ryb2tlLXdpZHRoOiAwLjU7XG59XG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yIHtcblx0c3Ryb2tlLXdpZHRoOiAxO1xufVxuLmdhbnR0LWdyaWQtbGluZS1ob3Jpem9udGFsIHtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMTtcbn1cblxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XG59XG5cbi5nYW50dC10YXNrLWl0ZW0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDAuNTtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2U7XG59XG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3ItcHVycGxlKTtcblx0c3Ryb2tlLXdpZHRoOiAxO1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcbn1cbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdG9wYWNpdHk6IDAuNztcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItcmVkKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRvcGFjaXR5OiAwLjY7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtaW5wcm9ncmVzcyAuZ2FudHQtdGFzay1iYXIge1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbC1mbyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHBhZGRpbmc6IDAgMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmdhbnR0LW1pbGVzdG9uZS1sYWJlbC1jb250YWluZXIgcCB7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRwYWRkaW5nOiAwIDJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsIHtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtZmlsdGVyLWFyZWEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdHdpZHRoOiAxMDAlO1xuXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcblx0ZmxleDogMTtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjYpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ZGlzcGxheTogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvcltzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdIHtcblx0b3BhY2l0eTogMDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItbGVmdCB7XG5cdGxlZnQ6IDVweDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xuXHRyaWdodDogNXB4O1xufVxuXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMyk7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItbGVmdCB7XG5cdGxlZnQ6IDA7XG59XG5cbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0LCA0MHB4KSArIHZhcigtLWZpbHRlci1oZWlnaHQsIDBweCkpO1xuXHRib3R0b206IDE1cHg7XG59XG5cbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xuXHRyaWdodDogMTVweDtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwgcCB7XG5cdG1hcmdpbjogMDtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbiIsICIvKiB0YXNrLXByb3BlcnR5IFZpZXcgU3R5bGVzICovXG4udGFzay1wcm9wZXJ0eS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1wcm9wZXJ0eS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXByb3BlcnR5LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAudGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stcHJvcGVydHktbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1wcm9wZXJ0eS1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1wcm9wZXJ0eS1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4vKiB0YXNrLXByb3BlcnR5IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZVxuXHQudGFzay1wcm9wZXJ0eS1jb250YWluZXI6aGFzKFxuXHRcdC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uLmlzLXZpc2libGVcblx0KTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyOmhhcygudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG4iLCAiLyogVGFzayBUYWJsZSBWaWV3IFN0eWxlcyAqL1xuLnRhYmxlLXZpZXctYWRhcHRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZsZXg6IDE7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdC8qIEVuc3VyZSB0YWJsZSB0YWtlcyBmdWxsIHdpZHRoIGV2ZW4gd2l0aCBtYW55IGNvbHVtbnMgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogVGFibGUgd3JhcHBlciBmb3Igc2Nyb2xsaW5nICovXG4udGFzay10YWJsZS13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogRW5hYmxlIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2Nyb2xsaW5nICovXG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdC8qIFNtb290aCBzY3JvbGxpbmcgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIEhlYWRlciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0LyogRW5zdXJlIGhlYWRlciBkb2Vzbid0IGJyZWFrIHdoZW4gc2Nyb2xsaW5nIGhvcml6b250YWxseSAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHQvKiBQcmV2ZW50IGhlYWRlciBjZWxscyBmcm9tIHNocmlua2luZyB0b28gbXVjaCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogNHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvcGFjaXR5OiAwLjU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uLmFzYyxcbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5kZXNjIHtcblx0b3BhY2l0eTogMTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEJvZHkgU3R5bGVzICovXG4udGFzay10YWJsZS1ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtY2VsbC5lZGl0aW5nIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdHJlZS1pbmRlbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7IFxufVxuXG4udGFzay10YWJsZS1jZWxsOmhhcygudGFzay10YWJsZS1leHBhbmQtYnRuKSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnRhc2stdGFibGUtcm93LnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDUycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDcycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDkycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDExMnB4O1xufVxuXG4vKiBDZWxsIFR5cGUgU3R5bGVzICovXG4udGFzay10YWJsZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNvbXBsZXRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuaW4tcHJvZ3Jlc3MgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmFiYW5kb25lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLnBsYW5uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5ub3Qtc3RhcnRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogUHJpb3JpdHkgQ2VsbCAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLm1lZGl1bSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBEYXRlIENlbGwgKi9cbi50YXNrLXRhYmxlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay10YWJsZS1kYXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b21vcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUueWVzdGVyZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudXBjb21pbmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBUYWdzIENlbGwgKi9cbi50YXNrLXRhYmxlLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10YWctY2hpcCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXRhZ3MtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIEVkaXRpbmcgSW5wdXRzICovXG4udGFzay10YWJsZS10ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Zm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xufVxuXG4vKiBUYXNrIENvdW50IEljb24gKi9cbi50YXNrLWNvdW50LWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LXJvdyB7XG5cdGhlaWdodDogODBweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktY2VsbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIExvYWRpbmcgU3RhdGUgKi9cbi50YXNrLXRhYmxlLWxvYWRpbmcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR6LWluZGV4OiAxMDA7XG59XG5cbi8qIFJlc2l6ZSBTdGF0ZSAqL1xuLnRhc2stdGFibGUucmVzaXppbmcge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUucmVzaXppbmcgKiB7XG5cdGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRhc2stdGFibGUtd3JhcHBlciB7XG5cdFx0b3ZlcmZsb3cteDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlIHtcblx0XHRtaW4td2lkdGg6IDgwMHB4OyAvKiBFbnN1cmUgdGFibGUgZG9lc24ndCBnZXQgdG9vIG5hcnJvdyAqL1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0fVxufVxuXG4vKiBQcmludCBTdHlsZXMgKi9cbkBtZWRpYSBwcmludCB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlciB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3Age1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3AgdGQge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250ZXh0IG1lbnUgc3R5bGVzICovXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIERhdGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1kYXRlLWlucHV0IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogQXV0b2NvbXBsZXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dCxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFJvdyBzZWxlY3Rpb24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlci13ZWFrKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBpbXByb3ZlbWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXG5cdHRoW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRcdGdhcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHR0ZFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggNHB4O1xuXHR9XG59XG5cbi8qIFRhc2sgVGFibGUgSGVhZGVyIEJhciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFibGUtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogVGFzayBDb3VudCBEaXNwbGF5ICovXG4udGFzay1jb3VudC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1jb3VudC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29udHJvbCBCdXR0b25zICovXG4udGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG4udGFibGUtY29udHJvbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRyZWUtbW9kZS1idG4uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRyZWUtbW9kZS1pY29uLFxuLnJlZnJlc2gtaWNvbixcbi5jb2x1bW4taWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50cmVlLW1vZGUtdGV4dCxcbi5yZWZyZXNoLXRleHQsXG4uY29sdW1uLXRleHQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZHJvcGRvd24tYXJyb3cge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi8qIENvbHVtbiBEcm9wZG93biAqL1xuLmNvbHVtbi1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWNoZWNrYm94IHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBIZWFkZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCxcblx0LnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQudGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQudGFibGUtY29udHJvbC1idG4ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgZm9yIEhlYWRlciAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50aGVtZS1kYXJrIC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQ3VzdG9tIEF1dG8tU3VnZ2VzdCBEcm9wZG93biAqL1xuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpob3Zlcixcbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRW5oYW5jZWQgVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wYXJlbnQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2stY2VsbCB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItZm9jdXMpO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1zdHJ1Y3R1cmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtbGluZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb25uZWN0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtdmVydGljYWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2staW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay10YWJsZS10b3AtbGV2ZWwtZXhwYW5kIHtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRlbnQtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnRhc2stdGFibGUtY2hpbGQtaW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXMge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEVuaGFuY2VkIFByaW9yaXR5IEljb25zICovXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2hlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvd2VzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogVHJlZSBleHBhbmQgYnV0dG9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbiB7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBPdmVycmlkZSBleGlzdGluZyB0cmVlIGluZGVudGF0aW9uIHRvIHVzZSBuZXcgc3lzdGVtICovXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTJweDsgLyogUmVzZXQgdG8gbm9ybWFsIHBhZGRpbmcsIGxldCB0cmVlIHN0cnVjdHVyZSBoYW5kbGUgaW5kZW50YXRpb24gKi9cbn1cbiIsICIvKiBUYXNrIEdlbml1cyAtIFF1YWRyYW50IFZpZXcgU3R5bGVzICovXG5cbi8qIE1haW4gUXVhZHJhbnQgQ29udGFpbmVyICovXG4udGctcXVhZHJhbnQtY29tcG9uZW50LWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEhlYWRlciBTZWN0aW9uICovXG4udGctcXVhZHJhbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRnLXF1YWRyYW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luOiAwO1xufVxuXG4udGctcXVhZHJhbnQtY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcbn1cblxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogRmlsdGVyIFNlY3Rpb24gKi9cbi50Zy1xdWFkcmFudC1maWx0ZXItY29udGFpbmVyIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFF1YWRyYW50IEdyaWQgKi9cbi50Zy1xdWFkcmFudC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG5cdGdhcDogMXB4O1xuXHRmbGV4OiAxO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEluZGl2aWR1YWwgUXVhZHJhbnQgQ29sdW1ucyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi0taGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogUXVhZHJhbnQgSGVhZGVycyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4udGctcXVhZHJhbnQtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXF1YWRyYW50LXByaW9yaXR5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW46IDA7XG59XG5cbi50Zy1xdWFkcmFudC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi50Zy1xdWFkcmFudC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLyogUXVhZHJhbnQgQ29udGVudCBBcmVhcyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA4cHg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi8qIFF1YWRyYW50IFNwZWNpZmljIFN0eWxpbmcgLSBTdWJ0bGUgYWNjZW50IGJhcnMgKi9cbi5xdWFkcmFudC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC1ub3QtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC1ub3QtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNDtcbn1cblxuLyogVGFzayBDYXJkcyAqL1xuLnRnLXF1YWRyYW50LWNhcmQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDphY3RpdmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBDYXJkIEhlYWRlciAqL1xuLnRnLXF1YWRyYW50LWNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtY2hlY2tib3gge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG4ge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENhcmQgQ29udGVudCAqL1xuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctcXVhZHJhbnQtdGFnLS11cmdlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtdGFnLS1pbXBvcnRhbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLyogQ2FyZCBNZXRhZGF0YSAqL1xuLnRnLXF1YWRyYW50LWNhcmQtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS11cmdlbnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaWNvbiB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtbmFtZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bWF4LXdpZHRoOiAxMjBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWxpbmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0b3BhY2l0eTogMC42O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4vKiBQcmlvcml0eSBDbGFzc2VzIC0gU3VidGxlIGxlZnQgYm9yZGVyICovXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaGVzdCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1oaWdoIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbWVkaXVtIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93IHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93ZXN0IHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHJhZyBhbmQgRHJvcCBTdGF0ZXMgKi9cbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XG5cdG9wYWNpdHk6IDAuNDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkIC0gZm9sbG93aW5nIGthbmJhbiBwYXR0ZXJuICovXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXG59XG5cbi8qIFJlbW92ZSBvbGQgZHJhZyBjbGFzc2VzIHRoYXQgYXJlIG5vIGxvbmdlciB1c2VkICovXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRnLXF1YWRyYW50LWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNhcmQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29udHJvbHMge1xuXHRcdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR9XG59XG5cbi8qIEZvY3VzIHN0YXRlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuLnRnLXF1YWRyYW50LWNhcmQ6Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggaW50ZXJhY3Rpb25zICovXG5Aa2V5ZnJhbWVzIGNhcmRDb21wbGV0ZSB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1jb21wbGV0ZWQge1xuXHRhbmltYXRpb246IGNhcmRDb21wbGV0ZSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBJbXByb3ZlZCBob3ZlciBzdGF0ZXMgKi9cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBCZXR0ZXIgdmlzdWFsIGhpZXJhcmNoeSAqL1xuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTGF6eSBsb2FkaW5nIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LWxvYWRpbmcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWRpbmctc3Bpbm5lciB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi50Zy1xdWFkcmFudC1zcGlubmVyIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkaW5nLW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBFbmhhbmNlZCBkcmFnIGFuZCBkcm9wIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LWRyYWdnaW5nIHtcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xufVxuXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcgKiB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcblx0b3BhY2l0eTogMC44O1xuXHRib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XG5cdG9wYWNpdHk6IDAuOTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tLWRyYWctdGFyZ2V0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJEcm9wIHRhc2sgaGVyZVwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG9wYWNpdHk6IDAuNztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEZlZWRiYWNrIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAyMHB4O1xuXHRyaWdodDogMjBweDtcblx0ei1pbmRleDogMTAwMDA7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tc2hvdyB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1lcnJvciAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay1pY29uIHtcblx0Zm9udC1zaXplOiAxLjJyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stdGV4dCB7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBFbmhhbmNlZCBjYXJkIGludGVyYWN0aW9ucyAqL1xuLnRnLXF1YWRyYW50LWNhcmQge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjdXJzb3I6IGdyYWI7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZztcbn1cblxuLyogSW1wcm92ZWQgZW1wdHkgc3RhdGUgKi9cbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtaW4taGVpZ2h0OiAxMjBweDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLyogTG9hZGluZyBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgc3BpbiB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59XG5cbi50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XG5cdGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xuXHRcdHRvcDogMTBweDtcblx0XHRyaWdodDogMTBweDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBtb2RlIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQudGctcXVhZHJhbnQtY2FyZCxcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayxcblx0LnRnLXF1YWRyYW50LWNhcmQtLWNob3Nlbixcblx0LnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LXNwaW5uZXIgY2lyY2xlIHtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLyogU2Nyb2xsIGNvbnRhaW5lciBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cdHNjcm9sbGJhci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpIHRyYW5zcGFyZW50O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogNnB4O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogTG9hZCBtb3JlIGluZGljYXRvciBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtLXZpc2libGUge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLXNwaW5uZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBBbmltYXRlIHRoZSBPYnNpZGlhbiBsb2FkZXIgaWNvbiAqL1xuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHN2ZyB7XG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENvbHVtbiBsYXlvdXQgYWRqdXN0bWVudHMgZm9yIHNjcm9sbGluZyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogNDAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjVyZW07XG59XG5cbi8qIFNtb290aCBzY3JvbGxpbmcgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIExvYWRpbmcgc3RhdGVzIGR1cmluZyBzY3JvbGwgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ubG9hZGluZy1tb3JlIC50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xuXHRvcGFjaXR5OiAxO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSW50ZXJzZWN0aW9uIG9ic2VydmVyIHRhcmdldCBzdHlsaW5nICovXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0bWluLWhlaWdodDogNDBweDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi8qIEVuaGFuY2VkIGVtcHR5IHN0YXRlIGZvciBzY3JvbGxhYmxlIGNvbnRlbnQgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBHcmlkIGxheW91dCBhZGp1c3RtZW50cyAqL1xuLnRnLXF1YWRyYW50LWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDBweCk7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIHNjcm9sbCBjb250YWluZXIgaGVpZ2h0cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRcdG1heC1oZWlnaHQ6IDcwdmg7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlO1xuXHR3aWxsLWNoYW5nZTogY29udGVudHM7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlIHBhaW50O1xufVxuXG4vKiBTY3JvbGwgaW5kaWNhdG9ycyAqL1xuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIuaGFzLXNjcm9sbDo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIGJvdHRvbSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLFxuXHRcdHRyYW5zcGFyZW50XG5cdCk7XG5cdHotaW5kZXg6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IHN0aWNreTtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSwgdHJhbnNwYXJlbnQpO1xuXHR6LWluZGV4OiAxO1xufVxuIiwgIi50Zy1oYWJpdC1jb21wb25lbnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xuXHRwYWRkaW5nOiAxcmVtOyAvKiBwLTQgKi9cblx0aGVpZ2h0OiAxMDAlOyAvKiBBbGxvdyBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09IEhhYml0IExpc3QgQ29udGFpbmVyID09PSAqL1xuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBcdTVDMEZcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdGdhcDogMC43NXJlbTtcblx0fVxufVxuXG4vKiBcdTRFMkRcdTdCNDlcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgfjc2OHB4ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxufVxuXG4vKiBcdTU5MjdcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdH1cbn1cbi8qIEFkanVzdCBtYXgtd2lkdGgvY29sdW1ucyBiYXNlZCBvbiBkZXNpcmVkIGxheW91dCAqL1xuXG4uaGFiaXQtY2FyZC13cmFwcGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4vKiA9PT0gQmFzZSBDYXJkIFN0eWxlcyA9PT0gKi9cbi5oYWJpdC1jYXJkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIFN0YW5kYXJkIG1lZGl1bSByYWRpdXMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBoZWFkZXIgYW5kIGNvbnRlbnQgKi9cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGdhcDogMC41cmVtO1xuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC10aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpOyAvKiBMYXJnZXIgVUkgZm9udCAqL1xuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGl0bGUgdG8gdGFrZSBzcGFjZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGxvbmcgbmFtZXMgYnJlYWtpbmcgbGF5b3V0ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGFiaXQtbmFtZS5oYWJpdC1uYW1lOmhvdmVyIHtcblx0LyogU3BlY2lmaWNpdHkgZm9yIGhvdmVyICovXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgLyogQ29uc2lzdGVudCBwYWRkaW5nICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXG5cdC8qIExheW91dCBzcGVjaWZpY3MgZGVmaW5lZCBwZXIgY2FyZCB0eXBlICovXG59XG5cbi8qID09PSBEYWlseSBIYWJpdCBDYXJkID09PSAqL1xuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xuXHQvKiBib3JkZXItYm90dG9tOiBub25lOyAqL1xufVxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XG5cdC8qIFN0eWxlIGNvbnRhaW5lciBpZiBuZWVkZWQgKi9cbn1cbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XG5cdC0tY2hlY2tib3gtc2l6ZTogMS4yNXJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXG59XG4uZGFpbHktaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHQvKiBDb250YWlucyBoZWF0bWFwICovXG5cdHBhZGRpbmc6IDByZW0gMXJlbSAwLjc1cmVtOyAvKiBBZGp1c3QgcGFkZGluZyBhcm91bmQgaGVhdG1hcCAqL1xufVxuXG4vKiA9PT0gQ291bnQgSGFiaXQgQ2FyZCA9PT0gKi9cbi5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIERlZmF1bHQgbW9iaWxlIGxheW91dCAqL1xuXHRnYXA6IDAuNzVyZW07IC8qIEFkanVzdGVkIGdhcCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMnJlbTtcblx0aGVpZ2h0OiA0cmVtOyAvKiBTbGlnaHRseSBzbWFsbGVyIHRoYW4gaC0xNiAqL1xuXHR3aWR0aDogNHJlbTtcblx0YXNwZWN0LXJhdGlvOiAxO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGxlciByYWRpdXMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS41cmVtOyAvKiBGb3IgaWNvbiAqL1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWNhcmQtbmFtZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZsZXgtZ3JvdzogMTtcbn1cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pbmZvIGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgQ291bnQgQ2FyZCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdC8qIHNtIGJyZWFrcG9pbnQgKi9cblx0LmNvdW50LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRnYXA6IDFyZW07XG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBpdCB0byBzaHJpbmsgKi9cblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpZ24gcHJvZ3Jlc3MgdG8gdGhlIHJpZ2h0ICovXG5cdH1cblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xuXHRcdHdpZHRoOiAxMDAlOyAvKiBBbGxvdyBoZWF0bWFwIHRvIGRlZmluZSBpdHMgb3duIHdpZHRoICovXG5cdH1cbn1cblxuLyogPT09IFNjaGVkdWxlZCBIYWJpdCBDYXJkID09PSAqL1xuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBNb2JpbGUgZGVmYXVsdCAqL1xuXHRnYXA6IDAuNzVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBjb250cm9scyBvbiBtb2JpbGUgKi9cbn1cblxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1ldmVudC1kcm9wZG93biB7XG5cdHdpZHRoOiBhdXRvOyAvKiBBdXRvIHdpZHRoIGRyb3Bkb3duICovXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgU2NoZWR1bGVkIENhcmQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiB0b3AgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXG5cdFx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHRha2UgYXZhaWxhYmxlIHNwYWNlICovXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtOyAvKiBTcGFjZSBiZXR3ZWVuIGhlYXRtYXAgYW5kIGNvbnRyb2xzICovXG5cdH1cblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XG5cdFx0d2lkdGg6IGF1dG87IC8qIFNocmluayBjb250cm9scyAqL1xuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gY29udHJvbHMgbGVmdCAqL1xuXHR9XG59XG5cbi8qID09PSBNYXBwaW5nIEhhYml0IENhcmQgPT09ICovXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cblx0Z2FwOiAwLjc1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuNzVyZW07IC8qIExhcmdlciBlbW9qaS90ZXh0ICovXG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwcHg7IC8qIExpbWl0IGJ1dHRvbiB3aWR0aCAqL1xuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJnKTtcbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcge1xuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cblx0bWF4LXdpZHRoOiAyMDBweDsgLyogTGltaXQgc2xpZGVyIHdpZHRoICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIHNsaWRlciBsYWJlbCAqL1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgTWFwcGluZyBDYXJkICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGl0ZW1zIHZlcnRpY2FsbHkgKi9cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdH1cblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEtlZXAgYnV0dG9uIGFib3ZlIHNsaWRlciAqL1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAwLjc1cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXG5cdFx0aGVpZ2h0OiA0cmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcblx0XHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIHdpZHRoIG9mIGNvbnRyb2wgYXJlYSAqL1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxufVxuXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTsgLyogUGlsbCBzaGFwZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIEZvciB0ZXh0IG92ZXJsYXkgKi9cbn1cbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcbn1cbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcblx0bWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xufVxuLmhhYml0LXByb2dyZXNzLXRleHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7IC8qIFRleHQgY29sb3Igb24gZmlsbGVkIHBhcnQgKi9cblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiA9PT0gSGVhdG1hcCBTdHlsZXMgPT09ICovXG4udGctaGVhdG1hcC1yb290IHtcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXG59XG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0Z2FwOiAzcHg7IC8qIFNtYWxsIGdhcCBiZXR3ZWVuIGNlbGxzICovXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cbn1cblxuLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdGdhcDogM3B4OyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBjZWxscyAqL1xuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogU21hbGwgZ2FwIGJldHdlZW4gY2VsbHMgKi9cblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWF0bWFwLWNlbGwge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIFNtYWxsIHJhZGl1cyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjZWxscyBmcm9tIHNocmlua2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxuXHQpOyAvKiBEZWZhdWx0IGJhY2tncm91bmQgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8qIEJvcmRlciBmb3IgYmxhbmsvY3VzdG9tICovXG59XG5cbi8qIEhlYXRtYXAgU2hhcGVzICovXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XG5cdC8qIERlZmluZWQgYnkgc2l6ZSAqL1xufVxuLmhlYXRtYXAtY2VsbC1kb3Qge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIEhlYXRtYXAgU2l6ZXMgKi9cbi5oZWF0bWFwLXNtIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMC43NXJlbTtcblx0aGVpZ2h0OiAwLjc1cmVtO1xufVxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS40cmVtO1xuXHRoZWlnaHQ6IDEuNHJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59XG5cbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xuXHR3aWR0aDogMS4xcmVtO1xuXHRoZWlnaHQ6IDEuMXJlbTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG59IC8qIE1hcHBpbmcvU2NoZWR1bGVkICovXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xufSAvKiBEYWlseSAqL1xuXG4vKiBIZWF0bWFwIFZhcmlhbnRzICovXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xuXHQvKiBEZWZhdWx0IHN0eWxlcyBhbHJlYWR5IHNldCAqL1xufVxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IG9uIGZpbGxlZCAoZS5nLiwgZW1vamkpICovXG59XG5cbi5oZWF0bWFwLWNlbGwuaGFzLWN1c3RvbS1jb250ZW50OmhhcygucGllLWRvdC1jb250YWluZXIpIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogdW5zZXQ7XG59XG5cbi8qIFN0eWxlIGZvciBjZWxscyB3aXRoIGN1c3RvbSBjb250ZW50IGxpa2UgUGllRG90IG9yIEVtb2ppICovXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudCxcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogVXNlIGNhcmQgYmFja2dyb3VuZCAqL1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXG59XG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cbn1cblxuLyogUGllRG90IENvbnRhaW5lciAqL1xuLnBpZS1kb3QtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGllLWRvdC1jb250YWluZXIgc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cbn1cblxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xuLmhhYml0LWVtcHR5LXN0YXRlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogPT09IEljb25zIFBsYWNlaG9sZGVyID09PSAqL1xuLmhhYml0LWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8qIHdpZHRoOiAxZW07ICovXG5cdGhlaWdodDogMWVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG5cdC0taWNvbi1zaXplOiAxLjVyZW07XG59XG4iLCAiLyogRGVmaW5lIHRoZW1lIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuXHQvKiBUYXNrIHN0YXR1cyBjb2xvcnMgKi9cblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcblx0LS10YXNrLWRvaW5nLWNvbG9yOiAjODBkZWU1O1xuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmOWQ5MjM7XG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNlYjUzNTM7XG5cdC0tdGFzay1wbGFubmVkLWNvbG9yOiAjOWMyN2IwOyAvKiBQbGFubmVkIHRhc2sgY29sb3IgKi9cblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjMjE5NmYzOyAvKiBRdWVzdGlvbiB0YXNrcyAqL1xuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZjQ0MzM2OyAvKiBJbXBvcnRhbnQgdGFza3MgKi9cblx0LS10YXNrLXN0YXItY29sb3I6ICNmZmMxMDc7IC8qIFN0YXIgdGFza3MgKi9cblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjNjA3ZDhiOyAvKiBRdW90ZSB0YXNrcyAqL1xuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM3OTU1NDg7IC8qIExvY2F0aW9uIHRhc2tzICovXG5cdC0tdGFzay1ib29rbWFyay1jb2xvcjogI2ZmOTgwMDsgLyogQm9va21hcmsgdGFza3MgKi9cblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMDBiY2Q0OyAvKiBJbmZvcm1hdGlvbiB0YXNrcyAqL1xuXHQtLXRhc2staWRlYS1jb2xvcjogIzljMjdiMDsgLyogSWRlYSB0YXNrcyAqL1xuXHQtLXRhc2stcHJvcy1jb2xvcjogIzRjYWY1MDsgLyogUHJvcyB0YXNrcyAqL1xuXHQtLXRhc2stY29ucy1jb2xvcjogI2Y0NDMzNjsgLyogQ29ucyB0YXNrcyAqL1xuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNTcyMjsgLyogRmlyZSB0YXNrcyAqL1xuXHQtLXRhc2sta2V5LWNvbG9yOiAjZmZkNzAwOyAvKiBLZXkgdGFza3MgKi9cblx0LS10YXNrLXdpbi1jb2xvcjogIzY2YmI2YTsgLyogV2luIHRhc2tzICovXG5cdC0tdGFzay11cC1jb2xvcjogIzRjYWY1MDsgLyogVXAgdGFza3MgKi9cblx0LS10YXNrLWRvd24tY29sb3I6ICNmNDQzMzY7IC8qIERvd24gdGFza3MgKi9cblx0LS10YXNrLW5vdGUtY29sb3I6ICM5ZTllOWU7IC8qIE5vdGUgdGFza3MgKi9cblx0LS10YXNrLWFtb3VudC1jb2xvcjogIzhiYzM0YTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgKi9cblx0LS10YXNrLXNwZWVjaC1jb2xvcjogIzAzYTlmNDsgLyogU3BlZWNoIGJ1YmJsZSB0YXNrcyAqL1xuXG5cdC8qIFByb2dyZXNzIGJhciBncmFkaWVudCBjb2xvcnMgLSBsaWdodCB0aGVtZSAqL1xuXHQtLXByb2dyZXNzLTAtY29sb3I6ICNhZTQzMWU7XG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XG5cdC0tcHJvZ3Jlc3MtNzUtY29sb3I6ICM2YmNiNzc7XG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xuXG5cdC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cblxuLyogRGFyayB0aGVtZSBjb2xvciBhZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsge1xuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xuXHQtLXRhc2stZG9pbmctY29sb3I6ICMzNzlmYTc7XG5cdC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcjogI2ZmYzEwNztcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2Y0NDMzNjtcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICNjZTkzZDg7IC8qIFBsYW5uZWQgdGFzayBjb2xvciBmb3IgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stcXVlc3Rpb24tY29sb3I6ICM0MmE1ZjU7IC8qIFF1ZXN0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2VmNTM1MDsgLyogSW1wb3J0YW50IHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXN0YXItY29sb3I6ICNmZmQ1NGY7IC8qIFN0YXIgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stcXVvdGUtY29sb3I6ICM5MGE0YWU7IC8qIFF1b3RlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjOGQ2ZTYzOyAvKiBMb2NhdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1ib29rbWFyay1jb2xvcjogI2ZmYjc0ZDsgLyogQm9va21hcmsgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2staW5mb3JtYXRpb24tY29sb3I6ICMyNmM2ZGE7IC8qIEluZm9ybWF0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWlkZWEtY29sb3I6ICNjZTkzZDg7IC8qIElkZWEgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stcHJvcy1jb2xvcjogIzY2YmI2YTsgLyogUHJvcyB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1jb25zLWNvbG9yOiAjZWY1MzUwOyAvKiBDb25zIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjcwNDM7IC8qIEZpcmUgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2sta2V5LWNvbG9yOiAjZmZkNzAwOyAvKiBLZXkgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2std2luLWNvbG9yOiAjODFjNzg0OyAvKiBXaW4gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stdXAtY29sb3I6ICM2NmJiNmE7IC8qIFVwIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWRvd24tY29sb3I6ICNlZjUzNTA7IC8qIERvd24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stbm90ZS1jb2xvcjogI2JkYmRiZDsgLyogTm90ZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICNhZWQ1ODE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLXNwZWVjaC1jb2xvcjogIzI5YjZmNjsgLyogU3BlZWNoIGJ1YmJsZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xuXHQtLXByb2dyZXNzLTUwLWNvbG9yOiAjYjRjNmE2O1xuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcblxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG4iLCAiLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIHtcblx0d2lkdGg6IG1heCg3MCUsIDUwMHB4KTtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIFZpZXcgQ29uZmlndXJhdGlvbiBNb2RhbCAqL1xuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0ge1xuXHQvKiBBZGQgc29tZSBzcGFjaW5nIGJldHdlZW4gc2V0dGluZ3MgaW4gdGhlIG1vZGFsICovXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbFxuXHQuc2V0dGluZy1pdGVtOm5vdCguc2V0dGluZy1pdGVtLWhlYWRpbmcpXG5cdC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdC8qIEVuc3VyZSBsYWJlbHMgYXJlIGFsaWduZWQgd2VsbCAqL1xuXHR3aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuXHQvKiBFbnN1cmUgdGV4dCBpbnB1dHMgdGFrZSBhdmFpbGFibGUgd2lkdGggKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0LyogU3R5bGUgZGVzY3JpcHRpb25zICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IE1hbmFnZW1lbnQgTGlzdCBpbiBTZXR0aW5ncyBUYWIgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMTBweCAwO1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgYmV0dGVyIGNvbnRyb2wgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWxpZ24gaXRlbXMgdmVydGljYWxseSAqL1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBuYW1lL2Rlc2NyaXB0aW9uIHRvIHRha2UgdXAgc3BhY2UgKi9cblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0LyogS2VlcCBjb250cm9scyB0b2dldGhlciAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDsgLyogU3BhY2UgYmV0d2VlbiB0b2dnbGVzL2J1dHRvbnMgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuYnV0dG9uLWNvbXBvbmVudCB7XG5cdHBhZGRpbmc6IDVweDsgLyogU21hbGxlciBwYWRkaW5nIGZvciBpY29uIGJ1dHRvbnMgKi9cblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LWRlbGV0ZS1idXR0b24ge1xuXHQvKiBTdHlsZSBhY3Rpb24gYnV0dG9ucyAqL1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogU3BlY2lmaWMgc3R5bGluZyBmb3IgdG9nZ2xlcyBpbiB0aGUgbGlzdCAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuY2hlY2tib3gtY29udGFpbmVyIHtcblx0bWFyZ2luOiAwOyAvKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zIGlmIGFueSAqL1xufVxuXG4vKiBJY29uIFBpY2tlciBNZW51IFN0eWxlcyAoU2NvcGVkKSAqL1xuLnRnLWljb24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHBhZGRpbmc6IDhweDtcblx0bWF4LWhlaWdodDogMzAwcHg7IC8qIExpbWl0IG92ZXJhbGwgbWVudSBoZWlnaHQgKi9cblx0d2lkdGg6IDI1MHB4O1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQvKiBQcmV2ZW50IHBhZGRpbmcgZnJvbSBhZmZlY3RpbmcgbWF4LWhlaWdodCBjYWxjdWxhdGlvbiBmb3IgZmxleCBjaGlsZHJlbiAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBSZW1vdmUgc3R5bGVzIGZvciB0aGUgaW50ZXJtZWRpYXRlIGNvbnRhaW5lciAqL1xuLyogLmJtLXBsdWdpbi1pY29uLW1lbnUgLmJtLW1lbnUtY29udGVudCB7IFxuXHRmbGV4LWdyb3c6IDE7IFxuXHRvdmVyZmxvdy15OiBhdXRvOyBcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLWhlaWdodDogMDsgXG59ICovXG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtc2VhcmNoIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IHNlYXJjaCBiYXIgZnJvbSBzaHJpbmtpbmcgKi9cbn1cblxuLnRnLWljb24tbWVudSAudGctbWVudS1pY29ucyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogSWNvbiBsaXN0IHRha2VzIHJlbWFpbmluZyB2ZXJ0aWNhbCBzcGFjZSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBNYWtlIHRoZSBpY29uIGxpc3Qgc2Nyb2xsYWJsZSAqL1xuXHRtaW4taGVpZ2h0OiAwOyAvKiBDcnVjaWFsIGZvciBhbGxvd2luZyBmbGV4IGNoaWxkIHRvIHNocmluayBhbmQgc2Nyb2xsICovXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMycHgsIDFmcikpO1xuXHRnYXA6IDRweDtcblx0LyogUmVtb3ZlIG1pbi1oZWlnaHQgcHJldmlvdXNseSBuZWVkZWQgZm9yIGdyaWQgaW4gZmxleCAqL1xufVxuXG4vKiBTY29wZSB0aGUgY2xpY2thYmxlIGljb24gKndpdGhpbiogdGhlIG1lbnUgKi9cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIENoZWNrYm94IFN0YXR1cyBTd2l0Y2hlciBTdHlsZXMgKi9cbi50YXNrLXN0YXR1cy13aWRnZXQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi50YXNrLXN0YXRlLmxpdmUtcHJldmlldy1tb2RlIHtcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50YXNrLXN0YXR1cy13aWRnZXQgLmxpc3QtYnVsbGV0OjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3QtbWFya2VyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4vKiBUT0RPIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIERPSU5HIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiL1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvaW5nLWNvbG9yKTtcbn1cblxuLyogSU4tUFJPR1JFU1Mgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI+XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4vKiBET05FIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwieFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIlhcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4vKiBDQU5DRUxMRUQgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCItXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLyogU0NIRURVTEVEIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4vKiBRVUVTVElPTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj9cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1xdWVzdGlvbi1jb2xvcik7XG59XG5cbi8qIElNUE9SVEFOVCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiFcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbXBvcnRhbnQtY29sb3IpO1xufVxuXG4vKiBTVEFSIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiKlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXN0YXItY29sb3IpO1xufVxuXG4vKiBRVU9URSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT0nXCInXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1b3RlLWNvbG9yKTtcbn1cblxuLyogTE9DQVRJT04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJsXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stbG9jYXRpb24tY29sb3IpO1xufVxuXG4vKiBCT09LTUFSSyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImJcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1ib29rbWFyay1jb2xvcik7XG59XG5cbi8qIElORk9STUFUSU9OIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiaVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluZm9ybWF0aW9uLWNvbG9yKTtcbn1cblxuLyogSURFQSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIklcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pZGVhLWNvbG9yKTtcbn1cblxuLyogUFJPUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInBcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1wcm9zLWNvbG9yKTtcbn1cblxuLyogQ09OUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImNcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb25zLWNvbG9yKTtcbn1cblxuLyogRklSRSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImZcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1maXJlLWNvbG9yKTtcbn1cblxuLyogS0VZIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwia1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWtleS1jb2xvcik7XG59XG5cbi8qIFdJTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIndcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay13aW4tY29sb3IpO1xufVxuXG4vKiBVUCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay11cC1jb2xvcik7XG59XG5cbi8qIERPV04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJkXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG93bi1jb2xvcik7XG59XG5cbi8qIE5PVEUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJuXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stbm90ZS1jb2xvcik7XG59XG5cbi8qIEFNT1VOVC9TQVZJTkdTIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiU1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFtb3VudC1jb2xvcik7XG59XG5cbi8qIFNQRUVDSCBCVUJCTEUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIwXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMVwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjJcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIzXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjVcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI2XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiN1wiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjhcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI5XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stc3BlZWNoLWNvbG9yKTtcbn1cblxuLnRhc2stZmFrZS1idWxsZXQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiA1cHg7XG5cdGhlaWdodDogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLWZha2UtYnVsbGV0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stc3RhdGUtY29udGFpbmVyIHtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFzayBHZW5pdXMgT25ib2FyZGluZyBTdHlsZXMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1haW4gb25ib2FyZGluZyBzdHlsZXMgLSBzaGFyZWQgYnkgbW9kYWwgYW5kIHZpZXcgKi9cbi5vbmJvYXJkaW5nLW1vZGFsLFxuLm9uYm9hcmRpbmctdmlldyB7XG5cdC0tZGlhbG9nLXdpZHRoOiA4MDBweDtcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5MHZoO1xuXHQtLW9uYm9hcmRpbmctc3BhY2luZzogdmFyKC0tc2l6ZS00LTQpO1xuXHQtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHQtLW9uYm9hcmRpbmctdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIE1vZGFsIHNwZWNpZmljIHN0eWxlcyAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5tb2RhbC1jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kYWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLXJhZGl1cyk7XG5cdG1heC13aWR0aDogdmFyKC0tZGlhbG9nLW1heC13aWR0aCk7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcblx0aGVpZ2h0OiA5MHZoO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLyogVmlldyBzcGVjaWZpYyBzdHlsZXMgKi9cbi5vbmJvYXJkaW5nLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctY29udGVudCB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSGVhZGVyIHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIHZhcigtLXNpemUtNC0yKVxuXHRcdHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctc3VidGl0bGUsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXN1YnRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xufVxuXG4vKiBGb290ZXIgc2VjdGlvbiAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctZm9vdGVyLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpXG5cdFx0dmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Ym9yZGVyLXRvcDogdmFyKC0tbW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWJ1dHRvbnMsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNldHRpbmdzIENoZWNrIFN0ZXAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hlY2stc2VjdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLXNlY3Rpb24ge1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZXMtc3VtbWFyeS1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlcy1zdW1tYXJ5LWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0yKSAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZXMtc3VtbWFyeS1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlcy1zdW1tYXJ5LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtY2hlY2ssXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtdGV4dCB7XG5cdGZsZXg6IDE7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLXF1ZXN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1xdWVzdGlvbiB7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1vcHRpb25zLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YSxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSksXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdlbGNvbWUgU3RlcCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC53ZWxjb21lLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC53ZWxjb21lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlcy1vdmVydmlldyxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmUtaXRlbSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmUtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHVwLW5vdGUsXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1ub3RlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHVwLWRlc2NyaXB0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVXNlciBMZXZlbCBTZWxlY3Rpb24gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQ6aG92ZXIsXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuY2FyZC1ob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1pY29uIHtcblx0Zm9udC1zaXplOiAxLjhlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLXRpdGxlIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjAyMlwiO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTMpKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLnJlY29tbWVuZGF0aW9uLWJhZGdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbmZpZ3VyYXRpb24gUHJldmlldyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctb3ZlcnZpZXcsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3ZlcnZpZXcge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubW9kZS1jYXJkLFxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1jYXJkIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubW9kZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1pY29uIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctZmVhdHVyZXMsXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1zZXR0aW5ncyxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1zZXR0aW5ncyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5lbmFibGVkLWZlYXR1cmVzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZS1jaGVjayxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZpZXdzLWdyaWQsXG4ub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmlldy1pdGVtLFxuLm9uYm9hcmRpbmctdmlldyAudmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3LWljb24sXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWljb24ge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3LW5hbWUsXG4ub25ib2FyZGluZy12aWV3IC52aWV3LW5hbWUge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLXN1bW1hcnktbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpOmxhc3QtY2hpbGQsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5nLWxhYmVsLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5nLXZhbHVlLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy12YWx1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1vcHRpb25zLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW9wdGlvbnMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY3VzdG9taXphdGlvbi1ub3RlLFxuLm9uYm9hcmRpbmctdmlldyAuY3VzdG9taXphdGlvbi1ub3RlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5vdGUtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLm5vdGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyBQcmV2aWV3ICovXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1jaGFuZ2VzLXN1bW1hcnkge1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAuYWRkZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAudXBkYXRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGFuZ2VzLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcyB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnByZXNlcnZlZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdGV4dCxcbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXBkYXRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMSk7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdmlld3MtbGlzdCxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwIDAgdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLXZpZXdzLWxpc3QgbGksXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zYWZldHktbm90ZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1ub3RlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2FmZXR5LWljb24sXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zYWZldHktdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFzayBDcmVhdGlvbiBHdWlkZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC50YXNrLWd1aWRlLWludHJvLFxuLm9uYm9hcmRpbmctdmlldyAudGFzay1ndWlkZS1pbnRybyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5ndWlkZS1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmd1aWRlLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudGFzay1mb3JtYXRzLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stY2FwdHVyZS1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLnByYWN0aWNlLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAuc2hvcnRjdXRzLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtZXhhbXBsZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtZXhhbXBsZSBjb2RlLFxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWV4YW1wbGUgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtbGVnZW5kLFxuLm9uYm9hcmRpbmctbW9kYWwgLmZvcm1hdC1sZWdlbmQgc21hbGwsXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtbGVnZW5kIHNtYWxsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLW1hcmtlcnMsXG4ub25ib2FyZGluZy1tb2RhbCAubWV0YWRhdGEtc3ltYm9scyxcbi5vbmJvYXJkaW5nLXZpZXcgLm1ldGFkYXRhLXN5bWJvbHMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGF0dXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctbW9kYWwgLnN5bWJvbHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy1tb2RhbCAuc3ltYm9scy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc3ltYm9scy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLWxpc3QgY29kZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogNDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZGVtby1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5kZW1vLWJ1dHRvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5kZW1vLWJ1dHRvbjpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByYWN0aWNlLWZlZWRiYWNrLFxuLm9uYm9hcmRpbmctdmlldyAucHJhY3RpY2UtZmVlZGJhY2sge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLW1lc3NhZ2UsXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24tc3VjY2Vzcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1lcnJvcixcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tZXJyb3Ige1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLXJlZC1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24td2FybmluZyxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24td2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1pbmZvLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1pbmZvIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zaG9ydGN1dHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1saXN0IGNvZGUsXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb21wbGV0aW9uIFBhZ2UgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAuY29tcGxldGlvbi1zdWNjZXNzLFxuLm9uYm9hcmRpbmctdmlldyAuY29tcGxldGlvbi1zdWNjZXNzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3VjY2Vzcy1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuc3VjY2Vzcy1pY29uIHtcblx0Zm9udC1zaXplOiAzZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN1Y2Nlc3MtbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbXBsZXRpb24tc3VtbWFyeSxcbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWljay1zdGFydC1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZXMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1zZWN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctc3VtbWFyeS1jYXJkLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXN1bW1hcnktY2FyZCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctbmFtZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1uYW1lIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stc3RhcnQtc3RlcHMsXG4ub25ib2FyZGluZy12aWV3IC5xdWljay1zdGFydC1zdGVwcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stc3RhcnQtc3RlcCxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC1udW1iZXIsXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jb250ZW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtY2hlY2ssXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2UtaXRlbSxcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1jbGlja2FibGUsXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLWJ1dHRvbnMsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stYnV0dG9uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1wb3NpdGl2ZTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXBvc2l0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1uZWdhdGl2ZTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLW5lZ2F0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcyBhLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIGEge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzIGE6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmluYWwtbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZpbmFsLW1lc3NhZ2UtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2UtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5vbmJvYXJkaW5nLW1vZGFsLFxuXHQub25ib2FyZGluZy12aWV3IHtcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcblx0XHQtLWRpYWxvZy1tYXgtd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTV2aDtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmRzLFxuXHQub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlcy1vdmVydmlldyxcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLnZpZXdzLWdyaWQsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlcy1saXN0LFxuXHQub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZXMtbGlzdCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stYnV0dG9ucyxcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWJ1dHRvbnMsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgLSBrZWVwaW5nIG1pbmltYWwgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBbmltYXRpb24gYW5kIFRyYW5zaXRpb25zICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XG5cdGFuaW1hdGlvbjogZmFkZUluVXAgMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcblx0YW5pbWF0aW9uOiBjYXJkU2VsZWN0IDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgY2FyZFNlbGVjdCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG4iLCAiLyogVGltZWxpbmUgU2lkZWJhciBWaWV3IFN0eWxlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXNpZGViYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBIZWFkZXIgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpIDEwMCVcblx0KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC04KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG4uaXMtYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogVGltZWxpbmUgQ29udGVudCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXG5cdC50aW1lbGluZS1kYXRlLWdyb3VwOm5vdCguaXMtdG9kYXkpIHtcblx0b3BhY2l0eTogMC4zO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpO1xufVxuXG4vKiBEYXRlIEdyb3VwcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR6LWluZGV4OiAxO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheVxuXHQudGltZWxpbmUtZGF0ZS1oZWFkZXIge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1yZWxhdGl2ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiBFdmVudHMgTGlzdCAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50cy1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4vKiBUaW1lbGluZSBFdmVudHMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQ6aG92ZXI6aGFzKC50aW1lbGluZS1ldmVudC1jaGVja2JveDpob3Zlcikge1xuXHR0cmFuc2Zvcm06IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWRcblx0LnRpbWVsaW5lLWV2ZW50LXRleHQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBFdmVudCBUaW1lICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtaW4td2lkdGg6IDQ1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRmbGV4LXNocmluazogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogRW5oYW5jZWQgdGltZSBkaXNwbGF5IHN0eWxlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1zaW5nbGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGFuaW1hdGlvbjogc3VidGxlLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXJhbmdlOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXHUyM0YxXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtNnB4O1xuXHRyaWdodDogLTZweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0bWluLXdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHBhZGRpbmc6IDAgNHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBXaGVuIGR1cmF0aW9uIGlzIHByb3ZpZGVkLCBzaG93IGl0IGluc3RlYWQgb2YgdGhlIGljb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2VbZGF0YS1kdXJhdGlvbl06OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLWR1cmF0aW9uKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kZWZhdWx0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZ3JvdXAge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS10ZXh0LWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1kYXRlLW9ubHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLyogVGltZSBHcm91cCBTdHlsZXMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWNvdW50IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWV2ZW50cyB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LnRpbWVsaW5lLWV2ZW50LWdyb3VwZWQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBEYXRlLW9ubHkgRXZlbnRzIFNlY3Rpb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cblxuLyogSGlkZSBwZXItZXZlbnQgdGltZSBsYWJlbHMgaW5zaWRlIEFsbCBkYXkgc2VjdGlvbiBhcyBzYWZldHkgbmV0ICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXNlY3Rpb24gLnRpbWVsaW5lLWV2ZW50IC50aW1lbGluZS1ldmVudC10aW1lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBFdmVudCBDb250ZW50ICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jaGVja2JveFxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRleHQge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWljb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1hcmdpbi10b3A6IDFweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIEV2ZW50IEFjdGlvbnMgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQ6aG92ZXJcblx0LnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xuXHRvcGFjaXR5OiAxO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWFjdGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogUXVpY2sgSW5wdXQgQXJlYSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENvbGxhcHNlZCBzdGF0ZSAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZCB7XG5cdHBhZGRpbmc6IDA7XG5cdGdhcDogMDtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG5cdC5xdWljay1pbnB1dC1oZWFkZXIsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG5cdC5xdWljay1pbnB1dC1lZGl0b3IsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXG5cdC5xdWljay1pbnB1dC1hY3Rpb25zIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQW5pbWF0aW9uIHN0YXRlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtZXhwYW5kaW5nIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQ29sbGFwc2VkIGhlYWRlciAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlcixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXhwYW5kZWQgaGVhZGVyIHdpdGggY29sbGFwc2UgYnV0dG9uICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBSb3RhdGUgY29sbGFwc2UgYnV0dG9uIGljb24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG4gc3ZnIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcblx0LnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0blxuXHRzdmcge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGFyZ2V0LWluZm8ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3Ige1xuXHRtaW4taGVpZ2h0OiA4MHB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC10ZXh0KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvcjpmb2N1cy13aXRoaW4ge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1lZGl0b3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnF1aWNrLWlucHV0LWVkaXRvclxuXHQuY20tZWRpdG9yLmNtLWZvY3VzZWQge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG4sXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcblx0XHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG4ge1xuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xuXHRcdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdFx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZCB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3Ige1xuXHRcdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZSxcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnMge1xuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdH1cbn1cblxuLyogU2Nyb2xsYmFyIFN0eWxpbmcgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA2cHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHN1YnRsZS1wdWxzZSB7XG5cdDAlLCAxMDAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XG5cdH1cblx0NTAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcblx0fVxufVxuXG4vKiBGb2N1cyBNb2RlICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIGJvdHRvbSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDAlLFxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuNykgNTAlLFxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMTAwJVxuXHQpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxuXHQudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogTWFya2Rvd24gcmVuZGVyZXIgc3R5bGVzIGluIHRpbWVsaW5lIGV2ZW50cyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2sge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdHAge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdHN0cm9uZyxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdGVtLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0Y29kZSB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0YSB7XG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRhOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdHVsLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0b2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRsaSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cbi5yZXdhcmQtbW9kYWwtY29udGVudCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjsgLyogQ2VudGVyIGFsaWduIGNvbnRlbnQgKi9cbn1cblxuLnJld2FyZC1tb2RhbCAubW9kYWwtdGl0bGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yZXdhcmQtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94IGZvciBjZW50ZXJpbmcgKi9cblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIHZlcnRpY2FsbHkgKi9cbn1cblxuLnJld2FyZC1pbWFnZSB7XG5cdG1heC13aWR0aDogODAlOyAvKiBMaW1pdCBpbWFnZSB3aWR0aCAqL1xuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXG5cdGJvcmRlci1yYWRpdXM6IDhweDsgLyogT3B0aW9uYWw6IGFkZCByb3VuZGVkIGNvcm5lcnMgKi9cblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgLyogT3B0aW9uYWw6IGFkZCBzdWJ0bGUgc2hhZG93ICovXG59XG5cbi5yZXdhcmQtaW1hZ2UtZXJyb3Ige1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogVXNlIE9ic2lkaWFuJ3MgbXV0ZWQgdGV4dCBjb2xvciAqL1xufVxuXG4ucmV3YXJkLXNwYWNlciB7XG5cdGhlaWdodDogMjBweDsgLyogQWRkIHNvbWUgc3BhY2UgYmVmb3JlIHRoZSBidXR0b25zICovXG59XG5cbi8qIFN0eWxlIHRoZSBidXR0b25zIHdpdGhpbiB0aGUgbW9kYWwgKi9cbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBidXR0b25zICovXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xufVxuIiwgIi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1ndXR0ZXJzLnRhc2stZ3V0dGVyIHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmlsZS1mb2xkaW5nLW9mZnNldCk7XG59XG5cbi5pcy1tb2JpbGUgLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xufVxuXG4udGFzay1ndXR0ZXIge1xuXHR3aWR0aDogMjZweDtcbn1cblxuLnRhc2stZ3V0dGVyLW1hcmtlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAwLjE7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGFzay1ndXR0ZXItbWFya2VyOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi50YXNrLW1ldGFkYXRhLWVkaXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmZpZWxkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmZpZWxkLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uYWN0aW9uLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5hY3Rpb24tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xuXHR3aWR0aDogMjRweDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogVGFiYmVkIEludGVyZmFjZSBTdHlsZXMgKi9cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7IC8qIEFkanVzdGVkIGZvciBjb25zaXN0ZW5jeSAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIEFsaWduIHdpdGggcGFyZW50IGJvcmRlciAqL1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgaW5hY3RpdmUgcGFuZXMgYnkgZGVmYXVsdCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBFbnN1cmUgY29udGVudCB3aXRoaW4gcGFuZSBmbG93cyB2ZXJ0aWNhbGx5ICovXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFNob3cgYWN0aXZlIHBhbmUgKi9cbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3Rvcixcbi50YXNrLXN0YXR1cy1lZGl0b3IgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLFxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3ItbGFiZWwsXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2RhbC1jb250ZW50LnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZnVsbC1jb250YWluZXIgLmRhdGVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuIiwgIi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0bWF4LWhlaWdodDogODAwcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0LCBmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5uYXYtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1saXN0IHtcblx0bWF4LWhlaWdodDogODAwcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAucHJvamVjdHMtY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDI0MHB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMXB4O1xuXHRwYWRkaW5nOiAwIDVweDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogM3B4IDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAuZm9yZWNhc3QtbGVmdC1jb2x1bW4gLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRhc3BlY3QtcmF0aW86IDE7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkucGFzdC1kdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMXB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGZvbnQtc2l6ZTogMC42ZW07XG5cdHBhZGRpbmc6IDFweCAzcHg7XG5cdG1hcmdpbjogMXB4IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWNvdW50Lmhhcy1wcmlvcml0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YWdzLWNvbnRhaW5lciB7XG5cdGhlaWdodDogYXV0bztcblx0bWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcblx0LnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHQucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRnLWthbmJhbi12aWV3IHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uYmFzZXMtdmlldy50YXNrLWdlbml1cy1jb250YWluZXIge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLyogQmFzZXMgdXBkYXRlIGVycm9yIG5vdGlmaWNhdGlvbiAqL1xuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMjBweDtcblx0cmlnaHQ6IDIwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YW5pbWF0aW9uOiBzbGlkZUluUmlnaHQgMC4zcyBlYXNlLW91dDtcbn1cblxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb246aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uIC5lcnJvci1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uIC5lcnJvci1tZXNzYWdlIC5lcnJvci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbiAuZXJyb3ItbWVzc2FnZSAuZXJyb3ItZGV0YWlscyB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLENBQUM7QUFDQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUMsZ0JBQWdCLENBUGhCO0FBUUEsV0FBUztBQUNWO0FBRUEsQ0FBQyxlQUFlLENBWGY7QUFZQSxXQUFTO0FBQ1QsWUFBVTtBQUNWLGVBQWE7QUFDYixpQkFBZTtBQUNoQjtBQUVBLENBQUM7QUFDQSxVQUFRO0FBQ1IsWUFBVTtBQUNYO0FBR0EsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBRUEsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3ZCO0FBR0EsQ0FBQztBQUNBLG9CQUFrQixJQUFJO0FBQ3RCLFdBQVM7QUFDVjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN0QixXQUFTO0FBQ1QsWUFBVTtBQUNWLE9BQUs7QUFDTCxVQUFRO0FBQ1Q7QUFFQSxDQUFDO0FBQ0Esb0JBQWtC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 */
|