taskgenius_taskgenius-plugin/styles.css
Quorafind 9f008db1a0 feat(fluent): add project creation UI with sorting capabilities
- Add CustomProject interface for project persistence
- Implement ProjectPopover (desktop) and ProjectModal (mobile) for project creation
- Add color picker with 15 predefined colors for visual organization
- Replace add button with sort menu in sidebar
- Implement 6 sort options (name, tasks, created date) with localStorage persistence
- Use Intl.Collator for locale-sensitive string comparison
- Extend Obsidian Component class for proper lifecycle management
- Add comprehensive CSS styling for popover and modal interfaces
2025-09-22 11:55:06 +08:00

16061 lines
1.2 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/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/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/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;
width: 100%;
}
.task-item-container {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.task-content-metadata-container {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--size-2-2);
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);
}
.tg-project-popover {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
padding: 10px 12px;
max-width: 520px;
max-height: 60vh;
overflow: auto;
}
.tg-project-props {
display: flex;
flex-direction: column;
gap: 6px;
}
.tg-project-props > div {
display: grid;
grid-template-columns: minmax(90px, 160px) 1fr;
align-items: start;
column-gap: 10px;
padding: 2px 0;
}
.tg-project-props > div > div:first-child {
color: var(--text-muted);
font-size: 12px;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tg-project-props > div > div:last-child {
color: var(--text-normal);
line-height: 1.4;
white-space: pre-wrap;
word-break: break-word;
}
.projects-props-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--icon-size, 24px);
height: var(--icon-size, 24px);
color: var(--text-muted);
cursor: pointer;
border-radius: var(--radius-s);
}
.projects-props-btn:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
/* src/styles/project-tree.css */
:root {
--tree-indent-size: 1.5rem;
--tree-guide-color: var(--background-modifier-border);
}
.project-tree-container {
height: 100%;
overflow: auto;
}
.project-tree {
padding: 0.5rem 0;
}
.project-tree-item {
position: relative;
user-select: none;
--tree-level: 0;
}
.project-tree-item-content {
display: flex;
align-items: center;
padding: 8px;
padding-left: calc(calc(var(--tree-level) - 1) * var(--tree-indent-size));
cursor: pointer;
border-radius: var(--radius-s);
transition: background-color 0.15s ease;
position: relative;
}
.project-tree-item-content:hover {
background-color: var(--background-modifier-hover);
}
.project-tree-item.is-selected > .project-tree-item-content {
background-color: var(--background-modifier-active-hover);
}
.project-tree-item-toggle {
display: flex;
align-items: center;
justify-content: center;
width: 1.5rem;
height: 1.5rem;
flex-shrink: 0;
cursor: pointer;
color: var(--text-muted);
transition: transform 0.15s ease;
}
.project-tree-item-toggle:hover {
color: var(--text-normal);
}
.project-tree-item-toggle svg {
width: 0.875rem;
height: 0.875rem;
}
.project-tree-item-toggle-spacer {
width: 1.5rem;
flex-shrink: 0;
}
.project-tree-item-icon {
display: flex;
align-items: center;
justify-content: center;
width: 1.25rem;
height: 1.25rem;
margin-right: 0.5rem;
flex-shrink: 0;
color: var(--text-muted);
}
.project-tree-item-content-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
flex: 1;
min-width: 0;
gap: 0.5rem;
}
.project-tree-item-name {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.project-tree-item-counts {
display: flex;
align-items: center;
gap: 0.25rem;
}
.project-tree-item-count-direct,
.project-tree-item-count-total {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1.25rem;
height: 1.25rem;
padding: 0 0.25rem;
border-radius: var(--radius-s);
font-size: var(--font-ui-smaller);
font-weight: 500;
}
.project-tree-item-count-direct {
background-color: var(--background-modifier-active);
color: var(--text-normal);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-total {
background-color: var(--background-modifier-border);
color: var(--text-muted);
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.project-tree-item-count-direct.partially-completed,
.project-tree-item-count-total.partially-completed {
color: var(--text-success);
}
.project-tree-item-count-direct.all-completed,
.project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
color: var(--text-on-accent);
font-weight: 600;
}
.project-tree-item.is-selected .project-tree-item-count-direct.all-completed,
.project-tree-item.is-selected .project-tree-item-count-total.all-completed {
background-color: var(--interactive-success);
opacity: 0.9;
}
.project-tree-children {
position: relative;
}
.project-tree-item[data-level]:not([data-level="0"]) > .project-tree-item-content::before {
content: "";
position: absolute;
left: calc(0.5rem + (var(--tree-level) - 1) * var(--tree-indent-size) + 0.75rem);
top: 0;
bottom: 0;
width: 1px;
background: var(--tree-guide-color);
opacity: 0.3;
}
.project-tree-item-children {
overflow: hidden;
transition: max-height 0.2s ease;
}
.project-tree-item-children:not(.is-expanded) {
max-height: 0;
}
.project-tree-empty {
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.projects-view-toggle-btn {
display: flex;
align-items: center;
justify-content: center;
width: 1.75rem;
height: 1.75rem;
border-radius: var(--radius-s);
cursor: pointer;
color: var(--text-muted);
transition: all 0.15s ease;
}
.projects-view-toggle-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.projects-view-toggle-btn svg {
width: 1rem;
height: 1rem;
}
.project-tree-container.multi-select-mode .project-tree-item-content {
position: relative;
}
.project-tree-container.multi-select-mode .project-tree-item-content::before {
content: "";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
border: 1px solid var(--background-modifier-border-hover);
border-radius: var(--radius-s);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::before {
background-color: var(--interactive-accent);
border-color: var(--interactive-accent);
}
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::after {
content: "\2713";
position: absolute;
left: 0.25rem;
top: 50%;
transform: translateY(-50%);
width: 0.875rem;
height: 0.875rem;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-on-accent);
font-size: 0.625rem;
font-weight: bold;
}
.theme-dark .project-tree-item-count-direct {
background-color: var(--background-modifier-active-hover);
}
.theme-dark .project-tree-item-count-total {
background-color: var(--background-modifier-border-hover);
}
@media (max-width: 768px) {
.project-tree-item-content {
padding: 0.375rem 0.5rem;
}
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-0.5rem);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.project-tree-item-children > .project-tree-item {
animation: slideDown 0.15s ease;
}
/* src/styles/review-view.css */
.review-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
}
.review-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: hidden;
}
.review-left-column {
width: 250px;
min-width: 200px;
max-width: 300px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
overflow: hidden;
}
.is-phone .review-left-column {
max-width: 100%;
}
.review-right-column {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.review-sidebar-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--size-4-2) var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
height: var(--size-4-10);
}
.review-sidebar-title {
font-weight: 600;
font-size: 14px;
}
.review-multi-select-btn {
cursor: pointer;
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: center;
}
.review-multi-select-btn:hover {
color: var(--text-normal);
}
.review-sidebar-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-projects-group-header {
font-size: 10px;
font-weight: 600;
color: var(--text-faint);
text-transform: uppercase;
padding: 4px 8px 4px;
margin-top: 12px;
letter-spacing: 0.5px;
}
.review-projects-group-header:first-child {
margin-top: 4px;
}
.review-project-item {
--icon-size: var(--size-4-4);
display: flex;
align-items: center;
padding: 4px 8px;
cursor: pointer;
border-radius: var(--radius-s);
margin-bottom: 2px;
}
.review-project-item:hover {
background-color: var(--background-modifier-hover);
}
.review-project-item.selected {
background-color: var(--background-modifier-active);
}
.review-project-item.has-review-settings .review-project-icon {
color: var(--text-accent);
}
.review-project-item.has-review-settings .review-project-name {
font-weight: 500;
}
.review-project-item:not(.has-review-settings) .review-project-icon {
color: var(--text-muted);
}
.review-project-icon {
margin-right: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.review-project-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.review-task-header {
display: flex;
flex-direction: column;
padding: var(--size-4-4);
border-bottom: 1px solid var(--background-modifier-border);
}
.is-phone .review-task-header {
flex-direction: row;
align-items: flex-start;
}
.review-header-content h3 {
margin: 0 0 8px 0;
padding: 0;
}
.review-info {
display: flex;
align-items: center;
color: var(--text-muted);
font-size: 0.9em;
}
.review-separator {
margin: 0 8px;
}
.review-frequency {
color: var(--text-accent);
}
.review-frequency:hover {
color: var(--text-normal);
text-decoration: underline;
}
.review-last-date {
color: var(--text-normal);
}
.review-no-settings {
font-style: italic;
}
.review-filter-info {
margin-top: 10px;
padding: 6px 10px;
background-color: var(--background-secondary);
border-radius: var(--radius-s);
font-size: 0.85em;
color: var(--text-muted);
border-left: 3px solid var(--text-accent);
}
.review-filter-toggle {
cursor: pointer;
text-decoration: underline;
color: var(--text-accent);
margin-left: 5px;
}
.review-filter-toggle:hover {
color: var(--text-accent-hover);
}
.review-task-list {
flex: 1;
overflow-y: auto;
padding: var(--size-4-2);
}
.review-empty-state {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--text-muted);
font-style: italic;
padding: 16px;
text-align: center;
}
.review-button-container {
margin-top: 12px;
display: flex;
justify-content: flex-start;
}
.review-complete-btn,
.review-configure-btn {
padding: 6px 12px;
border-radius: var(--radius-s);
cursor: pointer;
font-size: 0.9em;
border: 1px solid var(--background-modifier-border);
background-color: var(--background-secondary);
}
.review-complete-btn {
color: var(--text-accent);
}
.review-complete-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent);
}
.review-configure-btn {
color: var(--text-muted);
}
.review-configure-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-edit-btn {
color: var(--text-accent-hover);
margin-left: 8px;
}
.review-edit-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-accent-hover);
}
.review-modal-title {
margin-top: 0;
margin-bottom: 20px;
font-size: 1.5em;
color: var(--text-normal);
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 10px;
}
.review-modal-form {
margin-bottom: 20px;
}
.review-modal-field {
margin-bottom: 16px;
}
.review-modal-label {
display: block;
font-weight: 600;
margin-bottom: 4px;
color: var(--text-normal);
}
.review-modal-description {
font-size: 0.9em;
color: var(--text-muted);
margin-bottom: 8px;
}
.review-modal-select {
width: 100%;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-custom-frequency {
margin-top: 8px;
}
.review-modal-input {
width: 100%;
padding: 8px;
border-radius: var(--radius-s);
border: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
color: var(--text-normal);
font-size: 14px;
}
.review-modal-last-reviewed {
padding: 8px;
font-size: 14px;
color: var(--text-normal);
background-color: var(--background-secondary);
border-radius: var(--radius-s);
}
.review-modal-buttons {
display: flex;
justify-content: flex-end;
margin-top: 24px;
border-top: 1px solid var(--background-modifier-border);
padding-top: 16px;
}
.review-modal-button {
padding: 8px 16px;
border-radius: var(--radius-s);
font-size: 14px;
cursor: pointer;
border: 1px solid var(--background-modifier-border);
}
.review-modal-button-cancel {
background-color: var(--background-secondary);
color: var(--text-muted);
margin-right: 8px;
}
.review-modal-button-cancel:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.review-modal-button-save {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.review-modal-button-save:hover {
background-color: var(--interactive-accent-hover);
}
.is-phone .review-container {
position: relative;
overflow: hidden;
}
.is-phone .review-left-column {
position: absolute;
left: 0;
top: 0;
height: 100%;
z-index: 10;
background-color: var(--background-secondary);
width: 100%;
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
border-right: 1px solid var(--background-modifier-border);
}
.is-phone .review-left-column.is-visible {
transform: translateX(0);
}
.is-phone .review-sidebar-toggle {
display: flex;
align-items: center;
justify-content: center;
margin-right: 8px;
}
.is-phone .review-sidebar-close {
position: absolute;
top: var(--size-2-2);
right: 10px;
z-index: 15;
display: flex;
align-items: center;
justify-content: center;
}
.is-phone .review-container:has(.review-left-column.is-visible)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--background-modifier-cover);
opacity: 0.5;
z-index: 5;
transition: opacity 0.3s ease-in-out;
}
/* src/styles/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,
.task-genius-v2-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;
}
}
.task-sidebar.collapsed .sidebar-nav {
max-width: 45px;
}
.quick-workflow-modal {
max-width: 600px;
min-height: 400px;
}
.workflow-template-section {
margin-bottom: 20px;
padding: 15px;
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
}
.template-description {
margin-top: 10px;
}
.template-desc-text {
font-style: italic;
color: var(--text-muted);
margin: 0;
}
.workflow-form-section {
margin-bottom: 20px;
}
.workflow-stages-preview {
margin-top: 15px;
}
.stages-preview-list {
margin-top: 10px;
}
.stage-preview-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 12px;
margin: 4px 0;
background: var(--background-secondary);
border-radius: 6px;
border: 1px solid var(--background-modifier-border);
}
.stage-info {
display: flex;
align-items: center;
gap: 8px;
}
.stage-name {
font-weight: 500;
}
.stage-type {
color: var(--text-muted);
font-size: 0.9em;
}
.stage-actions {
display: flex;
gap: 4px;
}
.no-stages-message {
text-align: center;
color: var(--text-muted);
font-style: italic;
padding: 20px;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
margin-top: 10px;
}
.workflow-modal-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid var(--background-modifier-border);
}
.workflow-progress-indicator {
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
padding: 15px;
margin: 10px 0;
}
.workflow-progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}
.workflow-name {
font-weight: 600;
font-size: 1.1em;
}
.workflow-progress-text {
color: var(--text-muted);
font-size: 0.9em;
}
.workflow-progress-bar-container {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 15px;
}
.workflow-progress-bar {
flex: 1;
height: 8px;
background: var(--background-modifier-border);
border-radius: 4px;
overflow: hidden;
}
.workflow-progress-fill {
height: 100%;
background: var(--interactive-accent);
transition: width 0.3s ease;
}
.workflow-progress-percentage {
font-size: 0.9em;
font-weight: 500;
min-width: 35px;
text-align: right;
}
.workflow-stage-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.workflow-stage-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px;
border-radius: 6px;
transition: background-color 0.2s ease;
}
.workflow-stage-item.completed {
background: var(--background-modifier-success);
}
.workflow-stage-item.current {
background: var(--background-modifier-accent);
border: 1px solid var(--interactive-accent);
}
.workflow-stage-item.pending {
background: var(--background-primary);
opacity: 0.7;
}
.workflow-stage-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.workflow-stage-icon.completed-icon {
color: var(--text-success);
}
.workflow-stage-icon.current-icon {
color: var(--interactive-accent);
}
.workflow-stage-icon.pending-icon {
color: var(--text-muted);
}
.workflow-stage-content {
flex: 1;
}
.workflow-stage-name {
font-weight: 500;
margin-bottom: 2px;
}
.workflow-stage-type {
font-size: 0.8em;
color: var(--text-muted);
}
.workflow-stage-number {
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.8em;
font-weight: 600;
margin-top: 2px;
}
.workflow-stage-item.completed .workflow-stage-number {
background: var(--text-success);
color: var(--background-primary);
}
.workflow-stage-item.current .workflow-stage-number {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.workflow-substage-container {
margin-top: 8px;
padding-left: 16px;
border-left: 2px solid var(--background-modifier-border);
}
.workflow-substage-item {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 0;
}
.workflow-substage-icon {
width: 12px;
height: 12px;
color: var(--text-muted);
}
.workflow-substage-name {
font-size: 0.9em;
color: var(--text-muted);
}
/* src/styles/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-create-button-container {
display: flex;
justify-content: flex-start;
}
.habit-card {
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--background-secondary);
color: var(--text-normal);
overflow: hidden;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
min-height: fit-content;
}
.habit-card .card-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1rem;
gap: 0.5rem;
}
.habit-card .card-title {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: var(--font-ui-large);
font-weight: 600;
flex-grow: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.habit-name.habit-name:hover {
text-decoration: underline;
cursor: pointer;
}
.habit-card .card-content-wrapper {
padding: 0.75rem 1rem;
flex-grow: 1;
}
.daily-habit-card .card-header {
}
.daily-habit-card .habit-checkbox-container {
}
.daily-habit-card .habit-checkbox {
--checkbox-size: 1.25rem;
cursor: pointer;
accent-color: var(--interactive-accent);
}
.daily-habit-card .card-content-wrapper {
padding: 0rem 1rem 0.75rem;
}
.count-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.count-habit-card .habit-icon-button {
--icon-size: 2rem;
height: 4rem;
width: 4rem;
aspect-ratio: 1;
padding: 0;
cursor: pointer;
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
font-size: 1.5rem;
}
.count-habit-card .habit-icon-button {
color: var(--icon-color);
}
.count-habit-card .habit-icon-button:hover {
background-color: var(--background-secondary);
}
.count-habit-card .habit-card-name {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-active-day {
font-size: var(--font-ui-small);
color: var(--text-muted);
font-weight: 400;
}
.count-habit-card .habit-info {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
flex-grow: 1;
}
.count-habit-card .habit-info h3 {
font-size: var(--font-ui-large);
font-weight: 600;
}
.count-habit-card .habit-progress-area {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
@media (min-width: 640px) {
.count-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
gap: 1rem;
}
.count-habit-card .habit-progress-area {
width: auto;
min-width: 150px;
align-items: flex-end;
}
.count-habit-card .habit-heatmap-small {
width: 100%;
}
}
.scheduled-habit-card .card-header {
padding-bottom: 0.5rem;
}
.scheduled-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
}
.scheduled-habit-card .habit-heatmap-medium {
width: 100%;
}
.scheduled-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
gap: 0.5rem;
align-items: center;
}
.scheduled-habit-card .habit-event-dropdown {
width: auto;
margin-bottom: 0.5rem;
width: 100%;
}
@media (min-width: 640px) {
.scheduled-habit-card .card-content-wrapper {
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
}
.scheduled-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.scheduled-habit-card .habit-controls {
width: auto;
min-width: 150px;
align-items: flex-start;
}
}
.mapping-habit-card .card-header {
padding-bottom: 0.5rem;
}
.mapping-habit-card .card-content-wrapper {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
padding-top: 0;
padding-bottom: 1.2rem;
}
.mapping-habit-card .habit-heatmap-medium {
width: 100%;
}
.mapping-habit-card .habit-controls {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}
.mapping-habit-card .habit-mapping-button {
display: flex;
justify-content: center;
align-items: center;
font-size: 1.75rem;
padding: 0.5rem;
width: 100%;
max-width: 100px;
height: 3.5rem;
border: 1px solid var(--button-secondary-border-color);
background-color: var(--button-secondary-bg);
color: var(--text-normal);
cursor: pointer;
border-radius: var(--radius-s);
}
.mapping-habit-card .habit-mapping-button:hover {
background-color: var(--button-secondary-hover-bg);
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: 200px;
}
.mapping-habit-card .habit-slider-setting .setting-item-info {
display: none;
}
.mapping-habit-card .habit-slider-setting .setting-item {
width: 100%;
padding: 0;
border: none;
}
.mapping-habit-card .habit-slider-setting .setting-item-control {
width: 100%;
}
.mapping-habit-card .heatmap-md .heatmap-container-simple {
gap: var(--size-2-2);
}
@media (min-width: 640px) {
.mapping-habit-card .card-content-wrapper {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mapping-habit-card .habit-heatmap-medium {
width: auto;
flex-grow: 1;
margin-right: 1rem;
}
.mapping-habit-card .habit-controls {
width: auto;
min-width: 80px;
flex-direction: column;
align-items: center;
gap: 0.75rem;
}
.mapping-habit-card .habit-mapping-button {
width: 4rem;
height: 4rem;
}
.mapping-habit-card .habit-slider-setting {
width: 100%;
max-width: none;
}
}
.habit-progress-container {
width: 100%;
height: 0.75rem;
background-color: var(--background-modifier-border);
border-radius: var(--radius-l);
overflow: hidden;
position: relative;
}
.habit-progress-bar {
height: 100%;
background-color: var(--interactive-accent);
border-radius: var(--radius-l);
transition: width 0.3s ease-in-out;
}
.habit-progress-container.filled .habit-progress-text {
mix-blend-mode: unset;
}
.habit-progress-text {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 0.6rem;
line-height: 1;
color: var(--text-on-accent);
mix-blend-mode: difference;
font-weight: 500;
}
.tg-heatmap-root {
width: 100%;
}
.heatmap-sm .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
}
.heatmap-md .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-lg .heatmap-container-simple {
display: grid;
grid-template-columns: repeat(10, 1fr);
gap: var(--size-2-2);
overflow-x: auto;
padding-bottom: 2px;
justify-items: center;
}
.heatmap-cell {
border-radius: var(--radius-s);
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
flex-shrink: 0;
background-color: var( --background-modifier-border );
border: 1px solid transparent;
}
.heatmap-cell-square {
}
.heatmap-cell-dot {
border-radius: 50%;
}
.heatmap-sm .heatmap-cell {
width: 0.75rem;
height: 0.75rem;
}
.habit-heatmap-medium .heatmap-md .heatmap-cell {
width: 1.4rem;
height: 1.4rem;
font-size: 0.7rem;
}
.heatmap-md .heatmap-cell {
width: 1.1rem;
height: 1.1rem;
font-size: 0.7rem;
}
.heatmap-lg .heatmap-cell {
width: 1.25rem;
height: 1.25rem;
font-size: 0.75rem;
}
.heatmap-cell.default {
}
.heatmap-cell.filled {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.heatmap-cell.has-custom-content:has(.pie-dot-container) {
background: transparent;
border: unset;
}
.heatmap-cell.has-custom-content,
.heatmap-cell.has-text-content {
background-color: var(--background-secondary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.heatmap-cell.has-text-content {
line-height: 1;
}
.pie-dot-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.pie-dot-container svg {
display: block;
}
.habit-empty-state {
text-align: center;
padding: 2rem 1rem;
color: var(--text-muted);
}
.habit-empty-state h2 {
font-size: var(--font-ui-large);
font-weight: 600;
margin-bottom: 0.5rem;
}
.habit-empty-state p {
font-size: var(--font-ui-normal);
color: var(--text-faint);
}
.habit-icon {
display: inline-block;
height: 1em;
line-height: 1;
text-align: center;
color: var(--text-muted);
font-style: italic;
margin-right: 0.25em;
--icon-size: 1.5rem;
}
.habit-chart-controls {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.habit-chart-filters {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.habit-chart-filters .filter-btn {
padding: 0.25rem 0.6rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-normal);
border-radius: var(--radius-s);
cursor: pointer;
}
.habit-chart-filters .filter-btn:hover {
background: var(--background-secondary-alt);
}
.habit-chart-years {
display: flex;
align-items: center;
gap: 0.5rem;
}
.habit-chart-years .years-label {
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.habit-chart-years .years-bar {
display: flex;
flex-wrap: nowrap;
gap: 0.4rem;
overflow-x: auto;
padding-bottom: 2px;
}
.habit-chart-years .year-btn {
padding: 0.2rem 0.5rem;
border: 1px solid var(--background-modifier-border);
background: var(--background-secondary);
color: var(--text-muted);
border-radius: var(--radius-s);
cursor: pointer;
white-space: nowrap;
}
.habit-chart-years .year-btn.selected,
.habit-chart-years .year-btn:hover {
background: var(--interactive-accent);
border-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.habit-chart-heatmap {
max-height: 60vh;
overflow: auto;
}
/* src/styles/global.css */
:root {
--task-completed-color: #4caf50;
--task-doing-color: #80dee5;
--task-in-progress-color: #f9d923;
--task-abandoned-color: #eb5353;
--task-planned-color: #9c27b0;
--task-question-color: #2196f3;
--task-important-color: #f44336;
--task-star-color: #ffc107;
--task-quote-color: #607d8b;
--task-location-color: #795548;
--task-bookmark-color: #ff9800;
--task-information-color: #00bcd4;
--task-idea-color: #9c27b0;
--task-pros-color: #4caf50;
--task-cons-color: #f44336;
--task-fire-color: #ff5722;
--task-key-color: #ffd700;
--task-win-color: #66bb6a;
--task-up-color: #4caf50;
--task-down-color: #f44336;
--task-note-color: #9e9e9e;
--task-amount-color: #8bc34a;
--task-speech-color: #03a9f4;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
.theme-dark {
--task-completed-color: #4caf50;
--task-doing-color: #379fa7;
--task-in-progress-color: #ffc107;
--task-abandoned-color: #f44336;
--task-planned-color: #ce93d8;
--task-question-color: #42a5f5;
--task-important-color: #ef5350;
--task-star-color: #ffd54f;
--task-quote-color: #90a4ae;
--task-location-color: #8d6e63;
--task-bookmark-color: #ffb74d;
--task-information-color: #26c6da;
--task-idea-color: #ce93d8;
--task-pros-color: #66bb6a;
--task-cons-color: #ef5350;
--task-fire-color: #ff7043;
--task-key-color: #ffd700;
--task-win-color: #81c784;
--task-up-color: #66bb6a;
--task-down-color: #ef5350;
--task-note-color: #bdbdbd;
--task-amount-color: #aed581;
--task-speech-color: #29b6f6;
--progress-0-color: #ae431e;
--progress-25-color: #e5890a;
--progress-50-color: #b4c6a6;
--progress-75-color: #6bcb77;
--progress-100-color: #4d96ff;
--progress-background-color: #f1f1f1;
}
/* src/styles/view-config.css */
.task-genius-view-config-modal {
width: max(70%, 500px);
}
.task-genius-view-config-modal .setting-item {
margin-bottom: 15px;
}
.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info {
width: 120px;
}
.task-genius-view-config-modal .setting-item-control input[type=text],
.task-genius-view-config-modal .setting-item-control input[type=number] {
width: 100%;
}
.task-genius-view-config-modal .setting-item-description {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
margin-top: 2px;
}
.view-management-list .setting-item {
border-bottom: 1px solid var(--background-modifier-border);
padding: 10px 0;
display: flex;
align-items: center;
}
.view-management-list .setting-item-info {
flex-grow: 1;
margin-right: 10px;
}
.view-management-list .setting-item-control {
display: flex;
align-items: center;
gap: 8px;
}
.view-management-list .setting-item-control .button-component {
padding: 5px;
height: auto;
}
.view-management-list .view-order-button,
.view-management-list .view-delete-button {
margin-left: 5px;
}
.view-management-list .setting-item:last-child {
border-bottom: none;
}
.view-management-list .setting-item-control .checkbox-container {
margin: 0;
}
.tg-icon-menu {
position: absolute;
z-index: 100;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
box-shadow: var(--shadow-l);
padding: 8px;
max-height: 300px;
width: 250px;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.tg-icon-menu .tg-menu-search {
width: 100%;
padding: 6px 8px;
margin-bottom: 8px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
box-sizing: border-box;
flex-shrink: 0;
}
.tg-icon-menu .tg-menu-icons {
flex-grow: 1;
overflow-y: auto;
min-height: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
gap: 4px;
}
.tg-icon-menu .clickable-icon {
display: flex;
justify-content: center;
align-items: center;
padding: 6px;
border-radius: var(--radius-s);
cursor: pointer;
background-color: var(--background-primary);
border: 1px solid transparent;
transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}
.tg-icon-menu .clickable-icon:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border-hover);
}
.tg-icon-menu .clickable-icon svg {
width: 20px;
height: 20px;
color: var(--text-muted);
}
/* src/styles/task-status.css */
.task-status-widget {
display: inline-flex;
align-items: center;
cursor: pointer;
font-size: var(--font-ui-medium);
font-weight: var(--font-bold);
}
.task-state.live-preview-mode {
padding-inline-start: var(--size-4-2);
padding-inline-end: var(--size-2-1);
}
.task-status-widget .list-bullet::after {
background-color: var(--list-marker-color) !important;
}
.task-state[data-task-state=" "] {
color: var(--text-accent);
}
.task-state[data-task-state="/"] {
color: var(--task-doing-color);
}
.task-state[data-task-state=">"] {
color: var(--task-in-progress-color);
}
.task-state[data-task-state=x],
.task-state[data-task-state=X] {
color: var(--task-completed-color);
}
.task-state[data-task-state="-"] {
color: var(--task-abandoned-color);
}
.task-state[data-task-state="<"] {
color: var(--task-planned-color);
}
.task-state[data-task-state="?"] {
color: var(--task-question-color);
}
.task-state[data-task-state="!"] {
color: var(--task-important-color);
}
.task-state[data-task-state="*"] {
color: var(--task-star-color);
}
.task-state[data-task-state='"'] {
color: var(--task-quote-color);
}
.task-state[data-task-state=l] {
color: var(--task-location-color);
}
.task-state[data-task-state=b] {
color: var(--task-bookmark-color);
}
.task-state[data-task-state=i] {
color: var(--task-information-color);
}
.task-state[data-task-state=I] {
color: var(--task-idea-color);
}
.task-state[data-task-state=p] {
color: var(--task-pros-color);
}
.task-state[data-task-state=c] {
color: var(--task-cons-color);
}
.task-state[data-task-state=f] {
color: var(--task-fire-color);
}
.task-state[data-task-state=k] {
color: var(--task-key-color);
}
.task-state[data-task-state=w] {
color: var(--task-win-color);
}
.task-state[data-task-state=u] {
color: var(--task-up-color);
}
.task-state[data-task-state=d] {
color: var(--task-down-color);
}
.task-state[data-task-state=n] {
color: var(--task-note-color);
}
.task-state[data-task-state=S] {
color: var(--task-amount-color);
}
.task-state[data-task-state="0"],
.task-state[data-task-state="1"],
.task-state[data-task-state="2"],
.task-state[data-task-state="3"],
.task-state[data-task-state="4"],
.task-state[data-task-state="5"],
.task-state[data-task-state="6"],
.task-state[data-task-state="7"],
.task-state[data-task-state="8"],
.task-state[data-task-state="9"] {
color: var(--task-speech-color);
}
.task-fake-bullet {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 50%;
background-color: var(--text-normal);
margin-right: 4px;
vertical-align: middle;
}
ol > .task-list-item .task-fake-bullet {
display: none;
}
ol > .task-list-item .task-state-container {
margin-inline-start: 0;
}
/* src/styles/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;
}
}
/* src/experimental/v2/styles/v2.css */
.task-genius-v2-view {
height: 100%;
overflow: hidden;
padding: 0;
}
.tg-v2-container {
height: 100%;
display: flex;
flex-direction: row;
border: 1px solid var(--background-modifier-border);
}
.view-content.task-genius-v2-view {
padding: 0;
}
.tg-v2-layout {
display: flex;
height: 100%;
width: 100%;
overflow: hidden;
}
.tg-v2-sidebar-container {
width: 260px;
min-width: 200px;
max-width: 400px;
background-color: var(--background-secondary);
border-right: 1px solid var(--background-modifier-border);
display: flex;
flex-direction: column;
overflow: hidden;
}
.v2-sidebar {
height: 100%;
display: flex;
flex-direction: column;
}
.v2-sidebar-header {
padding: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.workspace-selector-button {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 8px;
background: transparent;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.15s;
}
.workspace-selector-button:hover {
background-color: var(--background-modifier-hover);
}
.workspace-info {
display: flex;
align-items: center;
gap: 12px;
}
.workspace-icon {
width: 32px;
height: 32px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.workspace-icon svg {
width: 16px;
height: 16px;
}
.workspace-details {
text-align: left;
}
.workspace-name {
font-weight: 500;
color: var(--text-normal);
}
.workspace-label {
font-size: 12px;
color: var(--text-muted);
}
.workspace-dropdown-icon {
color: var(--text-muted);
}
.v2-new-task-btn {
width: 100%;
margin-top: 12px;
padding: 10px;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: 6px;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
cursor: pointer;
transition: background-color 0.15s;
}
.v2-new-task-btn:hover {
background-color: var(--interactive-accent-hover);
}
.v2-new-task-icon {
display: flex;
}
.v2-sidebar-content {
flex: 1;
overflow-y: auto;
padding: 8px 0;
--icon-size: 16px;
}
.v2-sidebar-section {
padding: 8px 0;
}
.v2-sidebar-section + .v2-sidebar-section {
border-top: 1px solid var(--background-modifier-border);
}
.v2-section-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 4px 16px;
margin-bottom: 4px;
}
.v2-section-header span {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
color: var(--text-muted);
}
.v2-add-project-btn,
.v2-sort-project-btn {
cursor: pointer;
color: var(--text-muted);
transition: color 0.15s;
}
.v2-add-project-btn:hover,
.v2-sort-project-btn:hover {
color: var(--text-normal);
}
.v2-navigation-list {
padding: 0 8px;
}
.v2-navigation-item {
display: flex;
align-items: center;
gap: 12px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
position: relative;
}
.v2-navigation-item:hover {
background-color: var(--background-modifier-hover);
}
.v2-navigation-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.v2-navigation-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
}
.v2-navigation-item.is-active .v2-navigation-icon {
color: var(--text-normal);
}
.v2-navigation-label {
flex: 1;
font-size: 14px;
color: var(--text-normal);
}
.v2-navigation-badge {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-size: 11px;
font-weight: 600;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.v2-project-scroll {
max-height: 300px;
overflow-y: auto;
padding: 0 8px;
}
.v2-project-item {
display: flex;
align-items: center;
gap: 10px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.15s;
}
.v2-project-item:hover {
background-color: var(--background-modifier-hover);
}
.v2-project-item.is-active {
background-color: var(--background-modifier-active-hover);
}
.v2-project-color {
width: 12px;
height: 12px;
border-radius: 3px;
flex-shrink: 0;
}
.v2-project-color-dashed {
width: 12px;
height: 12px;
border: 1.5px dashed var(--text-muted);
border-radius: 3px;
}
.v2-project-name {
flex: 1;
font-size: 14px;
color: var(--text-normal);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.v2-add-project .v2-project-name {
color: var(--text-muted);
}
.v2-project-count {
font-size: 12px;
color: var(--text-muted);
}
.tg-v2-main-container {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.tg-v2-top-nav {
border-bottom: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
}
.v2-top-navigation {
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
padding: 0 20px;
gap: 20px;
}
.v2-nav-left {
flex: 0 1 400px;
}
.v2-search-container {
position: relative;
display: flex;
align-items: center;
}
.v2-search-icon {
position: absolute;
left: 12px;
color: var(--text-muted);
pointer-events: none;
}
.v2-search-input {
width: 100%;
padding: 8px 12px 8px 36px;
background-color: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 14px;
color: var(--text-normal);
}
.v2-search-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.v2-nav-center {
display: flex;
align-items: center;
gap: 12px;
}
.v2-view-tabs {
display: flex;
background-color: var(--background-secondary);
border-radius: 6px;
padding: 2px;
}
.v2-view-tab {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: none;
border-radius: 4px;
font-size: 14px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.v2-view-tab:hover {
color: var(--text-normal);
}
.v2-view-tab.is-active {
background-color: var(--background-primary);
color: var(--text-normal);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.v2-view-tab-icon {
width: 16px;
height: 16px;
display: flex;
}
.v2-nav-separator {
width: 1px;
height: 24px;
background-color: var(--background-modifier-border);
}
.v2-nav-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: none;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 14px;
color: var(--text-normal);
cursor: pointer;
transition: all 0.15s;
}
.v2-nav-button:hover {
background-color: var(--background-modifier-hover);
}
.v2-nav-button-icon {
width: 16px;
height: 16px;
display: flex;
}
.v2-nav-right {
display: flex;
align-items: center;
gap: 12px;
}
.v2-nav-icon-button {
position: relative;
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
color: var(--text-muted);
cursor: pointer;
transition: all 0.15s;
}
.v2-nav-icon-button:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-notification-badge {
position: absolute;
top: -2px;
right: -2px;
background-color: var(--text-error);
color: white;
font-size: 10px;
font-weight: 600;
padding: 2px 5px;
border-radius: 10px;
min-width: 16px;
text-align: center;
}
.tg-v2-content {
flex: 1;
overflow: auto;
}
.tg-v2-content .content-header,
.tg-v2-content .tg-kanban-filters {
display: none;
}
.tg-v2-list-view,
.tg-v2-kanban-view,
.tg-v2-tree-view,
.tg-v2-calendar-view {
height: 100%;
}
@media (max-width: 768px) {
.tg-v2-sidebar-container {
width: 200px;
}
.v2-nav-center {
display: none;
}
.v2-search-container {
flex: 1;
}
}
.tg-v2-sidebar-container {
transition:
width 0.2s ease,
min-width 0.2s ease,
max-width 0.2s ease;
}
.tg-v2-sidebar-container.is-collapsed,
.v2-sidebar-collapsed .tg-v2-sidebar-container {
width: 44px;
min-width: 44px;
max-width: 44px;
}
.v2-sidebar-rail {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 8px 4px;
}
.v2-rail-btn {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-s);
color: var(--text-muted);
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
}
.v2-rail-btn:hover {
background-color: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-rail-btn svg {
width: 16px;
height: 16px;
}
.v2-rail-btn.is-active {
background-color: var(--background-modifier-active-hover);
color: var(--text-normal);
}
/* src/experimental/v2/styles/v2-enhanced.css */
:root {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--tg-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
--tg-radius-sm: 0.25rem;
--tg-radius: 0.375rem;
--tg-radius-md: 0.5rem;
--tg-radius-lg: 0.75rem;
--tg-radius-full: 9999px;
}
.task-list-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-list-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.task-list-item {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-md);
margin-bottom: 0.75rem;
padding: 1rem 1.25rem;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.task-list-item::before {
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: transparent;
transition: background var(--tg-transition-fast);
}
.task-list-item:hover {
box-shadow: var(--tg-shadow);
transform: translateY(-1px);
border-color: var(--interactive-accent);
}
.task-list-item:hover::before {
background: var(--interactive-accent);
}
.task-list-item.is-completed {
opacity: 0.6;
background: var(--background-secondary);
}
.task-list-item.is-overdue::before {
background: var(--text-error);
}
.task-list-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.task-tree-container {
height: 100%;
overflow-y: auto;
padding: 1.5rem;
animation: fadeIn var(--tg-transition-base);
}
.task-tree-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.task-tree-project {
margin-bottom: 1.5rem;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
overflow: hidden;
transition: all var(--tg-transition-base);
}
.task-tree-project:hover {
box-shadow: var(--tg-shadow-md);
}
.task-tree-project-header {
padding: 1rem 1.25rem;
background: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-weight: 600;
font-size: 0.95rem;
color: var(--text-normal);
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.task-tree-project-header:hover {
background: var(--background-modifier-hover);
}
.task-tree-project-header::before {
content: "\25b6";
display: inline-block;
margin-right: 0.5rem;
transition: transform var(--tg-transition-fast);
font-size: 0.75rem;
}
.task-tree-project.is-expanded .task-tree-project-header::before {
transform: rotate(90deg);
}
.task-tree-tasks {
padding: 0.5rem;
}
.task-tree-item {
padding: 0.75rem 1rem;
margin: 0.25rem;
border-radius: var(--tg-radius);
transition: all var(--tg-transition-fast);
position: relative;
padding-left: 2rem;
}
.task-tree-item::before {
content: "";
position: absolute;
left: 1rem;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 4px;
background: var(--text-muted);
border-radius: var(--tg-radius-full);
}
.task-tree-item:hover {
background: var(--background-modifier-hover);
}
.task-tree-empty {
text-align: center;
padding: 3rem 1.5rem;
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-v2-filter-panel {
position: fixed;
right: -380px;
top: 0;
bottom: 0;
width: 380px;
background: var(--background-primary);
border-left: 1px solid var(--background-modifier-border);
box-shadow: var(--tg-shadow-xl);
transition: right var(--tg-transition-slow);
z-index: 1000;
overflow-y: auto;
display: flex;
flex-direction: column;
}
.tg-v2-filter-panel.is-open {
right: 0;
}
.filter-panel-header {
padding: 1.25rem;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
justify-content: space-between;
}
.filter-panel-title {
font-size: 1.1rem;
font-weight: 600;
color: var(--text-normal);
}
.filter-panel-close {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
color: var(--text-muted);
}
.filter-panel-close:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.filter-panel-content {
padding: 1.25rem;
}
.filter-group {
margin-bottom: 1.5rem;
}
.filter-group-label {
font-size: 0.875rem;
font-weight: 500;
color: var(--text-muted);
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.025em;
}
.filter-options {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.filter-option {
display: flex;
align-items: center;
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
cursor: pointer;
transition: background var(--tg-transition-fast);
}
.filter-option:hover {
background: var(--background-modifier-hover);
}
.filter-option.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.filter-checkbox {
margin-right: 0.75rem;
}
.filter-select {
width: 100%;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
cursor: pointer;
}
.filter-select:hover {
border-color: var(--interactive-accent);
}
.filter-select:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.filter-tags-container {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
padding: 0.5rem 0;
}
.filter-tag {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.375rem 0.75rem;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-full);
font-size: 0.875rem;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.filter-tag:hover {
background: var(--background-modifier-hover);
}
.filter-tag.is-selected {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.filter-date-container {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.filter-date-field {
display: flex;
align-items: center;
gap: 0.5rem;
}
.filter-date-field span {
min-width: 50px;
font-size: 0.875rem;
color: var(--text-muted);
}
.filter-date-input {
flex: 1;
padding: 0.5rem 0.75rem;
background: var(--background-modifier-form-field);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius);
color: var(--text-normal);
font-size: 0.875rem;
transition: all var(--tg-transition-fast);
}
.filter-date-input:hover {
border-color: var(--interactive-accent);
}
.filter-date-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.filter-action-buttons {
display: flex;
gap: 0.75rem;
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--background-modifier-border);
}
.filter-action-buttons button {
flex: 1;
}
.priority-color-dot {
width: 12px;
height: 12px;
border-radius: var(--tg-radius-full);
flex-shrink: 0;
}
.tg-v2-loading {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
gap: 1rem;
}
.tg-v2-spinner {
width: 32px;
height: 32px;
border: 3px solid var(--background-modifier-border);
border-top-color: var(--interactive-accent);
border-radius: var(--tg-radius-full);
animation: spin 1s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.tg-v2-loading-text {
color: var(--text-muted);
font-size: 0.9rem;
}
.tg-v2-empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
padding: 2rem;
text-align: center;
}
.tg-v2-empty-icon {
width: 64px;
height: 64px;
margin-bottom: 1rem;
color: var(--text-muted);
opacity: 0.5;
}
.tg-v2-empty-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
margin-bottom: 0.5rem;
}
.tg-v2-empty-description {
color: var(--text-muted);
margin-bottom: 1.5rem;
max-width: 400px;
}
.tg-v2-empty-action {
padding: 0.75rem 1.5rem;
background: var(--interactive-accent);
color: var(--text-on-accent);
border: none;
border-radius: var(--tg-radius-md);
font-weight: 500;
cursor: pointer;
transition: all var(--tg-transition-fast);
}
.tg-v2-empty-action:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
.tg-v2-tooltip {
position: absolute;
background: var(--background-secondary);
color: var(--text-normal);
padding: 0.5rem 0.75rem;
border-radius: var(--tg-radius);
font-size: 0.875rem;
box-shadow: var(--tg-shadow-lg);
z-index: 9999;
pointer-events: none;
opacity: 0;
transform: translateY(4px);
transition: all var(--tg-transition-fast);
}
.tg-v2-tooltip.is-visible {
opacity: 1;
transform: translateY(0);
}
.tg-v2-card {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: var(--tg-radius-lg);
padding: 1.25rem;
margin-bottom: 1rem;
transition: all var(--tg-transition-base);
}
.tg-v2-card:hover {
box-shadow: var(--tg-shadow-md);
border-color: var(--interactive-accent);
}
.tg-v2-card-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 1px solid var(--background-modifier-border);
}
.tg-v2-card-title {
font-size: 1rem;
font-weight: 600;
color: var(--text-normal);
}
.tg-v2-card-actions {
display: flex;
gap: 0.5rem;
}
.tg-v2-card-action {
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--tg-radius);
cursor: pointer;
transition: all var(--tg-transition-fast);
color: var(--text-muted);
}
.tg-v2-card-action:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.tg-v2-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.625rem 1.25rem;
font-size: 0.875rem;
font-weight: 500;
border-radius: var(--tg-radius-md);
border: none;
cursor: pointer;
transition: all var(--tg-transition-fast);
position: relative;
overflow: hidden;
}
.tg-v2-button::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: var(--tg-radius-full);
background: rgba(255, 255, 255, 0.2);
transform: translate(-50%, -50%);
transition: width var(--tg-transition-slow), height var(--tg-transition-slow);
}
.tg-v2-button:active::before {
width: 300px;
height: 300px;
}
.tg-v2-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.tg-v2-button-primary:hover {
background: var(--interactive-accent-hover);
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
.tg-v2-button-secondary {
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
}
.tg-v2-button-secondary:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.tg-v2-button-ghost {
background: transparent;
color: var(--text-normal);
}
.tg-v2-button-ghost:hover {
background: var(--background-modifier-hover);
}
.tg-v2-button-danger {
background: var(--text-error);
color: white;
}
.tg-v2-button-danger:hover {
background: #dc2626;
transform: translateY(-1px);
box-shadow: var(--tg-shadow);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(4px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideIn {
from {
transform: translateX(100%);
}
to {
transform: translateX(0);
}
}
@keyframes slideUp {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@media (max-width: 1024px) {
.task-list-container,
.task-tree-container {
padding: 1rem;
}
.tg-v2-filter-panel {
width: 100%;
right: -100%;
}
}
@media (max-width: 640px) {
.task-list-item {
padding: 0.75rem 1rem;
}
.task-tree-project-header {
padding: 0.75rem 1rem;
}
.tg-v2-card {
padding: 1rem;
}
}
.theme-dark {
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
}
.theme-dark .tg-v2-card:hover,
.theme-dark .task-list-item:hover,
.theme-dark .task-tree-project:hover {
box-shadow: 0 0 0 1px var(--interactive-accent), var(--tg-shadow-md);
}
.tg-v2-progress {
width: 100%;
height: 6px;
background: var(--background-modifier-border);
border-radius: var(--tg-radius-full);
overflow: hidden;
margin: 0.5rem 0;
}
.tg-v2-progress-bar {
height: 100%;
background: var(--interactive-accent);
border-radius: var(--tg-radius-full);
transition: width var(--tg-transition-slow);
position: relative;
overflow: hidden;
}
.tg-v2-progress-bar::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.3),
transparent);
animation: shimmer 2s infinite;
}
@keyframes shimmer {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
.tg-v2-tag {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.625rem;
font-size: 0.75rem;
font-weight: 500;
border-radius: var(--tg-radius-full);
background: var(--background-secondary);
color: var(--text-normal);
border: 1px solid var(--background-modifier-border);
margin-right: 0.25rem;
transition: all var(--tg-transition-fast);
}
.tg-v2-tag:hover {
background: var(--background-modifier-hover);
border-color: var(--interactive-accent);
}
.tg-v2-tag-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
border-color: var(--interactive-accent);
}
.tg-v2-tag-success {
background: #10b981;
color: white;
border-color: #10b981;
}
.tg-v2-tag-warning {
background: #f59e0b;
color: white;
border-color: #f59e0b;
}
.tg-v2-tag-danger {
background: var(--text-error);
color: white;
border-color: var(--text-error);
}
/* src/experimental/v2/styles/v2-content-header.css */
.tg-v2-content-wrapper {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
}
.v2-content-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 20px;
background: var(--background-primary);
border-bottom: 1px solid var(--background-modifier-border);
min-height: 56px;
gap: 16px;
flex-shrink: 0;
}
.v2-content-header .header-left-section {
display: flex;
align-items: center;
gap: 12px;
min-width: 200px;
}
.v2-content-header .content-title {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-normal);
white-space: nowrap;
}
.v2-content-header .task-count {
font-size: 0.875rem;
color: var(--text-muted);
padding: 2px 8px;
background: var(--background-secondary);
border-radius: 4px;
white-space: nowrap;
}
.v2-content-header .header-center-section {
flex: 1;
display: flex;
justify-content: center;
max-width: 500px;
margin: 0 auto;
}
.v2-content-header .content-filter {
width: 100%;
}
.v2-content-header .filter-input {
width: 100%;
padding: 6px 12px;
background: var(--background-primary-alt);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 0.875rem;
color: var(--text-normal);
transition: all 0.2s ease;
}
.v2-content-header .filter-input::placeholder {
color: var(--text-muted);
}
.v2-content-header .filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
}
.v2-content-header .header-right-section {
display: flex;
align-items: center;
gap: 8px;
}
.v2-content-header .view-toggle-btn,
.v2-content-header .sort-button,
.v2-content-header .filter-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
cursor: pointer;
transition: all 0.2s ease;
}
.v2-content-header .view-toggle-btn:hover,
.v2-content-header .sort-button:hover,
.v2-content-header .filter-button:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-content-header .view-toggle-btn:active,
.v2-content-header .sort-button:active,
.v2-content-header .filter-button:active {
transform: scale(0.95);
}
.v2-content-header .view-toggle-btn svg,
.v2-content-header .sort-button svg,
.v2-content-header .filter-button svg {
width: 16px;
height: 16px;
}
.tg-v2-content {
flex: 1;
overflow-y: auto;
background: var(--background-primary);
}
@media (max-width: 768px) {
.v2-content-header {
flex-wrap: wrap;
padding: 8px 12px;
}
.v2-content-header .header-left-section {
min-width: auto;
}
.v2-content-header .header-center-section {
order: 3;
width: 100%;
max-width: none;
margin-top: 8px;
}
.v2-content-header .content-title {
font-size: 1.1rem;
}
}
/* src/styles/v2-project-popover.css */
.v2-project-popover-container {
position: absolute;
z-index: 1000;
}
.v2-project-popover {
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
min-width: 320px;
max-width: 400px;
animation: popover-fade-in 0.2s ease-out;
}
@keyframes popover-fade-in {
from {
opacity: 0;
transform: translateY(-8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.v2-popover-arrow,
.v2-popover-arrow::before {
position: absolute;
width: 10px;
height: 10px;
background: inherit;
}
.v2-popover-arrow {
visibility: hidden;
}
.v2-popover-arrow::before {
visibility: visible;
content: "";
transform: rotate(45deg);
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
}
.v2-project-popover[data-popper-placement^=top] .v2-popover-arrow {
bottom: -5px;
}
.v2-project-popover[data-popper-placement^=top] .v2-popover-arrow::before {
border-top: none;
border-left: none;
}
.v2-project-popover[data-popper-placement^=bottom] .v2-popover-arrow {
top: -5px;
}
.v2-project-popover[data-popper-placement^=bottom] .v2-popover-arrow::before {
border-right: none;
border-bottom: none;
}
.v2-project-popover[data-popper-placement^=left] .v2-popover-arrow {
right: -5px;
}
.v2-project-popover[data-popper-placement^=left] .v2-popover-arrow::before {
border-bottom: none;
border-left: none;
}
.v2-project-popover[data-popper-placement^=right] .v2-popover-arrow {
left: -5px;
}
.v2-project-popover[data-popper-placement^=right] .v2-popover-arrow::before {
border-top: none;
border-right: none;
}
.v2-popover-content {
padding: 16px;
}
.v2-popover-header {
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--background-modifier-border);
}
.v2-popover-header h3 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--text-normal);
}
.v2-popover-section {
margin-bottom: 16px;
}
.v2-popover-section label {
display: block;
margin-bottom: 8px;
font-size: 12px;
font-weight: 500;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.v2-popover-input {
width: 100%;
padding: 8px 12px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
font-size: 14px;
color: var(--text-normal);
transition: all 0.2s;
}
.v2-popover-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.v2-popover-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
@keyframes shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-4px);
}
75% {
transform: translateX(4px);
}
}
.v2-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 8px;
}
.v2-color-button {
width: 36px;
height: 36px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 2px solid transparent;
position: relative;
}
.v2-color-button:hover {
transform: scale(1.1);
}
.v2-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
}
.v2-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
font-weight: bold;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.v2-popover-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid var(--background-modifier-border);
}
.v2-button {
padding: 6px 16px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: none;
outline: none;
}
.v2-button-primary {
background: var(--interactive-accent);
color: var(--text-on-accent);
}
.v2-button-primary:hover {
background: var(--interactive-accent-hover);
}
.v2-button-secondary {
background: transparent;
color: var(--text-muted);
border: 1px solid var(--background-modifier-border);
}
.v2-button-secondary:hover {
background: var(--background-modifier-hover);
color: var(--text-normal);
}
.v2-project-modal {
}
.v2-project-modal .modal-content h2 {
margin-bottom: 20px;
font-size: 20px;
font-weight: 600;
color: var(--text-normal);
}
.v2-modal-section {
margin-bottom: 24px;
}
.v2-modal-section label {
display: block;
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: var(--text-muted);
}
.v2-modal-input {
width: 100%;
padding: 10px 14px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
font-size: 16px;
color: var(--text-normal);
transition: all 0.2s;
}
.v2-modal-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.v2-modal-input.is-error {
border-color: var(--text-error);
animation: shake 0.3s;
}
.v2-modal-color-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
}
.v2-modal-color-button {
width: 48px;
height: 48px;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s;
border: 3px solid transparent;
position: relative;
}
.v2-modal-color-button:hover {
transform: scale(1.1);
}
.v2-modal-color-button.is-selected {
border-color: var(--interactive-accent);
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
}
.v2-modal-color-button.is-selected::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 20px;
font-weight: bold;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.v2-modal-preview {
padding: 12px;
background: var(--background-secondary);
border-radius: 8px;
}
.v2-project-item-preview {
display: flex;
align-items: center;
gap: 12px;
padding: 8px;
background: var(--background-primary);
border-radius: 6px;
}
.v2-project-item-preview .v2-project-color {
width: 8px;
height: 32px;
border-radius: 2px;
flex-shrink: 0;
}
.v2-project-item-preview .v2-project-name {
font-size: 14px;
font-weight: 500;
color: var(--text-normal);
}
.v2-modal-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
padding: 20px;
border-top: 1px solid var(--background-modifier-border);
}
.v2-modal-footer .v2-button {
padding: 10px 24px;
font-size: 15px;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXRpbWVyLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy12Mi5jc3MiLCAic3JjL3N0eWxlcy9iZXRhLXdhcm5pbmcuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3Mtc2VhcmNoLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmdzLW1pZ3JhdGlvbi5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL21vZGFsLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWVkaXQtZGlhbG9nLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaWNzLXNldHRpbmdzLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2dsb2JhbC1maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1zZXR0aW5nLXRhYi5jc3MiLCAic3JjL3N0eWxlcy9maWxlLWZpbHRlci1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy9tY3AtaW50ZWdyYXRpb24uY3NzIiwgInNyYy9zdHlsZXMvd29ya2Zsb3cuY3NzIiwgInNyYy9zdHlsZXMvZGF0ZS1waWNrZXIuY3NzIiwgInNyYy9zdHlsZXMvcXVpY2stY2FwdHVyZS5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaW5saW5lLWVkaXRvci5jc3MiLCAic3JjL3N0eWxlcy90cmVlLXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvZm9yZWNhc3QuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIuY3NzIiwgInNyYy9zdHlsZXMvdGFnLXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvamVjdC12aWV3LmNzcyIsICJzcmMvc3R5bGVzL3Byb2plY3QtdHJlZS5jc3MiLCAic3JjL3N0eWxlcy9yZXZpZXctdmlldy5jc3MiLCAic3JjL3N0eWxlcy92aWV3LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMva2FuYmFuL2thbmJhbi5jc3MiLCAic3JjL2NvbXBvbmVudHMvZmVhdHVyZXMvdGFzay9maWx0ZXIvaW4tdmlldy9maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvcHJvcGVydHktdmlldy5jc3MiLCAic3JjL3N0eWxlcy90YWJsZS5jc3MiLCAic3JjL3N0eWxlcy9xdWFkcmFudC9xdWFkcmFudC5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwuY3NzIiwgInNyYy9zdHlsZXMvdmlldy1jb25maWcuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zdGF0dXMuY3NzIiwgInNyYy9zdHlsZXMvb25ib2FyZGluZy5jc3MiLCAic3JjL3N0eWxlcy90aW1lbGluZS1zaWRlYmFyLmNzcyIsICJzcmMvc3R5bGVzL3Jld2FyZC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWd1dHRlci5jc3MiLCAic3JjL3N0eWxlcy9iYXNlLXZpZXcuY3NzIiwgInNyYy9leHBlcmltZW50YWwvdjIvc3R5bGVzL3YyLmNzcyIsICJzcmMvZXhwZXJpbWVudGFsL3YyL3N0eWxlcy92Mi1lbmhhbmNlZC5jc3MiLCAic3JjL2V4cGVyaW1lbnRhbC92Mi9zdHlsZXMvdjItY29udGVudC1oZWFkZXIuY3NzIiwgInNyYy9zdHlsZXMvdjItcHJvamVjdC1wb3BvdmVyLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi5uby1wcm9ncmVzcy1iYXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUge1xuXHRoZWlnaHQ6IDhweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgY29sb3JzIGZvciBkaWZmZXJlbnQgcGVyY2VudGFnZXMgb2YgY29tcGxldGlvbiAqL1xuLnByb2dyZXNzLWJhci1pbmxpbmUtZW1wdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0xIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMjUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0zIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNzUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1jb21wbGV0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTEwMC1jb2xvcik7XG59XG5cbi8qIENvbG9ycyBmb3IgZGlmZmVyZW50IHRhc2sgc3RhdHVzZXMgKi9cbi5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdHotaW5kZXg6IDM7XG59XG5cbi5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHR6LWluZGV4OiAyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogODVweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLmhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFN0YXR1cyBpbmRpY2F0b3JzIGluIHRoZSB0YXNrIG51bWJlciBkaXNwbGF5ICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnRhc2stc3RhdHVzLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuY29tcGxldGVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuaW4tcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmFiYW5kb25lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnBsYW5uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBXaXRoIE51bWJlciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLkh5cGVyTUQtaGVhZGVyXG5cdC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlclxuXHQucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLFxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdG1hcmdpbi1ib3R0b206IC0ycHg7XG5cdHdpZHRoOiA0MnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLyogQWRhcHRhdGlvbnMgZm9yIGRhcmsgdGhlbWUgKi9cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi50YXNrLXByb2dyZXNzLWJhci1wb3BvdmVyIHtcblx0d2lkdGg6IDQwMHB4O1xufVxuIiwgIi8qIFRhc2sgVGltZXIgV2lkZ2V0IFN0eWxlcyAtIFNpbXBsZSBUZXh0LUJhc2VkICovXG5cbi50YXNrLXRpbWVyLXdpZGdldCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDRweCAwO1xuXHRwYWRkaW5nOiAycHggMDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBTdGFydCBidXR0b24gYW5kIGFjdGlvbiBsaW5rcyAqL1xuLnRhc2stdGltZXItc3RhcnQsXG4udGFzay10aW1lci1hY3Rpb24ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10aW1lci1zdGFydDpob3Zlcixcbi50YXNrLXRpbWVyLWFjdGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59IiwgIi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5leHBlcmltZW50YWwtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5leHBlcmltZW50YWwtaW5mbyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogRXhwZXJpbWVudGFsIFNldHRpbmdzICovXG4uZXhwZXJpbWVudGFsLXNldHRpbmdzLXNlY3Rpb24ge1xuXHRtYXJnaW46IDIwcHggMDtcbn1cblxuLmV4cGVyaW1lbnRhbC1zZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5leHBlcmltZW50YWwtc3Vic2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAxNXB4IDAgOHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmV4cGVyaW1lbnRhbC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0bWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuXHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5leHBlcmltZW50YWwtZGF0YWZsb3ctc2VjdGlvbiB7XG5cdG1hcmdpbjogMTVweCAwO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmV4cGVyaW1lbnRhbC1pbmZvIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uZXhwZXJpbWVudGFsLXJlc3RhcnQtbm90aWNlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXG4udGFzay1zdGF0ZXMtY29udGFpbmVyIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcblx0bWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xKTtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIC50YXNrLXN0YXRlIHtcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtMi0xKTtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XG5cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcbn1cblxuLyogQ2F0ZWdvcnkgc2VjdGlvbiAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIENhdGVnb3J5IGhlYWRlciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1oZWFkZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4vKiBDYXRlZ29yeSB0YWJzIGNvbnRhaW5lciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0Z3JpZC1hdXRvLXJvd3M6IHZhcigtLXNpemUtNC0xOCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG5cdH1cbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IC04MHB4O1xuXHR3aWR0aDogMjAwcHg7XG5cdGhlaWdodDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTVkZWcpO1xuXHR6LWluZGV4OiAwO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6aG92ZXI6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xMGRlZyk7XG5cdG9wYWNpdHk6IDAuOTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogVGFiIGNvbnRlbnQgc3R5bGluZyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItaWNvbixcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHNwYW4sXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1sYWJlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogRW5oYW5jZWQgdGFiIGljb24gc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNCk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiBzdmcge1xuXHR3aWR0aDogdmFyKC0taWNvbi1zKTtcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXMpO1xufVxuXG4vKiBFbmhhbmNlZCB0YWIgbGFiZWwgc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRmbGV4OiAxO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiBFbmhhbmNlZCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgY2F0ZWdvcml6ZWQgdGFicyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIExlZ2FjeSB0YWIgc3R5bGVzIChmYWxsYmFjaykgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb25zIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24taWNvbiB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBUYWIgc2VjdGlvbiBoZWFkZXIgdmlzaWJpbGl0eSBydWxlcyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZSBjYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciB3aGVuIGFueSBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyhcblx0XHQuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlOm5vdChbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxuXHQpXG5cdC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciB2aXNpYmlsaXR5IChmYWxsYmFjaykgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTaG93IGxlZ2FjeSB0YWJzIHdoZW4gZ2VuZXJhbCB0YWIgaXMgYWN0aXZlIChmYWxsYmFjayBiZWhhdmlvcikgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoLnNldHRpbmdzLXRhYi1hY3RpdmVbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxuXHQuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuXG4vKiBTZXR0aW5ncyBoZWFkZXIgdmlzaWJpbGl0eSAtIGhpZGUgd2hlbiBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogRXhwcmVzc2lvbiBleGFtcGxlcyBpbiBzZXR0aW5ncyAqL1xuLmV4cHJlc3Npb24tZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS1pdGVtIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTsgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtY29kZSB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS11c2Uge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4uY3VzdG9tLWZvcm1hdC10ZXh0YXJlYSB7XG5cdGhlaWdodDogMjAwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG59XG5cbi5jdXN0b20tZm9ybWF0LXBsYWNlaG9sZGVyLWluZm8ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblxuXHR1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1lcnJvcixcbi5leHByZXNzaW9uLXByZXZpZXctZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFx1ODg2OFx1OEZCRVx1NUYwRlx1NzkzQVx1NEY4Qlx1OTg4NFx1ODlDOFx1NjgzN1x1NUYwRiAqL1xuLmV4cHJlc3Npb24tZXhhbXBsZS1wcmV2aWV3IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5wcmVzZXQtZmlsdGVycy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucHJlc2V0LWZpbHRlci1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5wcmVzZXQtZmlsdGVyLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi5uby1wcmVzZXRzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4ucHJlc2V0LXNhdmVkLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiA1cHg7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhc2stZmlsdGVyLXNhdmUtcHJlc2V0IHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbi5tb2Qtd2FybmluZyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ubW9kYWwtd29ya2Zsb3ctZGVmaW5pdGlvbiB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHdpZHRoOiA5MHZ3O1xufVxuXG4ubW9kYWwtc3RhZ2UtZGVmaW5pdGlvbiB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHdpZHRoOiA5MHZ3O1xufVxuXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBwYW5lbCBpbXByb3ZlbWVudHMgKi9cbi53b3JrZmxvdy1jb250YWluZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTVweDtcblx0bWF4LWhlaWdodDogNTAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4ud29ya2Zsb3ctcm93IHtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tbmFtZSB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogOHB4IDAgMCAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWN5Y2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm5vLXdvcmtmbG93cy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLyogV29ya2Zsb3cgbW9kYWwgc3R5bGVzICovXG4ud29ya2Zsb3ctZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24gaDIge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRmb250LXNpemU6IDEuM2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4LXdyYXA6IHVuc2V0O1xuXHRnYXA6IHVuc2V0O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndvcmtmbG93LWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24sXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbixcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1jYW5jZWwtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIFN0YWdlIGVkaXRpbmcgc3R5bGVzICovXG4ud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmbGV4OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA1cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1lZGl0LFxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDNweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1kZWxldGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1saW5lYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWN5Y2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBTdWJzdGFnZSBzdHlsZXMgKi9cbi53b3JrZmxvdy1zdWJzdGFnZXMtbGlzdCB7XG5cdHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpemUtNC02KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3Vic3RhZ2Utc2V0dGluZ3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFN0YWdlIGVkaXQgbW9kYWwgKi9cbi5zdGFnZS10eXBlLXNldHRpbmdzIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zdWJzdGFnZXMtc2VjdGlvbixcbi5jYW4tcHJvY2VlZC10by1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdWJzdGFnZXMtY29udGFpbmVyLFxuLmNhbi1wcm9jZWVkLXRvLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN1YnN0YWdlcy1saXN0LFxuLmNhbi1wcm9jZWVkLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4OiAxO1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnN1YnN0YWdlLW5leHQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA1cHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbixcbi5jYW4tcHJvY2VlZC1yZW1vdmUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b246aG92ZXIsXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uYWRkLXN1YnN0YWdlLWJ1dHRvbixcbi5hZGQtY2FuLXByb2NlZWQtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogNHB4IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5hZGQtY2FuLXByb2NlZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hZGQtY2FuLXByb2NlZWQtc2VsZWN0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN0YWdlLXNhdmUtYnV0dG9uLFxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc3RhZ2UtY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YWdlLWVycm9yLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiBXb3JrZmxvdyB0YXNrIGluIGVkaXRvci9wcmV2aWV3IG1vZGUgc3R5bGVzICovXG4udGFzay13b3JrZmxvdy10YWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay13b3JrZmxvdy1zdGFnZSB7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXdvcmtmbG93LXN1YnN0YWdlIHtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXdvcmtmbG93LWhpc3Rvcnkge1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXdvcmtmbG93LXRpbWVzdGFtcCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogV29ya2Zsb3cgc2V0dGluZ3MgZGlzcGxheSBlbmhhbmNlbWVudHMgKi9cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCBzcGFuW2NsYXNzXj1cIndvcmtmbG93LXN0YWdlLW5hbWUtXCJdIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi8qIFdvcmtmbG93RGVmaW5pdGlvbk1vZGFsIGhlYWRlciBlbmhhbmNlbWVudHMgKi9cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS1oZWFkZXIge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cdG1hcmdpbjogNXB4IDAgMTBweCAwO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQmV0dGVyIGJ1dHRvbnMgaW4gd29ya2Zsb3cgcGFuZWxzICovXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbixcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhLFxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiA2cHggMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbjpob3Zlcixcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyLFxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd24sXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogM3B4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXA6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFN1YnRhc2sgc3R5bGluZyBpbXByb3ZlbWVudHMgKi9cbi5zdWJzdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDA7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxM3B4O1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSxcbi5uby13b3JrZmxvd3MtbWVzc2FnZSxcbi5uby1zdWJzdGFnZXMtbWVzc2FnZSxcbi5uby1jYW4tcHJvY2VlZC1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRtYXJnaW46IDEwcHggMDtcbn1cblxuLyogU1RBUlQ6IFJld2FyZCBTZXR0aW5ncyBTdHlsZXMgKi9cbi5yZXdhcmRzLWxldmVscy1jb250YWluZXIsXG4ucmV3YXJkcy1pdGVtcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1pbmZvLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogMDtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCxcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDsgLyogQWxsb3cgd3JhcHBpbmcgb24gc21hbGxlciBzY3JlZW5zICovXG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMTAwcHg7IC8qIEVuc3VyZSByZWFzb25hYmxlIG1pbmltdW0gd2lkdGggKi9cbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5pbnB1dC1jb250YWluZXIge1xuXHQvKiBPYnNpZGlhbiB1c2VzIHRoaXMgY2xhc3MgZm9yIHRleHQvdGV4dGFyZWEgKi9cblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2UgdGV4dGFyZWEgdGFrZSBmdWxsIHdpZHRoIHdpdGhpbiBpdHMgY29udGFpbmVyICovXG5cdG1pbi1oZWlnaHQ6IDQwcHg7IC8qIEVuc3VyZSBpdCdzIHRhbGwgZW5vdWdoIGZvciBhIGNvdXBsZSBsaW5lcyAqL1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmRyb3Bkb3duIHtcblx0bWluLXdpZHRoOiAxMjBweDtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24sXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87IC8qIFB1c2ggZGVsZXRlIGJ1dHRvbiB0byB0aGUgcmlnaHQgKi9cbn1cblxuLnJld2FyZHMtaXRlbS1kaXZpZGVyIHtcblx0Ym9yZGVyOiBub25lO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyBzZWxlY3QuZHJvcGRvd24ge1xuXHRmbGV4OiAxO1xufVxuXG5cbi52aWV3LWVkaXQtYnV0dG9uLFxuLnZpZXctY29weS1idXR0b24sXG4udmlldy1vcmRlci1idXR0b24sXG4udmlldy1kZWxldGUtYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udmlldy1jb3B5LWJ1dHRvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udmlldy1jb3B5LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52aWV3LWRlbGV0ZS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi52aWV3LWRlbGV0ZS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnZpZXctaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLyogQ29weSBtb2RlIGluZm8gc3R5bGVzICovXG4uY29weS1tb2RlLWluZm8ge1xuXHRtYXJnaW46IDEwcHggMDtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5jb3B5LW1vZGUtaW5mbyBwIHtcblx0bWFyZ2luOiA0cHggMDtcbn1cblxuLyogVGFza3MgUGx1Z2luIENvbXBhdGliaWxpdHkgV2FybmluZyBCYW5uZXIgKi9cbi50YXNrcy1jb21wYXRpYmlsaXR5LXdhcm5pbmcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2woXG5cdFx0dmFyKC0tYWNjZW50LWgpLFxuXHRcdHZhcigtLWFjY2VudC1zKSxcblx0XHR2YXIoLS1hY2NlbnQtbCksXG5cdFx0MC41XG5cdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuNSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2tzLXdhcm5pbmctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFza3Mtd2FybmluZy1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrcy13YXJuaW5nLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IGEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCBhOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHN0cm9uZyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbiB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuOmZpcnN0LW9mLXR5cGUge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46bGFzdC1vZi10eXBlIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogRW5oYW5jZWQgUHJvamVjdCBDb25maWd1cmF0aW9uIFN0eWxlcyAqL1xuLnByb2plY3QtcGF0aC1tYXBwaW5ncy1jb250YWluZXIsXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5ncy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvamVjdC1wYXRoLW1hcHBpbmctcm93LFxuLnByb2plY3QtbWV0YWRhdGEtbWFwcGluZy1yb3cge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLm5vLW1hcHBpbmdzLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBUYXNrIFByb2plY3QgRGlzcGxheSBTdHlsZXMgKi9cbi50YXNrLXByb2plY3QtdGcge1xuXHRvcGFjaXR5OiAwLjg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRwYWRkaW5nLWxlZnQ6IDRweDtcbn1cblxuLnRhc2stcHJvamVjdC10Zzo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdUREMTdcIjtcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi8qIE1ldGFkYXRhIEVkaXRvciBQcm9qZWN0IFN0eWxlcyAqL1xuLnByb2plY3QtcmVhZG9ubHkge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5wcm9qZWN0LXJlYWRvbmx5IGlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBEYXRlIGZvcm1hdCBjb25maWd1cmF0aW9uIHN0eWxlcyAqL1xuLnRhc2stZ2VuaXVzLWRhdGUtZm9ybWF0cy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0cy1oZWFkZXIge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0biB7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuIHtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjphY3RpdmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIERhdGUgZm9ybWF0IGV4YW1wbGVzIHNlY3Rpb24gKi9cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWV4YW1wbGVzLWhlYWRlciB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCxcbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpob3ZlciB0ZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuIiwgIi50Zy1zdGF0dXMtaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0zKTtcblx0bWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNpemUtMi0xKSk7XG59XG5cbi50Zy1pY29ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRnLWljb25zLWNvbnRhaW5lciAudGctc3RhdHVzLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIEdsb2JhbCBGaWx0ZXIgQ29udGFpbmVyIFN0eWxlcyAqL1xuLmdsb2JhbC1maWx0ZXItY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogRmlsZSBUYXNrIGR5bmFtaWMgY29uZmlndXJhdGlvbiBzdHlsZXMgKi9cbi50YXNrLWdlbml1cy1tZXRhZGF0YS1maWVsZHMtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLXRhZ3MtY29udGFpbmVyLFxuLnRhc2stZ2VuaXVzLXBhdGhzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy1kYXRlLWZvcm1hdHMtY29udGFpbmVyIHtcblx0bWFyZ2luOiAxcmVtIDA7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtZmllbGRzLWhlYWRlcixcbi50YXNrLWdlbml1cy10YWdzLWhlYWRlcixcbi50YXNrLWdlbml1cy1wYXRocy1oZWFkZXIsXG4udGFzay1nZW5pdXMtZm9ybWF0cy1oZWFkZXIsXG4udGFzay1nZW5pdXMtZXhhbXBsZXMtaGVhZGVyIHtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWxpc3QsXG4udGFzay1nZW5pdXMtdGFnLWxpc3QsXG4udGFzay1nZW5pdXMtcGF0aC1saXN0LFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pdGVtLFxuLnRhc2stZ2VuaXVzLXRhZy1pdGVtLFxuLnRhc2stZ2VuaXVzLXBhdGgtaXRlbSxcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtdGFnLWl0ZW06aG92ZXIsXG4udGFzay1nZW5pdXMtcGF0aC1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaW5wdXQsXG4udGFzay1nZW5pdXMtdGFnLWlucHV0LFxuLnRhc2stZ2VuaXVzLXBhdGgtaW5wdXQsXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogMC40cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLXRhZy1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy1wYXRoLWlucHV0OmZvY3VzLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLXRhZy1kZWxldGUtYnRuLFxuLnRhc2stZ2VuaXVzLXBhdGgtZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0biB7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtdGFnLWRlbGV0ZS1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtcGF0aC1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1kZWxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZmllbGQtYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC10YWctYnRuLFxuLnRhc2stZ2VuaXVzLWFkZC1wYXRoLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0biB7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLnRhc2stZ2VuaXVzLWFkZC1maWVsZC1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLXRhZy1idG46aG92ZXIsXG4udGFzay1nZW5pdXMtYWRkLXBhdGgtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC1mb3JtYXQtYnRuOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRGF0ZSBmb3JtYXQgZXhhbXBsZXMgdGFibGUgKi9cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0cGFkZGluZzogMC41cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRkIHtcblx0cGFkZGluZzogMC40cmVtIDAuNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmhvdmVyIHRkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi50YXNrLWdlbml1cy1pZnJhbWUtbW9kYWwge1xuXHR3aWR0aDogOTAlO1xuXHRtYXgtd2lkdGg6IDE0MDBweDtcblx0bWF4LWhlaWdodDogOTB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhc2stZ2VuaXVzLWlmcmFtZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4udGltZS1wYXJzaW5nLWV4YW1wbGUge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGltZVwiXSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuZmlsZS1zb3VyY2Utc3RyYXRlZ3ktY29udGFpbmVyIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cbiIsICIvKiBCZXRhIHRlc3Qgd2FybmluZyBiYW5uZXIgc3R5bGVzICovXG4uYmV0YS10ZXN0LXdhcm5pbmctYmFubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWljb24ge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi5iZXRhLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmJldGEtd2FybmluZy10ZXh0IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogU2V0dGluZ3MgU2VhcmNoIENvbXBvbmVudCBTdHlsZXMgKi9cblxuLyogXHU2NDFDXHU3RDIyXHU1QkI5XHU1NjY4ICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdThGOTNcdTUxNjVcdTY4NDZcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU2ODA3XHU1MUM2XHU4RjkzXHU1MTY1XHU2ODQ2XHU2ODM3XHU1RjBGICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZDogdmFyKC0taW5wdXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1pbnB1dC1oZWlnaHQpO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDcgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHN2ZyB7XG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24tcyk7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1OEY5M1x1NTE2NVx1Njg0NiAtIFx1OTFDRFx1N0Y2RSBPYnNpZGlhbiBcdTlFRDhcdThCQTRcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS0yLTEpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmlucHV0LnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRSAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTYzMDlcdTk0QUVcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR3aWR0aDogdmFyKC0tY2xpY2thYmxlLWljb24tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2xpY2thYmxlLWljb24tc2l6ZSk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKSAhaW1wb3J0YW50O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyIHN2ZyB7XG5cdHdpZHRoOiB2YXIoLS1pY29uLXhzKTtcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXhzKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1QkI5XHU1NjY4IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NUYzOVx1NTFGQVx1ODNEQ1x1NTM1NVx1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGNhbGMoMTAwJSArIHZhcigtLXNpemUtMi0xKSk7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3Zlcik7XG5cdG1heC1oZWlnaHQ6IDMyMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1N0VEM1x1Njc5Q1x1OTg3OSAtIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTgzRENcdTUzNTVcdTk4NzlcdTY4MzdcdTVGMEYgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0Omxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdDpob3Zlcixcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0OmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU1NDBEXHU3OUYwICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi8qIFx1NjQxQ1x1N0QyMlx1N0VEM1x1Njc5Q1x1NTE0M1x1NEZFMVx1NjA2RiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbWV0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWNhdGVnb3J5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU2M0NGXHU4RkYwICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1kZXNjIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4vKiBcdTY1RTBcdTdFRDNcdTY3OUNcdTcyQjZcdTYwMDEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtbm8tcmVzdWx0IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC0zKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFx1OEJCRVx1N0Y2RVx1OTg3OVx1OUFEOFx1NEVBRVx1NjU0OFx1Njc5QyAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMgZWFzZS1vdXQ7XG5cdGFuaW1hdGlvbjogdGctc2V0dGluZ3Mtc2VhcmNoLXB1bHNlIDAuNnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgdGctc2V0dGluZ3Mtc2VhcmNoLXB1bHNlIHtcblx0MCUge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHQ1MCUge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDEpO1xuXHR9XG5cdDEwMCUge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi8qIFx1OTUyRVx1NzZEOFx1NUJGQ1x1ODIyQVx1NjMwN1x1NzkzQVx1NTY2OCAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4vKiBcdTU0Q0RcdTVFOTRcdTVGMEZcdThCQkVcdThCQTEgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGctc2V0dGluZ3Mtc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0LnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0XHRtYXgtaGVpZ2h0OiAyODBweDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LW5hbWUge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdH1cblxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1jYXRlZ29yeSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMSk7XG5cdH1cbn1cblxuLyogXHU2RURBXHU1MkE4XHU2NzYxXHU2ODM3XHU1RjBGIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjgwN1x1NTFDNlx1NkVEQVx1NTJBOFx1Njc2MSAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0c2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLXRoaW4td2lkdGgpO1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zY3JvbGxiYXItdGhpbi10aHVtYi1yYWRpdXMpO1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZy1ob3Zlcik7XG5cdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG59XG5cbi8qIFx1Nzg2RVx1NEZERFx1NjQxQ1x1N0QyMlx1Njg0Nlx1NTcyOFx1OEJCRVx1N0Y2RVx1OTg3NVx1OTc2Mlx1NEUyRFx1NzY4NFx1NkI2M1x1Nzg2RVx1NUI5QVx1NEY0RCAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcblx0b3JkZXI6IC0xOyAvKiBcdTc4NkVcdTRGRERcdTY0MUNcdTdEMjJcdTY4NDZcdTY2M0VcdTc5M0FcdTU3MjhcdTY3MDBcdTUyNERcdTk3NjIgKi9cblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi8qIFx1NEZFRVx1NTkwRFx1NTNFRlx1ODBGRFx1NzY4NCB6LWluZGV4IFx1OTVFRVx1OTg5OCAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3ZlciwgMjAwKTtcbn1cblxuLyogXHU3ODZFXHU0RkREXHU4RjkzXHU1MTY1XHU2ODQ2XHU4MDVBXHU3MTI2XHU2NUY2XHU3Njg0XHU2ODM3XHU1RjBGXHU2QjYzXHU3ODZFICovXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBcdTY0MUNcdTdEMjJcdTU2RkVcdTY4MDdcdTc2ODRcdTRFQTRcdTRFOTJcdTcyQjZcdTYwMDEgKi9cbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLnRnLXNldHRpbmdzLXNlYXJjaC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIFx1NkUwNVx1OTY2NFx1NjMwOVx1OTRBRVx1NzY4NFx1NTZGRVx1NjgwN1x1NjgzN1x1NUYwRiAqL1xuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhcjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG4iLCAiLyogU2V0dGluZ3MgTWlncmF0aW9uIFN0eWxpbmcgKi9cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luOiAxMnB4IDA7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDRweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNaWdyYXRpb24gU3VjY2VzcyBJbmRpY2F0b3IgKi9cbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWJnKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdG1hcmdpbjogMTJweCAwO1xufVxuXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXN1Y2Nlc3MgLnNldHRpbmctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBGaWxlU291cmNlIEludGVncmF0aW9uIE5vdGljZSAqL1xuLmZpbGUtc291cmNlLW5vdGljZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRtYXJnaW46IDhweCAwO1xufVxuXG4uZmlsZS1zb3VyY2Utbm90aWNlIC5ub3RpY2UtdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cbiIsICIudGFzay1kZXRhaWxzIC5wYW5lbC10b2dnbGUtY29udGFpbmVyIHtcblx0bGVmdDogMTBweDtcbn1cblxuLyogRGV0YWlsIFBhbmVsIFN0eWxlcyAqL1xuLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAzMDBweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3JkZXI6IDE7XG59XG5cbi8qIERldGFpbHMgcGFuZWwgdmlzaWJpbGl0eSAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdG1hcmdpbi1yaWdodDogLTMwMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDM1MHB4O1xuXHRvcGFjaXR5OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIE1vYmlsZSB2aWV3IC0gc2xpZGUgZnJvbSByaWdodCAqL1xuLmlzLXBob25lIC50YXNrLWRldGFpbHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc2l6ZS00LTEyKSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBkZXRhaWxzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtY2xvc2UtYnRuIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5kZXRhaWxzLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIERldGFpbHMgY29udGVudCAqL1xuLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5kZXRhaWxzLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogbWF4KHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pLCB2YXIoLS1zaXplLTQtOCkpO1xufVxuXG4uZGV0YWlscy1uYW1lIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMS4zZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1sYWJlbCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lbnUtaXRlbS10aXRsZTpoYXMoLnN0YXR1cy1vcHRpb24pIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRnYXA6IDRweDtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24tY2hlY2tib3gpIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWljb24pIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdGF0dXMtb3B0aW9uLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnN0YXR1cy1vcHRpb24tY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN0YXR1cy1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3RhdHVzLW9wdGlvbi5jdXJyZW50IHtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0b3V0bGluZTogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuMyk7XG5cdG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5zdGF0dXMtb3B0aW9uIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG59XG5cbi5kZXRhaWxzLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcbn1cblxuLm1ldGFkYXRhLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWV0YWRhdGEtdmFsdWUge1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmRldGFpbHMtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG4sXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtYnRuOmhvdmVyLFxuLmRldGFpbHMtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFRhc2sgZWRpdGluZyBmb3JtIHN0eWxlcyAqL1xuLmRldGFpbHMtZWRpdC1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kZXRhaWxzLWZvcm0taW5wdXQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRldGFpbHMtZWRpdC1jb250ZW50IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCBpbnB1dCxcbi5kZXRhaWxzLWZvcm0taW5wdXQgc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZGF0ZS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpZWxkLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLXRvcDogMTZweDtcblx0Z2FwOiA4cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tYnV0dG9ucyBidXR0b24ge1xuXHRmbGV4OiAxO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRldGFpbHMtZm9ybS1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5kZXRhaWxzLWVkaXQtZmlsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIG1vYmlsZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stb21uaWZvY3VzLWNvbnRhaW5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC50YXNrLXNpZGViYXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdH1cblxuXHQudGFzay1jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZGV0YWlscyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHR9XG59XG5cbi8qIFByb2plY3Qgc291cmNlIGluZGljYXRvciBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBSZWFkb25seSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogT3ZlcnJpZGUgaW5kaWNhdG9yICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5vdmVycmlkZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRmllbGQgZGVzY3JpcHRpb25zICovXG4uZmllbGQtZGVzY3JpcHRpb24ucmVhZG9ubHktZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ub3ZlcnJpZGUtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIGVkaXRvciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IuaW5saW5lLWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBUYWJsZSBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDJweDtcblx0cmlnaHQ6IDJweDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR6LWluZGV4OiA1O1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnRhYmxlLWluZGljYXRvciAuaW5kaWNhdG9yLWljb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4udGFzay10YWJsZS1jZWxsLnJlYWRvbmx5LWNlbGwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4vKiBQcm9qZWN0IGNvbnRhaW5lciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSAucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuIiwgIi8qIE9uQ29tcGxldGlvbiBDb25maWd1cmF0b3IgU3R5bGVzICovXG4ub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xufVxuXG4ub25jb21wbGV0aW9uLWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLm9uY29tcGxldGlvbi1jb25maWcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLm9uY29tcGxldGlvbi1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNHB4O1xufVxuXG4ub25jb21wbGV0aW9uLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogQWN0aW9uIFR5cGUgRHJvcGRvd24gKi9cbi5vbmNvbXBsZXRpb24tYWN0aW9uLXR5cGUgLmRyb3Bkb3duIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIElucHV0IEZpZWxkcyAqL1xuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFRvZ2dsZSBDb21wb25lbnQgKi9cbi5vbmNvbXBsZXRpb24tZmllbGQgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4vKiBTdWdnZXN0ZXIgU3R5bGVzICovXG4udGFzay1pZC1zdWdnZXN0aW9uIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stY29udGVudC1wcmV2aWV3IHtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLmZpbGUtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWxlLXBhdGgge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmFjdGlvbi10eXBlLXN1Z2dlc3Rpb24ge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4uYWN0aW9uLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi8qIFZhbGlkYXRpb24gU3RhdGVzICovXG4ub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvci5pbnZhbGlkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLnZhbGlkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ub25jb21wbGV0aW9uLXZhbGlkYXRpb24tbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0cGFkZGluZzogNHB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ub25jb21wbGV0aW9uLXZhbGlkYXRpb24tbWVzc2FnZS5lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlLnN1Y2Nlc3Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLyogSW50ZWdyYXRpb24gd2l0aCBUYXNrIERldGFpbHMgKi9cbi50YXNrLWRldGFpbHMgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50YXNrLWRldGFpbHMgLm9uY29tcGxldGlvbi1maWVsZCB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdFx0cGFkZGluZzogOHB4O1xuXHRcdGdhcDogOHB4O1xuXHR9XG5cblx0Lm9uY29tcGxldGlvbi1jb25maWcge1xuXHRcdGdhcDogOHB4O1xuXHR9XG5cblx0LnRhc2stY29udGVudC1wcmV2aWV3IHtcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHR9XG59XG5cbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi50aGVtZS1kYXJrIC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IE1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQ6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR9XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgQ29uZmlndXJhdGlvbiBDaGFuZ2VzICovXG4ub25jb21wbGV0aW9uLWNvbmZpZyB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ub25jb21wbGV0aW9uLWZpZWxkLmVudGVyaW5nIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbn1cblxuLm9uY29tcGxldGlvbi1maWVsZC5leGl0aW5nIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xufVxuXG4vKiBPbkNvbXBsZXRpb24gTW9kYWwgU3R5bGVzICovXG4ub25jb21wbGV0aW9uLW1vZGFsIHtcblx0LS1kaWFsb2ctd2lkdGg6IDYwMHB4O1xuXHQtLWRpYWxvZy1tYXgtd2lkdGg6IDkwdnc7XG5cdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDgwdmg7XG59XG5cbi5vbmNvbXBsZXRpb24tbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXgtaGVpZ2h0OiB2YXIoLS1kaWFsb2ctbWF4LWhlaWdodCk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1heC1oZWlnaHQ6IDYwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiAxNnB4IDIwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIGJ1dHRvbiB7XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLyogSW5saW5lIE9uQ29tcGxldGlvbiBCdXR0b24gU3R5bGVzICovXG4uaW5saW5lLW9uY29tcGxldGlvbi1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdG1pbi13aWR0aDogMTAwcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBNb2RhbCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5vbmNvbXBsZXRpb24tbW9kYWwge1xuXHRcdC0tZGlhbG9nLXdpZHRoOiA5NXZ3O1xuXHRcdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDg1dmg7XG5cdH1cblxuXHQub25jb21wbGV0aW9uLW1vZGFsLWNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0bWF4LWhlaWdodDogNjV2aDtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XG5cdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0fVxuXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdH1cbn1cbiIsICIvKiBVbml2ZXJzYWwgU3VnZ2VzdCBTdHlsZXMgKi9cblxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4udW5pdmVyc2FsLXN1Z2dlc3QtbGFiZWwge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi51bml2ZXJzYWwtc3VnZ2VzdC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi8qIFNwZWNpYWwgY2hhcmFjdGVyIHRyaWdnZXIgaGlnaGxpZ2h0aW5nICovXG4uY20tZWRpdG9yIC5jbS1saW5lIC51bml2ZXJzYWwtc3VnZ2VzdC10cmlnZ2VyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHBhZGRpbmc6IDFweCAycHg7XG59XG5cbi8qIFN1Z2dlc3QgcG9wdXAgY29udGFpbmVyICovXG4uc3VnZ2VzdGlvbi1jb250YWluZXIgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3VnZ2VzdGlvbi1jb250YWluZXIgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50aGVtZS1kYXJrIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdG1hcmdpbi1ib3R0b206IDJweDtcblx0fSBcblx0XG5cdC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmhvdmVyLFxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdH1cbn1cbiIsICIuY29uZmlybS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLyogTGlzdCBDb25maWcgTW9kYWwgU3R5bGVzICovXG4ubGlzdC1jb25maWctbW9kYWwge1xuXHRtaW4td2lkdGg6IDQwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4ubGlzdC1jb25maWctZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xufVxuXG4ubGlzdC1jb25maWctY29udGFpbmVyIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5saXN0LWNvbmZpZy1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xufVxuXG4ubGlzdC1jb25maWctZW1wdHktdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW46IDA7XG59XG5cbi5saXN0LWNvbmZpZy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmxpc3QtY29uZmlnLWl0ZW06bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5saXN0LWNvbmZpZy1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4ubGlzdC1jb25maWctaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5saXN0LWNvbmZpZy1kZWxldGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmxpc3QtY29uZmlnLWRlbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLmxpc3QtY29uZmlnLWRlbGV0ZS1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG4iLCAiLyogXHU0RTYwXHU2MEVGXHU3RjE2XHU4RjkxXHU1RjM5XHU3QTk3XHU2ODM3XHU1RjBGICovXG5cbi5oYWJpdC1lZGl0LWRpYWxvZyB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTdDN0JcdTU3OEJcdTkwMDlcdTYyRTlcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1zZWxlY3RvciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0Z2FwOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcblx0LmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbS5zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS10ZXh0IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjIHtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU2ODM3XHU1RjBGICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNvbW1vbi1mb3JtLFxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBcdTU2RkVcdTY4MDdcdTk4ODRcdTg5QzggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHN2ZyB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG59XG5cbi8qIFx1NjYyMFx1NUMwNFx1N0YxNlx1OEY5MVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWNvbnRhaW5lciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1rZXkge1xuXHR3aWR0aDogODBweDtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1hcnJvdyB7XG5cdG1hcmdpbjogMCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy12YWx1ZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctZGVsZXRlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLW1hcHBpbmctYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi8qIFx1NEU4Qlx1NEVGNlx1N0YxNlx1OEY5MVx1NTY2OCAqL1xuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudHMtY29udGFpbmVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGdhcDogNXB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LW5hbWUge1xuXHR3aWR0aDogMTIwcHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGV0YWlscyB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcHJvcGVydHkge1xuXHR3aWR0aDogMTIwcHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGVsZXRlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLWV2ZW50LWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4vKiBcdTYzMDlcdTk0QUVcdTVCQjlcdTU2NjggKi9cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZWRpdC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNhbmNlbC1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtc2F2ZS1idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogXHU4RjkzXHU1MTY1XHU1QjU3XHU2QkI1ICovXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLWRlc2MsXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbS5zZWxlY3RlZCAuaGFiaXQtdHlwZS1uYW1lIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbiIsICIvKiBcdTRFNjBcdTYwRUZcdTUyMTdcdTg4NjhcdTVCQjlcdTU2NjggKi9cbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaGFiaXQtc2V0dGluZ3MtY29udGFpbmVyIHtcblx0cGFkZGluZy10b3A6IDEycHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFx1NkRGQlx1NTJBMFx1NjMwOVx1OTRBRSAqL1xuLmhhYml0LWFkZC1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmhhYml0LWFkZC1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5oYWJpdC1hZGQtYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NEUzQVx1N0E3QVx1NzJCNlx1NjAwMSAqL1xuLmhhYml0LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xuXHRtYXJnaW46IDAgMCAxMHB4IDA7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1OTg3OVx1NTIxN1x1ODg2OCAqL1xuLmhhYml0LWl0ZW1zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU5ODc5ICovXG4uaGFiaXQtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGhlaWdodDogNy41cmVtO1xufVxuXG4uaGFiaXQtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBcdTRFNjBcdTYwRUZcdTU2RkVcdTY4MDcgKi9cbi5oYWJpdC1pdGVtLWljb24ge1xuXHQtLWljb24tc2l6ZTogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4uaGFiaXQtaXRlbS1pY29uIHN2ZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NEZFMVx1NjA2RiAqL1xuLmhhYml0LWl0ZW0taW5mbyB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDsgLyogXHU5NjMyXHU2QjYyXHU1MTg1XHU1QkI5XHU4RkM3XHU5NTdGXHU2NDkxXHU1RjAwXHU1RTAzXHU1QzQwICovXG59XG5cbi5oYWJpdC1pdGVtLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5oYWJpdC1pdGVtLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5oYWJpdC1pdGVtLXR5cGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogXHU0RTYwXHU2MEVGXHU2NENEXHU0RjVDXHU2MzA5XHU5NEFFICovXG4uaGFiaXQtaXRlbS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b24sXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b246aG92ZXIsXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaGFiaXQtZWRpdC1idXR0b24gc3ZnLFxuLmhhYml0LWRlbGV0ZS1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciBzdmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFx1NEU2MFx1NjBFRlx1NTIyMFx1OTY2NFx1NUJGOVx1OEJERFx1Njg0Nlx1NjgzN1x1NUYwRiAqL1xuLmhhYml0LWRlbGV0ZS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbi1jb25maXJtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsICIvKiBJQ1MgU2V0dGluZ3MgU3R5bGVzICovXG5cbi8qIE1haW4gY29udGFpbmVyICovXG4uaWNzLXNldHRpbmdzLWNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBIZWFkZXIgc2VjdGlvbiAqL1xuLmljcy1oZWFkZXItY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5pY3MtYmFjay1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmljcy1iYWNrLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmljcy1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBHbG9iYWwgc2V0dGluZ3MgKi9cbi5pY3MtZ2xvYmFsLXNldHRpbmdzIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0cGFkZGluZzogMS41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTb3VyY2VzIGxpc3QgKi9cbi5pY3Mtc291cmNlcy1saXN0IHtcblx0bWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4uaWNzLXNvdXJjZXMtbGlzdCBoMyB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5pY3Mtc291cmNlLWl0ZW0ge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNzLXNvdXJjZS1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uaWNzLXNvdXJjZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5pY3Mtc291cmNlLXRpdGxlIHN0cm9uZyB7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5pY3Mtc291cmNlLXN0YXR1cyB7XG5cdHBhZGRpbmc6IDAuM3JlbSAwLjhyZW07XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdGZvbnQtc2l6ZTogMC43NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5zdGF0dXMtZW5hYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4uc3RhdHVzLWRpc2FibGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4uaWNzLXNvdXJjZS1kZXRhaWxzIHtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5pY3Mtc291cmNlLWRldGFpbHMgZGl2IHtcblx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xufVxuXG4vKiBBY3Rpb24gYnV0dG9ucyAqL1xuLmljcy1zb3VyY2UtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxcmVtO1xufVxuXG4ucHJpbWFyeS1hY3Rpb25zLFxuLnNlY29uZGFyeS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdG1pbi13aWR0aDogODBweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246ZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjU7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZyB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5lcnJvciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4vKiBBZGQgc291cmNlIGNvbnRhaW5lciAqL1xuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDJyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXI6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIGJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC44cmVtIDEuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLyogVGVzdCBjb250YWluZXIgKi9cbi5pY3MtdGVzdC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xufVxuXG4uaWNzLXRlc3QtYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaWNzLXRlc3QtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0b3BhY2l0eTogMC44O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIEVtcHR5IHN0YXRlICovXG4uaWNzLWVtcHR5LXN0YXRlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcmVtIDJyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBNb2RhbCBzdHlsZXMgKi9cbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmF1dGgtZmllbGQge1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZy10b3A6IDFyZW07XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaWNzLXNvdXJjZS1oZWFkZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0Z2FwOiAwLjVyZW07XG5cdH1cblxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMC41cmVtO1xuXHR9XG5cblx0LnByaW1hcnktYWN0aW9ucyxcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cblxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XG5cdFx0ZmxleDogMTtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC5pY3Mtc291cmNlLWl0ZW0ge1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdH1cblxuXHQucHJpbWFyeS1hY3Rpb25zLFxuXHQuc2Vjb25kYXJ5LWFjdGlvbnMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuXHR9XG5cblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIFRleHQgUmVwbGFjZW1lbnRzIFN0eWxlcyAqL1xuLnRleHQtcmVwbGFjZW1lbnRzLWxpc3Qge1xuXHRtYXJnaW46IDFyZW0gMDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnRzLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGUge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWhlYWRlciBzdHJvbmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzIHtcblx0cGFkZGluZzogMC4ycmVtIDAuNnJlbTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZW5hYmxlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWRldGFpbHMge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIGRpdiB7XG5cdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtcGF0dGVybiB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1yZXBsYWNlbWVudCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ge1xuXHRwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogVGV4dCBSZXBsYWNlbWVudCBNb2RhbCBTdHlsZXMgKi9cbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0bWF4LXdpZHRoOiA3MDBweDtcblx0bWF4LWhlaWdodDogODV2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRlc3Qtb3V0cHV0IHtcblx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjhyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGVzdC1yZXN1bHQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBFeGFtcGxlcyBzZWN0aW9uICovXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCB1bCB7XG5cdG1hcmdpbjogMC41cmVtIDA7XG5cdHBhZGRpbmctbGVmdDogMS41cmVtO1xufVxuXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBsaSB7XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdHBhZGRpbmc6IDAuMXJlbSAwLjNyZW07XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi8qIEFuaW1hdGlvbiBmb3Igc3luYyBidXR0b24gKi9cbkBrZXlmcmFtZXMgc3BpbiB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59XG5cbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmc6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAwLjNyZW07XG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5pY3MtdGV4dC1yZXBsYWNlbWVudC1tb2RhbCxcbi5pY3Mtc291cmNlLW1vZGFsIHtcblx0bWF4LXdpZHRoOiAxMDAwcHg7XG5cdG1heC1oZWlnaHQ6IDkwdmg7XG5cblx0cGFkZGluZy1yaWdodDogMDtcbn1cblxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50LFxuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG4iLCAiLyogVGFzayBmaWx0ZXIgcGFuZWwgc3R5bGVzICovXG4udGFzay1maWx0ZXItcGFuZWwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC04KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWZpbHRlci1hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stZmlsdGVyLXBhbmVsID4gLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi50YXNrLWZpbHRlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIGgzIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRtYXJnaW46IDVweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLXRvcDogOHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHksXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2stZmlsdGVyLXJlc2V0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dDpmb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cbiIsICIuZmlsdGVyLWdyb3VwLXNlcGFyYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NkIyMVx1ODk4MVx1NjU4N1x1NjcyQ1x1OTg5Q1x1ODI3MiAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cbn1cbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjpiZWZvcmUsXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RkI5XHU2ODQ2XHU5ODlDXHU4MjcyICovXG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTItMSk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cbn1cbi5kcmFnLWhhbmRsZSB7XG5cdGN1cnNvcjogZ3JhYjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFx1NjMwOVx1OTRBRVx1NTQ4Q1x1OEY5M1x1NTE2NVx1Njg0Nlx1NzY4NFx1OEY4M1x1NUMwRlx1NjU4N1x1NjcyQ1x1NTQ4Q1x1NTE4NVx1OEZCOVx1OERERCAqL1xuLmNvbXBhY3QtYnRuIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblxuXHQtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1pbnB1dC1mb250LXdlaWdodCk7XG5cdGN1cnNvcjogdmFyKC0tY3Vyc29yKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5jb21wYWN0LWJ0bjpob3ZlciB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG9wYWNpdHk6IHZhcigtLWljb24tb3BhY2l0eS1ob3Zlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuLmNvbXBhY3QtaW5wdXQsXG4uY29tcGFjdC1zZWxlY3Qge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cblx0aGVpZ2h0OiB2YXIoLS1pbnB1dC1oZWlnaHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RjkzXHU1MTY1XHU2ODQ2XHU5QUQ4XHU1RUE2XHU1M0Q4XHU5MUNGICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNvbXBhY3Qtc2VsZWN0OmhvdmVyIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNvbXBhY3QtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUI1N1x1NEY1M1x1NTkyN1x1NUMwRlx1NTNEOFx1OTFDRiAqL1xufVxuXG4vKiBcdTYyRDZcdTUyQThcdTY1RjZcdTc2ODRcdTUzNjBcdTRGNERcdTdCMjYgKi9cbi5kcmFnZ2luZy1wbGFjZWhvbGRlciB7XG5cdG9wYWNpdHk6IDAuNTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2MEFDXHU1MDVDXHU4MENDXHU2NjZGXHU4MjcyICovXG59XG5cbi8qIFx1NTk4Mlx1Njc5Q1x1OTcwMFx1ODk4MVx1RkYwQ1x1NEUzQVx1OEZDN1x1NkVFNFx1NTY2OFx1N0VDNFx1NEVGNlx1NzY4NFx1NjgzOVx1NUJCOVx1NTY2OFx1OEJCRVx1N0Y2RVx1NjgzN1x1NUYwRiAqL1xuLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyLnRhc2stcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXG5cdG1heC13aWR0aDogMTAwJTtcblx0bWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTU3MDZcdTg5RDJcdTUzRDhcdTkxQ0YgKi9cbn1cblxuLmZpbHRlci1tZW51IHtcblx0ei1pbmRleDogNTA7XG5cdG1pbi13aWR0aDogNjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIHJvb3RGaWx0ZXJTZXR1cFNlY3Rpb24gaW4gVFMsIGNvcnJlc3BvbmRzIHRvIEhUTUwncyAjcm9vdC1maWx0ZXItY29udGFpbmVyICovXG4ucm9vdC1maWx0ZXItc2V0dXAtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC43NXJlbTsgLyogc3BhY2UteS0zIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMykgKi9cbn1cblxuLyogUm9vdCBDb25kaXRpb24gU2VjdGlvbiAoZGl2LmZsZXguaXRlbXMtY2VudGVyLnNwYWNlLXgtMi5wLTIuYmctc2xhdGUtMTAwLnJvdW5kZWQtbWQuYm9yZGVyLmJvcmRlci1zbGF0ZS0yMDApICovXG4ucm9vdC1jb25kaXRpb24tc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtOyAvKiBzcGFjZS14LTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xuXHRwYWRkaW5nOiAwLjVyZW07IC8qIHAtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKVxuXHQpOyAvKiBiZy1zbGF0ZS0xMDAgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiByb3VuZGVkLW1kICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgKi9cbn1cblxuLnJvb3QtY29uZGl0aW9uLWxhYmVsIHtcblx0LyogY29tcGFjdC10ZXh0IGFscmVhZHkgcHJvdmlkZXMgZm9udC1zaXplICovXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXG59XG5cbi5yb290LWNvbmRpdGlvbi1zZWxlY3Qge1xuXHQvKiBjb21wYWN0LXNlbGVjdCBhbHJlYWR5IHByb3ZpZGVzIGJhc2Ugc3R5bGluZyAqL1xuXHR3aWR0aDogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXG5cdC8qIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTsgLyogc2hhZG93LXNtICovIC8qIENvbnNpZGVyIGlmIG5lZWRlZCAqL1xufVxuXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnJvb3QtY29uZGl0aW9uLXNwYW4ge1xuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLyogRmlsdGVyIEdyb3VwcyBDb250YWluZXIgKCNmaWx0ZXItZ3JvdXBzLWNvbnRhaW5lcikgKi9cbi5maWx0ZXItZ3JvdXBzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MICovXG5cblx0bWF4LWhlaWdodDogNTB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qIEZpbHRlciBHcm91cCAoI2ZpbHRlci1ncm91cC10ZW1wbGF0ZSkgKi9cbi5maWx0ZXItZ3JvdXAge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7IC8qIHAtMyBmcm9tIEhUTUwgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTsgLyogYmctd2hpdGUgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIHNwYWNlLXktMiBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuMzc1cmVtOyAvKiBzcGFjZS14LTEuNSBmcm9tIEhUTUwgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lcjpob3ZlciAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIGhvdmVyOnRleHQtc2xhdGUtNTAwICovXG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiAuY29tcGFjdC10ZXh0LFxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IHNwYW4uY29tcGFjdC10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xufVxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjI1cmVtOyAvKiBzcGFjZS14LTEgZnJvbSBIVE1MICovXG59XG5cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4sXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiByb3VuZGVkLW1kIGZyb20gVGFpbHdpbmQgKi9cbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodFxuXHQuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyXG5cdC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBob3Zlcjp0ZXh0LWluZGlnby02MDAgKi9cbn1cbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIC5zdmctaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXG59XG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3Zlcixcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxuXHQpO1xufVxuXG4vKiBGaWx0ZXJzIExpc3QgKC5maWx0ZXJzLWxpc3QpICovXG4uZmlsdGVycy1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7IC8qIHNwYWNlLXktMS41IGZyb20gSFRNTCAqL1xuXHRwYWRkaW5nLWxlZnQ6IDFyZW07IC8qIHBsLTQgZnJvbSBIVE1MICovXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXItbC0yIGJvcmRlci1zbGF0ZS0yMDAgKi9cblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTsgLyogbWwtMS41IGZyb20gSFRNTCAqL1xufVxuLmZpbHRlcnMtbGlzdDplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEdyb3VwIEZvb3RlciAoLmdyb3VwLWZvb3RlcikgKi9cbi5ncm91cC1mb290ZXIge1xuXHQvKiBIVE1MOiA8ZGl2IGNsYXNzPVwicGwtNCBtdC0xLjVcIj4gY29udGFpbmluZyBidXR0b24gKi9cblx0LyogVFMgY3JlYXRlcyAuZ3JvdXAtZm9vdGVyLCB0aGVuIGFkZHMgQnV0dG9uQ29tcG9uZW50IHRvIGl0LiAqL1xuXHRwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtOyAvKiBDb3JyZXNwb25kcyB0byBwbC0xLjUgZWZmZWN0aXZlbHkgaWYgaXRlbXMgaW5zaWRlIC5maWx0ZXJzLWxpc3QgaGF2ZSBtYXJnaW4vcGFkZGluZyAqL1xuXHRtYXJnaW4tdG9wOiAwLjM3NXJlbTsgLyogbXQtMS41ICovXG59XG5cbi5hZGQtZmlsdGVyLWJ0bi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEZpbHRlciBJdGVtICgjZmlsdGVyLWl0ZW0tdGVtcGxhdGUpICovXG4uZmlsdGVyLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHQvKiBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXG5cdC8qIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgKi9cblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25qdW5jdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogdGV4dC0yeHMgKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcblx0ZmxleC1iYXNpczogMzAlOyAvKiB3LTEvMyAqL1xuXHRmbGV4LWdyb3c6IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XG5cdHdpZHRoOiBhdXRvOyAvKiB3LWF1dG8gKi9cblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG5cdC8qIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDsgKi9cblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0IHtcblx0ZmxleC1ncm93OiAxOyAvKiBmbGV4LWdyb3cgKi9cblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XG5cdHdpZHRoOiAxMDAlO1xufVxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXG59XG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cbn1cbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcblx0XHQtLWJhY2tncm91bmQtZXJyb3ItaG92ZXIsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcilcblx0KTtcbn1cblxuLyogQWRkIEZpbHRlciBHcm91cCBCdXR0b24gU2VjdGlvbiAqL1xuLmFkZC1ncm91cC1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmFkZC1maWx0ZXItZ3JvdXAtYnRuLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRmlsdGVyIENvbmZpZ3VyYXRpb24gU2VjdGlvbiAqL1xuLmZpbHRlci1jb25maWctc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHQvKiBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7ICovXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTsgKi9cblx0LyogbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTsgKi9cblx0LyogcGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTsgKi9cblx0LyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cbn1cblxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4sXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0biB7XG5cdGZsZXg6IDE7XG59XG5cbi5zYXZlLWZpbHRlci1jb25maWctYnRuLWljb24sXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zYXZlLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRmlsdGVyIENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cbi5maWx0ZXItY29uZmlnLWRldGFpbHMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpIDEwMCVcblx0KTtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5maWx0ZXItY29uZmlnLWRldGFpbHM6aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmZpbHRlci1jb25maWctZGV0YWlscyBoMyB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi5maWx0ZXItY29uZmlnLWRldGFpbHMgcCB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItY29uZmlnLW1ldGEge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItY29uZmlnLXN1bW1hcnkge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwIDAgMDtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSBoNCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtMi0zKSAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLmZpbHRlci1jb25maWctc3VtbWFyeSBwIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5maWx0ZXItY29uZmlnLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5maWx0ZXItY29uZmlnLW5hbWUtaGlnaGxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEFkdmFuY2VkIGZpbHRlciBjb250YWluZXIgc3R5bGVzIGZvciBWaWV3Q29uZmlnTW9kYWwgKi9cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1yb290LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC50YXNrLWZpbHRlci1tYWluLXBhbmVsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLyogU21hbGxlciBzdHlsaW5nIGZvciBmaWx0ZXJzIGluIG1vZGFsICovXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1ncm91cCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1pdGVtIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWJ0biB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdG1pbi1oZWlnaHQ6IDI2cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1zZWxlY3QsXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtaW5wdXQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGhlaWdodDogMjhweDtcbn1cbiIsICIvKiBWaWV3IFNldHRpbmdzIFRhYiBTdHlsZXMgKi9cblxuLyogVmlldyBtYW5hZ2VtZW50IGxpc3QgY29udGFpbmVyICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLyogU2VjdGlvbiBjb250YWluZXJzICovXG4udmlldy1zZWN0aW9uLWNvbnRhaW5lciB7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLyogU2VjdGlvbiBoZWFkZXJzICovXG4udmlldy1zZWN0aW9uLWhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi52aWV3LXNlY3Rpb24taGVhZGVyIGg0IHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnZpZXctc2VjdGlvbi1pdGVtcyxcbi5zb3J0YWJsZS12aWV3cyB7XG5cdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uc29ydGFibGUtdmlld3M6ZW1wdHk6OmFmdGVyIHtcblx0Y29udGVudDogYXR0cihkYXRhLWVtcHR5LXRleHQpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnNvcnRhYmxlLXZpZXdzW2RhdGEtcmVnaW9uPVwidG9wXCJdOmVtcHR5OjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgdG9wIHNlY3Rpb25cIjtcbn1cblxuLnNvcnRhYmxlLXZpZXdzW2RhdGEtcmVnaW9uPVwiYm90dG9tXCJdOmVtcHR5OjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgYm90dG9tIHNlY3Rpb25cIjtcbn1cblxuLyogVmlldyBpdGVtIHN0eWxlcyAqL1xuLnZpZXctaXRlbSxcbi5zb3J0YWJsZS12aWV3LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogbW92ZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnZpZXctaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcbn1cblxuLyogRHJhZyBoYW5kbGUgc3R5bGVzICovXG4udmlldy1kcmFnLWhhbmRsZSB7XG5cdGN1cnNvcjogZ3JhYjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnZpZXctZHJhZy1oYW5kbGU6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xufVxuXG4vKiBWaWV3IGl0ZW0gaWNvbiAqL1xuLnZpZXctaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi8qIFZpZXcgaXRlbSBpbmZvICovXG4udmlldy1pdGVtLWluZm8ge1xuXHRmbGV4OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnZpZXctaXRlbS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnZpZXctaXRlbS10eXBlIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFZpZXcgaXRlbSBhY3Rpb25zICovXG4udmlldy1pdGVtLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDRweDtcbn1cblxuLnZpZXctYWN0aW9uLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi52aWV3LWFjdGlvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnZpZXctYWN0aW9uLWRlbGV0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc29ydGFibGUtZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG59XG5cbi5zb3J0YWJsZS1kcmFnIHtcblx0b3BhY2l0eTogMDtcbn1cblxuLnNvcnRhYmxlLWNob3NlbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XG59XG4iLCAiLyogRmlsZSBGaWx0ZXIgU2V0dGluZ3MgU3R5bGVzICovXG5cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcblx0cGFkZGluZzogMC43NXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGU6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoLFxuLmZpbGUtZmlsdGVyLXJ1bGUtc2NvcGUsXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS10eXBlIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoIHtcblx0ZmxleDogMTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgbGFiZWwge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDAuMjVyZW07XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlICsgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cyB7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQ6bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5zdGF0LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YXQtdmFsdWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXJyb3Igc3RhdGUgZm9yIHN0YXRpc3RpY3MgKi9cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIC5zdGF0LWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZWZyZXNoIGJ1dHRvbiBzdHlsaW5nICovXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXTpob3ZlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLyogTG9hZGluZyBzdGF0ZSBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgcmVmcmVzaC1zcGluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2Rpc2FibGVkXSAubHVjaWRlLXJlZnJlc2gtY3cge1xuXHRhbmltYXRpb246IHJlZnJlc2gtc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBzbWFsbGVyIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZmlsZS1maWx0ZXItcnVsZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG5cdC5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG5cdC5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHR9XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtcHR5IHN0YXRlIHN0eWxpbmcgKi9cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXI6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiTm8gZmlsdGVyIHJ1bGVzIGNvbmZpZ3VyZWQuIEFkZCBydWxlcyBiZWxvdyB0byBzdGFydCBmaWx0ZXJpbmcgZmlsZXMgYW5kIGZvbGRlcnMuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAycmVtO1xufVxuXG4vKiBQcmVzZXQgdGVtcGxhdGVzIHNlY3Rpb24gKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFByZXNldCBidXR0b24gc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qIFN1Y2Nlc3Mgc3RhdGUgZm9yIGFwcGxpZWQgcHJlc2V0cyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbi1yZ2IpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG4iLCAiLyogTUNQIEludGVncmF0aW9uIFNldHRpbmdzIFN0eWxlcyAqL1xuXG4vKiBTdGF0dXMgQ29udGFpbmVyICovXG4ubWNwLXN0YXR1cy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1zdGF0dXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xufVxuXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3IucnVubmluZyAuc3RhdHVzLWRvdCB7XG4gICAgY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlO1xufVxuXG4ubWNwLXN0YXR1cy1pbmRpY2F0b3Iuc3RvcHBlZCAuc3RhdHVzLWRvdCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5tY3Atc3RhdHVzLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLyogQ2xpZW50IENvbmZpZ3VyYXRpb24gKi9cbi5tY3AtY29uZmlnLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1jcC1jbGllbnQtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1jcC1jbGllbnQtaGVhZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5tY3AtY2xpZW50LWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEFycm93IGljb24gZm9yIGNvbGxhcHNpYmxlIHNlY3Rpb25zICovXG4ubWNwLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLm1jcC1hcnJvdyBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5tY3AtYXJyb3cuZXhwYW5kZWQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLm1jcC1jbGllbnQtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWNsaWVudC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWNwLWNsaWVudC1jb250ZW50LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1jcC1jb25maWctYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCA2MHB4IDE2cHggMTZweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHZhcigtLXNjcm9sbGJhci1iZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgY29kZSB7XG4gICAgY29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWJnKTtcbn1cblxuLm1jcC1jb25maWctY29kZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWFjdGl2ZS10aHVtYi1iZyk7XG59XG5cbi8qIENvcHkgQnV0dG9ucyAqL1xuLm1jcC1jb3B5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5tY3AtY29weS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5tY3AtY29weS1idG4uY29waWVkIHtcbiAgICBhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEF1dGhlbnRpY2F0aW9uIE1ldGhvZHMgTGlzdCAqL1xuLm1jcC1hdXRoLW1ldGhvZHMge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtYXV0aC1saXN0IHtcbiAgICBtYXJnaW46IDEwcHggMCAwIDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbn1cblxuLm1jcC1hdXRoLWxpc3QgbGkge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm1jcC1hdXRoLWxpc3QgY29kZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG59XG5cbi8qIFRva2VuIElucHV0ICovXG4ubWNwLXRva2VuLWlucHV0IHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qIEFQSSBEb2N1bWVudGF0aW9uICovXG4ubWNwLWRvY3MtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubWNwLWRvY3Mtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1jcC1kb2NzLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogRW5kcG9pbnQgQm94ICovXG4ubWNwLWVuZHBvaW50LWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtZW5kcG9pbnQtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5tY3AtZW5kcG9pbnQtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWNwLWVuZHBvaW50LXVybCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0biB7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbn1cblxuLm1jcC1jb3B5LWVuZHBvaW50LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4ubWNwLWNvcHktZW5kcG9pbnQtYnRuLmNvcGllZCB7XG4gICAgYW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xufVxuXG4vKiBUb29scyBHcmlkICovXG4ubWNwLXRvb2xzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ubWNwLXRvb2wtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLCB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1jcC10b29sLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAwJSwgdmFyKC0tdGV4dC1hY2NlbnQpIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLm1jcC10b29sLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ubWNwLXRvb2wtY2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLm1jcC10b29sLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tY3AtdG9vbC1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLm1jcC10b29sLWljb24gc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ubWNwLXRvb2wtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5tY3AtdG9vbC1kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG5cbi8qIEV4YW1wbGUgQ29udGFpbmVyICovXG4ubWNwLWV4YW1wbGUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qIEV4YW1wbGUgVGFicyAqL1xuLm1jcC1leGFtcGxlLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tY3AtZXhhbXBsZS10YWI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDApO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMSk7XG59XG5cbi8qIEV4YW1wbGUgQ29kZSAqL1xuLm1jcC1leGFtcGxlLWNvZGUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWV4YW1wbGUtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZTtcbn1cblxuLm1jcC1leGFtcGxlLWJsb2NrLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4ubWNwLWV4YW1wbGUtY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29kZS1iYWNrZ3JvdW5kKSAwJSwgcmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC41KSAxMDAlKTtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWNwLWV4YW1wbGUtY29kZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpLCB0cmFuc3BhcmVudCk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb2RlIGNvZGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG46YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bi5jb3BpZWQge1xuICAgIGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC40cyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzLXJnYiksIDAuMyk7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgY29weVN1Y2Nlc3Mge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSB7IG9wYWNpdHk6IDAuNjsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qIFNtb290aCB0cmFuc2l0aW9ucyBmb3IgYWxsIGludGVyYWN0aXZlIGVsZW1lbnRzICovXG4ubWNwLWNsaWVudC1oZWFkZXIsXG4ubWNwLWV4YW1wbGUtdGFiLFxuLm1jcC10b29sLWNhcmQsXG5idXR0b24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi8qIENvZGUgc3ludGF4IGNvbG9ycyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5ICovXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLWtleSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLm1jcC1jb25maWctY29kZSAuanNvbi1zdHJpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tYm9vbGVhbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubWNwLXRvb2xzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gICAgXG4gICAgLm1jcC1zdGF0dXMtZGV0YWlscyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cbn1cblxuLm1jcC1leGFtcGxlLXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLyogQ3Vyc29yIE9uZS1DbGljayBJbnN0YWxsIFNlY3Rpb24gKi9cbi5tY3AtY3Vyc29yLWluc3RhbGwtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1kZXNjIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5tY3AtY3Vyc29yLWluc3RhbGwtbGluayB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLm1jcC1jdXJzb3ItYWRkaXRpb25hbC1idXR0b25zIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xufVxuXG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuLmNvcGllZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb250ZW50IHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0bWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWw6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIGNvZGUge1xuXHRjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5tY3Atc2VjdGlvbi1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDI0cHggMDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufSIsICIvKiBXb3JrZmxvdyBEZWNvcmF0b3IgU3R5bGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogRGlmZmVyZW50IGNvbG9ycyBmb3IgZGlmZmVyZW50IHN0YWdlIHR5cGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuIiwgIi8qIERhdGUgUGlja2VyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItcmlnaHQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogUXVpY2sgT3B0aW9ucyBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWF4LWhlaWdodDogMTk1cHg7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIENhbGVuZGFyIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgteWVhciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDMycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFBvcG92ZXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUgLmRhdGUtcGlja2VyLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1vYmlsZSBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tYWluLXBhbmVsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1sZWZ0LXBhbmVsIHtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIge1xuXHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR9XG59XG5cbi8qIFdpZGdldCBFcnJvciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItd2lkZ2V0LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG59XG4iLCAiLyogUXVpY2sgQ2FwdHVyZSBQYW5lbCAqL1xuLnF1aWNrLWNhcHR1cmUtcGFuZWwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBRdWljayBDYXB0dXJlIEFjdGlvbnMgKi9cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucXVpY2stY2FwdHVyZS1hY3Rpb25zIC5xdWljay1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLWFjdGlvbnMgLnF1aWNrLWFjdGlvbi1idXR0b24uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIE1vZGFsICovXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5taW5pbWFsIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWluLXdpZHRoOiA1MDBweDtcblx0bWF4LWhlaWdodDogMjAwcHg7XG59XG5cbi5xdWljay1jYXB0dXJlLW1pbmltYWwtZWRpdG9yLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0bWluLWhlaWdodDogNTBweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIC5jbS1lZGl0b3Ige1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcblx0bWluLWhlaWdodDogNDBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIC5jbS1lZGl0b3IuY20tZm9jdXNlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1hbHBoYSk7XG59XG5cbi5xdWljay1jYXB0dXJlLW1pbmltYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucXVpY2stYWN0aW9ucy1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5xdWljay1hY3Rpb25zLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5xdWljay1hY3Rpb24tYnV0dG9uLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnF1aWNrLWFjdGlvbi1zYXZlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0bWluLXdpZHRoOiA4MHB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFnLWlucHV0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDYwcHg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR3aWR0aDogMzAwcHg7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgU3VnZ2VzdCAqL1xuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIC5zdWdnZXN0aW9uLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIC5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4uc3VnZ2VzdGlvbi1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtaW4td2lkdGg6IDIwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1Z2dlc3Rpb24tY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi5zdWdnZXN0aW9uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5xdWljay1jYXB0dXJlLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4ucXVpY2stY2FwdHVyZS10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldCB7XG5cdGZsZXg6IDE7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdG1pbi13aWR0aDogMTAwcHg7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtdGFyZ2V0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR0ZXh0LW92ZXJmbG93OiBpbml0aWFsO1xufVxuXG4ucXVpY2stY2FwdHVyZS1oaW50IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0bWFyZ2luLXRvcDogLTRweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5xdWljay1jYXB0dXJlLWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1maWxlLXN1Z2dlc3Qge1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG59XG5cbi5xdWljay1jYXB0dXJlLXN1Ym1pdCxcbi5xdWljay1jYXB0dXJlLWNhbmNlbCB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnF1aWNrLWNhcHR1cmUtc3VibWl0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY2FuY2VsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IDEwcHg7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcblx0bWluLWhlaWdodDogMTUwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucXVpY2stY2FwdHVyZS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xufVxuXG4vKiBGdWxsLWZlYXR1cmVkIG1vZGFsIHN0eWxlcyAqL1xuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XG5cdHdpZHRoOiA4MHZ3O1xuXHRtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1sYXlvdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGdhcDogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcblx0ZmxleDogMTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDQwJTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yLXBhbmVsIHtcblx0ZmxleDogMS41O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucXVpY2stY2FwdHVyZS1zZWN0aW9uLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5xdWljay1jYXB0dXJlLXRhcmdldC1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIC5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogOHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8qIE1vYmlsZSBvcHRpbWl6YXRpb24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcblx0XHR3aWR0aDogOTV2dztcblx0fVxuXG5cdC5xdWljay1jYXB0dXJlLWxheW91dCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRtYXgtaGVpZ2h0OiA0MCU7XG5cdH1cbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cbiIsICIvKiBUYXNrIGxpc3QgKi9cbi50YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGFzay1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4udGFzay1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWl0ZW0tY29udGVudCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWl0ZW0gLm1hcmtkb3duLWJsb2NrLm1hcmtkb3duLXJlbmRlcmVyID4gcDpvbmx5LWNoaWxkIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stY2hlY2tib3gge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2staXRlbS50YXNrLWNvbXBsZXRlZCAudGFzay1jaGVja2JveCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2staXRlbS1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciAqL1xuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7IC8qIEFsbG93IGNvbnRlbnQgdG8gc2hyaW5rICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0Lyogd2lkdGg6IDEwMCU7ICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLW1ldGFkYXRhIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWRhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stZGF0ZSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWRhdGU6OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XG5cdGZvbnQtc2l6ZTogeHgtc21hbGw7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi50Zy1rYW5iYW4tdmlldyAudGFzay1kYXRlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURDQzVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtc29vbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stc3RhcnQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURFRUJcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNyZWF0ZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3OTVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXNjaGVkdWxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjNGM1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stZG9uZS1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjcwNVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stY2FuY2VsbGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzRDXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1yZWN1cnJlbmNlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQwMVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stb24tY29tcGxldGlvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0NcdURGQzFcIjtcbn1cblxuLnRhc2stcHJvamVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGFzay1wcm9qZWN0OmhhcyhpbnB1dCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stcHJvamVjdCB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXByb2plY3Q6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEREMyXHVGRTBGXCI7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1wcm9qZWN0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1wcmlvcml0eSB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS01IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIE5ldyBmaWVsZCBzdHlsZXMgKi9cbi50YXNrLW9uY29tcGxldGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stb25jb21wbGV0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stZGVwZW5kc29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2staWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cbi50YXNrLXRhZ3MtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2stdGFncy1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay10YWcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvcGFjaXR5OiAwLjc1O1xufVxuXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWl0ZW0tY29udGVudCBwOmhhcyhpbWcpIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xufVxuIiwgIi8qIElubGluZSBFZGl0b3IgU3R5bGVzIC0gT3B0aW1pemVkIGZvciBQZXJmb3JtYW5jZSBhbmQgVVggKi9cbi5pbmxpbmUtZWRpdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cbi5pbmxpbmUtY29udGVudC1lZGl0b3Ige1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZzogMnB4IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRyZXNpemU6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvci1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMThweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tZm9jdXNlZCB7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KSAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tY29udGVudCB7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1ldGFkYXRhIEVkaXRvciBDb250YWluZXIgLSBNb3JlIGNvbXBhY3QgYW5kIGlubGluZSAqL1xuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1pbi13aWR0aDogMTIwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciBpbnB1dCB7XG5cdGJvcmRlcjogdW5zZXQ7XG5cdG91dGxpbmU6IHVuc2V0O1xuXHRwYWRkaW5nOiAwO1xuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogdW5zZXQ7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcblx0b3V0bGluZTogdW5zZXQ7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHVuc2V0O1xufVxuXG4vKiBNZXRhZGF0YSBJbnB1dCBGaWVsZHMgLSBNb3JlIGNvbXBhY3QgKi9cbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcbi5pbmxpbmUtdGFncy1pbnB1dCxcbi5pbmxpbmUtY29udGV4dC1pbnB1dCxcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdG1pbi13aWR0aDogODBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLXRhZ3MtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXG4uaW5saW5lLXJlY3VycmVuY2UtaW5wdXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Q6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXG4uYWRkLW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4udGFzay1saXN0IC50YXNrLWl0ZW06bm90KC50cmVlLXRhc2staXRlbSk6aG92ZXIgLmFkZC1tZXRhZGF0YS1idG4ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staXRlbS1jb250YWluZXI6aG92ZXIgLmFkZC1tZXRhZGF0YS1idG4ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0biB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIycHg7XG5cdGhlaWdodDogMjJweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHQtLWljb24tc2l6ZTogMTBweDtcblx0b3BhY2l0eTogMDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5hZGQtbWV0YWRhdGEtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxMHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG59XG5cbi8qIFNtb290aCB0cmFuc2l0aW9ucyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlICovXG4uaW5saW5lLWVkaXRvciAqIHtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi8qIEZvY3VzIHN0YXRlcyBmb3IgYmV0dGVyIGFjY2Vzc2liaWxpdHkgKi9cbi5pbmxpbmUtZWRpdG9yIGlucHV0OmZvY3VzLFxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXG4uaW5saW5lLWVkaXRvciBzZWxlY3Q6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBFZGl0YWJsZSBNZXRhZGF0YSBJdGVtcyAtIE1vcmUgc3VidGxlIGhvdmVyIGVmZmVjdHMgKi9cbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdCxcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZTpob3Zlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3Zlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlOmhvdmVyOjphZnRlcixcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3Zlcjo6YWZ0ZXIsXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb250ZW50IEVkaXRhYmxlIEhvdmVyIC0gTW9yZSBzdWJ0bGUgKi9cbi50YXNrLWl0ZW0tY29udGVudCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHNtb290aCB0cmFuc2l0aW9ucyAtIE9wdGltaXplZCAqL1xuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyogUHJldmVudCBsYXlvdXQgc2hpZnQgZHVyaW5nIGVkaXRpbmcgKi9cbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcblx0bWluLWhlaWdodDogMWVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgLSBTaW1wbGlmaWVkICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmlubGluZS1wcm9qZWN0LWlucHV0LFxuXHQuaW5saW5lLXRhZ3MtaW5wdXQsXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcblx0LmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0XHRtYXgtd2lkdGg6IDI1MHB4O1xuXHR9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0LmlubGluZS1jb250ZW50LWVkaXRvcixcblx0LmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWVkaXRvciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuXHR9XG5cblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG59XG5cbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5pbmxpbmUtZWRpdG9yICosXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyxcblx0LnRhc2staXRlbS1jb250ZW50LFxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLyogTmV3IGZpZWxkIGlucHV0IHN0eWxlcyAqL1xuLmlubGluZS1kZXBlbmRzb24taW5wdXQsXG4uaW5saW5lLWlkLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLmlubGluZS1kZXBlbmRzb24taW5wdXQ6Zm9jdXMsXG4uaW5saW5lLWlkLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmlubGluZS1kZXBlbmRzb24taW5wdXQ6OnBsYWNlaG9sZGVyLFxuLmlubGluZS1pZC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG4iLCAiLyogVHJlZSBWaWV3IHN0eWxlcyAqL1xuXG4vKiBUcmVlIGl0ZW0gY29udGFpbmVyICovXG4udHJlZS10YXNrLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Z2FwOiAwO1xufVxuXG4udHJlZS10YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLXRhc2staXRlbS5jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFRhc2sgY29udGVudCByb3cgKGNvbnRhaW5zIHRoZSBtYWluIHRhc2sgY29udGVudCkgKi9cbi50cmVlLXRhc2staXRlbSA+IGRpdjpmaXJzdC1vZi10eXBlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDZweDtcbn1cblxuLyogSW5kZW50YXRpb24gZm9yIGhpZXJhcmNoeSAqL1xuLnRhc2staW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXG4udGFzay1leHBhbmQtdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFRhc2sgY2hlY2tib3ggKi9cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveC5jaGVja2VkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogVGFzayBjb250ZW50ICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBTaW5nbGUgbGluZSBjb250ZW50IGxheW91dCAtIGhvcml6b250YWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogVGFzayBtZXRhZGF0YSAqL1xuLnRhc2stbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWR1ZS1kYXRlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByb2plY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogTmV3IGZpZWxkIHN0eWxlcyBmb3IgdHJlZSB2aWV3ICovXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLyogRm9yZWNhc3QgQ29tcG9uZW50IFN0eWxlcyAqL1xuLmZvcmVjYXN0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleDogMTtcbn1cblxuLmZvcmVjYXN0LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mb3JlY2FzdC10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5mb3JlY2FzdC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4uZm9yZWNhc3QtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZvcmVjYXN0LXNldHRpbmdzIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9yZWNhc3Qtc2V0dGluZ3M6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uZm9yZWNhc3QtZm9jdXMtYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRnYXA6IDEwcHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb2N1cy1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi51bmZvY3VzLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4udW5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBNYWluIGNvbnRlbnQgbGF5b3V0IHdpdGggdHdvIGNvbHVtbnMgKi9cbi5mb3JlY2FzdC1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDM2MHB4O1xuXHRtaW4td2lkdGg6IDM2MHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi5mb3JlY2FzdC1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZm9yZWNhc3QtdGFzay1saXN0IHtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmZvcmVjYXN0LWNhbGVuZGFyLXNlY3Rpb24ge1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFN0YXRzIEJhciAqL1xuLmZvcmVjYXN0LXN0YXRzIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnN0YXQtaXRlbSB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN0YXQtaXRlbTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMTAlO1xuXHR3aWR0aDogODAlO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uc3RhdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5zdGF0LWl0ZW0uYWN0aXZlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGFuaW1hdGlvbjogY29sb3ItcHVsc2UgMS41cyBpbmZpbml0ZSBhbHRlcm5hdGU7XG59XG5cbkBrZXlmcmFtZXMgY29sb3ItcHVsc2Uge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTEpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDEwMCUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKSAhaW1wb3J0YW50O1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLnN0YXQtaXRlbS50Zy1wYXN0LWR1ZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1pdGVtLnRnLXRvZGF5OjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtaXRlbS50Zy1mdXR1cmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWNvdW50IHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnN0YXQtaXRlbS50Zy1wYXN0LWR1ZSAuc3RhdC1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnN0YXQtbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIER1ZSBTb29uIFNlY3Rpb24gKi9cbi5mb3JlY2FzdC1kdWUtc29vbi1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLmR1ZS1zb29uLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmc6IDVweCAxNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kdWUtc29vbi1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmR1ZS1zb29uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5kdWUtc29vbi1kYXRlIHtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmR1ZS1zb29uLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5kdWUtc29vbi1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTUpO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIE92ZXJkdWUgc2VjdGlvbiBzdHlsaW5nICovXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuZGF0ZS1zZWN0aW9uLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi1jb3VudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5zZWN0aW9uLXRhc2tzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcmVjYXN0LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5pcy1waG9uZVxuXHQuZm9yZWNhc3QtaGVhZGVyOmhhcyguZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUpXG5cdC5mb3JlY2FzdC10aXRsZS1jb250YWluZXIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi8qIEZvcmVjYXN0IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAuZm9yZWNhc3QtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1zaWRlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbiIsICIvKiBDYWxlbmRhciBDb21wb25lbnQgU3R5bGVzICovXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgge1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci15ZWFyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuIHtcblx0cGFkZGluZzogMnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10b2RheS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMXB4O1xuXHRwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAzcHggMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4udGFzay1nZW5pdXMtdmlld1xuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEFkanVzdCBncmlkIGxheW91dCB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gaW4gbWluaSBjYWxlbmRhciAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXG4gICBzbyBubyBoaWRpbmcgcnVsZXMgYXJlIG5lZWRlZC4gVGhlIGdyaWQgbGF5b3V0IGFkanVzdG1lbnRzIGFib3ZlIGFyZSBzdWZmaWNpZW50LiAqL1xuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGhlaWdodDogYXV0bztcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkucGFzdC1kdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0cGFkZGluZzogMXB4IDRweDtcblx0bWFyZ2luOiAxcHggYXV0byAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcblx0XHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0XHQuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXG4udGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4udGFzay1nZW5pdXMtdmlldzpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKSAudGFncy1sZWZ0LWNvbHVtbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWdzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGFncy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWdzLXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWdzLXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YWdzLXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhZ3MtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YWdzLXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhZy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnRhZy1saXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhZy1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50YWctaW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YWctaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi50YWctbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFnLWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi50YWctY2hpbGRyZW4ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhZ3MtdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnRhZ3MtdGFzay10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnRhZ3MtdGFzay1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhZ3MtdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRhZ3MtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC01KTtcblx0d2lkdGg6IHZhcigtLXNpemUtNC01KTtcbn1cblxuLyogVGFncyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC50YWdzLXNpZGViYXItY2xvc2Uge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyOmhhcygudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmlzLXBob25lIC50YWdzLXNpZGViYXItaGVhZGVyOmhhcygudGFncy1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5wcm9qZWN0cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnByb2plY3RzLXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLWhlYWRlci1idG4tZ3JvdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0cy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0cy10cmVlLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnByb2plY3QtY291bnQge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMXB4IDZweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLyogUHJvZ3Jlc3MgY291bnQgc3R5bGluZyB3aGVuIHNob3dpbmcgY29tcGxldGVkL3RvdGFsICovXG4ucHJvamVjdC1jb3VudC5wYXJ0aWFsbHktY29tcGxldGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5wcm9qZWN0LWNvdW50LmFsbC1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ucHJvamVjdC1jb3VudC5oYXMtcHJvZ3Jlc3Mge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi8qIFNlbGVjdGVkIHN0YXRlIG92ZXJyaWRlcyAqL1xuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50LmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi5wcm9qZWN0cy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnByb2plY3RzLWhlYWRlci1tYWluLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnByb2plY3RzLWhlYWRlci10b3Atcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtaGVhZGVyLXRvcC1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgc3R5bGVzIGZvciBQcm9qZWN0cyB2aWV3ICovXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogQWRqdXN0IHRoZSBleGlzdGluZyBwcm9ncmVzcyBiYXIgc3R5bGVzIHdoZW4gdXNlZCBpbiBwcm9qZWN0cyB2aWV3ICovXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdGZsZXg6IDE7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvamVjdHMtdGFzay10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnByb2plY3RzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5wcm9qZWN0cy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucHJvamVjdHMtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcbn1cblxuLyogUHJvamVjdHMgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyOmhhcygucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEFkZCBwb3NpdGlvbiByZWxhdGl2ZSB0byBjb250YWluZXIgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNvbnRleHQgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItaGVhZGVyOmhhcygucHJvamVjdHMtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4vKiBQcm9qZWN0IGluZm8gcG9wb3ZlciBzdHlsaW5nICovXG4udGctcHJvamVjdC1wb3BvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xuXHRwYWRkaW5nOiAxMHB4IDEycHg7XG5cdG1heC13aWR0aDogNTIwcHg7XG5cdG1heC1oZWlnaHQ6IDYwdmg7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4udGctcHJvamVjdC1wcm9wcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xufVxuXG4vKiBFYWNoIHJvdzoga2V5IG9uIHRoZSBsZWZ0LCB2YWx1ZSBvbiB0aGUgcmlnaHQgKi9cbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoOTBweCwgMTYwcHgpIDFmcjtcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXHRjb2x1bW4tZ2FwOiAxMHB4O1xuXHRwYWRkaW5nOiAycHggMDtcbn1cblxuLyogS2V5IGNlbGwgKi9cbi50Zy1wcm9qZWN0LXByb3BzID4gZGl2ID4gZGl2OmZpcnN0LWNoaWxkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBWYWx1ZSBjZWxsICovXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBJbmZvIGJ1dHRvbiBwb2xpc2ggKi9cbi5wcm9qZWN0cy1wcm9wcy1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xuXHRoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSwgMjRweCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG4ucHJvamVjdHMtcHJvcHMtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG4iLCAiLyoqXG4gKiBQcm9qZWN0IFRyZWUgVmlldyBTdHlsZXNcbiAqL1xuXG46cm9vdCB7XG5cdC8qIERlZmF1bHQgdHJlZSBpbmRlbnRhdGlvbiBzaXplIHBlciBsZXZlbCAqL1xuXHQtLXRyZWUtaW5kZW50LXNpemU6IDEuNXJlbTtcblx0LyogR3VpZGUgbGluZSBjb2xvciAqL1xuXHQtLXRyZWUtZ3VpZGUtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQ29udGFpbmVyICovXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5wcm9qZWN0LXRyZWUge1xuXHRwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLyogVHJlZSBJdGVtIEJhc2UgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC0tdHJlZS1sZXZlbDogMDsgLyogRGVmYXVsdCBsZXZlbCwgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IGlubGluZSBzdHlsZSAqL1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweDtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKGNhbGModmFyKC0tdHJlZS1sZXZlbCkgLSAxKSAqIHZhcigtLXRyZWUtaW5kZW50LXNpemUpKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBTZWxlY3RlZCBTdGF0ZSAqL1xuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkID4gLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi8qIFRvZ2dsZSBCdXR0b24gKi9cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEuNXJlbTtcblx0aGVpZ2h0OiAxLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlIHN2ZyB7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLXRvZ2dsZS1zcGFjZXIge1xuXHR3aWR0aDogMS41cmVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogSWNvbiAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIENvbnRlbnQgV3JhcHBlciAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLyogUHJvamVjdCBOYW1lICovXG4ucHJvamVjdC10cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIFRhc2sgQ291bnRzICovXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnRzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDEuMjVyZW07XG5cdGhlaWdodDogMS4yNXJlbTtcblx0cGFkZGluZzogMCAwLjI1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgZm9yIHRyZWUgdmlldyAqL1xuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5wYXJ0aWFsbHktY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLnBhcnRpYWxseS1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsLmFsbC1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogU2VsZWN0ZWQgc3RhdGUgZm9yIGNvdW50IGJhZGdlcyBpbiB0cmVlICovXG4ucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XG5cdG9wYWNpdHk6IDAuOTtcbn1cblxuLyogQ2hpbGRyZW4gQ29udGFpbmVyICovXG4ucHJvamVjdC10cmVlLWNoaWxkcmVuIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBUcmVlIGd1aWRlIGxpbmVzIChvcHRpb25hbCkgKi9cbi5wcm9qZWN0LXRyZWUtaXRlbVtkYXRhLWxldmVsXTpub3QoW2RhdGEtbGV2ZWw9XCIwXCJdKSA+IC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKDAuNXJlbSArICh2YXIoLS10cmVlLWxldmVsKSAtIDEpICogdmFyKC0tdHJlZS1pbmRlbnQtc2l6ZSkgKyAwLjc1cmVtKTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRyZWUtZ3VpZGUtY29sb3IpO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlO1xufVxuXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW46bm90KC5pcy1leHBhbmRlZCkge1xuXHRtYXgtaGVpZ2h0OiAwO1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLnByb2plY3QtdHJlZS1lbXB0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi8qIFZpZXcgVG9nZ2xlIEJ1dHRvbiAqL1xuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS43NXJlbTtcblx0aGVpZ2h0OiAxLjc1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdHMtdmlldy10b2dnbGUtYnRuIHN2ZyB7XG5cdHdpZHRoOiAxcmVtO1xuXHRoZWlnaHQ6IDFyZW07XG59XG5cbi8qIE11bHRpLXNlbGVjdCBNb2RlIEluZGljYXRvciAqL1xuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwLjI1cmVtO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogMC44NzVyZW07XG5cdGhlaWdodDogMC44NzVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnByb2plY3QtdHJlZS1jb250YWluZXIubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjphZnRlciB7XG5cdGNvbnRlbnQ6ICdcdTI3MTMnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDAuMjVyZW07XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiAwLjg3NXJlbTtcblx0aGVpZ2h0OiAwLjg3NXJlbTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucHJvamVjdC10cmVlLWl0ZW0tY29udGVudCB7XG5cdFx0cGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuXHR9XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgdHJlZSBleHBhbnNpb24gKi9cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5wcm9qZWN0LXRyZWUtaXRlbS1jaGlsZHJlbiA+IC5wcm9qZWN0LXRyZWUtaXRlbSB7XG5cdGFuaW1hdGlvbjogc2xpZGVEb3duIDAuMTVzIGVhc2U7XG59XG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5yZXZpZXctY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiAyNTBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnJldmlldy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBQcm9qZWN0IGdyb3VwIGhlYWRlcnMgKi9cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDRweCA4cHggNHB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBQcm9qZWN0IGl0ZW1zIGluIHRoZSBzaWRlYmFyICovXG4ucmV2aWV3LXByb2plY3QtaXRlbSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRoIHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRob3V0IHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW06bm90KC5oYXMtcmV2aWV3LXNldHRpbmdzKSAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctaGVhZGVyLWNvbnRlbnQgaDMge1xuXHRtYXJnaW46IDAgMCA4cHggMDtcblx0cGFkZGluZzogMDtcbn1cblxuLnJldmlldy1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucmV2aWV3LXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMCA4cHg7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1mcmVxdWVuY3k6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJldmlldy1sYXN0LWRhdGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW5vLXNldHRpbmdzIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBGaWx0ZXIgaW5mb3JtYXRpb24gKi9cbi5yZXZpZXctZmlsdGVyLWluZm8ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4ucmV2aWV3LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnJldmlldy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFJldmlldyBidXR0b25zICovXG4ucmV2aWV3LWJ1dHRvbi1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuLFxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcblx0bWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLnJldmlldy1lZGl0LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgQ29uZmlndXJlIE1vZGFsICovXG4ucmV2aWV3LW1vZGFsLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZmllbGQge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLXNlbGVjdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWN1c3RvbS1mcmVxdWVuY3kge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhc3QtcmV2aWV3ZWQge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDI0cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXI6aGFzKC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xuXHR3aWR0aDogNDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cbi5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cdGdhcDogNXB4O1xufVxuXG4uc2lkZWJhci1uYXYtc3BhY2VyIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiA4cHggMTVweDtcblx0b3BhY2l0eTogMC43O1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXI6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubmF2LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm5hdi1pdGVtLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5uYXYtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBDb250ZW50IFN0eWxlcyAqL1xuLnRhc2stY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1pbi13aWR0aDogMDtcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnRhc2stY29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAtMjAwcHg7XG5cblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLyogUHJvamVjdCBUcmVlICovXG4udGFzay1nZW5pdXMtdmlldyAucHJvamVjdC10cmVlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1yb290IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tbmFtZSB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0cGFkZGluZzogMXB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUsXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XG5cdHdpZHRoOiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDb250ZW50IEhlYWRlciAqL1xuLmNvbnRlbnQtaGVhZGVyIHtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5mb2N1cy1maWx0ZXIge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogVGFza1ZpZXcgLSBPbW5pRm9jdXMgU3R5bGUgKi9cblxuLndvcmtzcGFjZS1sZWFmLWNvbnRlbnQgLnRhc2stZ2VuaXVzLXZpZXcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBNYWluIGNvbnRhaW5lciBsYXlvdXQgKi9cbi50YXNrLWdlbml1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTGVmdCBzaWRlYmFyICovXG4udGFzay1zaWRlYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cblx0d2lkdGg6IDI0MHB4O1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIE1haW4gY29udGVudCBhcmVhICovXG4udGFzay1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBOYXZpZ2F0aW9uIHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogOHB4IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUHJvamVjdCB0cmVlICovXG4ucHJvamVjdC10cmVlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogOHB4IDA7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDJweCA4cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5leHBhbmRlZCA+IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNoaWxkcmVuIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWFyZ2luLWxlZnQ6IDE2cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb250ZW50IGhlYWRlciAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1yaWdodDogMTJweDtcblx0ZmxleDogMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtdGl0bGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay1nZW5pdXMtdmlldyAudGFzay1jb3VudCB7XG5cdFx0ZmxleDogMTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1maWx0ZXIge1xuXHRcdGZsZXg6IDE7XG5cdH1cbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtZmlsdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZmlsdGVyLWlucHV0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAyMDBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA0cHggMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uLmZvY3VzZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLm1vZC1sZWZ0LXNwbGl0IC50YXNrLWdlbml1cy1hY3Rpb24tYnRuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZC1sZWZ0LXNwbGl0XG5cdC53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLXJpZ2h0LXNwbGl0XG5cdC53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1lbXB0eS1zdGF0ZSxcbi50YXNrLWdlbml1cy12Mi12aWV3IC50YXNrLWVtcHR5LXN0YXRlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtdGFiLWhlYWRlciB7XG5cdGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZSAhaW1wb3J0YW50O1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDEyMHB4KSB7XG5cdC5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRtYXgtd2lkdGg6IDQ1cHg7XG59XG5cbi8qIFdvcmtmbG93IFF1aWNrIE1vZGFsIFN0eWxlcyAqL1xuLnF1aWNrLXdvcmtmbG93LW1vZGFsIHtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWluLWhlaWdodDogNDAwcHg7XG59XG5cbi53b3JrZmxvdy10ZW1wbGF0ZS1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50ZW1wbGF0ZS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi50ZW1wbGF0ZS1kZXNjLXRleHQge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luOiAwO1xufVxuXG4ud29ya2Zsb3ctZm9ybS1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1wcmV2aWV3IHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnN0YWdlcy1wcmV2aWV3LWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uc3RhZ2UtcHJldmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0bWFyZ2luOiA0cHggMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN0YWdlLWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLnN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc3RhZ2UtdHlwZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnN0YWdlLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDRweDtcbn1cblxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ud29ya2Zsb3ctbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFdvcmtmbG93IFByb2dyZXNzIEluZGljYXRvciBTdHlsZXMgKi9cbi53b3JrZmxvdy1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRtYXJnaW46IDEwcHggMDtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLndvcmtmbG93LW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLWJhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXIge1xuXHRmbGV4OiAxO1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1maWxsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1wZXJjZW50YWdlIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWluLXdpZHRoOiAzNXB4O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDhweDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5wZW5kaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLmNvbXBsZXRlZC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pY29uLmN1cnJlbnQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5wZW5kaW5nLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1jb250ZW50IHtcblx0ZmxleDogMTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCAud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1zdWNjZXNzKTtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtLmN1cnJlbnQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmctbGVmdDogMTZweDtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDRweCAwO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaWNvbiB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLW5hbWUge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogc3R5bGVzL2NhbGVuZGFyL2NhbGVuZGFyLmNzcyAqL1xuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTsgLyogT3IgYWRqdXN0IGFzIG5lZWRlZCAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4LWdyb3c6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTQpOyAvKiBVc2UgT2JzaWRpYW4gdmFyaWFibGVzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGhlYWRlciBmcm9tIHNocmlua2luZyAqL1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciBidXR0b24ge1xuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdixcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSksXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b246bm90KC5pcy1hY3RpdmUpIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWN1cnJlbnQtZGF0ZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGl0IHRvIHRha2Ugc3BhY2UgKi9cblxuXHRtYXgtd2lkdGg6IG1heCgxMjBweCwgNDAlKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB2aWV3IHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5lZWRlZCBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgZXZlbnRzICovXG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogQmFzaWMgVmlldyBTdHlsZXMgKFBsYWNlaG9sZGVycykgKi9cbi8qIC0tLSBNb250aCBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIE92ZXJsYXAgd2l0aCBncmlkIGdhcCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFNsaWdodCBkaXN0aW5jdGlvbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1tb250aCB7XG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nIGlmIGdyaWQgcHJvdmlkZXMgaXQgdmlhIGdhcCAqL1xuXHQvKiBTdHlsZXMgbW92ZWQgdG8gLmNhbGVuZGFyLW1vbnRoLWdyaWQgKi9cbn1cblxuLyogQWRkIHRoZSBncmlkIHN0eWxlcyBkaXJlY3RseSB0byB0aGUgZ3JpZCBjb250YWluZXIgZWxlbWVudCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7IC8qIEdpdmUgcm93cyBhIG1pbmltdW0gaGVpZ2h0ICovXG5cdGdhcDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cblxuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwge1xuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhIGRheSBjZWxsIGluIG1vbnRoIHZpZXcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA4MHB4OyAtIExldCBncmlkLWF1dG8tcm93cyBoYW5kbGUgaGVpZ2h0ICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGxheW91dCBpbnNpZGUgdGhlIGNlbGwgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgZGF5IG51bWJlciBhbmQgZXZlbnRzICovXG5cdG1pbi13aWR0aDogMDsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjZWxsIHdpZHRoIGluIHRoZSBncmlkICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2woXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWgpLFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1zKSxcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtbCksXG5cdFx0MC44XG5cdCkgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAxcHggc29saWRcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGNvbG9yOiBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6bm90KC5pcy10b2RheSkge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy13ZWVrZW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnlcblx0KTsgLyogU2xpZ2h0bHkgZGlmZmVyZW50IGJhY2tncm91bmQgZm9yIHdlZWtlbmRzICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBudW1iZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7IC8qIFBvc2l0aW9uIHRvIHRoZSB0b3AgcmlnaHQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBldmVudHMgY29udGFpbmVyIHRvIGZpbGwgc3BhY2UgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBldmVudHMgdGhhdCBvdmVyZmxvdyB0aGUgY2VsbCBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYW4gZXZlbnQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBJbmNyZWFzZSBzcGFjaW5nIHNsaWdodGx5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCBhdmFpbGFibGUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzLWhvdmVyXG5cdCk7IC8qIE9yIHVzZSBncmV5L3N0cmlrZXRocm91Z2ggKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkge1xuXHQvKiBCYXNpYyBzdHlsZSBmb3IgbXVsdGktZGF5LCBtb3JlIGFkdmFuY2VkIGNvdWxkIHJlbW92ZSByb3VuZGVkIGNvcm5lcnMgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLXN0YXJ0IHtcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBzdGFydCBzZWdtZW50IGRpZmZlcmVudGx5ICovXG5cdC8qIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyAqL1xuXHQvKiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLWVuZCB7XG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgZW5kIHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cblx0LyogYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgKi9cblx0LyogYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgKi9cbn1cblxuLyogQWRkIG1vcmUgc3BlY2lmaWMgc3R5bGVzIGZvciB3ZWVrLCBkYXksIGFnZW5kYSB2aWV3cyBhcyB0aGV5IGFyZSBpbXBsZW1lbnRlZCAqL1xuXG4vKiBTdHlsZSBmb3IgbW9udGggdmlldyBldmVudHMgdG8gaGFuZGxlIG92ZXJmbG93ICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0LyogSW5oZXJpdHMgYmFzZSAuY2FsZW5kYXItZXZlbnQgc3R5bGVzICovXG5cdC8qIEFkZCBvdmVyZmxvdyBoYW5kbGluZyBzaW1pbGFyIHRvIHdlZWstYWxsZGF5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgKi9cblx0d2lkdGg6IDEwMCU7IC8qIEV4cGxpY2l0bHkgc2V0IHdpZHRoICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cbn1cblxuLyogLS0tIERheSBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1kYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZywgbWFuYWdlIGludGVybmFsbHkgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1zZWN0aW9uIHtcblx0ZmxleC1ncm93OiAxO1xuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5vIGxvbmdlciBuZWVkZWQgZm9yIGFic29sdXRlIGV2ZW50IHBvc2l0aW9uaW5nICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgdGhhdCB3YXMgb24gYWxsZGF5ICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFsbG93IHRpbWVsaW5lIHRvIHNjcm9sbCAqL1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtZXZlbnRzLWNvbnRhaW5lciB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdC8qIHRvcDogMDsgKi9cblx0LyogbGVmdDogMDsgKi9cblx0LyogcmlnaHQ6IDA7ICovXG5cdC8qIGJvdHRvbTogMDsgKi9cblx0Lyogei1pbmRleDogMjsgKi9cblx0LyogUmVtb3ZlIGNhbGN1bGF0ZWQgaGVpZ2h0ICovXG5cdC8qIGhlaWdodDogY2FsYygyNCAqIDQwcHgpOyAqL1xuXG5cdC8qIEFkZCBmbGV4IGxheW91dCBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzcGFjaW5nIGJldHdlZW4gZXZlbnRzICovXG59XG5cbi8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBldmVudHMgcHJldmlvdXNseSB0aW1lZCAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lZCB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogQWRkIG1hcmdpbiBmb3Igc3BhY2luZyBpbiB0aGUgbmV3IGZsb3cgbGF5b3V0ICovXG5cdC8qIFVzaW5nIGdhcCBvbiBwYXJlbnQgY29udGFpbmVyIG5vdyAqL1xuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7ICovXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCAqL1xufVxuXG4vKiBLZWVwIGludGVybmFsIHN0eWxlcyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBTbGlnaHQgYmFja2dyb3VuZCBmb3IgdGltZSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0cGFkZGluZzogMnB4IDNweDtcblx0ZmxleC1ncm93OiAxO1xuXHQvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nIHdpdGhpbiB0aGUgZXZlbnQgYm94ICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAycHggM3B4O1xuXHRmbGV4LWdyb3c6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogLS0tIFdlZWsgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctd2VlayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHQvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggcmVwZWF0KDcsIDFmcik7ICovIC8qIEd1dHRlciArIDcgZGF5cyAtPiBSZW1vdmUgZ3V0dGVyICovXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7IC8qIEp1c3QgNyBkYXlzICovXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsOmZpcnN0LWNoaWxkIHtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxLjVlbTtcblx0aGVpZ2h0OiAxLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRtYXJnaW46IGF1dG87XG5cblx0bWFyZ2luOiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LW51bWJlciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4vKiBVcGRhdGVkIFdlZWsgR3JpZCBTZWN0aW9uICh3YXMgLWFsbGRheS1zZWN0aW9uKSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQtc2VjdGlvbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aGlzIHNlY3Rpb24gdG8gZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UgKi9cblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggdG8gZW5zdXJlIGdyaWQgZmlsbHMgaGVpZ2h0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFkZCBzY3JvbGwgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogTWF0Y2ggb2xkIHN0eWxlICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGdyaWQgdG8gZXhwYW5kICovXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyAvKiBNYWtlIGdyaWQgZmlsbCB0aGUgc2VjdGlvbiBoZWlnaHQgKi9cblx0Z2FwOiAxcHg7IC8qIEFkZCBnYXAgZm9yIGJvcmRlcnMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCB0b3AgYm9yZGVyICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbiB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xuXHQvKiBtaW4taGVpZ2h0OiA1ZW07ICovIC8qIFJlbW92ZSBmaXhlZCBtaW4taGVpZ2h0LCBsZXQgY29udGVudCBkaWN0YXRlICovXG5cdGJvcmRlci1sZWZ0OiBub25lOyAvKiBSZW1vdmUgcmVkdW5kYW50IGxlZnQgYm9yZGVyLCBnYXAgaGFuZGxlcyBsaW5lcyAqL1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgdmVydGljYWwgbGF5b3V0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpOyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNvbHVtbiAqL1xuXHRtaW4td2lkdGg6IDA7IC8qIEhlbHAgZ3JpZCBpdGVtIHNocmluayBwcm9wZXJseSAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW46Zmlyc3QtY2hpbGQge1xuXHQvKiBObyBzcGVjaWZpYyBmaXJzdC1jaGlsZCBib3JkZXIgbmVlZGVkIG5vdyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4uaXMtd2Vla2VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQWRqdXN0IGdyaWQgbGF5b3V0cyB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1tb250aC1ncmlkIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5taW5pLW1vbnRoLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdC8qIFRoaXMgY29udGFpbmVyIG1pZ2h0IG5vdCBiZSBzdHJpY3RseSBuZWNlc3NhcnkgaWYgLmNhbGVuZGFyLWRheS1jb2x1bW4gdXNlcyBmbGV4ICovXG5cdC8qIFN0eWxlcyBhcmUgYXBwbGllZCBkaXJlY3RseSB0byAuY2FsZW5kYXItZGF5LWNvbHVtbiBub3cgKi9cblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBjb250YWluZXIgdG8gZ3JvdyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDNweDsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cbn1cblxuLyogRW5zdXJlIGV2ZW50cyB0YWtlIGZ1bGwgd2lkdGggYW5kIGRvbid0IGhhdmUgaG9yaXpvbnRhbCBkaXNwbGF5IHByb3BlcnRpZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbHVtbiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJlc2V0IHBvc2l0aW9uIGlmIGl0IHdhcyBhYnNvbHV0ZSAqL1xuXHRsZWZ0OiBhdXRvO1xuXHR0b3A6IGF1dG87XG5cdGhlaWdodDogYXV0bzsgLyogTGV0IGNvbnRlbnQgZGV0ZXJtaW5lIGhlaWdodCAqL1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIENvbnNpc3RlbnQgc3BhY2luZyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGludGVybmFsIGNvbnRlbnQgZnJvbSBvdmVyZmxvd2luZyAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgLyogQWRkIGVsbGlwc2lzIGZvciBvdmVyZmxvdyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBFbnN1cmUgZWxsaXBzaXMgd29ya3MgKi9cbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIG9sZCB0aW1lbGluZSBzZWN0aW9uICovXG4vKlxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLXRpbWVsaW5lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuLy8gLi4uIGV4aXN0aW5nIGNvZGUgLi4uXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cbiovXG5cbi8qIC0tLSBZZWFyIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXllYXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXIteWVhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXG5cdFx0YXV0by1maXQsXG5cdFx0bWlubWF4KDIwMHB4LCAxZnIpXG5cdCk7IC8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1taW5pLW1vbnRoIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogQ2xpcCBjb250ZW50ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtYm9keSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDJweDsgLyogU21hbGwgZ2FwIGJldHdlZW4gZGF5cyAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBMZXQgY2hpbGRyZW4gcGFydGljaXBhdGUgaW4gdGhlIGdyaWQgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXkge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRwYWRkaW5nOiAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBBZGp1c3QgZm9yIGNlbnRlcmluZyAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLXRvZGF5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzIHtcblx0LyogSW5kaWNhdGUgZXZlbnRzIC0gZS5nLiwgYm9sZCBvciBiYWNrZ3JvdW5kIGRvdCAqL1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0LyogT3IgYWRkIGEgYmFja2dyb3VuZCBkb3Q6ICovXG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgKi9cbn1cbi8qIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHM6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAycHg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59ICovXG5cbi5hZ2VuZGEtZGF5LXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uYWdlbmRhLWRheS1kYXRlLWNvbHVtbiB7XG5cdHdpZHRoOiAyMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFnZW5kYS1kYXktZXZlbnRzLWNvbHVtbiB7XG5cdGZsZXg6IDE7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBpbnB1dC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG5cdHNjYWxlOiAwLjk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLSBEcmFnIGFuZCBEcm9wIFN0eWxlcyAtLS0gKi9cbi5jYWxlbmRhci1ldmVudC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgIWltcG9ydGFudDtcblx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhbGVuZGFyLWV2ZW50LWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBlbGVtZW50IGJlaW5nIGRyYWdnZWQgKi9cblx0b3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKSAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKSAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1ha2UgY2FsZW5kYXIgZXZlbnRzIGRyYWdnYWJsZSAqL1xuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcblx0Y3Vyc29yOiBncmFiO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiBTb3J0YWJsZSBjb250YWluZXIgc3R5bGVzICovXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lcixcbi5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XG5cdG1pbi1oZWlnaHQ6IDIwcHg7IC8qIEVuc3VyZSB0aGVyZSdzIGFsd2F5cyBhIGRyb3Agem9uZSAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuY2FsZW5kYXItbmF2IC5wcmV2LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jYWxlbmRhci1uYXYgLm5leHQtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwgIi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHAge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHtcblx0LyogSGFuZGxlIHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHAge1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG4iLCAiLyogQ2FsZW5kYXIgQmFkZ2UgU3R5bGVzICovXG4uY2FsZW5kYXItYmFkZ2VzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogNHB4O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jYWxlbmRhci1iYWRnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblxuXHRtYXgtd2lkdGg6IDgwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBFbnN1cmUgYmFkZ2VzIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBkYXkgY2VsbCAqL1xuLmNhbGVuZGFyLWRheS1jZWxsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwgIi50Zy1rYW5iYW4tdmlldyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgdmlldyBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgKi9cbn1cblxuLnRnLWthbmJhbi1maWx0ZXJzIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIERvbid0IHNocmluayBmaWx0ZXIgYmFyICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4udGcta2FuYmFuLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGcta2FuYmFuLXNvcnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi50Zy1rYW5iYW4tc29ydC1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi50Zy1rYW5iYW4tdG9nZ2xlLWxhYmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtY2hlY2tib3gge1xuXHRtYXJnaW46IDA7XG59XG5cbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0IHtcblx0ZmxleC1ncm93OiAxO1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1hcmdpbi1yaWdodDogMTBweDsgLyogT3B0aW9uYWw6IHNwYWNlIGlmIG90aGVyIGNvbnRyb2xzIGFyZSBhZGRlZCAqL1xufVxuXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZ3JvdzogMTsgLyogVGFrZSByZW1haW5pbmcgaGVpZ2h0ICovXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsaW5nIGZvciBjb2x1bW5zICovXG5cdG92ZXJmbG93LXk6IGhpZGRlbjsgLyogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGxpbmcgaGVyZSAqL1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRnYXA6IDEwcHg7IC8qIFNwYWNlIGJldHdlZW4gY29sdW1ucyAqL1xuXHRoZWlnaHQ6IDEwMCU7IC8qIE5lZWRlZCBmb3IgY2hpbGRyZW4gaGVpZ2h0ICovXG5cblx0LyogTW9iaWxlIHNjcm9sbGluZyBpbXByb3ZlbWVudHMgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvKiBTbW9vdGggaG9yaXpvbnRhbCBzY3JvbGxpbmcgb24gaU9TICovXG5cdC8qIENvbmRpdGlvbmFsIG92ZXJzY3JvbGwgYmVoYXZpb3IgLSBwcmV2ZW50IGJvdW5jZSBvbiBkZXNrdG9wLCBhbGxvdyBvbiBtb2JpbGUgZm9yIGRyYWcgKi9cblx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBhdXRvOyAvKiBBbGxvdyBkZWZhdWx0IGJlaGF2aW9yIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXG5cdHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5OyAvKiBLZWVwIHNuYXAgZm9yIG1vYmlsZSBVWCAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHNjcm9sbCBib3VuY2UgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcblx0XHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cblx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lOyAvKiBEaXNhYmxlIHNuYXAgb24gZGVza3RvcCAqL1xuXHR9XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uIHtcblx0ZmxleDogMCAwIDI4MHB4OyAvKiBGaXhlZCB3aWR0aCBmb3IgY29sdW1ucywgbm8gc2hyaW5raW5nL2dyb3dpbmcgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGhlaWdodDogMTAwJTsgLyogRmlsbCBjb250YWluZXIgaGVpZ2h0ICovXG5cdG1heC1oZWlnaHQ6IDEwMCU7IC8qIFByZXZlbnQgZXhjZWVkaW5nIGNvbnRhaW5lciAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIG92ZXJmbG93IHdpdGhpbiB0aGUgY29sdW1uICovXG5cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXG5cdC8qIE1vYmlsZSBzY3JvbGwgc25hcCBmb3IgYmV0dGVyIFVYICovXG5cdHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbn1cblxuLyogRGVza3RvcC1zcGVjaWZpYzogRGlzYWJsZSBzY3JvbGwgc25hcCAqL1xuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXHQudGcta2FuYmFuLWNvbHVtbiB7XG5cdFx0c2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG5cdH1cbn1cblxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW1uKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgaGVhZGVyIGZyb20gc2hyaW5raW5nICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0LyogcGFkZGluZy1yaWdodDogMDsgKi9cblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOyAvKiBLZWVwIGNvbnRhaW4gZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cbn1cblxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGwgYm91bmNlICovXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG5cdC50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQge1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cblx0fVxufVxuLyogLS0tIENhcmQgU3R5bGluZyAtLS0gKi9cbi50Zy1rYW5iYW4tY2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogMTBweCAxMnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogZ3JhYjtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0LyogRW5zdXJlIGNhcmQgZml0cyB3aXRoaW4gY29sdW1uIGFuZCBoYW5kbGVzIGNvbnRlbnQgKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBQcmV2ZW50IGNhcmQgZnJvbSBleGNlZWRpbmcgcGFyZW50IHdpZHRoICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogQWxsb3cgdGV4dCB3cmFwcGluZyAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHQvKiBNb2JpbGUgdG91Y2ggaW1wcm92ZW1lbnRzICovXG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBPcHRpbWl6ZSBmb3IgdG91Y2ggaW50ZXJhY3Rpb25zICovXG5cdHVzZXItc2VsZWN0OiBub25lOyAvKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIGR1cmluZyBkcmFnICovXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRnLWthbmJhbi1jYXJkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udGcta2FuYmFuLWNhcmQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xufVxuXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7IC8qIEF2b2lkIGV4dHJhIHNwYWNlIGZyb20gcGFyYWdyYXBoICovXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweCA4cHg7IC8qIFJvdyBhbmQgY29sdW1uIGdhcCAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kYXRlLFxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZ3MtY29udGFpbmVyLFxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXJcblx0KTsgLyogT3IgdXNlIHRhZyBjb2xvciAqL1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxcHggNHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtZXJyb3IpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stZHVlLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtd2FybmluZyk7XG59XG5cbi8qIFByaW9yaXR5IGluZGljYXRvcnMgKHNpbXBsZSBleGFtcGxlKSAqL1xuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0zIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi8qIEFkZCBtb3JlIHByaW9yaXR5IHN0eWxlcyBpZiBuZWVkZWQgKi9cblxuLyogLS0tIERyYWcgYW5kIERyb3AgU3R5bGluZyAtLS0gKi9cbi50Zy1rYW5iYW4tY2FyZC1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAqL1xuXHQvKiBvcGFjaXR5OiAwLjg7ICovIC8qIFJlbW92ZWQgb3BhY2l0eSAqL1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xufVxuXG4udGcta2FuYmFuLWNhcmQtZ2hvc3Qge1xuXHQvKiBTdHlsZSBmb3IgdGhlIG9yaWdpbmFsIGNhcmQgd2hlbiBhIGNsb25lIGlzIGRyYWdnZWQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtYWN0aXZlIHtcblx0LyogU3R5bGUgZm9yIHBvdGVudGlhbCBkcm9wIHpvbmVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzICovXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpOyAqL1xuXHRvdXRsaW5lOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQudGcta2FuYmFuLWRyb3AtdGFyZ2V0LWhvdmVyIHtcblx0LyogU3R5bGUgZm9yIHRoZSBzcGVjaWZpYyBkcm9wIHpvbmUgYmVpbmcgaG92ZXJlZCBvdmVyICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcbn1cblxuLyogU3R5bGVzIGZvciBLYW5iYW4gZHJvcCBpbmRpY2F0b3JzICovXG4udGcta2FuYmFuLWNhcmQtLWRyb3AtaW5kaWNhdG9yLWJlZm9yZSB7XG5cdG1hcmdpbi10b3A6IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cblx0LyogcGFkZGluZy10b3A6IDIwcHg7ICovIC8qIFJlbW92ZWQgcGFkZGluZyAqL1xuXHR0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMXMgZWFzZS1vdXQsIGJvcmRlci10b3AgMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYWZ0ZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXG5cdGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogSW5kaWNhdG9yICovXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cblx0dHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjFzIGVhc2Utb3V0LCBib3JkZXItYm90dG9tIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xufVxuXG4vKiBPcHRpb25hbDogU3R5bGUgZm9yIGRyb3BwaW5nIGludG8gYW4gZW1wdHkgY29sdW1uICovXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LS1kcm9wLWluZGljYXRvci1lbXB0eSB7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRtaW4taGVpZ2h0OiA1MHB4OyAvKiBFbnN1cmUgZW1wdHkgY29sdW1uIGhhcyBzb21lIGhlaWdodCBmb3IgdGhlIGJvcmRlciAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIGJvcmRlciBpbiBoZWlnaHQgY2FsY3VsYXRpb24gKi9cblx0bWFyZ2luLXRvcDogNXB4OyAvKiBBZGQgc29tZSBzcGFjZSAqL1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXG59XG5cbi8qIEVuc3VyZSB0cmFuc2l0aW9ucyBhcmUgc21vb3RoIHdoZW4gY2xhc3NlcyBhcmUgcmVtb3ZlZCAqL1xuLnRnLWthbmJhbi1jYXJkIHtcblx0LyogRW5zdXJlIGV4aXN0aW5nIHRyYW5zaXRpb25zIGRvbid0IGNvbmZsaWN0LCBvciBhZGQgYmFzZSB0cmFuc2l0aW9uICovXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjFzIGVhc2Utb3V0LCBwYWRkaW5nIDAuMXMgZWFzZS1vdXQsXG5cdFx0Ym9yZGVyIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0LFxuXHRcdGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0OyAvKiBNZXJnZWQgdHJhbnNpdGlvbnMgKi9cbn1cblxuLmRyb3AtdGFyZ2V0LWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjIpOyAvKiBcdTUzNEFcdTkwMEZcdTY2MEVcdTdFRkZcdTgyNzJcdTgwQ0NcdTY2NkYgKi9cblx0b3V0bGluZTogMnB4IGRhc2hlZCBncmVlbjsgLyogXHU3RUZGXHU4MjcyXHU4NjVBXHU3RUJGXHU4RkI5XHU2ODQ2ICovXG5cdC8qIFx1NEY2MFx1NTNFRlx1ODBGRFx1OEZEOFx1OTcwMFx1ODk4MVx1OEMwM1x1NjU3NCBwYWRkaW5nIFx1NjIxNiBtYXJnaW4gXHU2NzY1ICdcdTY1M0VcdTU5MjcnIFx1ODlDNlx1ODlDOVx1NTMzQVx1NTdERiAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi9cblx0LyogcGFkZGluZy1ib3R0b206IDIwcHg7ICovXG59XG5cbi8qIEFkZCBDYXJkIEJ1dHRvbiAqL1xuLnRnLWthbmJhbi1hZGQtY2FyZC1jb250YWluZXIge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNvbnRhaW5lciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4vKiBTdHlsZXMgZm9yIHRoZSBBZGQgQ2FyZCBidXR0b24gaW4gYm9hcmQgdmlldyAqL1xuLnRhc2stZ2VuaXVzLWFkZC1jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLXRvcDogYXV0bzsgLyogUHVzaCB0byB0aGUgYm90dG9tIGlmIHRoZSBjb2x1bW4gdXNlcyBmbGV4ICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBNYWtlIGl0IGxlc3MgcHJvbWluZW50ICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29sdW1uIERyYWcgJiBEcm9wIFN0eWxpbmcgKi9cbi50Zy1rYW5iYW4tY29sdW1uLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjb2x1bW4gYmVpbmcgZHJhZ2dlZCAqL1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcblx0b3BhY2l0eTogMC44O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgZ2hvc3QgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyBjb2x1bW5zICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xuXHQvKiBNYWtlIGNvbHVtbiBoZWFkZXJzIGRyYWdnYWJsZSAqL1xuXHRjdXJzb3I6IGdyYWI7XG59XG5cbi50Zy1rYW5iYW4tY29sdW1uLWhlYWRlcjphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuIiwgIi8qIEZpbHRlciBDb21wb25lbnQgU3R5bGVzICovXG4uZmlsdGVyLWNvbXBvbmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1pbi1oZWlnaHQ6IDQ4cHg7XG5cblx0ZmxleDogMTtcbn1cblxuLyogRmlsdGVyIFBpbGxzIENvbnRhaW5lciAqL1xuLmZpbHRlci1waWxscy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmbGV4OiAxO1xufVxuXG4vKiBGaWx0ZXIgQ29udHJvbHMgKi9cbi5maWx0ZXItY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIEZpbHRlciBQaWxscyAqL1xuLmZpbHRlci1waWxsIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdHBhZGRpbmc6IDVweCA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRhbmltYXRpb246IGZpbHRlci1waWxsLWFwcGVhciAyMDBtcyBlYXNlLW91dDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcblx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG5cbi5maWx0ZXItcGlsbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtdGVydGlhcnkpO1xufVxuXG4uZmlsdGVyLXBpbGwtY2F0ZWdvcnkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5maWx0ZXItcGlsbC12YWx1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGlsbC1yZW1vdmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTEpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcblx0XHRjb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1waWxsLXJlbW92ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3ZlLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgQnV0dG9ucyAqL1xuLmZpbHRlci1hZGQtYnV0dG9uLFxuLmZpbHRlci1jbGVhci1hbGwtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbHRlci1hZGQtYnV0dG9uIHtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1hZGQtaWNvbiB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGaWx0ZXIgRHJvcGRvd24gKi9cbi5maWx0ZXItZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiAyMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3Zlcik7XG5cdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSwgdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tc2VhcmNoIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2g6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1saXN0IHtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWF4LWhlaWdodDogMzUwcHg7XG59XG5cbi5maWx0ZXItZHJvcGRvd24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tbGFiZWwge1xuXHRmbGV4OiAxO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93LmJhY2sge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1iYWNrIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXNlcGFyYXRvciB7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1lbXB0eSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtaXRlbSB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLWNhdGVnb3J5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC00KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgZmlsdGVyLXBpbGwtYXBwZWFyIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4uZmlsdGVyLXBpbGwtcmVtb3Zpbmcge1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dDtcbn1cbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXG5cdC0tZ2FudHQtaGVhZGVyLWhlaWdodDogNTBweDtcblx0LS1nYW50dC1yb3ctaGVpZ2h0OiA0MHB4O1xuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XG5cdC0tZ2FudHQtYmFyLXJhZGl1czogM3B4O1xuXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LS1nYW50dC1ncmlkLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC0tZ2FudHQtcm93LWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0LS1nYW50dC1taWxlc3RvbmUtY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2FudHQtc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZ2FudHQtaGVhZGVyLWJnIHtcblx0ZmlsbDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtaGVhZGVyLXRleHQge1xuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmdhbnR0LWdyaWQtYmcge1xuXHRmaWxsOiB0cmFuc3BhcmVudDtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcbn1cblxuLmdhbnR0LXRhc2staXRlbSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdhbnR0LXRhc2stYmFyIHtcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDFweDtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbCB7XG5cdGZpbGw6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbi5nYW50dC10YXNrLWJhci5zdGF0dXMtY29tcGxldGVkIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XG59XG5cbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcbn1cblxuLyoqXG4gKiBHYW50dCBDaGFydCBTdHlsZXNcbiAqL1xuXG4uZ2FudHQtaGVhZGVyIHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdGhlaWdodDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZ2FudHQtaGVhZGVyLXJvdy5wcmltYXJ5IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmdhbnR0LWJvZHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSAqIC0xKTtcbn1cblxuLmdhbnR0LWdyaWQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xuXHRtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5nYW50dC1ncmlkLWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC10b2RheS1jb2xvcik7XG59XG5cbi5nYW50dC1ncmlkLXJvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xufVxuXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XG59XG5cbi5nYW50dC1iYXJzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpKTtcblx0bWluLXdpZHRoOiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xuXHR6LWluZGV4OiAxMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uZ2FudHQtdGFzay1iYXIubWlsZXN0b25lIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcblx0d2lkdGg6IDE1cHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNy41cHg7XG59XG5cbi5nYW50dC10YXNrLXByb2dyZXNzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0b3A6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xufVxuXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG5cdC5nYW50dC1oZWFkZXItY2VsbCB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHR9XG5cblx0LmdhbnR0LXRhc2stbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0fVxufVxuXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5nYW50dC1oZWFkZXItc3ZnIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5nYW50dC1oZWFkZXItdGljay1tYWpvcixcbi5nYW50dC1oZWFkZXItdGljay1taW5vcixcbi5nYW50dC1oZWFkZXItdGljay1kYXksXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG59XG4uZ2FudHQtaGVhZGVyLXRpY2stbWFqb3Ige1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcbn1cbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDEuNTtcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcbn1cblxuLmdhbnR0LWhlYWRlci1sYWJlbC1tYWpvcixcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXG4uZ2FudHQtaGVhZGVyLWxhYmVsLWRheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZ2FudHQtaGVhZGVyLWxhYmVsLW1ham9yIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdGZsZXgtZ3JvdzogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWdyaWQtbGluZS1tYWpvcixcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0c3Ryb2tlLXdpZHRoOiAwLjU7XG59XG4uZ2FudHQtZ3JpZC1saW5lLW1ham9yIHtcblx0c3Ryb2tlLXdpZHRoOiAxO1xufVxuLmdhbnR0LWdyaWQtbGluZS1ob3Jpem9udGFsIHtcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHN0cm9rZS13aWR0aDogMTtcbn1cblxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRzdHJva2Utd2lkdGg6IDE7XG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XG59XG5cbi5nYW50dC10YXNrLWl0ZW0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xuXHRzdHJva2Utd2lkdGg6IDAuNTtcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2U7XG59XG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdHN0cm9rZTogdmFyKC0tY29sb3ItcHVycGxlKTtcblx0c3Ryb2tlLXdpZHRoOiAxO1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcbn1cbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdG9wYWNpdHk6IDAuNztcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItcmVkKTtcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRvcGFjaXR5OiAwLjY7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtaW5wcm9ncmVzcyAuZ2FudHQtdGFzay1iYXIge1xufVxuXG4uZ2FudHQtdGFzay1sYWJlbC1mbyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHBhZGRpbmc6IDAgMnB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmdhbnR0LW1pbGVzdG9uZS1sYWJlbC1jb250YWluZXIgcCB7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRwYWRkaW5nOiAwIDJweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsIHtcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZ2FudHQtZmlsdGVyLWFyZWEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdHdpZHRoOiAxMDAlO1xuXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcblx0ZmxleDogMTtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjYpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ZGlzcGxheTogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvcltzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdIHtcblx0b3BhY2l0eTogMDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItbGVmdCB7XG5cdGxlZnQ6IDVweDtcbn1cblxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xuXHRyaWdodDogNXB4O1xufVxuXG4uZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMyk7XG5cdHotaW5kZXg6IDEwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItbGVmdCB7XG5cdGxlZnQ6IDA7XG59XG5cbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lciB7XG5cdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0LCA0MHB4KSArIHZhcigtLWZpbHRlci1oZWlnaHQsIDBweCkpO1xuXHRib3R0b206IDE1cHg7XG59XG5cbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xuXHRyaWdodDogMTVweDtcbn1cblxuLmdhbnR0LXRhc2stbGFiZWwgcCB7XG5cdG1hcmdpbjogMDtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbiIsICIvKiB0YXNrLXByb3BlcnR5IFZpZXcgU3R5bGVzICovXG4udGFzay1wcm9wZXJ0eS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay1wcm9wZXJ0eS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXByb3BlcnR5LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAudGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXByb3BlcnR5LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udGFzay1wcm9wZXJ0eS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhc2stcHJvcGVydHktbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1wcm9wZXJ0eS1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1wcm9wZXJ0eS10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1wcm9wZXJ0eS1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4vKiB0YXNrLXByb3BlcnR5IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZVxuXHQudGFzay1wcm9wZXJ0eS1jb250YWluZXI6aGFzKFxuXHRcdC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uLmlzLXZpc2libGVcblx0KTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyOmhhcygudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG4iLCAiLyogVGFzayBUYWJsZSBWaWV3IFN0eWxlcyAqL1xuLnRhYmxlLXZpZXctYWRhcHRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZsZXg6IDE7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdC8qIEVuc3VyZSB0YWJsZSB0YWtlcyBmdWxsIHdpZHRoIGV2ZW4gd2l0aCBtYW55IGNvbHVtbnMgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogVGFibGUgd3JhcHBlciBmb3Igc2Nyb2xsaW5nICovXG4udGFzay10YWJsZS13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogRW5hYmxlIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2Nyb2xsaW5nICovXG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdC8qIFNtb290aCBzY3JvbGxpbmcgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIEhlYWRlciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0LyogRW5zdXJlIGhlYWRlciBkb2Vzbid0IGJyZWFrIHdoZW4gc2Nyb2xsaW5nIGhvcml6b250YWxseSAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHQvKiBQcmV2ZW50IGhlYWRlciBjZWxscyBmcm9tIHNocmlua2luZyB0b28gbXVjaCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogNHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvcGFjaXR5OiAwLjU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uLmFzYyxcbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5kZXNjIHtcblx0b3BhY2l0eTogMTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEJvZHkgU3R5bGVzICovXG4udGFzay10YWJsZS1ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtY2VsbC5lZGl0aW5nIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdHJlZS1pbmRlbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7IFxufVxuXG4udGFzay10YWJsZS1jZWxsOmhhcygudGFzay10YWJsZS1leHBhbmQtYnRuKSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnRhc2stdGFibGUtcm93LnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDUycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDcycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDkycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDExMnB4O1xufVxuXG4vKiBDZWxsIFR5cGUgU3R5bGVzICovXG4udGFzay10YWJsZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNvbXBsZXRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuaW4tcHJvZ3Jlc3MgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmFiYW5kb25lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLnBsYW5uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5ub3Qtc3RhcnRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogUHJpb3JpdHkgQ2VsbCAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLm1lZGl1bSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBEYXRlIENlbGwgKi9cbi50YXNrLXRhYmxlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay10YWJsZS1kYXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b21vcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUueWVzdGVyZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudXBjb21pbmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBUYWdzIENlbGwgKi9cbi50YXNrLXRhYmxlLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10YWctY2hpcCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXRhZ3MtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIEVkaXRpbmcgSW5wdXRzICovXG4udGFzay10YWJsZS10ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Zm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xufVxuXG4vKiBUYXNrIENvdW50IEljb24gKi9cbi50YXNrLWNvdW50LWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LXJvdyB7XG5cdGhlaWdodDogODBweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktY2VsbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIExvYWRpbmcgU3RhdGUgKi9cbi50YXNrLXRhYmxlLWxvYWRpbmcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR6LWluZGV4OiAxMDA7XG59XG5cbi8qIFJlc2l6ZSBTdGF0ZSAqL1xuLnRhc2stdGFibGUucmVzaXppbmcge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUucmVzaXppbmcgKiB7XG5cdGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRhc2stdGFibGUtd3JhcHBlciB7XG5cdFx0b3ZlcmZsb3cteDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlIHtcblx0XHRtaW4td2lkdGg6IDgwMHB4OyAvKiBFbnN1cmUgdGFibGUgZG9lc24ndCBnZXQgdG9vIG5hcnJvdyAqL1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0fVxufVxuXG4vKiBQcmludCBTdHlsZXMgKi9cbkBtZWRpYSBwcmludCB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlciB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3Age1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3AgdGQge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250ZXh0IG1lbnUgc3R5bGVzICovXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIERhdGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1kYXRlLWlucHV0IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogQXV0b2NvbXBsZXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dCxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFJvdyBzZWxlY3Rpb24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlci13ZWFrKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBpbXByb3ZlbWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXG5cdHRoW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRcdGdhcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHR0ZFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggNHB4O1xuXHR9XG59XG5cbi8qIFRhc2sgVGFibGUgSGVhZGVyIEJhciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFibGUtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogVGFzayBDb3VudCBEaXNwbGF5ICovXG4udGFzay1jb3VudC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1jb3VudC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29udHJvbCBCdXR0b25zICovXG4udGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG4udGFibGUtY29udHJvbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRyZWUtbW9kZS1idG4uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRyZWUtbW9kZS1pY29uLFxuLnJlZnJlc2gtaWNvbixcbi5jb2x1bW4taWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50cmVlLW1vZGUtdGV4dCxcbi5yZWZyZXNoLXRleHQsXG4uY29sdW1uLXRleHQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZHJvcGRvd24tYXJyb3cge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi8qIENvbHVtbiBEcm9wZG93biAqL1xuLmNvbHVtbi1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWNoZWNrYm94IHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBIZWFkZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCxcblx0LnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQudGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQudGFibGUtY29udHJvbC1idG4ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgZm9yIEhlYWRlciAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50aGVtZS1kYXJrIC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQ3VzdG9tIEF1dG8tU3VnZ2VzdCBEcm9wZG93biAqL1xuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpob3Zlcixcbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRW5oYW5jZWQgVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wYXJlbnQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2stY2VsbCB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItZm9jdXMpO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1zdHJ1Y3R1cmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtbGluZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb25uZWN0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtdmVydGljYWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2staW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay10YWJsZS10b3AtbGV2ZWwtZXhwYW5kIHtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRlbnQtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnRhc2stdGFibGUtY2hpbGQtaW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXMge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEVuaGFuY2VkIFByaW9yaXR5IEljb25zICovXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2hlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvd2VzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogVHJlZSBleHBhbmQgYnV0dG9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbiB7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBPdmVycmlkZSBleGlzdGluZyB0cmVlIGluZGVudGF0aW9uIHRvIHVzZSBuZXcgc3lzdGVtICovXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTJweDsgLyogUmVzZXQgdG8gbm9ybWFsIHBhZGRpbmcsIGxldCB0cmVlIHN0cnVjdHVyZSBoYW5kbGUgaW5kZW50YXRpb24gKi9cbn1cbiIsICIvKiBUYXNrIEdlbml1cyAtIFF1YWRyYW50IFZpZXcgU3R5bGVzICovXG5cbi8qIE1haW4gUXVhZHJhbnQgQ29udGFpbmVyICovXG4udGctcXVhZHJhbnQtY29tcG9uZW50LWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEhlYWRlciBTZWN0aW9uICovXG4udGctcXVhZHJhbnQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRnLXF1YWRyYW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luOiAwO1xufVxuXG4udGctcXVhZHJhbnQtY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcbn1cblxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRnLXF1YWRyYW50LXRvZ2dsZS1lbXB0eTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogRmlsdGVyIFNlY3Rpb24gKi9cbi50Zy1xdWFkcmFudC1maWx0ZXItY29udGFpbmVyIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFF1YWRyYW50IEdyaWQgKi9cbi50Zy1xdWFkcmFudC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG5cdGdhcDogMXB4O1xuXHRmbGV4OiAxO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEluZGl2aWR1YWwgUXVhZHJhbnQgQ29sdW1ucyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi0taGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogUXVhZHJhbnQgSGVhZGVycyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4udGctcXVhZHJhbnQtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRnLXF1YWRyYW50LXByaW9yaXR5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW46IDA7XG59XG5cbi50Zy1xdWFkcmFudC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi50Zy1xdWFkcmFudC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLyogUXVhZHJhbnQgQ29udGVudCBBcmVhcyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA4cHg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQtLWRyb3AtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi8qIFF1YWRyYW50IFNwZWNpZmljIFN0eWxpbmcgLSBTdWJ0bGUgYWNjZW50IGJhcnMgKi9cbi5xdWFkcmFudC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC1ub3QtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5xdWFkcmFudC1ub3QtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNDtcbn1cblxuLyogVGFzayBDYXJkcyAqL1xuLnRnLXF1YWRyYW50LWNhcmQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDphY3RpdmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBDYXJkIEhlYWRlciAqL1xuLnRnLXF1YWRyYW50LWNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtY2hlY2tib3gge1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG4ge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENhcmQgQ29udGVudCAqL1xuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctcXVhZHJhbnQtdGFnLS11cmdlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGctcXVhZHJhbnQtdGFnLS1pbXBvcnRhbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLyogQ2FyZCBNZXRhZGF0YSAqL1xuLnRnLXF1YWRyYW50LWNhcmQtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS11cmdlbnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaWNvbiB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtbmFtZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bWF4LXdpZHRoOiAxMjBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLWxpbmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0b3BhY2l0eTogMC42O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4vKiBQcmlvcml0eSBDbGFzc2VzIC0gU3VidGxlIGxlZnQgYm9yZGVyICovXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaGVzdCB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1oaWdoIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbWVkaXVtIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93IHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93ZXN0IHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHJhZyBhbmQgRHJvcCBTdGF0ZXMgKi9cbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XG5cdG9wYWNpdHk6IDAuNDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkIC0gZm9sbG93aW5nIGthbmJhbiBwYXR0ZXJuICovXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXG59XG5cbi8qIFJlbW92ZSBvbGQgZHJhZyBjbGFzc2VzIHRoYXQgYXJlIG5vIGxvbmdlciB1c2VkICovXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LWljb24ge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdG9wYWNpdHk6IDAuNTtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRnLXF1YWRyYW50LWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNhcmQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtY29udHJvbHMge1xuXHRcdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR9XG59XG5cbi8qIEZvY3VzIHN0YXRlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuLnRnLXF1YWRyYW50LWNhcmQ6Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggaW50ZXJhY3Rpb25zICovXG5Aa2V5ZnJhbWVzIGNhcmRDb21wbGV0ZSB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1jb21wbGV0ZWQge1xuXHRhbmltYXRpb246IGNhcmRDb21wbGV0ZSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBJbXByb3ZlZCBob3ZlciBzdGF0ZXMgKi9cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBCZXR0ZXIgdmlzdWFsIGhpZXJhcmNoeSAqL1xuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTGF6eSBsb2FkaW5nIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LWxvYWRpbmcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWxvYWRpbmctc3Bpbm5lciB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi50Zy1xdWFkcmFudC1zcGlubmVyIHtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkaW5nLW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBFbmhhbmNlZCBkcmFnIGFuZCBkcm9wIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LWRyYWdnaW5nIHtcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xufVxuXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcgKiB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xuXHRvcGFjaXR5OiAwLjQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcblx0b3BhY2l0eTogMC44O1xuXHRib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XG5cdG9wYWNpdHk6IDAuOTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tLWRyYWctdGFyZ2V0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1pbi1oZWlnaHQ6IDYwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJEcm9wIHRhc2sgaGVyZVwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG9wYWNpdHk6IDAuNztcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDE7XG59XG5cbi8qIEZlZWRiYWNrIHN0eWxlcyAqL1xuLnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAyMHB4O1xuXHRyaWdodDogMjBweDtcblx0ei1pbmRleDogMTAwMDA7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tc2hvdyB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0bWluLXdpZHRoOiAyMDBweDtcbn1cblxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1lcnJvciAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50Zy1xdWFkcmFudC1mZWVkYmFjay1pY29uIHtcblx0Zm9udC1zaXplOiAxLjJyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGctcXVhZHJhbnQtZmVlZGJhY2stdGV4dCB7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBFbmhhbmNlZCBjYXJkIGludGVyYWN0aW9ucyAqL1xuLnRnLXF1YWRyYW50LWNhcmQge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXHRjdXJzb3I6IGdyYWI7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZztcbn1cblxuLyogSW1wcm92ZWQgZW1wdHkgc3RhdGUgKi9cbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtaW4taGVpZ2h0OiAxMjBweDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLyogTG9hZGluZyBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgc3BpbiB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59XG5cbi50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XG5cdGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xuXHRcdHRvcDogMTBweDtcblx0XHRyaWdodDogMTBweDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdH1cblxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBtb2RlIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQudGctcXVhZHJhbnQtY2FyZCxcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayxcblx0LnRnLXF1YWRyYW50LWNhcmQtLWNob3Nlbixcblx0LnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LXNwaW5uZXIgY2lyY2xlIHtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLyogU2Nyb2xsIGNvbnRhaW5lciBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cdHNjcm9sbGJhci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpIHRyYW5zcGFyZW50O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogNnB4O1xufVxuXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogTG9hZCBtb3JlIGluZGljYXRvciBzdHlsZXMgKi9cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtLXZpc2libGUge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLXNwaW5uZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBBbmltYXRlIHRoZSBPYnNpZGlhbiBsb2FkZXIgaWNvbiAqL1xuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHN2ZyB7XG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENvbHVtbiBsYXlvdXQgYWRqdXN0bWVudHMgZm9yIHNjcm9sbGluZyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogNDAwcHg7XG5cdG1heC1oZWlnaHQ6IDgwdmg7XG59XG5cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjVyZW07XG59XG5cbi8qIFNtb290aCBzY3JvbGxpbmcgKi9cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIExvYWRpbmcgc3RhdGVzIGR1cmluZyBzY3JvbGwgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4ubG9hZGluZy1tb3JlIC50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xuXHRvcGFjaXR5OiAxO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSW50ZXJzZWN0aW9uIG9ic2VydmVyIHRhcmdldCBzdHlsaW5nICovXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcblx0bWluLWhlaWdodDogNDBweDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi8qIEVuaGFuY2VkIGVtcHR5IHN0YXRlIGZvciBzY3JvbGxhYmxlIGNvbnRlbnQgKi9cbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBHcmlkIGxheW91dCBhZGp1c3RtZW50cyAqL1xuLnRnLXF1YWRyYW50LWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDBweCk7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4vKiBSZXNwb25zaXZlIHNjcm9sbCBjb250YWluZXIgaGVpZ2h0cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQudGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xuXHRcdG1heC1oZWlnaHQ6IDcwdmg7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcblx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHR9XG5cblx0LnRnLXF1YWRyYW50LWNvbHVtbiB7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcblx0fVxuXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyAqL1xuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50IHtcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlO1xuXHR3aWxsLWNoYW5nZTogY29udGVudHM7XG59XG5cbi50Zy1xdWFkcmFudC1jYXJkIHtcblx0Y29udGFpbjogbGF5b3V0IHN0eWxlIHBhaW50O1xufVxuXG4vKiBTY3JvbGwgaW5kaWNhdG9ycyAqL1xuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIuaGFzLXNjcm9sbDo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIGJvdHRvbSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLFxuXHRcdHRyYW5zcGFyZW50XG5cdCk7XG5cdHotaW5kZXg6IDE7XG59XG5cbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IHN0aWNreTtcblx0Ym90dG9tOiAwO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSwgdHJhbnNwYXJlbnQpO1xuXHR6LWluZGV4OiAxO1xufVxuIiwgIi50Zy1oYWJpdC1jb21wb25lbnQtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xuXHRwYWRkaW5nOiAxcmVtOyAvKiBwLTQgKi9cblx0aGVpZ2h0OiAxMDAlOyAvKiBBbGxvdyBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09IEhhYml0IExpc3QgQ29udGFpbmVyID09PSAqL1xuLmhhYml0LWxpc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBcdTVDMEZcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdGdhcDogMC43NXJlbTtcblx0fVxufVxuXG4vKiBcdTRFMkRcdTdCNDlcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgfjc2OHB4ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxufVxuXG4vKiBcdTU5MjdcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdH1cbn1cbi8qIEFkanVzdCBtYXgtd2lkdGgvY29sdW1ucyBiYXNlZCBvbiBkZXNpcmVkIGxheW91dCAqL1xuXG4uaGFiaXQtY2FyZC13cmFwcGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4vKiA9PT0gQ3JlYXRlIEhhYml0IEJ1dHRvbiA9PT0gKi9cbi5oYWJpdC1jcmVhdGUtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLyogPT09IEJhc2UgQ2FyZCBTdHlsZXMgPT09ICovXG4uaGFiaXQtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBTdGFuZGFyZCBtZWRpdW0gcmFkaXVzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgaGVhZGVyIGFuZCBjb250ZW50ICovXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRnYXA6IDAuNXJlbTtcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cbn1cblxuLmhhYml0LWNhcmQgLmNhcmQtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTsgLyogZ2FwLTIgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTsgLyogTGFyZ2VyIFVJIGZvbnQgKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHRpdGxlIHRvIHRha2Ugc3BhY2UgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBsb25nIG5hbWVzIGJyZWFraW5nIGxheW91dCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhhYml0LW5hbWUuaGFiaXQtbmFtZTpob3ZlciB7XG5cdC8qIFNwZWNpZmljaXR5IGZvciBob3ZlciAqL1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07IC8qIENvbnNpc3RlbnQgcGFkZGluZyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRlbnQgdG8gZmlsbCBzcGFjZSAqL1xuXHQvKiBMYXlvdXQgc3BlY2lmaWNzIGRlZmluZWQgcGVyIGNhcmQgdHlwZSAqL1xufVxuXG4vKiA9PT0gRGFpbHkgSGFiaXQgQ2FyZCA9PT0gKi9cbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XG5cdC8qIE5vIGJvcmRlciBuZWVkZWQgaWYgY2hlY2tib3ggaXMgbWFpbiBhY3Rpb24gKi9cblx0LyogYm9yZGVyLWJvdHRvbTogbm9uZTsgKi9cbn1cbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveC1jb250YWluZXIge1xuXHQvKiBTdHlsZSBjb250YWluZXIgaWYgbmVlZGVkICovXG59XG4uZGFpbHktaGFiaXQtY2FyZCAuaGFiaXQtY2hlY2tib3gge1xuXHQtLWNoZWNrYm94LXNpemU6IDEuMjVyZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YWNjZW50LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBTdHlsZSBjaGVja2JveCBjb2xvciAqL1xufVxuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0LyogQ29udGFpbnMgaGVhdG1hcCAqL1xuXHRwYWRkaW5nOiAwcmVtIDFyZW0gMC43NXJlbTsgLyogQWRqdXN0IHBhZGRpbmcgYXJvdW5kIGhlYXRtYXAgKi9cbn1cblxuLyogPT09IENvdW50IEhhYml0IENhcmQgPT09ICovXG4uY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBEZWZhdWx0IG1vYmlsZSBsYXlvdXQgKi9cblx0Z2FwOiAwLjc1cmVtOyAvKiBBZGp1c3RlZCBnYXAgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcblx0LS1pY29uLXNpemU6IDJyZW07XG5cdGhlaWdodDogNHJlbTsgLyogU2xpZ2h0bHkgc21hbGxlciB0aGFuIGgtMTYgKi9cblx0d2lkdGg6IDRyZW07XG5cdGFzcGVjdC1yYXRpbzogMTtcblx0cGFkZGluZzogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIFNtYWxsZXIgcmFkaXVzICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuNXJlbTsgLyogRm9yIGljb24gKi9cbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLWljb24tY29sb3IpO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1jYXJkLW5hbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtYWN0aXZlLWRheSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdGV4dCBvbiBtb2JpbGUgKi9cblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmbGV4LWdyb3c6IDE7XG59XG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyBoMyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIENvdW50IENhcmQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuXHQvKiBzbSBicmVha3BvaW50ICovXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBBbGlnbiBpdGVtcyB2ZXJ0aWNhbGx5ICovXG5cdFx0Z2FwOiAxcmVtO1xuXHR9XG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcblx0XHR3aWR0aDogYXV0bzsgLyogQWxsb3cgaXQgdG8gc2hyaW5rICovXG5cdFx0bWluLXdpZHRoOiAxNTBweDsgLyogRW5zdXJlIG1pbmltdW0gd2lkdGggZm9yIGhlYXRtYXAvcHJvZ3Jlc3MgKi9cblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8qIEFsaWduIHByb2dyZXNzIHRvIHRoZSByaWdodCAqL1xuXHR9XG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLXNtYWxsIHtcblx0XHR3aWR0aDogMTAwJTsgLyogQWxsb3cgaGVhdG1hcCB0byBkZWZpbmUgaXRzIG93biB3aWR0aCAqL1xuXHR9XG59XG5cbi8qID09PSBTY2hlZHVsZWQgSGFiaXQgQ2FyZCA9PT0gKi9cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtOyAvKiBwYi0yICovXG59XG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cblx0Z2FwOiAwLjc1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBoZWF0bWFwIG9uIG1vYmlsZSAqL1xufVxuXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgY29udHJvbHMgb24gbW9iaWxlICovXG59XG5cbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtZXZlbnQtZHJvcGRvd24ge1xuXHR3aWR0aDogYXV0bzsgLyogQXV0byB3aWR0aCBkcm9wZG93biAqL1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIFNjaGVkdWxlZCBDYXJkICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gdG9wICovXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHNocmluayAqL1xuXHRcdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgaGVhdG1hcCB0byB0YWtlIGF2YWlsYWJsZSBzcGFjZSAqL1xuXHRcdG1hcmdpbi1yaWdodDogMXJlbTsgLyogU3BhY2UgYmV0d2VlbiBoZWF0bWFwIGFuZCBjb250cm9scyAqL1xuXHR9XG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBTaHJpbmsgY29udHJvbHMgKi9cblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBNaW5pbXVtIHdpZHRoICovXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8qIEFsaWduIGNvbnRyb2xzIGxlZnQgKi9cblx0fVxufVxuXG4vKiA9PT0gTWFwcGluZyBIYWJpdCBDYXJkID09PSAqL1xuLm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtOyAvKiBwYi0yICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXG5cdGdhcDogMC43NXJlbTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXG59XG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxLjc1cmVtOyAvKiBMYXJnZXIgZW1vamkvdGV4dCAqL1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMHB4OyAvKiBMaW1pdCBidXR0b24gd2lkdGggKi9cblx0aGVpZ2h0OiAzLjVyZW07IC8qIGgtMTYgZXF1aXZhbGVudCAqL1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmcpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgZW1vamkgdmlzaWJpbGl0eSAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iZyk7XG59XG5cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcblx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyBmdWxsIHdpZHRoICovXG5cdG1heC13aWR0aDogMjAwcHg7IC8qIExpbWl0IHNsaWRlciB3aWR0aCAqL1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBzbGlkZXIgbGFiZWwgKi9cbn1cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0ge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xufVxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2Ugc2xpZGVyIGNvbnRyb2wgdGFrZSBmdWxsIHdpZHRoICovXG59XG5cbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIE1hcHBpbmcgQ2FyZCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5ICovXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHR9XG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRtaW4td2lkdGg6IDgwcHg7IC8qIFdpZHRoIGZvciBidXR0b24gKyBzbGlkZXIgKi9cblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBLZWVwIGJ1dHRvbiBhYm92ZSBzbGlkZXIgKi9cblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMC43NXJlbTtcblx0fVxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XG5cdFx0d2lkdGg6IDRyZW07IC8qIEZpeGVkIHdpZHRoIGJ1dHRvbiAqL1xuXHRcdGhlaWdodDogNHJlbTtcblx0fVxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XG5cdFx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyB3aWR0aCBvZiBjb250cm9sIGFyZWEgKi9cblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cbn1cblxuLyogPT09IFByb2dyZXNzIEJhciAoQ29tbW9uIGZvciBDb3VudC9TY2hlZHVsZWQpID09PSAqL1xuLmhhYml0LXByb2dyZXNzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDAuNzVyZW07IC8qIFNsaWdodGx5IHRoaWNrZXIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7IC8qIFBpbGwgc2hhcGUgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBGb3IgdGV4dCBvdmVybGF5ICovXG59XG4uaGFiaXQtcHJvZ3Jlc3MtYmFyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyLmZpbGxlZCAuaGFiaXQtcHJvZ3Jlc3MtdGV4dCB7XG5cdG1peC1ibGVuZC1tb2RlOiB1bnNldDtcbn1cbi5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDAuNnJlbTsgLyogVGlueSB0ZXh0ICovXG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IGNvbG9yIG9uIGZpbGxlZCBwYXJ0ICovXG5cdG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyAvKiBUcnkgdG8gbWFrZSB0ZXh0IHZpc2libGUgKi9cblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogPT09IEhlYXRtYXAgU3R5bGVzID09PSAqL1xuLnRnLWhlYXRtYXAtcm9vdCB7XG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xufVxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXG59XG5cbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWF0bWFwLWxnIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhdG1hcC1jZWxsIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbCByYWRpdXMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgY2VsbHMgZnJvbSBzaHJpbmtpbmcgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcblx0KTsgLyogRGVmYXVsdCBiYWNrZ3JvdW5kICovXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBCb3JkZXIgZm9yIGJsYW5rL2N1c3RvbSAqL1xufVxuXG4vKiBIZWF0bWFwIFNoYXBlcyAqL1xuLmhlYXRtYXAtY2VsbC1zcXVhcmUge1xuXHQvKiBEZWZpbmVkIGJ5IHNpemUgKi9cbn1cbi5oZWF0bWFwLWNlbGwtZG90IHtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBIZWF0bWFwIFNpemVzICovXG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDAuNzVyZW07XG5cdGhlaWdodDogMC43NXJlbTtcbn1cbi5oYWJpdC1oZWF0bWFwLW1lZGl1bSAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuNHJlbTtcblx0aGVpZ2h0OiAxLjRyZW07XG5cdGZvbnQtc2l6ZTogMC43cmVtO1xufVxuXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcblx0d2lkdGg6IDEuMXJlbTtcblx0aGVpZ2h0OiAxLjFyZW07XG5cdGZvbnQtc2l6ZTogMC43cmVtO1xufSAvKiBNYXBwaW5nL1NjaGVkdWxlZCAqL1xuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY2VsbCB7XG5cdHdpZHRoOiAxLjI1cmVtO1xuXHRoZWlnaHQ6IDEuMjVyZW07XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcbn0gLyogRGFpbHkgKi9cblxuLyogSGVhdG1hcCBWYXJpYW50cyAqL1xuLmhlYXRtYXAtY2VsbC5kZWZhdWx0IHtcblx0LyogRGVmYXVsdCBzdHlsZXMgYWxyZWFkeSBzZXQgKi9cbn1cbi5oZWF0bWFwLWNlbGwuZmlsbGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBvbiBmaWxsZWQgKGUuZy4sIGVtb2ppKSAqL1xufVxuXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudDpoYXMoLnBpZS1kb3QtY29udGFpbmVyKSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IHVuc2V0O1xufVxuXG4vKiBTdHlsZSBmb3IgY2VsbHMgd2l0aCBjdXN0b20gY29udGVudCBsaWtlIFBpZURvdCBvciBFbW9qaSAqL1xuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQsXG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFVzZSBjYXJkIGJhY2tncm91bmQgKi9cblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgKi9cblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogRW5zdXJlIHRleHQvZW1vamkgaXMgdmlzaWJsZSAqL1xufVxuLmhlYXRtYXAtY2VsbC5oYXMtdGV4dC1jb250ZW50IHtcblx0bGluZS1oZWlnaHQ6IDE7IC8qIENlbnRlciBlbW9qaSB2ZXJ0aWNhbGx5ICovXG59XG5cbi8qIFBpZURvdCBDb250YWluZXIgKi9cbi5waWUtZG90LWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBpZS1kb3QtY29udGFpbmVyIHN2ZyB7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBSZW1vdmUgZXh0cmEgc3BhY2UgYmVsb3cgU1ZHICovXG59XG5cbi8qID09PSBFbXB0eSBTdGF0ZSA9PT0gKi9cbi5oYWJpdC1lbXB0eS1zdGF0ZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMnJlbSAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qID09PSBJY29ucyBQbGFjZWhvbGRlciA9PT0gKi9cbi5oYWJpdC1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQvKiB3aWR0aDogMWVtOyAqL1xuXHRoZWlnaHQ6IDFlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi1yaWdodDogMC4yNWVtO1xuXHQtLWljb24tc2l6ZTogMS41cmVtO1xufVxuXG4vKiA9PT0gSGFiaXQgQ2hhcnQgTW9kYWwgPT09ICovXG4uaGFiaXQtY2hhcnQtY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDAuNXJlbTtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuIHtcblx0cGFkZGluZzogMC4yNXJlbSAwLjZyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5oYWJpdC1jaGFydC1maWx0ZXJzIC5maWx0ZXItYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cbi5oYWJpdC1jaGFydC15ZWFycyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cbi5oYWJpdC1jaGFydC15ZWFycyAueWVhcnMtYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGdhcDogMC40cmVtO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0biB7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFyLWJ0bi5zZWxlY3RlZCxcbi5oYWJpdC1jaGFydC15ZWFycyAueWVhci1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG4uaGFiaXQtY2hhcnQtaGVhdG1hcCB7XG5cdC8qIFJldXNlIHRoZSBoZWF0bWFwIGdyaWQgc3R5bGVzOyBhbGxvdyBvdmVyZmxvdyAqL1xuXHRtYXgtaGVpZ2h0OiA2MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbiIsICIvKiBEZWZpbmUgdGhlbWUgdmFyaWFibGVzICovXG46cm9vdCB7XG5cdC8qIFRhc2sgc3RhdHVzIGNvbG9ycyAqL1xuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xuXHQtLXRhc2stZG9pbmctY29sb3I6ICM4MGRlZTU7XG5cdC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcjogI2Y5ZDkyMztcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2ViNTM1Mztcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICM5YzI3YjA7IC8qIFBsYW5uZWQgdGFzayBjb2xvciAqL1xuXHQtLXRhc2stcXVlc3Rpb24tY29sb3I6ICMyMTk2ZjM7IC8qIFF1ZXN0aW9uIHRhc2tzICovXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNmNDQzMzY7IC8qIEltcG9ydGFudCB0YXNrcyAqL1xuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmYzEwNzsgLyogU3RhciB0YXNrcyAqL1xuXHQtLXRhc2stcXVvdGUtY29sb3I6ICM2MDdkOGI7IC8qIFF1b3RlIHRhc2tzICovXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzc5NTU0ODsgLyogTG9jYXRpb24gdGFza3MgKi9cblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmY5ODAwOyAvKiBCb29rbWFyayB0YXNrcyAqL1xuXHQtLXRhc2staW5mb3JtYXRpb24tY29sb3I6ICMwMGJjZDQ7IC8qIEluZm9ybWF0aW9uIHRhc2tzICovXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjOWMyN2IwOyAvKiBJZGVhIHRhc2tzICovXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNGNhZjUwOyAvKiBQcm9zIHRhc2tzICovXG5cdC0tdGFzay1jb25zLWNvbG9yOiAjZjQ0MzM2OyAvKiBDb25zIHRhc2tzICovXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY1NzIyOyAvKiBGaXJlIHRhc2tzICovXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyAqL1xuXHQtLXRhc2std2luLWNvbG9yOiAjNjZiYjZhOyAvKiBXaW4gdGFza3MgKi9cblx0LS10YXNrLXVwLWNvbG9yOiAjNGNhZjUwOyAvKiBVcCB0YXNrcyAqL1xuXHQtLXRhc2stZG93bi1jb2xvcjogI2Y0NDMzNjsgLyogRG93biB0YXNrcyAqL1xuXHQtLXRhc2stbm90ZS1jb2xvcjogIzllOWU5ZTsgLyogTm90ZSB0YXNrcyAqL1xuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjOGJjMzRhOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyAqL1xuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMDNhOWY0OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzICovXG5cblx0LyogUHJvZ3Jlc3MgYmFyIGdyYWRpZW50IGNvbG9ycyAtIGxpZ2h0IHRoZW1lICovXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3Nztcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XG5cblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuXG4vKiBEYXJrIHRoZW1lIGNvbG9yIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayB7XG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzM3OWZhNztcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZmZjMTA3O1xuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZjQ0MzM2O1xuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogI2NlOTNkODsgLyogUGxhbm5lZCB0YXNrIGNvbG9yIGZvciBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzQyYTVmNTsgLyogUXVlc3Rpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZWY1MzUwOyAvKiBJbXBvcnRhbnQgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmZDU0ZjsgLyogU3RhciB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzkwYTRhZTsgLyogUXVvdGUgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM4ZDZlNjM7IC8qIExvY2F0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmZiNzRkOyAvKiBCb29rbWFyayB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzI2YzZkYTsgLyogSW5mb3JtYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2staWRlYS1jb2xvcjogI2NlOTNkODsgLyogSWRlYSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNjZiYjZhOyAvKiBQcm9zIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWNvbnMtY29sb3I6ICNlZjUzNTA7IC8qIENvbnMgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNzA0MzsgLyogRmlyZSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay13aW4tY29sb3I6ICM4MWM3ODQ7IC8qIFdpbiB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay11cC1jb2xvcjogIzY2YmI2YTsgLyogVXAgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stZG93bi1jb2xvcjogI2VmNTM1MDsgLyogRG93biB0YXNrcyBkYXJrIHRoZW1lICovXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjYmRiZGJkOyAvKiBOb3RlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblx0LS10YXNrLWFtb3VudC1jb2xvcjogI2FlZDU4MTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgZGFyayB0aGVtZSAqL1xuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMjliNmY2OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzIGRhcmsgdGhlbWUgKi9cblxuXHQtLXByb2dyZXNzLTAtY29sb3I6ICNhZTQzMWU7XG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XG5cdC0tcHJvZ3Jlc3MtNzUtY29sb3I6ICM2YmNiNzc7XG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xuXG5cdC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cbiIsICIudGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwge1xuXHR3aWR0aDogbWF4KDcwJSwgNTAwcHgpO1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBDb25maWd1cmF0aW9uIE1vZGFsICovXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbSB7XG5cdC8qIEFkZCBzb21lIHNwYWNpbmcgYmV0d2VlbiBzZXR0aW5ncyBpbiB0aGUgbW9kYWwgKi9cblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsXG5cdC5zZXR0aW5nLWl0ZW06bm90KC5zZXR0aW5nLWl0ZW0taGVhZGluZylcblx0LnNldHRpbmctaXRlbS1pbmZvIHtcblx0LyogRW5zdXJlIGxhYmVscyBhcmUgYWxpZ25lZCB3ZWxsICovXG5cdHdpZHRoOiAxMjBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdC8qIEVuc3VyZSB0ZXh0IGlucHV0cyB0YWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHQvKiBTdHlsZSBkZXNjcmlwdGlvbnMgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIFZpZXcgTWFuYWdlbWVudCBMaXN0IGluIFNldHRpbmdzIFRhYiAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IGZvciBiZXR0ZXIgY29udHJvbCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBBbGlnbiBpdGVtcyB2ZXJ0aWNhbGx5ICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IG5hbWUvZGVzY3JpcHRpb24gdG8gdGFrZSB1cCBzcGFjZSAqL1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHQvKiBLZWVwIGNvbnRyb2xzIHRvZ2V0aGVyICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvZ2dsZXMvYnV0dG9ucyAqL1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5idXR0b24tY29tcG9uZW50IHtcblx0cGFkZGluZzogNXB4OyAvKiBTbWFsbGVyIHBhZGRpbmcgZm9yIGljb24gYnV0dG9ucyAqL1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1vcmRlci1idXR0b24sXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdC8qIFN0eWxlIGFjdGlvbiBidXR0b25zICovXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBTcGVjaWZpYyBzdHlsaW5nIGZvciB0b2dnbGVzIGluIHRoZSBsaXN0ICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5jaGVja2JveC1jb250YWluZXIge1xuXHRtYXJnaW46IDA7IC8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbnMgaWYgYW55ICovXG59XG5cbi8qIEljb24gUGlja2VyIE1lbnUgU3R5bGVzIChTY29wZWQpICovXG4udGctaWNvbi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0cGFkZGluZzogOHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgb3ZlcmFsbCBtZW51IGhlaWdodCAqL1xuXHR3aWR0aDogMjUwcHg7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8qIFByZXZlbnQgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBtYXgtaGVpZ2h0IGNhbGN1bGF0aW9uIGZvciBmbGV4IGNoaWxkcmVuICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBpbnRlcm1lZGlhdGUgY29udGFpbmVyICovXG4vKiAuYm0tcGx1Z2luLWljb24tbWVudSAuYm0tbWVudS1jb250ZW50IHsgXG5cdGZsZXgtZ3JvdzogMTsgXG5cdG92ZXJmbG93LXk6IGF1dG87IFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAwOyBcbn0gKi9cblxuLnRnLWljb24tbWVudSAudGctbWVudS1zZWFyY2gge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgc2VhcmNoIGJhciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LWljb25zIHtcblx0ZmxleC1ncm93OiAxOyAvKiBJY29uIGxpc3QgdGFrZXMgcmVtYWluaW5nIHZlcnRpY2FsIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIE1ha2UgdGhlIGljb24gbGlzdCBzY3JvbGxhYmxlICovXG5cdG1pbi1oZWlnaHQ6IDA7IC8qIENydWNpYWwgZm9yIGFsbG93aW5nIGZsZXggY2hpbGQgdG8gc2hyaW5rIGFuZCBzY3JvbGwgKi9cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzJweCwgMWZyKSk7XG5cdGdhcDogNHB4O1xuXHQvKiBSZW1vdmUgbWluLWhlaWdodCBwcmV2aW91c2x5IG5lZWRlZCBmb3IgZ3JpZCBpbiBmbGV4ICovXG59XG5cbi8qIFNjb3BlIHRoZSBjbGlja2FibGUgaWNvbiAqd2l0aGluKiB0aGUgbWVudSAqL1xuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiBzdmcge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogQ2hlY2tib3ggU3RhdHVzIFN3aXRjaGVyIFN0eWxlcyAqL1xuLnRhc2stc3RhdHVzLXdpZGdldCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbn1cblxuLnRhc2stc3RhdGUubGl2ZS1wcmV2aWV3LW1vZGUge1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnRhc2stc3RhdHVzLXdpZGdldCAubGlzdC1idWxsZXQ6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdC1tYXJrZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRPRE8gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIgXCJdIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRE9JTkcgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIvXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xufVxuXG4vKiBJTi1QUk9HUkVTUyBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj5cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi8qIERPTkUgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ4XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiWFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi8qIENBTkNFTExFRCBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi1cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4vKiBTQ0hFRFVMRUQgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI8XCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi8qIFFVRVNUSU9OIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiP1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1ZXN0aW9uLWNvbG9yKTtcbn1cblxuLyogSU1QT1JUQU5UIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWltcG9ydGFudC1jb2xvcik7XG59XG5cbi8qIFNUQVIgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIqXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stc3Rhci1jb2xvcik7XG59XG5cbi8qIFFVT1RFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPSdcIiddIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcXVvdGUtY29sb3IpO1xufVxuXG4vKiBMT0NBVElPTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1sb2NhdGlvbi1jb2xvcik7XG59XG5cbi8qIEJPT0tNQVJLIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiYlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWJvb2ttYXJrLWNvbG9yKTtcbn1cblxuLyogSU5GT1JNQVRJT04gc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJpXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW5mb3JtYXRpb24tY29sb3IpO1xufVxuXG4vKiBJREVBIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiSVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWlkZWEtY29sb3IpO1xufVxuXG4vKiBQUk9TIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwicFwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXByb3MtY29sb3IpO1xufVxuXG4vKiBDT05TIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiY1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbnMtY29sb3IpO1xufVxuXG4vKiBGSVJFIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZlwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWZpcmUtY29sb3IpO1xufVxuXG4vKiBLRVkgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJrXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2sta2V5LWNvbG9yKTtcbn1cblxuLyogV0lOIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwid1wiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXdpbi1jb2xvcik7XG59XG5cbi8qIFVQIHN0YXR1cyBzdHlsZSAqL1xuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwidVwiXSB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXVwLWNvbG9yKTtcbn1cblxuLyogRE9XTiBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImRcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb3duLWNvbG9yKTtcbn1cblxuLyogTk9URSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIm5cIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1ub3RlLWNvbG9yKTtcbn1cblxuLyogQU1PVU5UL1NBVklOR1Mgc3RhdHVzIHN0eWxlICovXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJTXCJdIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYW1vdW50LWNvbG9yKTtcbn1cblxuLyogU1BFRUNIIEJVQkJMRSBzdGF0dXMgc3R5bGUgKi9cbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjBcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIxXCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiMlwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjNcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI0XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiNVwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjZcIl0sXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI3XCJdLFxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiOFwiXSxcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjlcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1zcGVlY2gtY29sb3IpO1xufVxuXG4udGFzay1mYWtlLWJ1bGxldCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDVweDtcblx0aGVpZ2h0OiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stZmFrZS1idWxsZXQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1zdGF0ZS1jb250YWluZXIge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYXNrIEdlbml1cyBPbmJvYXJkaW5nIFN0eWxlcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogTWFpbiBvbmJvYXJkaW5nIHN0eWxlcyAtIHNoYXJlZCBieSBtb2RhbCBhbmQgdmlldyAqL1xuLm9uYm9hcmRpbmctbW9kYWwsXG4ub25ib2FyZGluZy12aWV3IHtcblx0LS1kaWFsb2ctd2lkdGg6IDgwMHB4O1xuXHQtLWRpYWxvZy1tYXgtd2lkdGg6IDkwdnc7XG5cdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDkwdmg7XG5cdC0tb25ib2FyZGluZy1zcGFjaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdC0tb25ib2FyZGluZy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLyogTW9kYWwgc3BlY2lmaWMgc3R5bGVzICovXG4ub25ib2FyZGluZy1tb2RhbCAubW9kYWwtY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGFsLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2RhbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tbW9kYWwtcmFkaXVzKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1kaWFsb2ctbWF4LXdpZHRoKTtcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xuXHRoZWlnaHQ6IDkwdmg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBWaWV3IHNwZWNpZmljIHN0eWxlcyAqL1xuLm9uYm9hcmRpbmctdmlldyB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudmlldy1jb250ZW50IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBIZWFkZXIgc2VjdGlvbiAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctaGVhZGVyLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgdmFyKC0tc2l6ZS00LTIpXG5cdFx0dmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1zdWJ0aXRsZSxcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctc3VidGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIENvbnRlbnQgc2VjdGlvbiAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIEZvb3RlciBzZWN0aW9uICovXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1mb290ZXIsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3RlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZylcblx0XHR2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRib3JkZXItdG9wOiB2YXIoLS1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctYnV0dG9ucyxcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2V0dGluZ3MgQ2hlY2sgU3RlcCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGVjay1zZWN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stc2VjdGlvbiB7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlcy1zdW1tYXJ5LWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2VzLXN1bW1hcnktbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlcy1zdW1tYXJ5LWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2VzLXN1bW1hcnktbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZS1jaGVjayxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS1jaGVjayB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS10ZXh0IHtcblx0ZmxleDogMTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctcXVlc3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXF1ZXN0aW9uIHtcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnF1ZXN0aW9uLW9wdGlvbnMsXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1idXR0b24sXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1idXR0b24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1vcHRpb25zIC5tb2QtY3RhLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1vcHRpb25zIC5tb2QtY3RhOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKSxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLWJ1dHRvbjpub3QoLm1vZC1jdGEpIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLWJ1dHRvbjpub3QoLm1vZC1jdGEpOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogV2VsY29tZSBTdGVwICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLndlbGNvbWUtc2VjdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLndlbGNvbWUtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmVzLW92ZXJ2aWV3LFxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZS1pdGVtLFxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dXAtbm90ZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHVwLW5vdGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dXAtZGVzY3JpcHRpb24sXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBVc2VyIExldmVsIFNlbGVjdGlvbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmRzLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkcyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZDpob3Zlcixcbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQuY2FyZC1ob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5jYXJkLWhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWljb24ge1xuXHRmb250LXNpemU6IDEuOGVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtdGl0bGUge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWZlYXR1cmVzIGxpOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAucmVjb21tZW5kYXRpb24tYmFkZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRyaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29uZmlndXJhdGlvbiBQcmV2aWV3ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1vdmVydmlldyxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1vdmVydmlldyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5tb2RlLWNhcmQsXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5tb2RlLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5tb2RlLWljb24ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1mZWF0dXJlcyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLXNldHRpbmdzLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXNldHRpbmdzIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmVuYWJsZWQtZmVhdHVyZXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLmVuYWJsZWQtZmVhdHVyZXMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5lbmFibGVkLWZlYXR1cmVzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlLWNoZWNrLFxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZS1jaGVjayB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmlld3MtZ3JpZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3LWl0ZW0sXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZpZXctaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZpZXctbmFtZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctbmFtZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGk6bGFzdC1jaGlsZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmctbGFiZWwsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmctdmFsdWUsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLXZhbHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLW9wdGlvbnMsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3B0aW9ucyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jdXN0b21pemF0aW9uLW5vdGUsXG4ub25ib2FyZGluZy12aWV3IC5jdXN0b21pemF0aW9uLW5vdGUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubm90ZS10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAubm90ZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogQ29uZmlndXJhdGlvbiBDaGFuZ2VzIFByZXZpZXcgKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctY2hhbmdlcy1zdW1tYXJ5LFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSB7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5hZGRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLWNoYW5nZXMsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMikgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtaGVhZGVyLFxuLm9uYm9hcmRpbmctdmlldyAucHJlc2VydmVkLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnByZXNlcnZlZC1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC10ZXh0LFxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZS10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4ub25ib2FyZGluZy12aWV3IC51cGRhdGVkLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLnVwZGF0ZWQtdmlld3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0xKTtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByZXNlcnZlZC12aWV3cy1saXN0LFxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLWNoYW5nZXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoYW5nZXMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTEpIDAgMCB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdmlld3MtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNhZmV0eS1ub3RlLFxuLm9uYm9hcmRpbmctdmlldyAuc2FmZXR5LW5vdGUge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zYWZldHktaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1pY29uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNhZmV0eS10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAuc2FmZXR5LXRleHQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYXNrIENyZWF0aW9uIEd1aWRlICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLnRhc2stZ3VpZGUtaW50cm8sXG4ub25ib2FyZGluZy12aWV3IC50YXNrLWd1aWRlLWludHJvIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmd1aWRlLWRlc2NyaXB0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuZ3VpZGUtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC50YXNrLWZvcm1hdHMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWljay1jYXB0dXJlLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAucHJhY3RpY2Utc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5zaG9ydGN1dHMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZvcm1hdC1leGFtcGxlLFxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWV4YW1wbGUge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZvcm1hdC1leGFtcGxlIGNvZGUsXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiB2YXIoLS1zaXplLTItMSkgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZvcm1hdC1sZWdlbmQsXG4ub25ib2FyZGluZy1tb2RhbCAuZm9ybWF0LWxlZ2VuZCBzbWFsbCxcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1sZWdlbmQgc21hbGwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGF0dXMtbWFya2Vycyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5tZXRhZGF0YS1zeW1ib2xzLFxuLm9uYm9hcmRpbmctdmlldyAubWV0YWRhdGEtc3ltYm9scyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0YXR1cy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy1tb2RhbCAuc3ltYm9scy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuc3ltYm9scy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zeW1ib2xzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGF0dXMtbGlzdCBjb2RlLFxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0bWluLXdpZHRoOiA0MHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5kZW1vLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmRlbW8tYnV0dG9uLFxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmRlbW8tYnV0dG9uOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJhY3RpY2UtZmVlZGJhY2ssXG4ub25ib2FyZGluZy12aWV3IC5wcmFjdGljZS1mZWVkYmFjayB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24tbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1zdWNjZXNzLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLWVycm9yLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1lcnJvciB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi13YXJuaW5nLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1vcmFuZ2UtcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLWluZm8sXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWluZm8ge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2hvcnRjdXRzLWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2hvcnRjdXRzLWxpc3QgY29kZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtaW4td2lkdGg6IDEwMHB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbXBsZXRpb24gUGFnZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb21wbGV0aW9uLXN1Y2Nlc3MsXG4ub25ib2FyZGluZy12aWV3IC5jb21wbGV0aW9uLXN1Y2Nlc3Mge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdWNjZXNzLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5zdWNjZXNzLWljb24ge1xuXHRmb250LXNpemU6IDNlbTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3VjY2Vzcy1tZXNzYWdlLFxuLm9uYm9hcmRpbmctdmlldyAuc3VjY2Vzcy1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29tcGxldGlvbi1zdW1tYXJ5LFxuLm9uYm9hcmRpbmctbW9kYWwgLnF1aWNrLXN0YXJ0LXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAubmV4dC1zdGVwcy1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlcy1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1zdW1tYXJ5LWNhcmQsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctc3VtbWFyeS1jYXJkIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctaGVhZGVyLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1uYW1lLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW5hbWUge1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWRlc2NyaXB0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWljay1zdGFydC1zdGVwcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXBzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWljay1zdGFydC1zdGVwLFxuLm9uYm9hcmRpbmctdmlldyAucXVpY2stc3RhcnQtc3RlcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGVwLW51bWJlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtbnVtYmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGVwLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNvbnRlbnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubmV4dC1zdGVwcy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAubmV4dC1zdGVwcy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubmV4dC1zdGVwcy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAubmV4dC1zdGVwcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC1jaGVjayxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlcy1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2VzLWxpc3Qge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1pdGVtLFxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlLWNsaWNrYWJsZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlLWNsaWNrYWJsZTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWNsaWNrYWJsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2UtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWljb24ge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLWRlc2NyaXB0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stYnV0dG9ucyxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1idXR0b24sXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXBvc2l0aXZlOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stcG9zaXRpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLW5lZ2F0aXZlOmhvdmVyLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stbmVnYXRpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay10aGFua3MsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3Mge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzLW1lc3NhZ2UsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzIGEsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYSB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay10aGFua3MgYTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXRoYW5rcyBhOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5maW5hbC1tZXNzYWdlLFxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmluYWwtbWVzc2FnZS10ZXh0LFxuLm9uYm9hcmRpbmctdmlldyAuZmluYWwtbWVzc2FnZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm9uYm9hcmRpbmctbW9kYWwsXG5cdC5vbmJvYXJkaW5nLXZpZXcge1xuXHRcdC0tZGlhbG9nLXdpZHRoOiA5NXZ3O1xuXHRcdC0tZGlhbG9nLW1heC13aWR0aDogOTV2dztcblx0XHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5NXZoO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZHMsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmVzLW92ZXJ2aWV3LFxuXHQub25ib2FyZGluZy12aWV3IC5mZWF0dXJlcy1vdmVydmlldyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAudmlld3MtZ3JpZCxcblx0Lm9uYm9hcmRpbmctdmlldyAudmlld3MtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMDBweCwgMWZyKSk7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2VzLWxpc3QsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1idXR0b25zLFxuXHQub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctYnV0dG9ucyxcblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAtIGtlZXBpbmcgbWluaW1hbCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFuaW1hdGlvbiBhbmQgVHJhbnNpdGlvbnMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAub25ib2FyZGluZy1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50IHtcblx0YW5pbWF0aW9uOiBmYWRlSW5VcCAwLjNzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQge1xuXHRhbmltYXRpb246IGNhcmRTZWxlY3QgMC4ycyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBjYXJkU2VsZWN0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0NTAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cbiIsICIvKiBUaW1lbGluZSBTaWRlYmFyIFZpZXcgU3R5bGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtc2lkZWJhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhlYWRlciAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDEzNWRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxuXHQpO1xuXHRmbGV4LXNocmluazogMDtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTgpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC04KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bi5pcy1hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBUaW1lbGluZSBDb250ZW50ICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGVcblx0LnRpbWVsaW5lLWRhdGUtZ3JvdXA6bm90KC5pcy10b2RheSkge1xuXHRvcGFjaXR5OiAwLjM7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZW1wdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIERhdGUgR3JvdXBzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHotaW5kZXg6IDE7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5XG5cdC50aW1lbGluZS1kYXRlLWhlYWRlciB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLXJlbGF0aXZlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi8qIEV2ZW50cyBMaXN0ICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMyk7XG59XG5cbi8qIFRpbWVsaW5lIEV2ZW50cyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudDpob3ZlcjpoYXMoLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94OmhvdmVyKSB7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZCB7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LmlzLWNvbXBsZXRlZFxuXHQudGltZWxpbmUtZXZlbnQtdGV4dCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIEV2ZW50IFRpbWUgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdG1pbi13aWR0aDogNDVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBFbmhhbmNlZCB0aW1lIGRpc3BsYXkgc3R5bGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXNpbmdsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2Uge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDAlLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtaW4td2lkdGg6IDgwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YW5pbWF0aW9uOiBzdWJ0bGUtcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2U6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTIzRjFcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC02cHg7XG5cdHJpZ2h0OiAtNnB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRtaW4td2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMTZweDtcblx0cGFkZGluZzogMCA0cHg7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIFdoZW4gZHVyYXRpb24gaXMgcHJvdmlkZWQsIHNob3cgaXQgaW5zdGVhZCBvZiB0aGUgaWNvbiAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZVtkYXRhLWR1cmF0aW9uXTo6YWZ0ZXIge1xuXHRjb250ZW50OiBhdHRyKGRhdGEtZHVyYXRpb24pO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWRlZmF1bHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1ncm91cCB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRleHQtYWNjZW50KSAwJSwgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bWluLXdpZHRoOiA2MHB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLWRhdGUtb25seSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWluLXdpZHRoOiA2MHB4O1xufVxuXG4vKiBUaW1lIEdyb3VwIFN0eWxlcyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtY291bnQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAtZXZlbnRzIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQudGltZWxpbmUtZXZlbnQtZ3JvdXBlZCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LnRpbWVsaW5lLWV2ZW50LWdyb3VwZWQ6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIERhdGUtb25seSBFdmVudHMgU2VjdGlvbiAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuXG4vKiBIaWRlIHBlci1ldmVudCB0aW1lIGxhYmVscyBpbnNpZGUgQWxsIGRheSBzZWN0aW9uIGFzIHNhZmV0eSBuZXQgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiAudGltZWxpbmUtZXZlbnQgLnRpbWVsaW5lLWV2ZW50LXRpbWUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEV2ZW50IENvbnRlbnQgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jaGVja2JveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94XG5cdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMXB4O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0IHtcblx0ZmxleDogMTtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogRXZlbnQgQWN0aW9ucyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudDpob3ZlclxuXHQudGltZWxpbmUtZXZlbnQtYWN0aW9ucyB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBRdWljayBJbnB1dCBBcmVhICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQ29sbGFwc2VkIHN0YXRlICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcblx0cGFkZGluZzogMDtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcblx0LnF1aWNrLWlucHV0LWhlYWRlcixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcblx0LnF1aWNrLWlucHV0LWVkaXRvcixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcblx0LnF1aWNrLWlucHV0LWFjdGlvbnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBbmltYXRpb24gc3RhdGVzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2luZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1leHBhbmRpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBDb2xsYXBzZWQgaGVhZGVyICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1leHBhbmQtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1leHBhbmQtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZSxcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTcpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnM6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBFeHBhbmRlZCBoZWFkZXIgd2l0aCBjb2xsYXBzZSBidXR0b24gKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFJvdGF0ZSBjb2xsYXBzZSBidXR0b24gaWNvbiAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biBzdmcge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxuXHQucXVpY2staW5wdXQtY29sbGFwc2UtYnRuXG5cdHN2ZyB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10YXJnZXQtaW5mbyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XG5cdG1pbi1oZWlnaHQ6IDgwcHg7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRleHQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRyZXNpemU6IHZlcnRpY2FsO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yOmZvY3VzLXdpdGhpbiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWVkaXRvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWZvY3VzZWQge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQucXVpY2staW5wdXQtZWRpdG9yXG5cdC5jbS1lZGl0b3IuY20tZm9jdXNlZCB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0bixcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1tb2RhbC1idG4ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1oZWFkZXIge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udHJvbHMge1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XG5cdFx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudHMtbGlzdCB7XG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMyk7XG5cdH1cblxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0XHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XG5cdFx0bWluLWhlaWdodDogNjBweDtcblx0fVxuXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xuXHR9XG5cblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XG5cdFx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcblx0fVxufVxuXG4vKiBTY3JvbGxiYXIgU3R5bGluZyAqL1xuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDZweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBBbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc3VidGxlLXB1bHNlIHtcblx0MCUsIDEwMCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC40KTtcblx0fVxuXHQ1MCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xuXHR9XG59XG5cbi8qIEZvY3VzIE1vZGUgKi9cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0dG8gYm90dG9tLFxuXHRcdHJnYmEodmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LXJnYiksIDAuOSkgMCUsXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC43KSA1MCUsXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC45KSAxMDAlXG5cdCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR6LWluZGV4OiAwO1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXG5cdC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBNYXJrZG93biByZW5kZXJlciBzdHlsZXMgaW4gdGltZWxpbmUgZXZlbnRzICovXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9jayB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0cCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0c3Ryb25nLFxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0ZW0sXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRjb2RlIHtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xufVxuXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRhIHtcblx0Y29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxuXHQubWFya2Rvd24tYmxvY2tcblx0dWwsXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XG5cdC5tYXJrZG93bi1ibG9ja1xuXHRvbCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcblx0Lm1hcmtkb3duLWJsb2NrXG5cdGxpIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuIiwgIi8qIFN0eWxlcyBmb3IgdGhlIFJld2FyZCBNb2RhbCAqL1xuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcblx0dGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50ZXIgYWxpZ24gY29udGVudCAqL1xufVxuXG4ucmV3YXJkLW1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJld2FyZC1uYW1lIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5yZXdhcmQtaW1hZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGNlbnRlcmluZyAqL1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogQ2VudGVyIGhvcml6b250YWxseSAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xufVxuXG4ucmV3YXJkLWltYWdlIHtcblx0bWF4LXdpZHRoOiA4MCU7IC8qIExpbWl0IGltYWdlIHdpZHRoICovXG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBpbWFnZSBoZWlnaHQgKi9cblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBPcHRpb25hbDogYWRkIHN1YnRsZSBzaGFkb3cgKi9cbn1cblxuLnJld2FyZC1pbWFnZS1lcnJvciB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXG59XG5cbi5yZXdhcmQtc3BhY2VyIHtcblx0aGVpZ2h0OiAyMHB4OyAvKiBBZGQgc29tZSBzcGFjZSBiZWZvcmUgdGhlIGJ1dHRvbnMgKi9cbn1cblxuLyogU3R5bGUgdGhlIGJ1dHRvbnMgd2l0aGluIHRoZSBtb2RhbCAqL1xuLnRhc2stZ2VuaXVzLXJld2FyZC1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogQ2VudGVyIGJ1dHRvbnMgKi9cblx0Z2FwOiAxMHB4OyAvKiBBZGQgc3BhY2UgYmV0d2VlbiBidXR0b25zICovXG59XG4iLCAiLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xuXHRtYXJnaW4taW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcbn1cblxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG59XG5cbi50YXNrLWd1dHRlciB7XG5cdHdpZHRoOiAyNnB4O1xufVxuXG4udGFzay1ndXR0ZXItbWFya2VyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlcik7XG5cdG9wYWNpdHk6IDAuMTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWd1dHRlci1tYXJrZXI6aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZmllbGQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZmllbGQtbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5hY3Rpb24tYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmFjdGlvbi1idXR0b24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZ3V0dGVyLW1hcmtlci5jbGlja2FibGUtaWNvbiB7XG5cdHdpZHRoOiAyNHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBUYWJiZWQgSW50ZXJmYWNlIFN0eWxlcyAqL1xuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWJzLW1haW4tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBpdCB0YWtlcyBhdmFpbGFibGUgd2lkdGggKi9cbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWJzLW5hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTsgLyogQWRqdXN0ZWQgZm9yIGNvbnNpc3RlbmN5ICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uLmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lIHtcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEVuc3VyZSBjb250ZW50IHdpdGhpbiBwYW5lIGZsb3dzIHZlcnRpY2FsbHkgKi9cblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzb21lIGdhcCBiZXR3ZWVuIGVsZW1lbnRzIGluIHRoZSBwYW5lICovXG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLXBhbmUuYWN0aXZlIHtcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xufVxuXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxuLnRhc2stc3RhdHVzLWVkaXRvciAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi50YXNrLWRldGFpbHMtcG9wb3ZlciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3IsXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCxcbi50YXNrLXN0YXR1cy1lZGl0b3IgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG4iLCAiLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIge1xuXHRtYXgtaGVpZ2h0OiA4MDBweDtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciB7XG5cdHdpZHRoOiA0NHB4O1xuXHRtaW4td2lkdGg6IDQ0cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0LCBmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLm5hdi1pdGVtLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLWxpc3Qge1xuXHRtYXgtaGVpZ2h0OiA4MDBweDtcbn1cblxuLmludGVybmFsLWVtYmVkIC5wcm9qZWN0cy1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMjQwcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAuZm9yZWNhc3QtbGVmdC1jb2x1bW4gLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdHBhZGRpbmc6IDAgNXB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAzcHggMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLmludGVybmFsLWVtYmVkIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XG5cdGFzcGVjdC1yYXRpbzogMTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiAxcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC43NWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRwYWRkaW5nOiAxcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktY291bnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiAwLjZlbTtcblx0cGFkZGluZzogMXB4IDNweDtcblx0bWFyZ2luOiAxcHggYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhZ3MtY29udGFpbmVyIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHQudGFncy1sZWZ0LWNvbHVtbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQudGFzay1nZW5pdXMtY29udGFpbmVyOmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpXG5cdC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAuZnVsbC1jYWxlbmRhci1jb250YWluZXIge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGcta2FuYmFuLXZpZXcge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5iYXNlcy12aWV3LnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4vKiBCYXNlcyB1cGRhdGUgZXJyb3Igbm90aWZpY2F0aW9uICovXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbiB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAyMHB4O1xuXHRyaWdodDogMjBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcblx0ei1pbmRleDogMTAwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRhbmltYXRpb246IHNsaWRlSW5SaWdodCAwLjNzIGVhc2Utb3V0O1xufVxuXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbjpob3ZlciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24gLmVycm9yLWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24gLmVycm9yLW1lc3NhZ2UgLmVycm9yLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uIC5lcnJvci1tZXNzYWdlIC5lcnJvci1kZXRhaWxzIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG4iLCAiLyogVjIgVmlldyBNYWluIExheW91dCAqL1xuLnRhc2stZ2VuaXVzLXYyLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50Zy12Mi1jb250YWluZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnZpZXctY29udGVudC50YXNrLWdlbml1cy12Mi12aWV3IHtcblx0cGFkZGluZzogMDtcbn1cblxuLnRnLXYyLWxheW91dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFNpZGViYXIgU3R5bGVzICovXG4udGctdjItc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogMjYwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udjItc2lkZWJhciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnYyLXNpZGViYXItaGVhZGVyIHtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogV29ya3NwYWNlIFNlbGVjdG9yICovXG4ud29ya3NwYWNlLXNlbGVjdG9yLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi53b3Jrc3BhY2Utc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi53b3Jrc3BhY2UtaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLndvcmtzcGFjZS1pY29uIHtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ud29ya3NwYWNlLWljb24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLndvcmtzcGFjZS1kZXRhaWxzIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLndvcmtzcGFjZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtzcGFjZS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya3NwYWNlLWRyb3Bkb3duLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIE5ldyBUYXNrIEJ1dHRvbiAqL1xuLnYyLW5ldy10YXNrLWJ0biB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi52Mi1uZXctdGFzay1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udjItbmV3LXRhc2staWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFNpZGViYXIgQ29udGVudCAqL1xuLnYyLXNpZGViYXItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDhweCAwO1xuXHQtLWljb24tc2l6ZTogMTZweDtcbn1cblxuLnYyLXNpZGViYXItc2VjdGlvbiB7XG5cdHBhZGRpbmc6IDhweCAwO1xufVxuXG4udjItc2lkZWJhci1zZWN0aW9uICsgLnYyLXNpZGViYXItc2VjdGlvbiB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi52Mi1zZWN0aW9uLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogNHB4IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnYyLXNlY3Rpb24taGVhZGVyIHNwYW4ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnYyLWFkZC1wcm9qZWN0LWJ0bixcbi52Mi1zb3J0LXByb2plY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuXG4udjItYWRkLXByb2plY3QtYnRuOmhvdmVyLFxuLnYyLXNvcnQtcHJvamVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBOYXZpZ2F0aW9uIEl0ZW1zICovXG4udjItbmF2aWdhdGlvbi1saXN0IHtcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi52Mi1uYXZpZ2F0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52Mi1uYXZpZ2F0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnYyLW5hdmlnYXRpb24taXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi52Mi1uYXZpZ2F0aW9uLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udjItbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSAudjItbmF2aWdhdGlvbi1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLW5hdmlnYXRpb24tbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1uYXZpZ2F0aW9uLWJhZGdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUHJvamVjdCBMaXN0ICovXG4udjItcHJvamVjdC1zY3JvbGwge1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogMCA4cHg7XG59XG5cbi52Mi1wcm9qZWN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4udjItcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi52Mi1wcm9qZWN0LWl0ZW0uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udjItcHJvamVjdC1jb2xvciB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi52Mi1wcm9qZWN0LWNvbG9yLWRhc2hlZCB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi52Mi1wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udjItYWRkLXByb2plY3QgLnYyLXByb2plY3QtbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnYyLXByb2plY3QtY291bnQge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTWFpbiBDb250YWluZXIgKi9cbi50Zy12Mi1tYWluLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRvcCBOYXZpZ2F0aW9uICovXG4udGctdjItdG9wLW5hdiB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi52Mi10b3AtbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0aGVpZ2h0OiA1NnB4O1xuXHRwYWRkaW5nOiAwIDIwcHg7XG5cdGdhcDogMjBweDtcbn1cblxuLnYyLW5hdi1sZWZ0IHtcblx0ZmxleDogMCAxIDQwMHB4O1xufVxuXG4udjItc2VhcmNoLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnYyLXNlYXJjaC1pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udjItc2VhcmNoLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweCAxMnB4IDhweCAzNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItc2VhcmNoLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBDZW50ZXIgTmF2aWdhdGlvbiAqL1xuLnYyLW5hdi1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi52Mi12aWV3LXRhYnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMnB4O1xufVxuXG4udjItdmlldy10YWIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi52Mi12aWV3LXRhYjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi12aWV3LXRhYi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udjItdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi52Mi1uYXYtc2VwYXJhdG9yIHtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi52Mi1uYXYtYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLnYyLW5hdi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnYyLW5hdi1idXR0b24taWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJpZ2h0IE5hdmlnYXRpb24gKi9cbi52Mi1uYXYtcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi52Mi1uYXYtaWNvbi1idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi52Mi1uYXYtaWNvbi1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnYyLW5vdGlmaWNhdGlvbi1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMnB4O1xuXHRyaWdodDogLTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29udGVudCBBcmVhICovXG4udGctdjItY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4udGctdjItY29udGVudCAuY29udGVudC1oZWFkZXIsXG4udGctdjItY29udGVudCAudGcta2FuYmFuLWZpbHRlcnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBWaWV3LXNwZWNpZmljIHN0eWxlcyAqL1xuLnRnLXYyLWxpc3Qtdmlldyxcbi50Zy12Mi1rYW5iYW4tdmlldyxcbi50Zy12Mi10cmVlLXZpZXcsXG4udGctdjItY2FsZW5kYXItdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0LnYyLW5hdi1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudjItc2VhcmNoLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4vKiA9PT09PSBDb2xsYXBzZWQgU2lkZWJhciAoUmFpbCkgPT09PT0gKi9cbi50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZSwgbWluLXdpZHRoIDAuMnMgZWFzZSwgbWF4LXdpZHRoIDAuMnMgZWFzZTtcbn1cblxuLyogV2hlbiB0aGUgc2lkZWJhciBlbGVtZW50IGl0c2VsZiBpcyBjb2xsYXBzZWQgKi9cbi50Zy12Mi1zaWRlYmFyLWNvbnRhaW5lci5pcy1jb2xsYXBzZWQsXG4vKiBPciB3aGVuIHRoZSByb290IGFkZHMgYSBoZWxwZXIgY2xhc3MgKi9cbi52Mi1zaWRlYmFyLWNvbGxhcHNlZCAudGctdjItc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRtYXgtd2lkdGg6IDQ0cHg7XG59XG5cbi8qIFJhaWwgbGF5b3V0ICovXG4udjItc2lkZWJhci1yYWlsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDRweDtcbn1cblxuLnYyLXJhaWwtYnRuIHtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnYyLXJhaWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1yYWlsLWJ0biBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgZm9yIHJhaWwgYnV0dG9ucyAqL1xuLnYyLXJhaWwtYnRuLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cbiIsICIvKiBUYXNrIEdlbml1cyBWMiBFbmhhbmNlZCBTdHlsZXMgLSBTaGFkY24taW5zcGlyZWQgKi9cblxuLyogPT09PT09PT09PSBCYXNlIFZhcmlhYmxlcyA9PT09PT09PT09ICovXG46cm9vdCB7XG5cdC8qIFNoYWRvd3MgKi9cblx0LS10Zy1zaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuXHQtLXRnLXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS10Zy1zaGFkb3ctbWQ6XG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcblx0LS10Zy1zaGFkb3ctbGc6XG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuXHQtLXRnLXNoYWRvdy14bDpcblx0XHQwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuMSksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAwLjEpO1xuXG5cdC8qIEFuaW1hdGlvbnMgKi9cblx0LS10Zy10cmFuc2l0aW9uLWZhc3Q6IDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdC0tdGctdHJhbnNpdGlvbi1iYXNlOiAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHQtLXRnLXRyYW5zaXRpb24tc2xvdzogMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuXHQvKiBCb3JkZXIgcmFkaXVzICovXG5cdC0tdGctcmFkaXVzLXNtOiAwLjI1cmVtO1xuXHQtLXRnLXJhZGl1czogMC4zNzVyZW07XG5cdC0tdGctcmFkaXVzLW1kOiAwLjVyZW07XG5cdC0tdGctcmFkaXVzLWxnOiAwLjc1cmVtO1xuXHQtLXRnLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG59XG5cbi8qID09PT09PT09PT0gVGFzayBMaXN0IFZpZXcgU3R5bGVzID09PT09PT09PT0gKi9cbi50YXNrLWxpc3QtY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjVyZW07XG5cdGFuaW1hdGlvbjogZmFkZUluIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50YXNrLWxpc3Qtd3JhcHBlciB7XG5cdG1heC13aWR0aDogMTIwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLnRhc2stbGlzdC1pdGVtIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLWxpc3QtaXRlbTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDNweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhc2stbGlzdC1pdGVtOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50YXNrLWxpc3QtaXRlbTpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stbGlzdC1pdGVtLmlzLWNvbXBsZXRlZCB7XG5cdG9wYWNpdHk6IDAuNjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4udGFzay1saXN0LWl0ZW0uaXMtb3ZlcmR1ZTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWxpc3QtZW1wdHkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDNyZW0gMS41cmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4vKiA9PT09PT09PT09IFRhc2sgVHJlZSBWaWV3IFN0eWxlcyA9PT09PT09PT09ICovXG4udGFzay10cmVlLWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogMS41cmVtO1xuXHRhbmltYXRpb246IGZhZGVJbiB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGFzay10cmVlLXdyYXBwZXIge1xuXHRtYXgtd2lkdGg6IDEyMDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdCB7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbGcpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0OmhvdmVyIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LW1kKTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlciB7XG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDAuOTVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI1QjZcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLnRhc2stdHJlZS1wcm9qZWN0LmlzLWV4cGFuZGVkIC50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnRhc2stdHJlZS10YXNrcyB7XG5cdHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLnRhc2stdHJlZS1pdGVtIHtcblx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHRtYXJnaW46IDAuMjVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxuLnRhc2stdHJlZS1pdGVtOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDFyZW07XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xufVxuXG4udGFzay10cmVlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdHJlZS1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogM3JlbSAxLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qID09PT09PT09PT0gRmlsdGVyIFBhbmVsIFN0eWxlcyA9PT09PT09PT09ICovXG4udGctdjItZmlsdGVyLXBhbmVsIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogLTM4MHB4O1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDM4MHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LXhsKTtcblx0dHJhbnNpdGlvbjogcmlnaHQgdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcblx0ei1pbmRleDogMTAwMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnRnLXYyLWZpbHRlci1wYW5lbC5pcy1vcGVuIHtcblx0cmlnaHQ6IDA7XG59XG5cbi5maWx0ZXItcGFuZWwtaGVhZGVyIHtcblx0cGFkZGluZzogMS4yNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmlsdGVyLXBhbmVsLXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjFyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItcGFuZWwtY2xvc2Uge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZpbHRlci1wYW5lbC1jbG9zZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLXBhbmVsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uZmlsdGVyLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uZmlsdGVyLWdyb3VwLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xufVxuXG4uZmlsdGVyLW9wdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5maWx0ZXItb3B0aW9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5maWx0ZXItb3B0aW9uLmlzLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZpbHRlci1jaGVja2JveCB7XG5cdG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuLyogRmlsdGVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLmZpbHRlci1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbHRlci1zZWxlY3Q6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItc2VsZWN0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZpbHRlci10YWdzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAwLjVyZW07XG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4uZmlsdGVyLXRhZyB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0cGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci10YWc6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZpbHRlci10YWcuaXMtc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItZGF0ZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNzVyZW07XG59XG5cbi5maWx0ZXItZGF0ZS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xufVxuXG4uZmlsdGVyLWRhdGUtZmllbGQgc3BhbiB7XG5cdG1pbi13aWR0aDogNTBweDtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsdGVyLWRhdGUtaW5wdXQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmZpbHRlci1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uZmlsdGVyLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5maWx0ZXItYWN0aW9uLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNzVyZW07XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZy10b3A6IDEuNXJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZpbHRlci1hY3Rpb24tYnV0dG9ucyBidXR0b24ge1xuXHRmbGV4OiAxO1xufVxuXG4ucHJpb3JpdHktY29sb3ItZG90IHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogPT09PT09PT09PSBMb2FkaW5nIFN0YXRlcyA9PT09PT09PT09ICovXG4udGctdjItbG9hZGluZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGdhcDogMXJlbTtcbn1cblxuLnRnLXYyLXNwaW5uZXIge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnRnLXYyLWxvYWRpbmctdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qID09PT09PT09PT0gRW1wdHkgU3RhdGVzID09PT09PT09PT0gKi9cbi50Zy12Mi1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmc6IDJyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRnLXYyLWVtcHR5LWljb24ge1xuXHR3aWR0aDogNjRweDtcblx0aGVpZ2h0OiA2NHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRnLXYyLWVtcHR5LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi50Zy12Mi1lbXB0eS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4udGctdjItZW1wdHktYWN0aW9uIHtcblx0cGFkZGluZzogMC43NXJlbSAxLjVyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLW1kKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLXYyLWVtcHR5LWFjdGlvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93KTtcbn1cblxuLyogPT09PT09PT09PSBUb29sdGlwcyA9PT09PT09PT09ICovXG4udGctdjItdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LWxnKTtcblx0ei1pbmRleDogOTk5OTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLXYyLXRvb2x0aXAuaXMtdmlzaWJsZSB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogPT09PT09PT09PSBDYXJkcyA9PT09PT09PT09ICovXG4udGctdjItY2FyZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWxnKTtcblx0cGFkZGluZzogMS4yNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50Zy12Mi1jYXJkOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tdGctc2hhZG93LW1kKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4udGctdjItY2FyZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctdjItY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXYyLWNhcmQtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xufVxuXG4udGctdjItY2FyZC1hY3Rpb24ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGctdjItY2FyZC1hY3Rpb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogPT09PT09PT09PSBCdXR0b25zID09PT09PT09PT0gKi9cbi50Zy12Mi1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRnLXYyLWJ1dHRvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KSxcblx0XHRoZWlnaHQgdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcbn1cblxuLnRnLXYyLWJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XG5cdHdpZHRoOiAzMDBweDtcblx0aGVpZ2h0OiAzMDBweDtcbn1cblxuLnRnLXYyLWJ1dHRvbi1wcmltYXJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRnLXYyLWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xufVxuXG4udGctdjItYnV0dG9uLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGctdjItYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy12Mi1idXR0b24tZ2hvc3Qge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLXYyLWJ1dHRvbi1naG9zdDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGctdjItYnV0dG9uLWRhbmdlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi50Zy12Mi1idXR0b24tZGFuZ2VyOmhvdmVyIHtcblx0YmFja2dyb3VuZDogI2RjMjYyNjtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xufVxuXG4vKiA9PT09PT09PT09IEFuaW1hdGlvbnMgPT09PT09PT09PSAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW4ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NTAlIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLyogPT09PT09PT09PSBSZXNwb25zaXZlIERlc2lnbiA9PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC50YXNrLWxpc3QtY29udGFpbmVyLFxuXHQudGFzay10cmVlLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0fVxuXG5cdC50Zy12Mi1maWx0ZXItcGFuZWwge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHJpZ2h0OiAtMTAwJTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcblx0LnRhc2stbGlzdC1pdGVtIHtcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdH1cblxuXHQudGFzay10cmVlLXByb2plY3QtaGVhZGVyIHtcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG5cdH1cblxuXHQudGctdjItY2FyZCB7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09IERhcmsgTW9kZSBBZGp1c3RtZW50cyA9PT09PT09PT09ICovXG4udGhlbWUtZGFyayB7XG5cdC0tdGctc2hhZG93LXNtOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC40KSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4zKTtcblx0LS10Zy1zaGFkb3ctbWQ6XG5cdFx0MCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC40KSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4zKTtcblx0LS10Zy1zaGFkb3ctbGc6XG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjQpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjMpO1xuXHQtLXRnLXNoYWRvdy14bDpcblx0XHQwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuNCksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctdjItY2FyZDpob3Zlcixcbi50aGVtZS1kYXJrIC50YXNrLWxpc3QtaXRlbTpob3Zlcixcbi50aGVtZS1kYXJrIC50YXNrLXRyZWUtcHJvamVjdDpob3ZlciB7XG5cdGJveC1zaGFkb3c6XG5cdFx0MCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCksXG5cdFx0dmFyKC0tdGctc2hhZG93LW1kKTtcbn1cblxuLyogPT09PT09PT09PSBQcm9ncmVzcyBCYXJzID09PT09PT09PT0gKi9cbi50Zy12Mi1wcm9ncmVzcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMC41cmVtIDA7XG59XG5cbi50Zy12Mi1wcm9ncmVzcy1iYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcblx0dHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdGctdHJhbnNpdGlvbi1zbG93KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGctdjItcHJvZ3Jlc3MtYmFyOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0OTBkZWcsXG5cdFx0dHJhbnNwYXJlbnQsXG5cdFx0cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuXHRcdHRyYW5zcGFyZW50XG5cdCk7XG5cdGFuaW1hdGlvbjogc2hpbW1lciAycyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdH1cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT0gVGFncyA9PT09PT09PT09ICovXG4udGctdjItdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRnLXYyLXRhZzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi50Zy12Mi10YWctcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLXYyLXRhZy1zdWNjZXNzIHtcblx0YmFja2dyb3VuZDogIzEwYjk4MTtcblx0Y29sb3I6IHdoaXRlO1xuXHRib3JkZXItY29sb3I6ICMxMGI5ODE7XG59XG5cbi50Zy12Mi10YWctd2FybmluZyB7XG5cdGJhY2tncm91bmQ6ICNmNTllMGI7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Ym9yZGVyLWNvbG9yOiAjZjU5ZTBiO1xufVxuXG4udGctdjItdGFnLWRhbmdlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG4iLCAiLyogVGFzayBHZW5pdXMgVjIgQ29udGVudCBIZWFkZXIgU3R5bGVzICovXG5cbi8qID09PSBDb250ZW50IFdyYXBwZXIgPT09ICovXG4udGctdjItY29udGVudC13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT0gQ29udGVudCBIZWFkZXIgPT09ICovXG4udjItY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDEycHggMjBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWluLWhlaWdodDogNTZweDtcblx0Z2FwOiAxNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItbGVmdC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmNvbnRlbnQtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMjVyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAudGFzay1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogMnB4IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmNvbnRlbnQtZmlsdGVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xufVxuXG4udjItY29udGVudC1oZWFkZXIgLmhlYWRlci1yaWdodC1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuLFxuLnYyLWNvbnRlbnQtaGVhZGVyIC5zb3J0LWJ1dHRvbixcbi52Mi1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnYyLWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG46aG92ZXIsXG4udjItY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmhvdmVyLFxuLnYyLWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuOmFjdGl2ZSxcbi52Mi1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b246YWN0aXZlLFxuLnYyLWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi52Mi1jb250ZW50LWhlYWRlciAudmlldy10b2dnbGUtYnRuIHN2Zyxcbi52Mi1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b24gc3ZnLFxuLnYyLWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi8qID09PSBDb250ZW50IEFyZWEgKHdpdGggaGVhZGVyKSA9PT0gKi9cbi50Zy12Mi1jb250ZW50IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLyogPT09IFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgPT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnYyLWNvbnRlbnQtaGVhZGVyIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0cGFkZGluZzogOHB4IDEycHg7XG5cdH1cblxuXHQudjItY29udGVudC1oZWFkZXIgLmhlYWRlci1sZWZ0LXNlY3Rpb24ge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC52Mi1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcblx0XHRvcmRlcjogMztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogOHB4O1xuXHR9XG5cblx0LnYyLWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXRpdGxlIHtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0fVxufVxuIiwgIi8qIFByb2plY3QgUG9wb3ZlciBTdHlsZXMgKi9cbi52Mi1wcm9qZWN0LXBvcG92ZXItY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4udjItcHJvamVjdC1wb3BvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0bWluLXdpZHRoOiAzMjBweDtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0YW5pbWF0aW9uOiBwb3BvdmVyLWZhZGUtaW4gMC4ycyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLnYyLXBvcG92ZXItYXJyb3csXG4udjItcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTBweDtcblx0aGVpZ2h0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG4udjItcG9wb3Zlci1hcnJvdyB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnYyLXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBBcnJvdyBwb3NpdGlvbmluZyBmb3IgZGlmZmVyZW50IHBsYWNlbWVudHMgKi9cbi52Mi1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSAudjItcG9wb3Zlci1hcnJvdyB7XG5cdGJvdHRvbTogLTVweDtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIC52Mi1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC52Mi1wb3BvdmVyLWFycm93IHtcblx0dG9wOiAtNXB4O1xufVxuXG4udjItcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0gLnYyLXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSAudjItcG9wb3Zlci1hcnJvdyB7XG5cdHJpZ2h0OiAtNXB4O1xufVxuXG4udjItcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIC52Mi1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnYyLXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnYyLXBvcG92ZXItYXJyb3cge1xuXHRsZWZ0OiAtNXB4O1xufVxuXG4udjItcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSAudjItcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udjItcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMTZweDtcbn1cblxuLnYyLXBvcG92ZXItaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi52Mi1wb3BvdmVyLWhlYWRlciBoMyB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItcG9wb3Zlci1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnYyLXBvcG92ZXItc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi52Mi1wb3BvdmVyLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLnYyLXBvcG92ZXItaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udjItcG9wb3Zlci1pbnB1dC5pcy1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGFuaW1hdGlvbjogc2hha2UgMC4zcztcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0MjUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG5cdH1cblx0NzUlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcblx0fVxufVxuXG4udjItY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogOHB4O1xufVxuXG4udjItY29sb3ItYnV0dG9uIHtcblx0d2lkdGg6IDM2cHg7XG5cdGhlaWdodDogMzZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udjItY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4udjItY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnYyLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udjItcG9wb3Zlci1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udjItYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi52Mi1idXR0b24tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52Mi1idXR0b24tcHJpbWFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi52Mi1idXR0b24tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udjItYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBNb2RhbCBTdHlsZXMgdXNpbmcgT2JzaWRpYW4gbmF0aXZlIE1vZGFsICovXG4udjItcHJvamVjdC1tb2RhbCB7XG5cdC8qIE1vZGFsIHdpbGwgdXNlIE9ic2lkaWFuJ3MgZGVmYXVsdCBzdHlsaW5nICovXG59XG5cbi52Mi1wcm9qZWN0LW1vZGFsIC5tb2RhbC1jb250ZW50IGgyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItbW9kYWwtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi52Mi1tb2RhbC1zZWN0aW9uIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi52Mi1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4udjItbW9kYWwtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udjItbW9kYWwtaW5wdXQuaXMtZXJyb3Ige1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRhbmltYXRpb246IHNoYWtlIDAuM3M7XG59XG5cbi52Mi1tb2RhbC1jb2xvci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcblx0Z2FwOiAxMnB4O1xufVxuXG4udjItbW9kYWwtY29sb3ItYnV0dG9uIHtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDhweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udjItbW9kYWwtY29sb3ItYnV0dG9uOmhvdmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4udjItbW9kYWwtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLnYyLW1vZGFsLWNvbG9yLWJ1dHRvbi5pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4udjItbW9kYWwtcHJldmlldyB7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udjItcHJvamVjdC1pdGVtLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4udjItcHJvamVjdC1pdGVtLXByZXZpZXcgLnYyLXByb2plY3QtY29sb3Ige1xuXHR3aWR0aDogOHB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi52Mi1wcm9qZWN0LWl0ZW0tcHJldmlldyAudjItcHJvamVjdC1uYW1lIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udjItbW9kYWwtZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udjItbW9kYWwtZm9vdGVyIC52Mi1idXR0b24ge1xuXHRwYWRkaW5nOiAxMHB4IDI0cHg7XG5cdGZvbnQtc2l6ZTogMTVweDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxDQUFDO0FBQ0EsV0FBUztBQUNULFlBQVU7QUFDVixlQUFhO0FBQ2IsaUJBQWU7QUFDaEI7QUFFQSxDQUFDLGdCQUFnQixDQVBoQjtBQVFBLFdBQVM7QUFDVjtBQUVBLENBQUMsZUFBZSxDQVhmO0FBWUEsV0FBUztBQUNULFlBQVU7QUFDVixlQUFhO0FBQ2IsaUJBQWU7QUFDaEI7QUFFQSxDQUFDO0FBQ0EsVUFBUTtBQUNSLFlBQVU7QUFDWDtBQUdBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtB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 */