mirror of
https://github.com/taskgenius/taskgenius-plugin.git
synced 2026-07-22 06:40:25 +00:00
20646 lines
1.6 MiB
20646 lines
1.6 MiB
/* @settings
|
|
|
|
name: Task Genius
|
|
id: task-genius
|
|
settings:
|
|
-
|
|
id: task-colors-heading
|
|
title: Checkbox Status Colors
|
|
type: heading
|
|
level: 1
|
|
-
|
|
id: task-completed-color
|
|
title: Completed Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#4caf50'
|
|
-
|
|
id: task-doing-color
|
|
title: Doing Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#80dee5'
|
|
default-dark: '#379fa7'
|
|
-
|
|
id: task-in-progress-color
|
|
title: In Progress Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f9d923'
|
|
default-dark: '#ffc107'
|
|
-
|
|
id: task-abandoned-color
|
|
title: Abandoned Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#eb5353'
|
|
default-dark: '#f44336'
|
|
-
|
|
id: task-planned-color
|
|
title: Planned Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9c27b0'
|
|
default-dark: '#ce93d8'
|
|
-
|
|
id: task-question-color
|
|
title: Question Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#2196f3'
|
|
default-dark: '#42a5f5'
|
|
-
|
|
id: task-important-color
|
|
title: Important Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-star-color
|
|
title: Star Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ffc107'
|
|
default-dark: '#ffd54f'
|
|
-
|
|
id: task-quote-color
|
|
title: Quote Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#607d8b'
|
|
default-dark: '#90a4ae'
|
|
-
|
|
id: task-location-color
|
|
title: Location Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#795548'
|
|
default-dark: '#8d6e63'
|
|
-
|
|
id: task-bookmark-color
|
|
title: Bookmark Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ff9800'
|
|
default-dark: '#ffb74d'
|
|
-
|
|
id: task-information-color
|
|
title: Information Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#00bcd4'
|
|
default-dark: '#26c6da'
|
|
-
|
|
id: task-idea-color
|
|
title: Idea Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9c27b0'
|
|
default-dark: '#ce93d8'
|
|
-
|
|
id: task-pros-color
|
|
title: Pros Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#66bb6a'
|
|
-
|
|
id: task-cons-color
|
|
title: Cons Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-fire-color
|
|
title: Fire Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ff5722'
|
|
default-dark: '#ff7043'
|
|
-
|
|
id: task-key-color
|
|
title: Key Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ffd700'
|
|
default-dark: '#ffd700'
|
|
-
|
|
id: task-win-color
|
|
title: Win Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#66bb6a'
|
|
default-dark: '#81c784'
|
|
-
|
|
id: task-up-color
|
|
title: Up Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4caf50'
|
|
default-dark: '#66bb6a'
|
|
-
|
|
id: task-down-color
|
|
title: Down Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f44336'
|
|
default-dark: '#ef5350'
|
|
-
|
|
id: task-note-color
|
|
title: Note Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#9e9e9e'
|
|
default-dark: '#bdbdbd'
|
|
-
|
|
id: task-amount-color
|
|
title: Amount/Savings Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#8bc34a'
|
|
default-dark: '#aed581'
|
|
-
|
|
id: task-speech-color
|
|
title: Speech Bubble Task Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#03a9f4'
|
|
default-dark: '#29b6f6'
|
|
-
|
|
id: progress-bar-colors
|
|
title: Progress Bar Colors
|
|
type: heading
|
|
level: 1
|
|
-
|
|
id: progress-0-color
|
|
title: 0% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#ae431e'
|
|
default-dark: '#ae431e'
|
|
-
|
|
id: progress-25-color
|
|
title: 25% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#e5890a'
|
|
default-dark: '#e5890a'
|
|
-
|
|
id: progress-50-color
|
|
title: 50% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#b4c6a6'
|
|
default-dark: '#b4c6a6'
|
|
-
|
|
id: progress-75-color
|
|
title: 75% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#6bcb77'
|
|
default-dark: '#6bcb77'
|
|
-
|
|
id: progress-100-color
|
|
title: 100% Progress Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#4d96ff'
|
|
default-dark: '#4d96ff'
|
|
-
|
|
id: progress-background-color
|
|
title: Progress Bar Background Color
|
|
type: variable-themed-color
|
|
opacity: false
|
|
format: hex
|
|
default-light: '#f1f1f1'
|
|
default-dark: '#f1f1f1'
|
|
*/
|
|
|
|
/* src/styles/progressbar.css */
|
|
.cm-task-progress-bar {
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-left: 5px;
|
|
margin-bottom: 1px;
|
|
}
|
|
.no-progress-bar .cm-task-progress-bar {
|
|
display: none !important;
|
|
}
|
|
.HyperMD-header .cm-task-progress-bar {
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-left: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
.progress-bar-inline {
|
|
height: 8px;
|
|
position: relative;
|
|
}
|
|
.progress-bar-inline-empty {
|
|
background-color: var(--progress-background-color);
|
|
}
|
|
.progress-bar-inline-0 {
|
|
background-color: var(--progress-0-color);
|
|
}
|
|
.progress-bar-inline-1 {
|
|
background-color: var(--progress-25-color);
|
|
}
|
|
.progress-bar-inline-2 {
|
|
background-color: var(--progress-50-color);
|
|
}
|
|
.progress-bar-inline-3 {
|
|
background-color: var(--progress-75-color);
|
|
}
|
|
.progress-bar-inline-complete {
|
|
background-color: var(--progress-100-color);
|
|
}
|
|
.progress-completed {
|
|
background-color: var(--task-completed-color);
|
|
z-index: 3;
|
|
}
|
|
.progress-in-progress {
|
|
background-color: var(--task-in-progress-color);
|
|
z-index: 2;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-abandoned {
|
|
background-color: var(--task-abandoned-color);
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-planned {
|
|
background-color: var(--task-planned-color);
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
}
|
|
.progress-bar-inline-background {
|
|
color: #000 !important;
|
|
background-color: var(--progress-background-color);
|
|
border-radius: 10px;
|
|
flex-direction: row;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
width: 85px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.progress-bar-inline-background.hidden {
|
|
display: none;
|
|
}
|
|
.cm-task-progress-bar .task-status-indicator {
|
|
display: inline-block;
|
|
margin-right: 2px;
|
|
}
|
|
.cm-task-progress-bar .completed-indicator {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.cm-task-progress-bar .in-progress-indicator {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.cm-task-progress-bar .abandoned-indicator {
|
|
color: var(--task-abandoned-color);
|
|
}
|
|
.cm-task-progress-bar .planned-indicator {
|
|
color: var(--task-planned-color);
|
|
}
|
|
.cm-task-progress-bar.with-number {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
.HyperMD-header .cm-task-progress-bar.with-number .progress-bar-inline-background,
|
|
.HyperMD-header .cm-task-progress-bar.with-number .progress-status {
|
|
margin-bottom: 5px;
|
|
}
|
|
.cm-task-progress-bar.with-number .progress-bar-inline-background {
|
|
margin-bottom: -2px;
|
|
width: 42px;
|
|
}
|
|
.cm-task-progress-bar.with-number .progress-status {
|
|
font-size: 13px;
|
|
margin-left: 3px;
|
|
}
|
|
.theme-dark .progress-completed {
|
|
background-color: var(--task-completed-color);
|
|
}
|
|
.theme-dark .progress-in-progress {
|
|
background-color: var(--task-in-progress-color);
|
|
}
|
|
.theme-dark .progress-abandoned {
|
|
background-color: var(--task-abandoned-color);
|
|
}
|
|
.theme-dark .progress-planned {
|
|
background-color: var(--task-planned-color);
|
|
}
|
|
.task-progress-bar-popover {
|
|
width: 400px;
|
|
}
|
|
|
|
/* src/styles/modal.css */
|
|
.confirm-modal-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
justify-content: flex-end;
|
|
margin-top: var(--size-4-3);
|
|
}
|
|
.list-config-modal {
|
|
min-width: 400px;
|
|
max-width: 600px;
|
|
}
|
|
.list-config-description {
|
|
margin-bottom: var(--size-4-3);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-smaller);
|
|
}
|
|
.list-config-container {
|
|
margin: var(--size-4-3) 0;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-3);
|
|
}
|
|
.list-config-empty {
|
|
text-align: center;
|
|
padding: var(--size-4-6);
|
|
}
|
|
.list-config-empty-text {
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin: 0;
|
|
}
|
|
.list-config-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.list-config-item:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.list-config-input {
|
|
flex: 1;
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.list-config-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
button.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;
|
|
box-shadow: none;
|
|
}
|
|
.list-config-delete-btn:hover {
|
|
background: var(--background-modifier-error-hover);
|
|
}
|
|
.list-config-delete-icon {
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
line-height: 1;
|
|
}
|
|
.bulk-date-picker-modal .modal-content {
|
|
min-width: 320px;
|
|
}
|
|
.bulk-date-offset-modal .modal-content {
|
|
min-width: 400px;
|
|
max-width: 500px;
|
|
}
|
|
.bulk-offset-button-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
|
gap: var(--size-2-3);
|
|
}
|
|
.bulk-offset-button-container button {
|
|
width: 100%;
|
|
}
|
|
.bulk-offset-custom-section {
|
|
margin-top: var(--size-4-6);
|
|
padding-top: var(--size-4-3);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.bulk-offset-custom-section label {
|
|
display: block;
|
|
margin-bottom: var(--size-2-3);
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.modal-description {
|
|
margin-bottom: var(--size-4-3);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.mcp-log-modal {
|
|
min-width: 700px;
|
|
max-width: 900px;
|
|
}
|
|
.mcp-log-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
padding-bottom: var(--size-4-3);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-log-search-container {
|
|
flex: 1;
|
|
}
|
|
.mcp-log-search-input {
|
|
width: 100%;
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
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);
|
|
}
|
|
.mcp-log-search-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.mcp-log-stats {
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-2-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.mcp-log-stats-text {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
}
|
|
.mcp-log-container {
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
padding: var(--size-2-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
}
|
|
.mcp-log-empty {
|
|
text-align: center;
|
|
padding: var(--size-4-8);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
}
|
|
.mcp-log-entry {
|
|
margin-bottom: var(--size-2-3);
|
|
padding: var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-secondary);
|
|
}
|
|
.mcp-log-entry:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.mcp-log-error {
|
|
background: var(--background-modifier-error);
|
|
}
|
|
.mcp-log-entry-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.mcp-log-timestamp {
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-smallest);
|
|
min-width: 80px;
|
|
}
|
|
.mcp-log-tool-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
flex: 1;
|
|
}
|
|
.mcp-log-duration {
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-smallest);
|
|
}
|
|
.mcp-log-session-id {
|
|
color: var(--text-faint);
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-smallest);
|
|
cursor: help;
|
|
}
|
|
.mcp-log-toggle-btn {
|
|
padding: 2px 6px;
|
|
border: none;
|
|
background: var(--interactive-normal);
|
|
color: var(--text-muted);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: var(--font-smallest);
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.mcp-log-toggle-btn:hover {
|
|
background: var(--interactive-hover);
|
|
}
|
|
.mcp-log-details {
|
|
margin-top: var(--size-2-3);
|
|
padding-top: var(--size-2-3);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-log-section {
|
|
margin-bottom: var(--size-2-3);
|
|
}
|
|
.mcp-log-section:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.mcp-log-section-title {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.mcp-log-error-title {
|
|
color: var(--text-error);
|
|
}
|
|
.mcp-log-section-content {
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-smallest);
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-2);
|
|
margin: 0;
|
|
overflow-x: auto;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.mcp-log-error-content {
|
|
color: var(--text-error);
|
|
background: var(--background-modifier-error);
|
|
}
|
|
.mcp-log-truncated-badge {
|
|
font-size: var(--font-smallest);
|
|
color: var(--text-muted);
|
|
font-weight: normal;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* src/styles/date-picker.css */
|
|
.date-picker-root-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
min-width: 500px;
|
|
max-width: 600px;
|
|
}
|
|
.date-picker-root-container .date-picker-main-panel {
|
|
display: flex;
|
|
gap: var(--size-2-3);
|
|
padding: var(--size-2-3);
|
|
}
|
|
.date-picker-root-container .date-picker-left-panel {
|
|
flex: 1;
|
|
min-width: 200px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.date-picker-root-container .date-picker-right-panel {
|
|
flex: 1;
|
|
min-width: 250px;
|
|
}
|
|
.date-picker-root-container .date-picker-section-title {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
margin-bottom: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
}
|
|
.date-picker-root-container .quick-options-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
max-height: 195px;
|
|
overflow: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
.date-picker-root-container .quick-option-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.date-picker-root-container .quick-option-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .quick-option-item.selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.date-picker-root-container .quick-option-item.clear-option {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
margin-top: var(--size-2-2);
|
|
padding-top: var(--size-2-3);
|
|
color: var(--text-error);
|
|
}
|
|
.date-picker-root-container .quick-option-item.clear-option:hover {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--background-modifier-error-hover);
|
|
}
|
|
.date-picker-root-container .quick-option-label {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.date-picker-root-container .quick-option-date {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
}
|
|
.date-picker-root-container .quick-option-item.selected .quick-option-date {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.date-picker-root-container .calendar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.date-picker-root-container .calendar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-2);
|
|
padding: 0 var(--size-2-2);
|
|
}
|
|
.date-picker-root-container .calendar-nav-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.date-picker-root-container .calendar-nav-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .calendar-month-year {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
color: var(--text-normal);
|
|
}
|
|
.date-picker-root-container .calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
overflow: hidden;
|
|
}
|
|
.date-picker-root-container .calendar-day-header {
|
|
background-color: var(--background-secondary);
|
|
padding: var(--size-2-2);
|
|
text-align: center;
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-bold);
|
|
color: var(--text-muted);
|
|
}
|
|
.date-picker-root-container .calendar-day {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-2-2);
|
|
text-align: center;
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
min-height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.date-picker-root-container .calendar-day:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.date-picker-root-container .calendar-day.other-month {
|
|
color: var(--text-faint);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.date-picker-root-container .calendar-day.today {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.date-picker-root-container .calendar-day.selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.date-picker-root-container .calendar-day.today.selected {
|
|
background-color: var(--interactive-accent);
|
|
box-shadow: inset 0 0 0 2px var(--text-on-accent);
|
|
}
|
|
.date-picker-popover.tg-menu {
|
|
z-index: 20;
|
|
position: fixed;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
box-shadow: var(--shadow-l);
|
|
max-height: 80vh;
|
|
overflow: auto;
|
|
}
|
|
.date-picker-popover.tg-menu .date-picker-popover-content {
|
|
padding: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.date-picker-root-container .date-picker-main-panel {
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.date-picker-root-container .date-picker-left-panel {
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-right: 0;
|
|
padding-bottom: var(--size-4-2);
|
|
}
|
|
.date-picker-root-container {
|
|
min-width: 300px;
|
|
max-width: 400px;
|
|
}
|
|
.date-picker-root-container .calendar-day {
|
|
min-height: 40px;
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
}
|
|
.date-picker-root-container .date-picker-widget-error {
|
|
color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
|
|
/* src/styles/task-details.css */
|
|
.task-details-container .panel-toggle-container {
|
|
left: 10px;
|
|
}
|
|
.task-details-container {
|
|
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-container {
|
|
width: 0;
|
|
opacity: 0;
|
|
margin-right: -300px;
|
|
overflow: hidden;
|
|
}
|
|
.task-genius-container.details-visible .task-details-container {
|
|
width: 350px;
|
|
opacity: 1;
|
|
margin-right: 0;
|
|
}
|
|
.is-phone .task-details-container,
|
|
.is-mobile .task-details-container {
|
|
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-container,
|
|
.is-mobile .task-genius-container.details-hidden .task-details-container,
|
|
.is-mobile .tg-fluent-container.details-hidden .task-details-container {
|
|
width: 100%;
|
|
margin-right: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
.is-phone .task-genius-container.details-visible .task-details-container,
|
|
.is-mobile .task-genius-container.details-visible .task-details-container,
|
|
.is-mobile .tg-fluent-container.details-visible .task-details-container {
|
|
width: calc(100% - var(--size-4-12));
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .task-genius-container.details-visible::before,
|
|
.is-mobile .task-genius-container.details-visible::before,
|
|
.is-mobile .tg-fluent-container.details-visible::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .details-close-btn,
|
|
.is-mobile .details-close-btn {
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .details-header,
|
|
.is-mobile .details-header {
|
|
padding: var(--size-4-4);
|
|
}
|
|
.details-empty {
|
|
display: flex;
|
|
height: 100%;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
padding: 20px;
|
|
}
|
|
.details-header {
|
|
padding: var(--size-4-4);
|
|
padding-bottom: var(--size-4-3);
|
|
padding-top: var(--size-4-3);
|
|
font-weight: 600;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 1.1em;
|
|
}
|
|
.details-content {
|
|
padding: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
overflow-y: auto;
|
|
padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8));
|
|
}
|
|
.details-name {
|
|
margin: 0 0 8px 0;
|
|
padding: 0;
|
|
font-size: 1.3em;
|
|
line-height: 1.3;
|
|
}
|
|
.details-status-container {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.details-status-label {
|
|
text-transform: uppercase;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-status {
|
|
display: inline-block;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
background-color: var(--color-accent);
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-status-selector {
|
|
display: flex;
|
|
justify-content: space-evenly;
|
|
align-items: center;
|
|
}
|
|
.menu-item-title:has(.status-option) {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.menu-item:has(.status-option-checkbox) .menu-item-icon {
|
|
display: none;
|
|
}
|
|
.menu-item:has(.status-option-icon) .menu-item-icon {
|
|
display: none;
|
|
}
|
|
.status-option-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: var(--size-2-2);
|
|
}
|
|
.status-option-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.status-option {
|
|
display: flex;
|
|
justify-content: center;
|
|
text-transform: uppercase;
|
|
}
|
|
.status-option.current {
|
|
outline-offset: 2px;
|
|
outline: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
|
|
outline-style: dashed;
|
|
}
|
|
.status-option:not(.current) {
|
|
opacity: 0.8;
|
|
}
|
|
.status-option:not(.current):hover {
|
|
opacity: 1;
|
|
}
|
|
.status-option input.task-list-item-checkbox {
|
|
margin-inline-end: 0;
|
|
}
|
|
.details-metadata {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.metadata-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
}
|
|
.metadata-label {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.metadata-value {
|
|
word-break: break-word;
|
|
font-size: 0.95em;
|
|
}
|
|
.details-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: 8px;
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.details-edit-btn,
|
|
.details-toggle-btn {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 6px 12px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-edit-btn:hover,
|
|
.details-toggle-btn:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.details-toggle-btn {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.details-edit-form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.details-form-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.details-form-label {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.details-form-input {
|
|
width: 100%;
|
|
}
|
|
.details-edit-content {
|
|
font-weight: 500;
|
|
}
|
|
.details-form-input input,
|
|
.details-form-input select {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.date-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.field-description {
|
|
font-size: 0.7em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.tags-editor {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
align-items: center;
|
|
}
|
|
.tags-editor__list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
flex: 1;
|
|
}
|
|
.tags-editor__tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 2px 8px;
|
|
border-radius: 999px;
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
font-size: 0.8em;
|
|
line-height: 1.4;
|
|
}
|
|
.tags-editor__tag-label {
|
|
color: var(--text-normal);
|
|
}
|
|
.tags-editor__remove {
|
|
background: none;
|
|
border: none;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
font-size: 0.8em;
|
|
line-height: 1;
|
|
padding: 0 2px;
|
|
}
|
|
.tags-editor__remove:hover {
|
|
color: var(--text-error);
|
|
}
|
|
.tags-editor__add {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 50%;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
font-size: 1em;
|
|
}
|
|
.tags-editor__add:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.tags-editor__input {
|
|
min-width: 140px;
|
|
}
|
|
.tags-editor__input input {
|
|
width: 100%;
|
|
padding: 4px 6px;
|
|
}
|
|
.tags-editor__input--hidden {
|
|
display: none;
|
|
}
|
|
.tags-editor__empty {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.tags-editor__tag div.clickable-icon {
|
|
padding: 0;
|
|
--icon-size: 12px;
|
|
}
|
|
.details-form-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 16px;
|
|
gap: 8px;
|
|
}
|
|
.details-form-buttons button {
|
|
flex: 1;
|
|
justify-content: center;
|
|
}
|
|
.details-form-error {
|
|
color: var(--text-error);
|
|
font-size: 0.8em;
|
|
margin-top: 8px;
|
|
padding: 8px;
|
|
background-color: var(--background-modifier-error);
|
|
border-radius: 4px;
|
|
}
|
|
.details-edit-file-btn {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 6px 12px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.details-edit-file-btn:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.is-mobile .tg-fluent-container .task-details-container {
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
height: 100vh;
|
|
width: 85vw;
|
|
max-width: 400px;
|
|
z-index: 1001;
|
|
background-color: var(--background-secondary);
|
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.is-mobile .task-details-container .details-close-btn:hover {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.is-mobile .details-content {
|
|
padding-bottom: var(--size-4-12);
|
|
}
|
|
@media screen and (max-width: 768px) {
|
|
.task-omnifocus-container {
|
|
flex-direction: column;
|
|
}
|
|
.task-sidebar {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-content {
|
|
width: 100%;
|
|
flex: 1;
|
|
}
|
|
.task-details-container {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
border-left: none;
|
|
}
|
|
}
|
|
.project-source-indicator {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
margin-top: 4px;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
font-size: 0.85em;
|
|
line-height: 1.2;
|
|
}
|
|
.project-source-indicator .indicator-icon {
|
|
font-size: 0.9em;
|
|
}
|
|
.project-source-indicator .indicator-text {
|
|
color: var(--text-muted);
|
|
}
|
|
.project-source-indicator.readonly-indicator {
|
|
border: 1px solid var(--background-modifier-error);
|
|
}
|
|
.project-source-indicator.readonly-indicator .indicator-text {
|
|
color: var(--text-error);
|
|
font-weight: 500;
|
|
}
|
|
.project-source-indicator.override-indicator {
|
|
border: 1px solid var(--background-modifier-accent);
|
|
}
|
|
.project-source-indicator.override-indicator .indicator-text {
|
|
color: var(--text-accent);
|
|
}
|
|
.field-description.readonly-description {
|
|
color: var(--text-error);
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
font-style: italic;
|
|
}
|
|
.field-description.override-description {
|
|
color: var(--text-accent);
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
font-style: italic;
|
|
}
|
|
.project-source-indicator.inline-indicator {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 10;
|
|
margin-top: 2px;
|
|
padding: 2px 6px;
|
|
font-size: 0.75em;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.project-source-indicator.table-indicator {
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 2px;
|
|
padding: 1px 3px;
|
|
font-size: 0.7em;
|
|
border-radius: 2px;
|
|
z-index: 5;
|
|
}
|
|
.project-source-indicator.table-indicator .indicator-icon {
|
|
font-size: 0.8em;
|
|
}
|
|
.task-table-cell.readonly-cell {
|
|
background-color: var(--background-modifier-error-hover);
|
|
opacity: 0.8;
|
|
}
|
|
.project-container.project-readonly {
|
|
position: relative;
|
|
}
|
|
.project-container.project-readonly .project-source-indicator {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
/* src/styles/onCompletion.css */
|
|
.oncompletion-configurator {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
padding: 12px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.oncompletion-action-type {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
.oncompletion-label {
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.oncompletion-config {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
margin-top: 8px;
|
|
padding-top: 8px;
|
|
border-top: 1px solid var(--background-modifier-border-hover);
|
|
}
|
|
.oncompletion-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.oncompletion-description {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-top: 2px;
|
|
}
|
|
.oncompletion-action-type .dropdown {
|
|
width: 100%;
|
|
}
|
|
.oncompletion-field .text-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.oncompletion-field .text-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.oncompletion-field .checkbox-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-id-suggestion {
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-content-preview {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
max-width: 300px;
|
|
}
|
|
.file-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.file-path {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.action-type-suggestion {
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
}
|
|
.action-description {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.oncompletion-configurator.invalid {
|
|
border-color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
}
|
|
.oncompletion-configurator.valid {
|
|
border-color: var(--text-success);
|
|
}
|
|
.oncompletion-validation-message {
|
|
font-size: 0.8em;
|
|
margin-top: 4px;
|
|
padding: 4px 6px;
|
|
border-radius: 3px;
|
|
}
|
|
.oncompletion-validation-message.error {
|
|
color: var(--text-error);
|
|
background-color: var(--background-modifier-error);
|
|
}
|
|
.oncompletion-validation-message.success {
|
|
color: var(--text-success);
|
|
}
|
|
.task-details .oncompletion-configurator {
|
|
margin-top: 8px;
|
|
border: none;
|
|
background-color: transparent;
|
|
padding: 0;
|
|
}
|
|
.task-details .oncompletion-field {
|
|
margin-bottom: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.oncompletion-configurator {
|
|
padding: 8px;
|
|
gap: 8px;
|
|
}
|
|
.oncompletion-config {
|
|
gap: 8px;
|
|
}
|
|
.task-content-preview {
|
|
max-width: 200px;
|
|
}
|
|
}
|
|
.theme-dark .oncompletion-configurator {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
.theme-dark .oncompletion-field .text-input {
|
|
background-color: var(--background-secondary);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.oncompletion-configurator {
|
|
border-width: 2px;
|
|
}
|
|
.oncompletion-field .text-input {
|
|
border-width: 2px;
|
|
}
|
|
.oncompletion-field .text-input:focus {
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
}
|
|
.oncompletion-config {
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
.oncompletion-field {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
|
|
}
|
|
.oncompletion-field.entering {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
.oncompletion-field.exiting {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
.oncompletion-modal {
|
|
--dialog-width: 600px;
|
|
--dialog-max-width: 90vw;
|
|
--dialog-max-height: 80vh;
|
|
}
|
|
.oncompletion-modal .modal-content {
|
|
padding: 0;
|
|
max-height: var(--dialog-max-height);
|
|
overflow-y: auto;
|
|
}
|
|
.oncompletion-modal-content {
|
|
padding: 20px;
|
|
max-height: 60vh;
|
|
overflow-y: auto;
|
|
}
|
|
.oncompletion-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
padding: 16px 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.oncompletion-modal-buttons button {
|
|
min-width: 80px;
|
|
}
|
|
.inline-oncompletion-button-container {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
.inline-oncompletion-config-button {
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
min-width: 100px;
|
|
text-align: left;
|
|
}
|
|
.inline-oncompletion-config-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.inline-oncompletion-config-button:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.inline-oncompletion-config-button:active {
|
|
background-color: var(--background-modifier-active);
|
|
transform: scale(0.98);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.oncompletion-modal {
|
|
--dialog-width: 95vw;
|
|
--dialog-max-height: 85vh;
|
|
}
|
|
.oncompletion-modal-content {
|
|
padding: 16px;
|
|
max-height: 65vh;
|
|
}
|
|
.oncompletion-modal-buttons {
|
|
padding: 12px 16px;
|
|
flex-direction: column-reverse;
|
|
}
|
|
.oncompletion-modal-buttons button {
|
|
width: 100%;
|
|
min-width: unset;
|
|
}
|
|
}
|
|
|
|
/* src/styles/universal-suggest.css */
|
|
.universal-suggest-item {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
transition: background-color 0.1s ease;
|
|
}
|
|
.universal-suggest-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.universal-suggest-item.is-selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.universal-suggest-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
overflow: hidden;
|
|
}
|
|
.universal-suggest-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: 12px;
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
.universal-suggest-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.universal-suggest-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
margin-bottom: 2px;
|
|
}
|
|
.universal-suggest-description {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.3;
|
|
}
|
|
.cm-editor .cm-line .universal-suggest-trigger {
|
|
background-color: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
border-radius: 2px;
|
|
padding: 1px 2px;
|
|
}
|
|
.suggestion-container .universal-suggest-item {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.suggestion-container .universal-suggest-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.theme-dark .universal-suggest-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.theme-dark .universal-suggest-item.is-selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.universal-suggest-item {
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 2px;
|
|
}
|
|
.universal-suggest-item:hover,
|
|
.universal-suggest-item.is-selected {
|
|
border-color: var(--text-accent);
|
|
}
|
|
}
|
|
|
|
/* src/styles/kanban/kanban.css */
|
|
.tg-kanban-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.tg-kanban-filters {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
gap: 8px;
|
|
padding: 8px;
|
|
padding-bottom: 0;
|
|
padding-top: 0;
|
|
}
|
|
.tg-kanban-controls-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.tg-kanban-sort-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.tg-kanban-sort-button {
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-kanban-sort-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-kanban-cycle-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.tg-kanban-cycle-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);
|
|
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
}
|
|
.tg-kanban-cycle-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-kanban-cycle-button:active {
|
|
background-color: var(--background-modifier-active-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: calc(100vh - 170px);
|
|
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-primary);
|
|
-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-secondary);
|
|
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;
|
|
}
|
|
|
|
/* packages/calendar/dist/styles.css */
|
|
.tg-calendar {
|
|
--tg-primary-color: #3b82f6;
|
|
--tg-primary-rgb:
|
|
59,
|
|
130,
|
|
246;
|
|
--tg-cell-height: 60px;
|
|
--tg-font-header: 14px;
|
|
--tg-font-event: 12px;
|
|
font-family:
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
"Segoe UI",
|
|
Roboto,
|
|
sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
user-select: none;
|
|
overflow-x: hidden;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: white;
|
|
border-radius: 12px;
|
|
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
|
border: 1px solid #e5e7eb;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.tg-calendar.tg-selecting {
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
}
|
|
.tg-view-container {
|
|
min-height: 0;
|
|
background: white;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.tg-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 16px;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
background: white;
|
|
}
|
|
.tg-title {
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
color: #1f2937;
|
|
}
|
|
.tg-view-switch {
|
|
display: flex;
|
|
background: #f3f4f6;
|
|
padding: 4px;
|
|
border-radius: 8px;
|
|
}
|
|
.tg-view-btn {
|
|
padding: 4px 12px;
|
|
font-size: 14px;
|
|
border-radius: 6px;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
color: #6b7280;
|
|
}
|
|
.tg-view-btn:hover {
|
|
color: #374151;
|
|
}
|
|
.tg-view-btn.tg-active {
|
|
background: white;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
color: var(--tg-primary-color);
|
|
font-weight: 500;
|
|
}
|
|
.tg-nav {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
.tg-nav-btn {
|
|
padding: 4px 12px;
|
|
font-size: 14px;
|
|
border-radius: 4px;
|
|
border: 1px solid #e5e7eb;
|
|
background: #f9fafb;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
.tg-nav-btn:hover {
|
|
background: #f3f4f6;
|
|
}
|
|
.tg-nav-btn.tg-today {
|
|
background: rgba(var(--tg-primary-rgb), 0.1);
|
|
color: var(--tg-primary-color);
|
|
border-color: rgba(var(--tg-primary-rgb), 0.2);
|
|
}
|
|
.tg-nav-btn.tg-today:hover {
|
|
background: rgba(var(--tg-primary-rgb), 0.2);
|
|
}
|
|
.tg-grid-7 {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
}
|
|
.tg-disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
cursor: not-allowed;
|
|
}
|
|
.tg-month-body {
|
|
overflow-y: auto;
|
|
flex: 1;
|
|
min-height: 0;
|
|
display: grid;
|
|
grid-auto-rows: 1fr;
|
|
}
|
|
.tg-month-header {
|
|
display: grid;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
background: #f9fafb;
|
|
}
|
|
.tg-month-header-cell {
|
|
padding: 8px;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
color: #9ca3af;
|
|
}
|
|
.tg-month-row {
|
|
display: grid;
|
|
position: relative;
|
|
min-height: var(--tg-row-min-height, 80px);
|
|
border-bottom: 1px solid #e5e7eb;
|
|
}
|
|
.tg-month-cell {
|
|
height: 100%;
|
|
padding: 4px;
|
|
border-right: 1px solid #e5e7eb;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.tg-month-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.tg-date-number {
|
|
text-align: right;
|
|
font-size: 12px;
|
|
padding: 4px;
|
|
}
|
|
.tg-date-number.tg-current-month {
|
|
color: #374151;
|
|
}
|
|
.tg-date-number.tg-other-month {
|
|
color: #d1d5db;
|
|
}
|
|
.tg-date-number.tg-today {
|
|
color: var(--tg-primary-color);
|
|
font-weight: bold;
|
|
}
|
|
.tg-event-count-badge {
|
|
position: absolute;
|
|
bottom: 2px;
|
|
right: 2px;
|
|
background: var(--tg-primary-color);
|
|
color: white;
|
|
border-radius: 10px;
|
|
padding: 2px 6px;
|
|
font-size: 10px;
|
|
font-weight: bold;
|
|
min-width: 18px;
|
|
text-align: center;
|
|
}
|
|
.tg-month-cell.tg-disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
background-color: #f9fafb;
|
|
}
|
|
.tg-month-cell.tg-disabled .tg-date-number {
|
|
color: #9ca3af;
|
|
text-decoration: line-through;
|
|
}
|
|
.tg-month-cell.tg-range-preview {
|
|
background-color: rgba(var(--tg-primary-rgb), 0.15);
|
|
position: relative;
|
|
}
|
|
.tg-month-cell.tg-range-preview::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border: 2px solid rgba(var(--tg-primary-rgb), 0.4);
|
|
pointer-events: none;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-more-indicator {
|
|
position: absolute;
|
|
font-size: 11px;
|
|
color: var(--tg-primary-color, #3b82f6);
|
|
padding: 2px 6px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
transition: background-color 0.15s;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
z-index: 5;
|
|
}
|
|
.tg-more-indicator:hover {
|
|
background-color: rgba(var(--tg-primary-rgb, 59, 130, 246), 0.1);
|
|
}
|
|
.tg-more-popover {
|
|
position: fixed;
|
|
z-index: 1000;
|
|
background: white;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
border: 1px solid #e5e7eb;
|
|
min-width: 200px;
|
|
max-width: 280px;
|
|
max-height: 300px;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.tg-more-popover-header {
|
|
padding: 10px 12px;
|
|
font-weight: 600;
|
|
font-size: 13px;
|
|
color: #374151;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
background: #f9fafb;
|
|
}
|
|
.tg-more-popover-list {
|
|
overflow-y: auto;
|
|
padding: 4px 0;
|
|
flex: 1;
|
|
}
|
|
.tg-more-popover-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 12px;
|
|
font-size: 12px;
|
|
color: #374151;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.tg-more-popover-item:hover {
|
|
background-color: #f3f4f6;
|
|
}
|
|
.tg-more-popover-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-more-popover-title {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.tg-time-grid-container {
|
|
flex: 1 1 0;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
position: relative;
|
|
}
|
|
.tg-time-header {
|
|
display: flex;
|
|
padding-left: 60px;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
position: sticky;
|
|
top: 0;
|
|
background: white;
|
|
z-index: 30;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
|
|
}
|
|
.tg-time-header-cell {
|
|
flex: 1;
|
|
text-align: center;
|
|
padding: 8px;
|
|
border-right: 1px solid #f3f4f6;
|
|
font-size: var(--tg-font-header);
|
|
}
|
|
.tg-time-header-cell .tg-header-date {
|
|
font-weight: bold;
|
|
font-size: 18px;
|
|
}
|
|
.tg-time-header-cell.tg-today {
|
|
background-color: rgba(var(--tg-primary-rgb), 0.1);
|
|
color: var(--tg-primary-color);
|
|
}
|
|
.tg-time-header-cell.tg-disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
background-color: #f9fafb;
|
|
}
|
|
.tg-time-body {
|
|
display: flex;
|
|
position: relative;
|
|
min-height: calc(var(--tg-cell-height) * 24);
|
|
}
|
|
.tg-time-axis {
|
|
width: 60px;
|
|
flex-shrink: 0;
|
|
background: #fafafa;
|
|
border-right: 1px solid #e5e7eb;
|
|
position: sticky;
|
|
left: 0;
|
|
z-index: 20;
|
|
height: 100%;
|
|
}
|
|
.tg-time-axis-label {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: var(--tg-cell-height);
|
|
text-align: right;
|
|
padding-right: 8px;
|
|
color: #9ca3af;
|
|
font-size: 11px;
|
|
pointer-events: none;
|
|
will-change: transform;
|
|
}
|
|
.tg-time-axis-label.custom {
|
|
font-weight: bold;
|
|
}
|
|
.tg-day-column {
|
|
flex: 1;
|
|
position: relative;
|
|
border-right: 1px solid #e5e7eb;
|
|
background:
|
|
repeating-linear-gradient(
|
|
to bottom,
|
|
transparent 0,
|
|
transparent calc(var(--tg-cell-height) - 1px),
|
|
#f3f4f6 var(--tg-cell-height));
|
|
}
|
|
.tg-time-range-preview {
|
|
position: absolute;
|
|
background-color: rgba(var(--tg-primary-rgb), 0.15);
|
|
border: 2px dashed rgba(var(--tg-primary-rgb), 0.8);
|
|
pointer-events: none;
|
|
z-index: 15;
|
|
border-radius: 4px;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-day-column.tg-range-preview {
|
|
background-color: rgba(var(--tg-primary-rgb), 0.08);
|
|
position: relative;
|
|
}
|
|
.tg-day-column.tg-range-preview::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-left: 3px solid rgba(var(--tg-primary-rgb), 0.5);
|
|
border-right: 3px solid rgba(var(--tg-primary-rgb), 0.5);
|
|
pointer-events: none;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-event-base {
|
|
position: absolute;
|
|
border-radius: 4px;
|
|
padding: 2px 6px;
|
|
font-size: var(--tg-font-event);
|
|
color: white;
|
|
cursor: grab;
|
|
z-index: 10;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
transition:
|
|
opacity 0.2s,
|
|
box-shadow 0.1s,
|
|
filter 0.1s;
|
|
will-change: transform;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
.tg-event-base:hover {
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
filter: brightness(1.05);
|
|
}
|
|
.tg-event-base:active {
|
|
cursor: grabbing;
|
|
}
|
|
.tg-event-base.tg-is-dragging-source {
|
|
opacity: 0.3;
|
|
filter: grayscale(0.3);
|
|
}
|
|
.tg-event-bar {
|
|
height: 26px;
|
|
line-height: 26px;
|
|
}
|
|
.tg-event-block {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
line-height: 1.3;
|
|
padding-top: 4px;
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
white-space: normal;
|
|
}
|
|
.tg-event-block .tg-time-text {
|
|
font-size: 10px;
|
|
opacity: 0.9;
|
|
margin-bottom: 0;
|
|
}
|
|
.tg-event-title {
|
|
font-weight: bold;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tg-resize-handle {
|
|
position: absolute;
|
|
z-index: 20;
|
|
opacity: 0;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.tg-event-base:hover .tg-resize-handle {
|
|
opacity: 1;
|
|
}
|
|
.tg-resize-handle:hover {
|
|
background-color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
.tg-resize-h {
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 12px;
|
|
cursor: col-resize;
|
|
}
|
|
.tg-resize-h.tg-left {
|
|
left: 0;
|
|
}
|
|
.tg-resize-h.tg-right {
|
|
right: 0;
|
|
}
|
|
.tg-resize-v {
|
|
left: 0;
|
|
right: 0;
|
|
height: 8px;
|
|
cursor: row-resize;
|
|
}
|
|
.tg-resize-v.tg-top {
|
|
top: 0;
|
|
bottom: auto;
|
|
}
|
|
.tg-resize-v.tg-bottom {
|
|
bottom: 0;
|
|
top: auto;
|
|
}
|
|
.tg-ghost-event {
|
|
position: absolute;
|
|
background-color: rgba(var(--tg-primary-rgb), 0.15);
|
|
border: 2px dashed rgba(var(--tg-primary-rgb), 0.8);
|
|
border-radius: 4px;
|
|
z-index: 5;
|
|
pointer-events: none;
|
|
box-sizing: border-box;
|
|
}
|
|
#tg-drag-proxy {
|
|
position: fixed;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
|
|
border-radius: 4px;
|
|
visibility: hidden;
|
|
opacity: 0.9;
|
|
transform-origin: top left;
|
|
}
|
|
.tg-allday-section {
|
|
display: flex;
|
|
flex-direction: row;
|
|
border-bottom: 1px solid var(--tg-border-color, #e5e7eb);
|
|
background-color: var(--tg-bg-color, #fff);
|
|
min-height: 28px;
|
|
}
|
|
.tg-allday-spacer {
|
|
flex-shrink: 0;
|
|
width: 60px;
|
|
border-right: 1px solid var(--tg-border-color, #e5e7eb);
|
|
}
|
|
.tg-allday-events-container {
|
|
flex: 1;
|
|
position: relative;
|
|
min-height: 28px;
|
|
}
|
|
.tg-allday-event {
|
|
position: absolute;
|
|
height: 22px;
|
|
line-height: 22px;
|
|
border-radius: 3px;
|
|
padding: 0 6px;
|
|
font-size: 12px;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
cursor: grab;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-allday-event:hover {
|
|
filter: brightness(1.05);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.tg-allday-event:active {
|
|
cursor: grabbing;
|
|
}
|
|
.tg-event-block.tg-event-segmented {
|
|
}
|
|
.tg-event-block.tg-event-segment-first {
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
border-bottom: 2px dashed rgba(255, 255, 255, 0.5);
|
|
}
|
|
.tg-event-block.tg-event-segment-last {
|
|
border-top-left-radius: 0;
|
|
border-top-right-radius: 0;
|
|
border-top: 2px dashed rgba(255, 255, 255, 0.5);
|
|
}
|
|
.tg-event-block.tg-event-segment-middle {
|
|
border-radius: 0;
|
|
border-top: 2px dashed rgba(255, 255, 255, 0.5);
|
|
border-bottom: 2px dashed rgba(255, 255, 255, 0.5);
|
|
}
|
|
.tg-event-block.tg-event-continuation {
|
|
border-top-left-radius: 0;
|
|
border-top-right-radius: 0;
|
|
}
|
|
.tg-event-block.tg-event-continued {
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
.tg-event-block.tg-event-continuation.tg-event-continued {
|
|
border-radius: 0;
|
|
}
|
|
.tg-event-block.tg-event-continuation::before,
|
|
.tg-event-block.tg-event-continued::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 0;
|
|
height: 0;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-event-block.tg-event-continuation::before {
|
|
top: 0;
|
|
border-left: 6px solid transparent;
|
|
border-right: 6px solid transparent;
|
|
border-top: 6px solid rgba(255, 255, 255, 0.6);
|
|
}
|
|
.tg-event-block.tg-event-continued::after {
|
|
bottom: 0;
|
|
border-left: 6px solid transparent;
|
|
border-right: 6px solid transparent;
|
|
border-bottom: 6px solid rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
/* src/styles/taskgenius-calendar.css */
|
|
.tg-calendar {
|
|
--tg-primary-color: var(--interactive-accent);
|
|
--tg-primary-rgb: var(--interactive-accent-rgb, 59, 130, 246);
|
|
--tg-cell-height: 60px;
|
|
--tg-font-header: var(--font-ui-small);
|
|
--tg-font-event: var(--font-ui-smaller);
|
|
font-family: var(--font-interface);
|
|
-webkit-font-smoothing: antialiased;
|
|
user-select: none;
|
|
overflow-x: hidden;
|
|
width: 100%;
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
}
|
|
.tg-view-container {
|
|
min-height: 600px;
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-header {
|
|
display: none !important;
|
|
}
|
|
.tg-title {
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-nav {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
.tg-nav-btn {
|
|
padding: 4px 12px;
|
|
font-size: 14px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
.tg-nav-btn:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-nav-btn.tg-today {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-nav-btn.tg-today:hover {
|
|
opacity: 0.9;
|
|
}
|
|
.tg-view-switch {
|
|
display: flex;
|
|
background: var(--background-secondary);
|
|
padding: 4px;
|
|
border-radius: 8px;
|
|
gap: 4px;
|
|
}
|
|
.tg-view-btn {
|
|
padding: 4px 12px;
|
|
font-size: 14px;
|
|
border-radius: 6px;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-view-btn:hover {
|
|
color: var(--text-normal);
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.tg-view-btn.tg-active {
|
|
background: var(--background-primary);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
color: var(--interactive-accent);
|
|
font-weight: 500;
|
|
}
|
|
.tg-month-row {
|
|
position: relative;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-month-cell {
|
|
height: 100%;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
position: relative;
|
|
z-index: 1;
|
|
background: var(--background-primary);
|
|
}
|
|
.tg-month-cell:hover {
|
|
background: var(--background-primary-alt);
|
|
}
|
|
.tg-month-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.tg-month-header {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
}
|
|
.tg-month-header-cell {
|
|
padding: 8px;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-date-number {
|
|
text-align: right;
|
|
font-size: 12px;
|
|
padding: 4px;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-date-number.tg-current-month {
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-date-number.tg-other-month {
|
|
color: var(--text-faint);
|
|
}
|
|
.tg-date-number.tg-today {
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
background: var(--background-modifier-hover);
|
|
border-radius: 50%;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-date-number.past-due {
|
|
color: var(--text-error);
|
|
}
|
|
.tg-time-grid-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 600px;
|
|
overflow-y: auto;
|
|
position: relative;
|
|
scroll-behavior: auto;
|
|
}
|
|
.tg-time-header {
|
|
display: flex;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
position: sticky;
|
|
top: 0;
|
|
background: var(--background-primary);
|
|
z-index: 30;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
|
|
padding-right: var(--size-4-3);
|
|
}
|
|
.tg-time-header-cell {
|
|
flex: 1;
|
|
text-align: center;
|
|
padding: 8px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
font-size: var(--tg-font-header);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-time-body {
|
|
display: flex;
|
|
position: relative;
|
|
min-height: calc(var(--tg-cell-height) * 24);
|
|
}
|
|
.tg-time-axis {
|
|
width: 60px;
|
|
flex-shrink: 0;
|
|
background: var(--background-secondary);
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
position: sticky;
|
|
left: 0;
|
|
z-index: 20;
|
|
}
|
|
.tg-time-axis-label {
|
|
height: var(--tg-cell-height);
|
|
position: absolute;
|
|
width: 100%;
|
|
text-align: right;
|
|
padding-right: 8px;
|
|
color: var(--text-muted);
|
|
font-size: 11px;
|
|
top: -6px;
|
|
pointer-events: none;
|
|
}
|
|
.tg-day-column {
|
|
flex: 1;
|
|
position: relative;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
background:
|
|
repeating-linear-gradient(
|
|
to bottom,
|
|
transparent 0,
|
|
transparent calc(var(--tg-cell-height) - 1px),
|
|
var(--background-modifier-border) var(--tg-cell-height));
|
|
}
|
|
.tg-event-base {
|
|
position: absolute;
|
|
border-radius: 4px;
|
|
padding: 2px 6px;
|
|
font-size: var(--tg-font-event);
|
|
color: white;
|
|
cursor: grab;
|
|
z-index: 10;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
transition: opacity 0.2s, transform 0.1s;
|
|
}
|
|
.tg-event-base:active {
|
|
cursor: grabbing;
|
|
}
|
|
.tg-event-base:hover {
|
|
opacity: 0.9;
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.tg-event-base.tg-is-dragging-source {
|
|
opacity: 0.3;
|
|
filter: grayscale(0.3);
|
|
}
|
|
.tg-event-bar {
|
|
height: 26px;
|
|
line-height: 26px;
|
|
}
|
|
.tg-event-block {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
line-height: 1.3;
|
|
padding-top: 4px;
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
}
|
|
.tg-event-block .tg-time-text {
|
|
font-size: 10px;
|
|
opacity: 0.9;
|
|
margin-bottom: 0;
|
|
}
|
|
.tg-event-title {
|
|
font-weight: bold;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tg-event-count-badge {
|
|
display: none;
|
|
}
|
|
.tg-event-count-badge.has-priority {
|
|
background: var(--color-red);
|
|
}
|
|
.tg-resize-handle {
|
|
position: absolute;
|
|
z-index: 20;
|
|
opacity: 0;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.tg-event-base:hover .tg-resize-handle {
|
|
opacity: 1;
|
|
}
|
|
.tg-resize-handle:hover {
|
|
background-color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
.tg-resize-h {
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 12px;
|
|
cursor: col-resize;
|
|
}
|
|
.tg-resize-h.tg-left {
|
|
left: 0;
|
|
}
|
|
.tg-resize-h.tg-right {
|
|
right: 0;
|
|
}
|
|
.tg-resize-v {
|
|
left: 0;
|
|
right: 0;
|
|
height: 8px;
|
|
cursor: row-resize;
|
|
}
|
|
.tg-resize-v.tg-top {
|
|
top: 0;
|
|
bottom: auto;
|
|
}
|
|
.tg-resize-v.tg-bottom {
|
|
bottom: 0;
|
|
top: auto;
|
|
}
|
|
.tg-ghost-event {
|
|
position: absolute;
|
|
background-color: rgba(var(--tg-primary-rgb), 0.15);
|
|
border: 2px dashed rgba(var(--tg-primary-rgb), 0.8);
|
|
border-radius: 4px;
|
|
z-index: 5;
|
|
pointer-events: none;
|
|
box-sizing: border-box;
|
|
}
|
|
#tg-drag-proxy {
|
|
position: fixed;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
|
|
border-radius: 4px;
|
|
visibility: hidden;
|
|
opacity: 0.9;
|
|
transform-origin: top left;
|
|
}
|
|
.tg-grid-7 {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
}
|
|
.theme-dark .tg-view-container {
|
|
background: var(--background-primary);
|
|
}
|
|
.theme-dark .tg-month-cell {
|
|
background: var(--background-primary);
|
|
}
|
|
.theme-dark .tg-month-cell:hover {
|
|
background: var(--background-primary-alt);
|
|
}
|
|
.theme-dark .tg-time-header {
|
|
background: var(--background-primary);
|
|
}
|
|
.theme-dark .tg-event-base {
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .tg-ghost-event {
|
|
background-color: rgba(var(--tg-primary-rgb), 0.2);
|
|
border-color: rgba(var(--tg-primary-rgb), 0.6);
|
|
}
|
|
.theme-light .tg-view-container {
|
|
background: var(--background-primary);
|
|
}
|
|
.theme-light .tg-month-cell {
|
|
background: var(--background-primary);
|
|
}
|
|
.theme-light .tg-event-base {
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.tg-time-grid-container::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
.tg-time-grid-container::-webkit-scrollbar-track {
|
|
background: var(--background-secondary);
|
|
}
|
|
.tg-time-grid-container::-webkit-scrollbar-thumb {
|
|
background: var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
}
|
|
.tg-time-grid-container::-webkit-scrollbar-thumb:hover {
|
|
background: var(--background-modifier-border-hover);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-calendar {
|
|
--tg-cell-height: 50px;
|
|
--tg-font-header: 12px;
|
|
--tg-font-event: 11px;
|
|
}
|
|
.tg-time-axis {
|
|
width: 50px;
|
|
}
|
|
.tg-view-switch {
|
|
flex-wrap: wrap;
|
|
}
|
|
}
|
|
.tg-event-base:focus {
|
|
outline: 2px solid var(--interactive-accent);
|
|
outline-offset: 2px;
|
|
}
|
|
.tg-nav-btn:focus,
|
|
.tg-view-btn:focus {
|
|
outline: 2px solid var(--interactive-accent);
|
|
outline-offset: 1px;
|
|
}
|
|
.tg-month-cell,
|
|
.tg-event-base,
|
|
.tg-nav-btn,
|
|
.tg-view-btn {
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
@keyframes tg-event-enter {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.tg-event .task-checkbox-overlay {
|
|
position: absolute;
|
|
left: 2px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
z-index: 15;
|
|
background: rgba(var(--background-primary-rgb, 255, 255, 255), 0.9);
|
|
border-radius: 3px;
|
|
padding: 0 2px;
|
|
display: flex;
|
|
align-items: center;
|
|
opacity: 0;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.tg-event:hover .task-checkbox-overlay {
|
|
opacity: 1;
|
|
}
|
|
.task-checkbox-overlay .task-list-item-checkbox {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
z-index: 20;
|
|
}
|
|
.tg-event:has(.task-checkbox-overlay) .tg-event-title {
|
|
padding-left: 22px;
|
|
}
|
|
.tg-month-view .tg-event .task-checkbox-overlay {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* 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-nav,
|
|
.full-calendar-container .calendar-view-switcher {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.full-calendar-container .calendar-nav {
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
padding: 3px;
|
|
gap: 2px;
|
|
}
|
|
.full-calendar-container .calendar-nav > div {
|
|
display: flex;
|
|
}
|
|
.full-calendar-container .calendar-nav button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 6px 10px;
|
|
min-width: 28px;
|
|
height: 28px;
|
|
border: none;
|
|
background: transparent;
|
|
border-radius: calc(var(--radius-m) - 2px);
|
|
cursor: pointer;
|
|
transition: color 0.15s ease, background-color 0.15s ease;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-medium);
|
|
box-shadow: none;
|
|
}
|
|
.full-calendar-container .calendar-nav button:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.full-calendar-container .calendar-nav button:active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.full-calendar-container .calendar-nav .today-button {
|
|
padding: 6px 12px;
|
|
font-weight: var(--font-semibold);
|
|
}
|
|
.full-calendar-container .calendar-segmented-control {
|
|
display: flex;
|
|
align-items: center;
|
|
position: relative;
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
padding: 3px;
|
|
gap: 2px;
|
|
}
|
|
.full-calendar-container .calendar-segmented-indicator {
|
|
position: absolute;
|
|
top: 3px;
|
|
bottom: 3px;
|
|
left: 3px;
|
|
background-color: var(--interactive-accent);
|
|
border-radius: calc(var(--radius-m) - 2px);
|
|
transition: transform 0.2s ease, width 0.2s ease;
|
|
z-index: 0;
|
|
pointer-events: none;
|
|
}
|
|
.full-calendar-container button.calendar-segment-btn {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
padding: 6px 10px;
|
|
min-width: 32px;
|
|
height: 28px;
|
|
border: none;
|
|
background: transparent;
|
|
border-radius: calc(var(--radius-m) - 2px);
|
|
cursor: pointer;
|
|
transition: color 0.15s ease, background-color 0.15s ease;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-medium);
|
|
white-space: nowrap;
|
|
box-shadow: none;
|
|
}
|
|
.full-calendar-container button.calendar-segment-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.full-calendar-container button.calendar-segment-btn.is-active {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--color-accent);
|
|
}
|
|
.full-calendar-container button.calendar-segment-btn.is-active:hover {
|
|
background-color: var(--color-accent-1);
|
|
}
|
|
.full-calendar-container .calendar-segment-short {
|
|
font-weight: var(--font-semibold);
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1;
|
|
}
|
|
.full-calendar-container .calendar-segment-full {
|
|
display: none;
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1;
|
|
}
|
|
.full-calendar-container .calendar-segment-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.full-calendar-container .calendar-segment-icon svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.full-calendar-container .calendar-segment-separator {
|
|
width: 1px;
|
|
height: 16px;
|
|
background-color: var(--background-modifier-border);
|
|
margin: 0 4px;
|
|
}
|
|
.full-calendar-container .calendar-segment-btn.calendar-segment-custom {
|
|
gap: 2px;
|
|
}
|
|
.full-calendar-container .calendar-segment-btn.calendar-segment-custom .calendar-segment-icon {
|
|
display: flex;
|
|
}
|
|
.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;
|
|
}
|
|
@container (min-width: 700px) {
|
|
.full-calendar-container .calendar-segment-full {
|
|
display: inline;
|
|
}
|
|
.full-calendar-container .calendar-segment-btn {
|
|
padding: 6px 12px;
|
|
}
|
|
.full-calendar-container .calendar-segment-btn.calendar-segment-custom .calendar-segment-short {
|
|
display: inline;
|
|
}
|
|
}
|
|
.full-calendar-container .calendar-view-container {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.full-calendar-container .calendar-weekday-header {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
text-align: center;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
padding: var(--size-4-1) 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: -1px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.full-calendar-container .calendar-weekday {
|
|
padding: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-month {
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-month-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
grid-auto-rows: minmax(100px, auto);
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
height: 100%;
|
|
}
|
|
.full-calendar-container .calendar-day-cell {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-1);
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
}
|
|
.full-calendar-container .calendar-day-cell:hover {
|
|
background-color: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.8) !important;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-today {
|
|
background-color: var(--background-secondary-alt) !important;
|
|
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-today .calendar-day-number {
|
|
color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 1);
|
|
}
|
|
.full-calendar-container .calendar-day-header {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .calendar-day-cell:not(.is-today) {
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-other-month {
|
|
background-color: var(--background-secondary);
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-day-cell.is-weekend {
|
|
background-color: var( --background-secondary );
|
|
}
|
|
.full-calendar-container .calendar-day-number {
|
|
font-size: var(--font-ui-small);
|
|
text-align: center;
|
|
margin-bottom: var(--size-4-1);
|
|
flex-shrink: 0;
|
|
align-self: flex-end;
|
|
}
|
|
.full-calendar-container .calendar-events-container {
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.full-calendar-container .calendar-event {
|
|
background-color: var(--interactive-accent);
|
|
--bold-color: var(--text-on-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
padding: 2px 4px;
|
|
font-size: var(--font-ui-smaller);
|
|
margin-bottom: 2px;
|
|
margin-bottom: 3px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
cursor: pointer;
|
|
display: block;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox) {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-week-allday {
|
|
display: flex;
|
|
}
|
|
.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-month {
|
|
display: flex;
|
|
}
|
|
.full-calendar-container .full-calendar-container .calendar-event:hover {
|
|
opacity: 0.8;
|
|
}
|
|
.full-calendar-container .calendar-event.is-completed {
|
|
background-color: var( --background-modifier-success-hover );
|
|
text-decoration: line-through;
|
|
opacity: 0.7;
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day {
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day.is-start {
|
|
}
|
|
.full-calendar-container .calendar-event.is-multi-day.is-end {
|
|
}
|
|
.full-calendar-container .calendar-event.calendar-event-month {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
display: block;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-day {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-timeline-section {
|
|
flex-grow: 1;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
overflow-y: auto;
|
|
padding: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-timeline-events-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.full-calendar-container .calendar-timeline-events-container.is-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: var(--size-4-8);
|
|
}
|
|
.full-calendar-container .calendar-event-timed {
|
|
border: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
border-radius: var(--radius-s);
|
|
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
.full-calendar-container .calendar-event-timed:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.full-calendar-container .calendar-event-day-timed {
|
|
position: relative;
|
|
width: 100%;
|
|
min-height: 2.5em;
|
|
padding: var(--size-4-2);
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-event-day-timed:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.full-calendar-container .calendar-event-day-timed.is-completed {
|
|
background-color: var(--background-modifier-success-hover);
|
|
opacity: 0.7;
|
|
text-decoration: line-through;
|
|
}
|
|
.full-calendar-container .calendar-event-time {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: bold;
|
|
padding: 1px 3px;
|
|
background-color: rgba(0, 0, 0, 0.1);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-1);
|
|
display: inline-block;
|
|
width: fit-content;
|
|
}
|
|
.full-calendar-container .calendar-event-title {
|
|
font-size: var(--font-ui-small);
|
|
padding: 2px 3px;
|
|
flex-grow: 1;
|
|
white-space: normal;
|
|
word-wrap: break-word;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-week {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
}
|
|
.full-calendar-container .calendar-week-header {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
text-align: center;
|
|
background-color: var(--background-secondary);
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.full-calendar-container .calendar-header-cell {
|
|
padding: var(--size-4-1) 0;
|
|
border-left: 1px solid var(--background-modifier-border-hover);
|
|
}
|
|
.full-calendar-container .calendar-header-cell:first-child {
|
|
border-left: none;
|
|
}
|
|
.full-calendar-container .calendar-header-cell.is-today .calendar-day-number {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
width: 1.5em;
|
|
height: 1.5em;
|
|
line-height: 1.5em;
|
|
margin: auto;
|
|
margin: auto;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.full-calendar-container .calendar-weekday {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
}
|
|
.full-calendar-container .calendar-day-number {
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.full-calendar-container .calendar-week-grid-section {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-week-grid {
|
|
flex-grow: 1;
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
grid-template-rows: 1fr;
|
|
gap: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .calendar-day-column {
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-1);
|
|
border-left: none;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-1);
|
|
overflow: hidden;
|
|
min-width: 0;
|
|
}
|
|
.full-calendar-container .calendar-day-column:first-child {
|
|
}
|
|
.full-calendar-container .calendar-day-column.is-weekend {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-weekday-header {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-month-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-header {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-view-container.hide-weekends .mini-month-grid {
|
|
grid-template-columns: repeat(5, 1fr) !important;
|
|
}
|
|
.full-calendar-container .calendar-day-events-container {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 3px;
|
|
}
|
|
.full-calendar-container .calendar-event.calendar-event-week-allday {
|
|
display: block;
|
|
width: 100%;
|
|
position: relative;
|
|
left: auto;
|
|
top: auto;
|
|
height: auto;
|
|
margin-bottom: 3px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.full-calendar-container .calendar-view-container.view-year {
|
|
padding: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-year-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: var(--size-4-4);
|
|
}
|
|
.full-calendar-container .calendar-mini-month {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
overflow: hidden;
|
|
}
|
|
.full-calendar-container .mini-month-header {
|
|
text-align: center;
|
|
font-weight: var(--font-semibold);
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-secondary-alt);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.full-calendar-container .mini-month-body {
|
|
padding: var(--size-4-2);
|
|
}
|
|
.full-calendar-container .mini-month-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 2px;
|
|
text-align: center;
|
|
}
|
|
.full-calendar-container .mini-weekday-header {
|
|
display: contents;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
font-weight: bold;
|
|
}
|
|
.full-calendar-container .mini-weekday {
|
|
padding-bottom: var(--size-4-1);
|
|
}
|
|
.full-calendar-container .mini-day-cell {
|
|
font-size: var(--font-ui-small);
|
|
padding: 1px;
|
|
border-radius: var(--radius-s);
|
|
line-height: 1.5em;
|
|
}
|
|
.full-calendar-container .mini-day-cell.is-other-month {
|
|
color: var(--text-faint);
|
|
opacity: 0.6;
|
|
}
|
|
.full-calendar-container .mini-day-cell.is-today {
|
|
font-weight: bold;
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.full-calendar-container .mini-day-cell.has-events {
|
|
font-weight: bold;
|
|
}
|
|
.agenda-day-section {
|
|
display: flex;
|
|
width: 100%;
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding-top: var(--size-4-2);
|
|
padding-bottom: var(--size-4-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
}
|
|
.agenda-day-date-column {
|
|
width: 20%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
}
|
|
.agenda-day-events-column {
|
|
flex: 1;
|
|
}
|
|
.full-calendar-container input.task-list-item-checkbox {
|
|
vertical-align: middle;
|
|
}
|
|
.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-segmented-control {
|
|
display: none;
|
|
}
|
|
.calendar-nav .prev-button {
|
|
display: none;
|
|
}
|
|
.calendar-nav .next-button {
|
|
display: none;
|
|
}
|
|
.full-calendar-container .calendar-view-switcher-selector {
|
|
display: block;
|
|
}
|
|
}
|
|
@container (min-width: 601px) and (max-width: 699px) {
|
|
.full-calendar-container .calendar-segment-full {
|
|
display: none;
|
|
}
|
|
.full-calendar-container .calendar-segment-short {
|
|
display: inline;
|
|
}
|
|
.full-calendar-container .calendar-segment-btn {
|
|
padding: 6px 8px;
|
|
min-width: 28px;
|
|
}
|
|
}
|
|
|
|
/* src/styles/calendar/event.css */
|
|
.full-calendar-container .calendar-event-title-container p {
|
|
padding-inline-start: 0;
|
|
padding-inline-end: 0;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
.full-calendar-container .calendar-event-title-container {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
max-width: 100%;
|
|
}
|
|
.full-calendar-container .calendar-event-title p {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
/* src/styles/calendar/badge.css */
|
|
.calendar-badges-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 4px;
|
|
pointer-events: none;
|
|
z-index: 10;
|
|
}
|
|
.calendar-badge {
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
font-size: 10px;
|
|
padding: var(--size-2-1);
|
|
border-radius: var(--radius-s);
|
|
max-width: 80px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.calendar-day-cell {
|
|
position: relative;
|
|
}
|
|
|
|
/* src/styles/gantt/gantt.css */
|
|
.gantt-chart-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
position: relative;
|
|
background-color: var(--background-secondary);
|
|
--gantt-header-height: 50px;
|
|
--gantt-row-height: 40px;
|
|
--gantt-bar-height: 20px;
|
|
--gantt-bar-radius: 3px;
|
|
--gantt-bg-color: var(--background-secondary);
|
|
--gantt-grid-color: var(--background-modifier-border);
|
|
--gantt-row-color: var(--background-secondary);
|
|
--gantt-bar-color: var(--color-blue);
|
|
--gantt-milestone-color: var(--color-purple);
|
|
--gantt-progress-color: var(--color-blue);
|
|
--gantt-today-color: var(--color-accent);
|
|
}
|
|
.gantt-svg {
|
|
display: block;
|
|
font-family: var(--font-interface);
|
|
font-size: var(--font-ui-small);
|
|
user-select: none;
|
|
}
|
|
.gantt-header-bg {
|
|
fill: var(--background-primary);
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1px;
|
|
}
|
|
.gantt-header-text {
|
|
fill: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.gantt-grid-bg {
|
|
fill: transparent;
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 0;
|
|
}
|
|
.gantt-grid-line-vertical {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1px;
|
|
stroke-dasharray: 2, 2;
|
|
}
|
|
.gantt-task-item {
|
|
cursor: pointer;
|
|
}
|
|
.gantt-task-bar {
|
|
fill: var(--interactive-accent);
|
|
stroke: var(--interactive-accent-hover);
|
|
stroke-width: 1px;
|
|
transition: fill 0.1s ease-in-out;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-bar {
|
|
fill: var(--interactive-accent-hover);
|
|
}
|
|
.gantt-task-milestone {
|
|
fill: var(--color-orange);
|
|
stroke: var(--color-orange-border);
|
|
stroke-width: 1px;
|
|
}
|
|
.gantt-task-label {
|
|
fill: var(--text-on-accent);
|
|
font-size: calc(var(--font-ui-small) * 0.9);
|
|
pointer-events: none;
|
|
white-space: pre;
|
|
}
|
|
.gantt-task-bar.status-completed {
|
|
fill: var(--color-green);
|
|
stroke: var(--color-green-border);
|
|
}
|
|
.gantt-task-bar.priority-high {
|
|
}
|
|
.gantt-header {
|
|
position: sticky;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 10;
|
|
height: var(--gantt-header-height);
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
user-select: none;
|
|
background-color: var(--gantt-bg-color);
|
|
pointer-events: none;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.gantt-header-row {
|
|
position: relative;
|
|
height: 50%;
|
|
width: 100%;
|
|
}
|
|
.gantt-header-row.primary {
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
font-weight: 600;
|
|
}
|
|
.gantt-header-cell {
|
|
position: absolute;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: var(--text-normal);
|
|
border-right: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
background-color: var(--gantt-bg-color);
|
|
pointer-events: auto;
|
|
}
|
|
.gantt-body {
|
|
position: relative;
|
|
overflow: auto;
|
|
height: 100%;
|
|
padding-top: var(--gantt-header-height);
|
|
margin-top: calc(var(--gantt-header-height) * -1);
|
|
}
|
|
.gantt-grid {
|
|
position: absolute;
|
|
top: var(--gantt-header-height);
|
|
left: 0;
|
|
height: calc(100% - var(--gantt-header-height));
|
|
min-width: 100%;
|
|
}
|
|
.gantt-grid-column {
|
|
position: absolute;
|
|
top: 0;
|
|
height: 100%;
|
|
border-right: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
}
|
|
.gantt-grid-column.today {
|
|
background-color: var(--gantt-today-color);
|
|
}
|
|
.gantt-grid-row {
|
|
position: absolute;
|
|
left: 0;
|
|
border-bottom: 1px solid var(--gantt-grid-color);
|
|
box-sizing: border-box;
|
|
background-color: var(--gantt-row-color);
|
|
}
|
|
.gantt-grid-row:nth-child(odd) {
|
|
background-color: var(--gantt-bg-color);
|
|
}
|
|
.gantt-bars {
|
|
position: absolute;
|
|
top: var(--gantt-header-height);
|
|
left: 0;
|
|
height: calc(100% - var(--gantt-header-height));
|
|
min-width: 100%;
|
|
pointer-events: none;
|
|
}
|
|
.gantt-task-container {
|
|
position: absolute;
|
|
box-sizing: border-box;
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
transition: transform 0.1s ease;
|
|
}
|
|
.gantt-task-container:hover {
|
|
z-index: 10;
|
|
transform: translateY(-2px);
|
|
}
|
|
.gantt-task-bar.milestone {
|
|
background-color: var(--gantt-milestone-color);
|
|
width: 15px !important;
|
|
height: 15px !important;
|
|
border-radius: 50%;
|
|
transform: rotate(45deg);
|
|
top: 50%;
|
|
margin-top: -7.5px;
|
|
left: 50%;
|
|
margin-left: -7.5px;
|
|
}
|
|
.gantt-task-progress {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
background-color: var(--gantt-progress-color);
|
|
opacity: 0.7;
|
|
}
|
|
.gantt-task-label {
|
|
position: absolute;
|
|
left: calc(100% + 8px);
|
|
top: 0;
|
|
white-space: nowrap;
|
|
font-size: 12px;
|
|
color: var(--text-normal);
|
|
line-height: var(--gantt-bar-height);
|
|
}
|
|
.gantt-task-container.right-aligned .gantt-task-label {
|
|
left: auto;
|
|
right: calc(100% + 8px);
|
|
text-align: right;
|
|
}
|
|
@media (max-width: 680px) {
|
|
.gantt-header-cell {
|
|
font-size: 10px;
|
|
}
|
|
.gantt-task-label {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
.gantt-chart-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.gantt-header-container {
|
|
height: 40px;
|
|
flex-shrink: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.gantt-header-svg {
|
|
display: block;
|
|
}
|
|
.gantt-header-tick-major,
|
|
.gantt-header-tick-minor,
|
|
.gantt-header-tick-day,
|
|
.gantt-header-today-marker {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-header-tick-major {
|
|
stroke-width: 1.5;
|
|
}
|
|
.gantt-header-today-marker {
|
|
stroke: var(--color-orange);
|
|
stroke-width: 1.5;
|
|
stroke-dasharray: 4, 2;
|
|
}
|
|
.gantt-header-label-major,
|
|
.gantt-header-label-minor,
|
|
.gantt-header-label-day {
|
|
font-size: var(--font-ui-small);
|
|
fill: var(--text-muted);
|
|
user-select: none;
|
|
pointer-events: none;
|
|
}
|
|
.gantt-header-label-major {
|
|
font-weight: 500;
|
|
fill: var(--text-normal);
|
|
}
|
|
.gantt-scroll-container {
|
|
flex-grow: 1;
|
|
overflow: auto;
|
|
position: relative;
|
|
}
|
|
.gantt-content-wrapper {
|
|
position: relative;
|
|
background: var(--background-primary);
|
|
}
|
|
.gantt-grid-line-major,
|
|
.gantt-grid-line-minor {
|
|
stroke: var(--background-modifier-border-hover);
|
|
stroke-width: 0.5;
|
|
}
|
|
.gantt-grid-line-major {
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-grid-line-horizontal {
|
|
stroke: var(--background-modifier-border);
|
|
stroke-width: 1;
|
|
}
|
|
.gantt-grid-today-marker {
|
|
stroke: var(--color-orange);
|
|
stroke-width: 1;
|
|
stroke-dasharray: 4, 2;
|
|
}
|
|
.gantt-task-item {
|
|
cursor: pointer;
|
|
}
|
|
.gantt-task-bar {
|
|
fill: var(--color-blue);
|
|
stroke: var(--color-blue-hover);
|
|
stroke-width: 0.5;
|
|
transition: fill 0.1s ease;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-bar {
|
|
fill: var(--color-accent);
|
|
}
|
|
.gantt-task-milestone {
|
|
fill: var(--color-purple);
|
|
stroke: var(--color-purple);
|
|
stroke-width: 1;
|
|
transition: fill 0.1s ease;
|
|
}
|
|
.gantt-task-item:hover .gantt-task-milestone {
|
|
fill: var(--color-accent);
|
|
}
|
|
.gantt-task-item.status-done .gantt-task-bar,
|
|
.gantt-task-item.status-done .gantt-task-milestone {
|
|
fill: var(--color-green);
|
|
stroke: var(--color-green);
|
|
opacity: 0.7;
|
|
}
|
|
.gantt-task-item.status-cancelled .gantt-task-bar,
|
|
.gantt-task-item.status-cancelled .gantt-task-milestone {
|
|
fill: var(--color-red);
|
|
stroke: var(--color-red);
|
|
opacity: 0.6;
|
|
text-decoration: line-through;
|
|
}
|
|
.gantt-task-item.status-inprogress .gantt-task-bar {
|
|
}
|
|
.gantt-task-label-fo {
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
user-select: none;
|
|
}
|
|
.gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.3;
|
|
padding: 0 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100%;
|
|
}
|
|
.gantt-task-label-markdown p {
|
|
margin: 0 !important;
|
|
}
|
|
.gantt-milestone-label-container p {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
margin-inline-start: 0;
|
|
margin-inline-end: 0;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.3;
|
|
padding: 0 2px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100%;
|
|
}
|
|
.gantt-task-item.status-done .gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.gantt-task-item.status-cancelled .gantt-task-label-markdown {
|
|
color: var(--text-on-accent);
|
|
text-decoration: line-through;
|
|
}
|
|
.gantt-milestone-label {
|
|
fill: var(--text-normal);
|
|
}
|
|
.gantt-filter-area {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
width: 100%;
|
|
padding-left: var(--size-2-2);
|
|
padding-right: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.gantt-filter-area .filter-component {
|
|
flex: 1;
|
|
}
|
|
.gantt-offscreen-indicator {
|
|
position: absolute;
|
|
top: calc(50% + 20px);
|
|
transform: translateY(-50%);
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: rgba(128, 128, 128, 0.6);
|
|
border-radius: 50%;
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
display: none;
|
|
transition: opacity 0.2s ease-in-out;
|
|
opacity: 1;
|
|
}
|
|
.gantt-offscreen-indicator[style*="display: none"] {
|
|
opacity: 0;
|
|
}
|
|
.gantt-offscreen-indicator-left {
|
|
left: 5px;
|
|
}
|
|
.gantt-offscreen-indicator-right {
|
|
right: 5px;
|
|
}
|
|
.gantt-indicator-container {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: var(--size-4-3);
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
}
|
|
.gantt-indicator-container-left {
|
|
left: 0;
|
|
}
|
|
.gantt-indicator-container-right {
|
|
right: 0;
|
|
}
|
|
.gantt-single-indicator {
|
|
position: absolute;
|
|
left: var(--size-2-1);
|
|
width: var(--size-4-2);
|
|
height: var(--size-4-2);
|
|
border-radius: 50%;
|
|
background-color: var(--text-faint);
|
|
pointer-events: auto;
|
|
cursor: default;
|
|
}
|
|
.gantt-single-indicator:hover {
|
|
background-color: var(--text-accent);
|
|
}
|
|
.gantt-chart-container .gantt-indicator-container {
|
|
top: calc(var(--header-height, 40px) + var(--filter-height, 0px));
|
|
bottom: 15px;
|
|
}
|
|
.gantt-chart-container .gantt-indicator-container-right {
|
|
right: 15px;
|
|
}
|
|
.gantt-task-label p {
|
|
margin: 0;
|
|
line-height: var(--gantt-bar-height);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* src/styles/task-status-indicator.css */
|
|
.task-status-indicator-wrapper {
|
|
display: flex;
|
|
}
|
|
.task-status-indicator {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 var(--size-2-2);
|
|
min-height: 20px;
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-hover);
|
|
cursor: pointer;
|
|
user-select: none;
|
|
transition:
|
|
background-color 0.15s ease,
|
|
color 0.15s ease,
|
|
opacity 0.15s ease;
|
|
}
|
|
.task-status-indicator__text {
|
|
padding: 0 var(--size-2-1);
|
|
white-space: nowrap;
|
|
}
|
|
.task-status-indicator:hover {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-status-indicator.is-disabled {
|
|
opacity: 0.5;
|
|
cursor: default;
|
|
}
|
|
.task-status-indicator.is-processing {
|
|
opacity: 0.7;
|
|
cursor: progress;
|
|
}
|
|
.task-status-indicator.is-completed {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--background-modifier-success);
|
|
}
|
|
|
|
/* src/styles/inline-editor.css */
|
|
.inline-editor {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 100%;
|
|
}
|
|
.inline-content-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-bottom: 1px solid var(--interactive-accent);
|
|
border-radius: 0;
|
|
padding: 2px 4px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
resize: none;
|
|
outline: none;
|
|
transition: border-color 0.15s ease, background-color 0.15s ease;
|
|
}
|
|
.inline-content-editor:focus {
|
|
border-bottom-color: var(--interactive-accent-hover);
|
|
background-color: var(--background-primary-alt);
|
|
box-shadow: 0 1px 0 0 var(--interactive-accent-hover);
|
|
}
|
|
.inline-embedded-editor-container {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
border: none;
|
|
border-radius: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor {
|
|
width: 100%;
|
|
min-height: 18px;
|
|
background-color: transparent;
|
|
}
|
|
.inline-embedded-editor .cm-editor {
|
|
border: none !important;
|
|
outline: none !important;
|
|
background-color: transparent !important;
|
|
border-bottom: 1px solid var(--interactive-accent) !important;
|
|
}
|
|
.inline-embedded-editor .cm-focused {
|
|
outline: none !important;
|
|
border-bottom-color: var(--interactive-accent-hover) !important;
|
|
background-color: var(--background-primary-alt) !important;
|
|
}
|
|
.inline-embedded-editor .cm-content {
|
|
padding: 2px 4px;
|
|
min-height: 18px;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
.inline-embedded-editor .cm-line {
|
|
padding: 0;
|
|
}
|
|
.inline-metadata-editor {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 2px 6px;
|
|
background-color: var(--background-primary-alt);
|
|
border: 1px solid var(--interactive-accent);
|
|
border-radius: var(--radius-s);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
min-width: 120px;
|
|
max-width: 300px;
|
|
position: relative;
|
|
z-index: 100;
|
|
}
|
|
.inline-metadata-editor input {
|
|
border: unset;
|
|
outline: unset;
|
|
padding: 0;
|
|
height: var(--line-height);
|
|
background-color: transparent;
|
|
background: transparent;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.inline-metadata-editor input:focus {
|
|
outline: unset;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
}
|
|
.inline-metadata-editor:has(input) {
|
|
outline: unset;
|
|
border: 0;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
border-radius: unset;
|
|
}
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-date-input,
|
|
.inline-recurrence-input {
|
|
flex: 1;
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
min-width: 80px;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-project-input:focus,
|
|
.inline-tags-input:focus,
|
|
.inline-context-input:focus,
|
|
.inline-date-input:focus,
|
|
.inline-recurrence-input:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.inline-priority-select {
|
|
padding: 2px 4px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: transparent;
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
cursor: pointer;
|
|
min-width: 80px;
|
|
}
|
|
.inline-priority-select:focus {
|
|
background-color: var(--background-primary);
|
|
box-shadow: inset 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.add-metadata-container {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin-left: 4px;
|
|
}
|
|
.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.tree-task-item .task-item-container:hover .add-metadata-btn {
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
--icon-size: 10px;
|
|
opacity: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.add-metadata-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
opacity: 1;
|
|
}
|
|
.add-metadata-btn:active {
|
|
background-color: var(--background-modifier-active);
|
|
transform: scale(0.95);
|
|
}
|
|
.add-metadata-btn svg {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
.inline-editor * {
|
|
transition:
|
|
border-color 0.15s ease,
|
|
background-color 0.15s ease,
|
|
box-shadow 0.15s ease;
|
|
}
|
|
.inline-editor input:focus,
|
|
.inline-editor textarea:focus,
|
|
.inline-editor select:focus {
|
|
outline: none;
|
|
}
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, transform 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.task-item-metadata .task-date:hover,
|
|
.task-item-metadata .task-project:hover,
|
|
.task-item-metadata .task-tag:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
transform: none;
|
|
}
|
|
.task-item-metadata .task-date:hover::after,
|
|
.task-item-metadata .task-project:hover::after,
|
|
.task-item-metadata .task-tag:hover::after {
|
|
display: none;
|
|
}
|
|
.task-item-content {
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: fadeInScale 0.15s ease-out;
|
|
}
|
|
@keyframes fadeInScale {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.inline-editor-placeholder {
|
|
min-height: 1em;
|
|
display: inline-block;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.inline-project-input,
|
|
.inline-tags-input,
|
|
.inline-context-input,
|
|
.inline-recurrence-input {
|
|
min-width: 100px;
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.inline-metadata-editor {
|
|
max-width: 250px;
|
|
}
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.inline-content-editor,
|
|
.inline-embedded-editor .cm-editor {
|
|
border-bottom-width: 2px;
|
|
}
|
|
.inline-metadata-editor {
|
|
border-width: 2px;
|
|
}
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.inline-editor *,
|
|
.task-item-metadata .task-date,
|
|
.task-item-metadata .task-project,
|
|
.task-item-metadata .task-tag,
|
|
.task-item-content,
|
|
.add-metadata-btn {
|
|
transition: none;
|
|
}
|
|
.inline-metadata-editor {
|
|
animation: none;
|
|
}
|
|
}
|
|
.inline-dependson-input,
|
|
.inline-id-input {
|
|
width: 100%;
|
|
min-width: 200px;
|
|
padding: 4px 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: inherit;
|
|
font-size: var(--font-ui-small);
|
|
outline: none;
|
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
.inline-dependson-input:focus,
|
|
.inline-id-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.inline-dependson-input::placeholder,
|
|
.inline-id-input::placeholder {
|
|
color: var(--text-faint);
|
|
}
|
|
|
|
/* src/styles/view.css */
|
|
.task-sidebar.collapsed {
|
|
width: 48px;
|
|
overflow: hidden;
|
|
}
|
|
.panel-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
opacity: 0.6;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.panel-toggle-btn:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav {
|
|
align-items: center;
|
|
}
|
|
.sidebar-nav {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 20px 0 10px 0;
|
|
gap: 5px;
|
|
}
|
|
.sidebar-nav-spacer {
|
|
height: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
margin: 8px 15px;
|
|
opacity: 0.7;
|
|
margin-top: auto;
|
|
}
|
|
.sidebar-nav-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
margin: 0 5px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.sidebar-nav-item:hover {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.sidebar-nav-item.is-active {
|
|
font-weight: 600;
|
|
--background-modifier-hover: var(--interactive-accent);
|
|
--icon-color: var(--text-on-accent);
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.nav-item-icon {
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: var(--size-4-2);
|
|
}
|
|
.nav-item-label {
|
|
flex: 1;
|
|
font-size: var(--font-ui-medium);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.nav-item-label.hidden {
|
|
opacity: 0;
|
|
width: 0;
|
|
overflow: hidden;
|
|
margin: 0;
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav-item {
|
|
padding: 8px 10px;
|
|
justify-content: center;
|
|
width: var(--size-4-9);
|
|
flex-shrink: 0;
|
|
transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out;
|
|
}
|
|
.task-sidebar.collapsed .nav-item-icon {
|
|
margin-right: 0;
|
|
}
|
|
.task-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
min-width: 0;
|
|
transition: margin 0.3s ease;
|
|
}
|
|
.task-sidebar.collapsed .task-content {
|
|
margin-left: -200px;
|
|
transition: margin 0.3s ease;
|
|
}
|
|
.task-genius-view .project-tree {
|
|
padding: var(--size-2-2) 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
.task-genius-view .tree-root {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-genius-view .task-genius-view .tree-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 6px 8px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
border-radius: 4px;
|
|
margin: 0 5px;
|
|
}
|
|
.task-genius-view .tree-item:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .tree-item-name {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-genius-view .tree-item-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-left: 5px;
|
|
background-color: var(--background-modifier-hover);
|
|
padding: 1px 6px;
|
|
border-radius: 10px;
|
|
}
|
|
.task-genius-view .tree-item-toggle,
|
|
.task-genius-view .tree-item-indent {
|
|
width: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 5px;
|
|
}
|
|
.task-genius-view .tree-item-toggle {
|
|
cursor: pointer;
|
|
}
|
|
.content-header {
|
|
padding: 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-right: 10px;
|
|
}
|
|
.focus-filter {
|
|
margin-left: 10px;
|
|
}
|
|
.workspace-leaf-content .task-genius-view {
|
|
padding: 0;
|
|
}
|
|
.bases-view .task-genius-view {
|
|
height: 100%;
|
|
}
|
|
.task-genius-container {
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.task-sidebar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
overflow-y: auto;
|
|
width: 240px;
|
|
transition: width 0.3s ease-in-out;
|
|
position: relative;
|
|
}
|
|
.task-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
min-width: 300px;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-sidebar .sidebar-nav {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 0;
|
|
height: 100%;
|
|
}
|
|
.project-tree {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 0;
|
|
overflow-y: auto;
|
|
}
|
|
.tree-root {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-genius-view .tree-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
margin: 2px 8px;
|
|
}
|
|
.task-genius-view .tree-item:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .tree-item.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
color: var(--text-accent);
|
|
}
|
|
.task-genius-view .tree-item-toggle {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 4px;
|
|
}
|
|
.task-genius-view .tree-item-indent {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
}
|
|
.task-genius-view .tree-item-icon {
|
|
margin-right: 8px;
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .tree-item-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-genius-view .tree-item-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: 10px;
|
|
padding: 2px 6px;
|
|
min-width: 16px;
|
|
text-align: center;
|
|
}
|
|
.task-genius-view .tree-item.expanded > .tree-item-children {
|
|
display: flex;
|
|
}
|
|
.task-genius-view .tree-item-children {
|
|
display: none;
|
|
flex-direction: column;
|
|
margin-left: 16px;
|
|
width: 100%;
|
|
}
|
|
.task-genius-view .content-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 10px 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: 50px;
|
|
}
|
|
.task-genius-view .content-title {
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
margin-right: 12px;
|
|
flex: 1;
|
|
}
|
|
@media screen and (max-width: 768px) {
|
|
.task-genius-view .content-title {
|
|
display: none;
|
|
}
|
|
.task-genius-view .task-count {
|
|
flex: 1;
|
|
}
|
|
.task-genius-view .focus-filter {
|
|
flex: 1;
|
|
}
|
|
}
|
|
.task-genius-view .content-filter {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-right: 12px;
|
|
}
|
|
.task-genius-view .filter-input {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 4px 8px;
|
|
width: 200px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-genius-view .focus-button {
|
|
background-color: var(--interactive-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 4px 10px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
}
|
|
.task-genius-view .focus-button:hover {
|
|
background-color: var(--interactive-hover);
|
|
}
|
|
.task-genius-view .focus-button.focused {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.mod-root .task-genius-action-btn {
|
|
--icon-size: 16px;
|
|
}
|
|
.mod-left-split .task-genius-action-btn {
|
|
display: none;
|
|
}
|
|
.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
|
|
display: none;
|
|
}
|
|
.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn) {
|
|
display: none;
|
|
}
|
|
.task-genius-view .task-empty-state,
|
|
.task-genius-fluent-view .task-empty-state {
|
|
width: 100%;
|
|
height: 100%;
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-fluent-error-state {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
--icon-size: var(--size-4-12);
|
|
font-size: var(--font-ui-large);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.mod-root .task-genius-tab-header {
|
|
container-type: inline-size !important;
|
|
}
|
|
@container (max-width: 120px) {
|
|
.mod-root .task-genius-action-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
.task-sidebar.collapsed .sidebar-nav {
|
|
max-width: 45px;
|
|
}
|
|
.quick-workflow-modal {
|
|
max-width: 600px;
|
|
min-height: 400px;
|
|
}
|
|
.workflow-template-section {
|
|
margin-bottom: 20px;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.template-description {
|
|
margin-top: 10px;
|
|
}
|
|
.template-desc-text {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
margin: 0;
|
|
}
|
|
.workflow-form-section {
|
|
margin-bottom: 20px;
|
|
}
|
|
.workflow-stages-preview {
|
|
margin-top: 15px;
|
|
}
|
|
.stages-preview-list {
|
|
margin-top: 10px;
|
|
}
|
|
.stage-preview-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 8px 12px;
|
|
margin: 4px 0;
|
|
background: var(--background-secondary);
|
|
border-radius: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.stage-name {
|
|
font-weight: 500;
|
|
}
|
|
.stage-type {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.stage-actions {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
.no-stages-message {
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 20px;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
margin-top: 10px;
|
|
}
|
|
.workflow-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 15px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-progress-indicator {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
padding: 15px;
|
|
margin: 10px 0;
|
|
}
|
|
.workflow-progress-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
}
|
|
.workflow-name {
|
|
font-weight: 600;
|
|
font-size: 1.1em;
|
|
}
|
|
.workflow-progress-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.workflow-progress-bar-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin-bottom: 15px;
|
|
}
|
|
.workflow-progress-bar {
|
|
flex: 1;
|
|
height: 8px;
|
|
background: var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
}
|
|
.workflow-progress-fill {
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
transition: width 0.3s ease;
|
|
}
|
|
.workflow-progress-percentage {
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
min-width: 35px;
|
|
text-align: right;
|
|
}
|
|
.workflow-stage-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
.workflow-stage-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
padding: 10px;
|
|
border-radius: 6px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.workflow-stage-item.completed {
|
|
background: var(--background-modifier-success);
|
|
}
|
|
.workflow-stage-item.current {
|
|
background: var(--background-modifier-accent);
|
|
border: 1px solid var(--interactive-accent);
|
|
}
|
|
.workflow-stage-item.pending {
|
|
background: var(--background-primary);
|
|
opacity: 0.7;
|
|
}
|
|
.workflow-stage-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-top: 2px;
|
|
}
|
|
.workflow-stage-icon.completed-icon {
|
|
color: var(--text-success);
|
|
}
|
|
.workflow-stage-icon.current-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.workflow-stage-icon.pending-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-stage-content {
|
|
flex: 1;
|
|
}
|
|
.workflow-stage-name {
|
|
font-weight: 500;
|
|
margin-bottom: 2px;
|
|
}
|
|
.workflow-stage-type {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-stage-number {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
background: var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.8em;
|
|
font-weight: 600;
|
|
margin-top: 2px;
|
|
}
|
|
.workflow-stage-item.completed .workflow-stage-number {
|
|
background: var(--text-success);
|
|
color: var(--background-primary);
|
|
}
|
|
.workflow-stage-item.current .workflow-stage-number {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-substage-container {
|
|
margin-top: 8px;
|
|
padding-left: 16px;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-substage-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 4px 0;
|
|
}
|
|
.workflow-substage-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.workflow-substage-name {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/property-view.css */
|
|
.task-property-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .task-property-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.task-property-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.task-property-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.task-property-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.multi-select-mode .task-property-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.task-property-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-property-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-property-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.task-property-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.task-property-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-property-list-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.task-property-icon {
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-property-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-property-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
}
|
|
.task-property-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.task-property-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.task-property-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-property-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.task-property-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.is-phone .task-property-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .task-property-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .task-property-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .task-property-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .task-property-container:has(.task-property-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .task-property-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .task-property-sidebar-header:has(.task-property-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
|
|
/* src/styles/forecast.css */
|
|
.forecast-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
flex: 1;
|
|
}
|
|
.forecast-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.forecast-title-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.forecast-title {
|
|
font-weight: 600;
|
|
font-size: 1.2em;
|
|
}
|
|
.forecast-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
margin-top: 4px;
|
|
}
|
|
.forecast-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.forecast-settings {
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.forecast-settings:hover {
|
|
opacity: 1;
|
|
}
|
|
.forecast-focus-bar {
|
|
display: flex;
|
|
padding: 10px 15px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
.focus-input {
|
|
flex: 1;
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--interactive-accent);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.unfocus-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.unfocus-button:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.forecast-content {
|
|
display: flex;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.forecast-left-column {
|
|
width: 360px;
|
|
min-width: 360px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.forecast-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--background-primary);
|
|
width: calc(100% - 360px);
|
|
}
|
|
.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: bolder;
|
|
}
|
|
.date-section-header .section-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
height: var(--size-4-5);
|
|
width: var(--size-4-5);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-date-section.overdue .date-section-header {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.task-date-section.overdue .section-title {
|
|
color: var(--text-error);
|
|
}
|
|
.task-date-section.overdue .section-count {
|
|
background-color: var(--text-error);
|
|
color: white;
|
|
}
|
|
.section-tasks {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.forecast-empty-state {
|
|
display: flex;
|
|
height: 100px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
}
|
|
.forecast-sidebar-toggle {
|
|
position: absolute;
|
|
}
|
|
.is-phone .forecast-header:has(.forecast-sidebar-toggle) .forecast-title-container {
|
|
padding-left: var(--size-4-10);
|
|
}
|
|
.is-phone .forecast-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .forecast-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .forecast-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .forecast-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .forecast-sidebar-close {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
z-index: 15;
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.is-phone .task-genius-container:has(.forecast-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
|
|
/* src/styles/calendar.css */
|
|
.task-genius-view .mini-calendar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 10px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-title {
|
|
font-weight: 600;
|
|
display: flex;
|
|
gap: 5px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-month {
|
|
margin-right: 5px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-year {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
background-color: var(--background-modifier-hover);
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-nav-btn:hover {
|
|
opacity: 1;
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-today-btn {
|
|
padding: 2px 8px;
|
|
border-radius: 4px;
|
|
background-color: var(--background-modifier-hover);
|
|
cursor: pointer;
|
|
font-size: 0.8em;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-today-btn:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 1px;
|
|
padding: 0 10px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-header {
|
|
text-align: center;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
padding: 3px 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 3px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-header.calendar-weekend {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-genius-view .mini-calendar-container.hide-weekends .calendar-grid {
|
|
grid-template-columns: repeat(5, 1fr);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day {
|
|
border-radius: 4px;
|
|
padding: 1px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: background-color 0.2s ease;
|
|
height: auto;
|
|
min-height: var(--size-4-12);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.selected {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.today {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.past-due {
|
|
color: var(--text-error);
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day.other-month {
|
|
opacity: 0.5;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-number {
|
|
text-align: center;
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
padding: 1px;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-count {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
border-radius: 8px;
|
|
font-size: 0.7em;
|
|
padding: 1px 4px;
|
|
margin: 1px auto 0;
|
|
text-align: center;
|
|
width: fit-content;
|
|
}
|
|
.task-genius-view .mini-calendar-container .calendar-day-count.has-priority {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
@media (max-width: 1400px) {
|
|
.task-genius-container:has(.task-details.visible) .mini-calendar-container .forecast-left-column {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* src/styles/table.css */
|
|
.table-view-adapter {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.task-table-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
position: relative;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
table-layout: fixed;
|
|
font-size: var(--font-ui-small);
|
|
flex: 1;
|
|
min-height: 0;
|
|
min-width: max-content;
|
|
}
|
|
.task-table-wrapper {
|
|
flex: 1;
|
|
overflow: auto;
|
|
min-height: 0;
|
|
position: relative;
|
|
overflow-x: auto;
|
|
overflow-y: auto;
|
|
scroll-behavior: smooth;
|
|
}
|
|
.task-table-header {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 2px solid var(--background-modifier-border);
|
|
min-width: max-content;
|
|
}
|
|
.task-table-header-row {
|
|
height: 40px;
|
|
}
|
|
.task-table-header-cell {
|
|
padding: 8px 12px;
|
|
text-align: left;
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
position: relative;
|
|
user-select: none;
|
|
background-color: var(--background-secondary);
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-header-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.task-table-header-cell.sortable {
|
|
cursor: pointer;
|
|
}
|
|
.task-table-header-cell.sortable:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-header-content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 4px;
|
|
}
|
|
.task-table-header-title {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-sort-icon {
|
|
font-size: 12px;
|
|
opacity: 0.5;
|
|
transition: opacity 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-sort-icon.asc,
|
|
.task-table-sort-icon.desc {
|
|
opacity: 1;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-resize-handle {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 4px;
|
|
height: 100%;
|
|
cursor: col-resize;
|
|
background-color: transparent;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-resize-handle:hover {
|
|
background-color: var(--text-accent);
|
|
}
|
|
.task-table-body {
|
|
background-color: var(--background-primary);
|
|
}
|
|
.task-table-row {
|
|
height: 40px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-row:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row.selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.task-table-row:nth-child(even) {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-table-row:nth-child(even):hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row:nth-child(even).selected {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.task-table-cell {
|
|
padding: 8px 12px;
|
|
vertical-align: middle;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-cell:last-child {
|
|
border-right: none;
|
|
}
|
|
.task-table-cell.editing {
|
|
padding: 0;
|
|
}
|
|
.task-table-tree-indent {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.task-table-cell:has(.task-table-expand-btn) {
|
|
padding-left: 0;
|
|
}
|
|
.task-table-row.task-table-subtask {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-table-expand-btn {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
width: 20px;
|
|
height: 20px;
|
|
padding: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 2px;
|
|
font-size: 10px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-expand-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row-level-1 .task-table-cell:first-child {
|
|
padding-left: 32px;
|
|
}
|
|
.task-table-row-level-2 .task-table-cell:first-child {
|
|
padding-left: 52px;
|
|
}
|
|
.task-table-row-level-3 .task-table-cell:first-child {
|
|
padding-left: 72px;
|
|
}
|
|
.task-table-row-level-4 .task-table-cell:first-child {
|
|
padding-left: 92px;
|
|
}
|
|
.task-table-row-level-5 .task-table-cell:first-child {
|
|
padding-left: 112px;
|
|
}
|
|
.task-table-text {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-table-number {
|
|
text-align: right;
|
|
color: var(--text-muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
.task-table-status {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-table-status-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-status-text {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-table-status.completed .task-table-status-icon {
|
|
color: var(--text-success);
|
|
}
|
|
.task-table-status.in-progress .task-table-status-icon {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-status.abandoned .task-table-status-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-status.planned .task-table-status-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-status.not-started .task-table-status-icon {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-priority {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-table-priority.clickable-priority {
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-priority.clickable-priority:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-priority-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-priority-icon.high {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-priority-icon.medium {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-priority-icon.low {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-priority-text {
|
|
flex: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-table-priority-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-date {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-table-date:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-date-text {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-table-date-relative {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.task-table-date-relative.today {
|
|
color: var(--text-success);
|
|
}
|
|
.task-table-date-relative.tomorrow {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-date-relative.yesterday {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-date-relative.overdue {
|
|
color: var(--text-error);
|
|
}
|
|
.task-table-date-relative.upcoming {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-table-date-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 4px;
|
|
align-items: center;
|
|
}
|
|
.task-table-tag-chip {
|
|
background-color: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
padding: 2px 6px;
|
|
border-radius: 8px;
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
white-space: nowrap;
|
|
}
|
|
.task-table-tags-empty {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-table-text-input,
|
|
.task-table-tags-input {
|
|
border: none !important;
|
|
background: transparent !important;
|
|
outline: none !important;
|
|
width: 100% !important;
|
|
padding: 0 !important;
|
|
font: inherit !important;
|
|
color: var(--text-normal) !important;
|
|
}
|
|
.task-table-text-input:focus,
|
|
.task-table-tags-input:focus {
|
|
background-color: var(--background-modifier-form-field) !important;
|
|
border-radius: 3px !important;
|
|
padding: 2px 4px !important;
|
|
}
|
|
.task-count-icon {
|
|
font-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.task-table-empty-row {
|
|
height: 80px;
|
|
}
|
|
.task-table-empty-cell {
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
vertical-align: middle;
|
|
}
|
|
.task-table-loading {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
padding: 20px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
z-index: 100;
|
|
}
|
|
.task-table.resizing {
|
|
user-select: none;
|
|
}
|
|
.task-table.resizing * {
|
|
cursor: col-resize !important;
|
|
}
|
|
.virtual-scroll-spacer {
|
|
pointer-events: none;
|
|
visibility: hidden;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table-container {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.task-table-wrapper {
|
|
overflow-x: auto;
|
|
}
|
|
.task-table {
|
|
min-width: 800px;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
padding: 6px 8px;
|
|
}
|
|
.task-table-row {
|
|
height: 36px;
|
|
}
|
|
.task-table-header-row {
|
|
height: 36px;
|
|
}
|
|
}
|
|
.theme-dark .task-table-container {
|
|
border-color: var(--background-modifier-border);
|
|
}
|
|
.theme-dark .task-table-row:nth-child(even) {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.task-table-container {
|
|
border-width: 2px;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
border-width: 1px;
|
|
}
|
|
.task-table-row {
|
|
border-bottom-width: 1px;
|
|
}
|
|
}
|
|
@media print {
|
|
.task-table-container {
|
|
border: none;
|
|
overflow: visible;
|
|
height: auto;
|
|
}
|
|
.task-table-header {
|
|
position: static;
|
|
}
|
|
.task-table-resize-handle {
|
|
display: none;
|
|
}
|
|
.task-table-expand-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
.virtual-scroll-spacer-top {
|
|
pointer-events: none;
|
|
}
|
|
.virtual-scroll-spacer-top td {
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
background: transparent !important;
|
|
}
|
|
.task-table-context-menu {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
z-index: 1000;
|
|
min-width: 120px;
|
|
}
|
|
.task-table-context-menu-item {
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
transition: background-color 0.1s ease;
|
|
}
|
|
.task-table-context-menu-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-date-input {
|
|
cursor: pointer;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
padding: 4px 8px;
|
|
width: 100%;
|
|
}
|
|
.task-table-date-input:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.task-table-date-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-table-project-input,
|
|
.task-table-context-input,
|
|
.task-table-tags-input {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
padding: 4px 8px;
|
|
width: 100%;
|
|
}
|
|
.task-table-project-input:focus,
|
|
.task-table-context-input:focus,
|
|
.task-table-tags-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-table-row.selected {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-row:hover {
|
|
background-color: var(--background-modifier-hover-weak);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table {
|
|
font-size: 0.9em;
|
|
}
|
|
th[data-column-id=rowNumber] {
|
|
max-width: 40px !important;
|
|
min-width: 40px !important;
|
|
width: 40px !important;
|
|
}
|
|
.task-table-tree-container {
|
|
gap: 0 !important;
|
|
}
|
|
.task-table-expand-btn {
|
|
margin-right: 0 !important;
|
|
}
|
|
td[data-column-id=rowNumber] {
|
|
max-width: 40px !important;
|
|
min-width: 40px !important;
|
|
width: 40px !important;
|
|
}
|
|
.task-table-header-cell,
|
|
.task-table-cell {
|
|
padding: 6px 4px;
|
|
}
|
|
}
|
|
.task-table-header-bar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 6px 8px;
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px 6px 0 0;
|
|
margin-bottom: 0;
|
|
flex-shrink: 0;
|
|
min-height: 40px;
|
|
}
|
|
.table-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.table-header-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-count-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 6px 12px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-count-text {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.table-controls-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.table-control-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 8px 12px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
transition: all 0.2s ease;
|
|
box-shadow: unset !important;
|
|
}
|
|
.table-control-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.table-control-btn:active {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tree-mode-btn.active {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--text-accent);
|
|
}
|
|
.tree-mode-icon,
|
|
.refresh-icon,
|
|
.column-icon {
|
|
font-size: 14px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tree-mode-text,
|
|
.refresh-text,
|
|
.column-text {
|
|
font-weight: 500;
|
|
}
|
|
.dropdown-arrow {
|
|
font-size: 10px;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.column-dropdown {
|
|
position: relative;
|
|
}
|
|
.column-dropdown-menu {
|
|
position: absolute;
|
|
top: 100%;
|
|
right: 0;
|
|
margin-top: 4px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
min-width: 200px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.column-toggle-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 12px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.column-toggle-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.column-toggle-checkbox {
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
.column-toggle-label {
|
|
flex: 1;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
margin: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-table-header-bar {
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
align-items: stretch;
|
|
}
|
|
.table-header-left {
|
|
display: none;
|
|
}
|
|
.table-header-left,
|
|
.table-header-right {
|
|
justify-content: center;
|
|
}
|
|
.table-controls-container {
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
.table-control-btn {
|
|
flex: 1;
|
|
min-width: 100px;
|
|
justify-content: center;
|
|
}
|
|
.column-dropdown-menu {
|
|
right: auto;
|
|
left: 0;
|
|
width: 100%;
|
|
}
|
|
}
|
|
.theme-dark .task-table-header-bar {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.theme-dark .column-dropdown-menu {
|
|
background-color: var(--background-primary-alt);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.custom-suggest-dropdown {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
position: absolute;
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
min-width: 150px;
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item {
|
|
padding: 8px 12px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item:hover,
|
|
.custom-suggest-dropdown .suggestion-item.selected {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.custom-suggest-dropdown .suggestion-item.selected {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-table-subtask {
|
|
border-left: 2px solid var(--background-modifier-border-hover);
|
|
}
|
|
.task-table-parent .task-table-cell:first-child {
|
|
font-weight: 500;
|
|
}
|
|
.task-table-subtask-cell {
|
|
border-left: 1px solid var(--background-modifier-border-focus);
|
|
}
|
|
.task-table-tree-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
width: 100%;
|
|
}
|
|
.task-table-tree-structure {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-table-tree-line {
|
|
font-family: monospace;
|
|
font-size: 12px;
|
|
color: var(--text-faint);
|
|
line-height: 1;
|
|
width: 16px;
|
|
text-align: center;
|
|
}
|
|
.task-table-tree-connector {
|
|
color: var(--text-muted);
|
|
}
|
|
.task-table-tree-vertical {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-subtask-indicator {
|
|
font-size: 10px;
|
|
color: var(--text-accent);
|
|
margin-right: 6px;
|
|
margin-left: 4px;
|
|
flex-shrink: 0;
|
|
font-weight: bold;
|
|
}
|
|
.task-table-top-level-expand {
|
|
margin-right: 6px;
|
|
}
|
|
.task-table-content-wrapper {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.task-table-child-indicator {
|
|
font-size: 10px;
|
|
color: var(--text-muted);
|
|
margin-left: 6px;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-table-status.clickable-status {
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-table-status.clickable-status:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-table-priority-icon.highest {
|
|
color: var(--text-error);
|
|
filter: brightness(1.2);
|
|
}
|
|
.task-table-priority-icon.lowest {
|
|
color: var(--text-faint);
|
|
}
|
|
.task-table-expand-btn.clickable-icon {
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s, background-color 0.2s;
|
|
}
|
|
.task-table-expand-btn.clickable-icon:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-table-row-level-1 .task-table-cell:first-child,
|
|
.task-table-row-level-2 .task-table-cell:first-child,
|
|
.task-table-row-level-3 .task-table-cell:first-child,
|
|
.task-table-row-level-4 .task-table-cell:first-child,
|
|
.task-table-row-level-5 .task-table-cell:first-child {
|
|
padding-left: 12px;
|
|
}
|
|
|
|
/* src/styles/quadrant/quadrant.css */
|
|
.tg-quadrant-component-container {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background: var(--background-primary);
|
|
width: 100%;
|
|
}
|
|
.tg-quadrant-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background: var(--background-primary);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-quadrant-title {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
margin: 0;
|
|
}
|
|
.tg-quadrant-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.tg-quadrant-sort-select {
|
|
padding: var(--size-2-2) var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
.tg-quadrant-sort-select:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-sort-select:focus {
|
|
border-color: var(--color-accent);
|
|
outline: none;
|
|
}
|
|
.tg-quadrant-toggle-empty {
|
|
padding: var(--size-2-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-primary);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-quadrant-toggle-empty:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-filter-container {
|
|
flex-shrink: 0;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-quadrant-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
grid-template-rows: 1fr 1fr;
|
|
gap: 1px;
|
|
flex: 1;
|
|
background: var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.tg-quadrant-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: var(--background-primary);
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-column--hidden {
|
|
display: none;
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-header {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
flex-shrink: 0;
|
|
position: relative;
|
|
min-height: var(--size-4-12);
|
|
}
|
|
.tg-quadrant-title-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.tg-quadrant-priority {
|
|
font-size: var(--font-ui-medium);
|
|
line-height: 1;
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-title {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
margin: 0;
|
|
}
|
|
.tg-quadrant-description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-2-2);
|
|
line-height: 1.3;
|
|
}
|
|
.tg-quadrant-count {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-column-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-2-3);
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-thumb {
|
|
background: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tg-quadrant-column-content::-webkit-scrollbar-thumb:hover {
|
|
background: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-column-content--drop-active {
|
|
background: var(--background-modifier-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.quadrant-urgent-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-error);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-not-urgent-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--color-accent);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-urgent-not-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-warning);
|
|
opacity: 0.6;
|
|
}
|
|
.quadrant-not-urgent-not-important .tg-quadrant-header::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 3px;
|
|
background: var(--text-muted);
|
|
opacity: 0.4;
|
|
}
|
|
.tg-quadrant-card {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-2-3);
|
|
padding: var(--size-4-2);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-card:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.tg-quadrant-card:active {
|
|
transform: translateY(0);
|
|
}
|
|
.tg-quadrant-card:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.tg-quadrant-card-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-2-2);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-checkbox {
|
|
flex-shrink: 0;
|
|
margin-top: 2px;
|
|
}
|
|
.tg-quadrant-card-actions {
|
|
flex-shrink: 0;
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-actions {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-more-btn {
|
|
background: none;
|
|
border: none;
|
|
padding: var(--size-2-1);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
width: 24px;
|
|
height: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-quadrant-card-more-btn:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-card-content {
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-title {
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
word-wrap: break-word;
|
|
font-weight: var(--font-normal);
|
|
}
|
|
.tg-quadrant-card-priority {
|
|
font-size: var(--font-ui-small);
|
|
margin-left: var(--size-2-1);
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-card-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-1);
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-tag {
|
|
background: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-medium);
|
|
border: 1px solid transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.tg-quadrant-card-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-tag--urgent {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-error);
|
|
border-color: var(--text-error);
|
|
}
|
|
.tg-quadrant-tag--important {
|
|
background: var(--background-modifier-accent);
|
|
color: var(--text-accent);
|
|
border-color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-card-metadata {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tg-quadrant-card-due-date {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-card-due-date-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-card-due-date--urgent {
|
|
color: var(--text-warning);
|
|
}
|
|
.tg-quadrant-card-due-date--overdue {
|
|
color: var(--text-error);
|
|
}
|
|
.tg-quadrant-card-file-info {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-2);
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-file-info {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-file-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
.tg-quadrant-card-file-name {
|
|
font-size: var(--font-ui-smaller);
|
|
max-width: 120px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.tg-quadrant-card-line {
|
|
color: var(--text-faint);
|
|
font-size: var(--font-ui-smaller);
|
|
opacity: 0.6;
|
|
font-weight: var(--font-medium);
|
|
}
|
|
.tg-quadrant-card--priority-highest {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.tg-quadrant-card--priority-high {
|
|
border-left: 3px solid var(--text-warning);
|
|
}
|
|
.tg-quadrant-card--priority-medium {
|
|
border-left: 3px solid var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--priority-low {
|
|
border-left: 3px solid var(--text-success);
|
|
}
|
|
.tg-quadrant-card--priority-lowest {
|
|
border-left: 3px solid var(--text-muted);
|
|
}
|
|
.tg-quadrant-card--ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-border);
|
|
border: 2px dashed var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--dragging {
|
|
box-shadow: var(--shadow-l);
|
|
}
|
|
.tg-quadrant-card--chosen {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--color-accent);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.tg-quadrant-card--drag {
|
|
box-shadow: var(--shadow-l);
|
|
z-index: 1000;
|
|
border-color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 120px;
|
|
color: var(--text-faint);
|
|
text-align: center;
|
|
padding: var(--size-4-4);
|
|
opacity: 0.8;
|
|
}
|
|
.tg-quadrant-empty-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
margin-bottom: var(--size-2-3);
|
|
opacity: 0.5;
|
|
color: var(--text-faint);
|
|
}
|
|
.tg-quadrant-empty-message {
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
font-weight: var(--font-medium);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-grid {
|
|
grid-template-columns: 1fr;
|
|
grid-template-rows: repeat(4, 1fr);
|
|
}
|
|
.tg-quadrant-header {
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
}
|
|
.tg-quadrant-column .tg-quadrant-header {
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
}
|
|
.tg-quadrant-card {
|
|
padding: var(--size-2-3);
|
|
}
|
|
.tg-quadrant-card-title {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.tg-quadrant-controls {
|
|
gap: var(--size-2-2);
|
|
}
|
|
}
|
|
.tg-quadrant-card:focus {
|
|
outline: 2px solid var(--color-accent);
|
|
outline-offset: 2px;
|
|
}
|
|
.tg-quadrant-card-more-btn:focus {
|
|
outline: 2px solid var(--color-accent);
|
|
outline-offset: 2px;
|
|
}
|
|
@keyframes cardComplete {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.05);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.tg-quadrant-card--completed {
|
|
animation: cardComplete 0.3s ease-in-out;
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-title {
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-quadrant-card:hover .tg-quadrant-card-priority {
|
|
opacity: 1;
|
|
}
|
|
.tg-quadrant-card-content {
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-loading-spinner {
|
|
margin-bottom: 1rem;
|
|
}
|
|
.tg-quadrant-spinner {
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--color-accent);
|
|
}
|
|
.tg-quadrant-loading-message {
|
|
font-size: 0.9rem;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-dragging {
|
|
cursor: grabbing !important;
|
|
}
|
|
.tg-quadrant-dragging * {
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-card--ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-border);
|
|
border: 2px dashed var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--chosen {
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
|
|
transform: scale(1.02);
|
|
z-index: 1000;
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--color-accent);
|
|
}
|
|
.tg-quadrant-card--drag {
|
|
opacity: 0.8;
|
|
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.tg-quadrant-card--fallback {
|
|
opacity: 0.9;
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.tg-quadrant-column--drag-target {
|
|
background: var(--background-modifier-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.tg-quadrant-column-content--drop-active {
|
|
background: var(--background-modifier-active-hover);
|
|
border: 2px dashed var(--color-accent);
|
|
border-radius: var(--radius-s);
|
|
min-height: 60px;
|
|
position: relative;
|
|
}
|
|
.tg-quadrant-column-content--drop-active::before {
|
|
content: "Drop task here";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: var(--color-accent);
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
opacity: 0.7;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
.tg-quadrant-update-feedback {
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
z-index: 10000;
|
|
opacity: 0;
|
|
transform: translateX(100%);
|
|
transition: all 0.3s ease;
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-feedback--show {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
.tg-quadrant-feedback--hide {
|
|
opacity: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
.tg-quadrant-feedback-content {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1rem;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
min-width: 200px;
|
|
}
|
|
.tg-quadrant-feedback--error .tg-quadrant-feedback-content {
|
|
background: var(--background-modifier-error);
|
|
border-color: var(--text-error);
|
|
color: var(--text-error);
|
|
}
|
|
.tg-quadrant-feedback-icon {
|
|
font-size: 1.2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-quadrant-feedback-text {
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
}
|
|
.tg-quadrant-card {
|
|
transition: all 0.2s ease;
|
|
cursor: grab;
|
|
}
|
|
.tg-quadrant-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.tg-quadrant-card:active {
|
|
cursor: grabbing;
|
|
}
|
|
.tg-quadrant-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem 1rem;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
min-height: 120px;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
margin: 0.5rem 0;
|
|
}
|
|
.tg-quadrant-empty-icon {
|
|
margin-bottom: 0.75rem;
|
|
opacity: 0.5;
|
|
}
|
|
.tg-quadrant-empty-message {
|
|
font-size: 0.9rem;
|
|
line-height: 1.4;
|
|
max-width: 200px;
|
|
}
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.tg-quadrant-spinner circle {
|
|
animation: spin 2s linear infinite;
|
|
transform-origin: center;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-update-feedback {
|
|
top: 10px;
|
|
right: 10px;
|
|
left: 10px;
|
|
transform: translateY(-100%);
|
|
}
|
|
.tg-quadrant-feedback--show {
|
|
transform: translateY(0);
|
|
}
|
|
.tg-quadrant-feedback--hide {
|
|
transform: translateY(-100%);
|
|
}
|
|
.tg-quadrant-feedback-content {
|
|
min-width: auto;
|
|
width: 100%;
|
|
}
|
|
}
|
|
.theme-dark .tg-quadrant-card--chosen {
|
|
background: var(--background-primary-alt);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .tg-quadrant-card--fallback {
|
|
background: var(--background-primary-alt);
|
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .tg-quadrant-feedback-content {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.tg-quadrant-card,
|
|
.tg-quadrant-update-feedback,
|
|
.tg-quadrant-card--chosen,
|
|
.tg-quadrant-card--drag {
|
|
transition: none;
|
|
animation: none;
|
|
}
|
|
.tg-quadrant-spinner circle {
|
|
animation: none;
|
|
}
|
|
}
|
|
.tg-quadrant-scroll-container {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
max-height: 70vh;
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--background-modifier-border) transparent;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb {
|
|
background: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
}
|
|
.tg-quadrant-scroll-container::-webkit-scrollbar-thumb:hover {
|
|
background: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-quadrant-load-more {
|
|
display: none;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1rem;
|
|
color: var(--text-muted);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
margin-top: 0.5rem;
|
|
}
|
|
.tg-quadrant-load-more--visible {
|
|
display: flex;
|
|
}
|
|
.tg-quadrant-load-more-spinner {
|
|
margin-bottom: 0.5rem;
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.tg-quadrant-load-more-spinner svg {
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
.tg-quadrant-load-more-message {
|
|
font-size: 0.8rem;
|
|
opacity: 0.7;
|
|
}
|
|
.tg-quadrant-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
min-height: 400px;
|
|
max-height: 80vh;
|
|
}
|
|
.tg-quadrant-column-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem;
|
|
}
|
|
.tg-quadrant-scroll-container {
|
|
scroll-behavior: smooth;
|
|
}
|
|
.tg-quadrant-column.loading-more .tg-quadrant-load-more {
|
|
opacity: 1;
|
|
pointer-events: none;
|
|
}
|
|
.tg-quadrant-load-more {
|
|
min-height: 40px;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.tg-quadrant-column-content:empty::before {
|
|
content: "";
|
|
display: block;
|
|
min-height: 100px;
|
|
}
|
|
.tg-quadrant-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
height: calc(100vh - 200px);
|
|
min-height: 400px;
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.tg-quadrant-scroll-container {
|
|
max-height: 60vh;
|
|
}
|
|
.tg-quadrant-column {
|
|
max-height: 70vh;
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-quadrant-scroll-container {
|
|
max-height: 50vh;
|
|
}
|
|
.tg-quadrant-column {
|
|
max-height: 60vh;
|
|
min-height: 300px;
|
|
}
|
|
.tg-quadrant-grid {
|
|
grid-template-columns: 1fr;
|
|
height: auto;
|
|
}
|
|
}
|
|
.tg-quadrant-column-content {
|
|
contain: layout style;
|
|
will-change: contents;
|
|
}
|
|
.tg-quadrant-card {
|
|
contain: layout style paint;
|
|
}
|
|
.tg-quadrant-scroll-container.has-scroll::before {
|
|
content: "";
|
|
position: sticky;
|
|
top: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
to bottom,
|
|
var(--background-primary),
|
|
transparent);
|
|
z-index: 1;
|
|
}
|
|
.tg-quadrant-scroll-container.has-scroll::after {
|
|
content: "";
|
|
position: sticky;
|
|
bottom: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
var(--background-primary),
|
|
transparent);
|
|
z-index: 1;
|
|
}
|
|
|
|
/* src/styles/task-timer.css */
|
|
.task-timer-widget {
|
|
display: block;
|
|
margin: 4px 0;
|
|
padding: 2px 0;
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.task-timer-start,
|
|
.task-timer-action {
|
|
cursor: pointer;
|
|
text-decoration: underline;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-timer-start:hover,
|
|
.task-timer-action:hover {
|
|
color: var(--text-accent-hover);
|
|
}
|
|
|
|
/* src/styles/setting.css */
|
|
.experimental-settings-section {
|
|
margin: 20px 0;
|
|
}
|
|
.experimental-section-heading {
|
|
margin: 20px 0 10px 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.experimental-subsection-heading {
|
|
margin: 15px 0 8px 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.experimental-warning {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
margin: 10px 0 20px 0;
|
|
border-left: 4px solid var(--color-red);
|
|
}
|
|
.experimental-dataflow-section {
|
|
margin: 15px 0;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.experimental-info {
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
margin-top: 8px;
|
|
line-height: 1.4;
|
|
}
|
|
.experimental-restart-notice {
|
|
background: var(--background-modifier-form-field);
|
|
color: var(--text-muted);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
font-size: 0.85em;
|
|
}
|
|
.task-states-container {
|
|
margin: 10px 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 10px;
|
|
}
|
|
.task-state-row {
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-state-row .setting-item {
|
|
border: none;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-state-row .setting-item-info {
|
|
margin-right: 10px;
|
|
}
|
|
.task-state-row .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.task-state-row .setting-item-control input[type=text] {
|
|
margin-right: 8px;
|
|
}
|
|
.task-state-row .extra-setting-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-state-row .setting-item-control button {
|
|
white-space: nowrap;
|
|
}
|
|
.task-state-container {
|
|
margin-inline-start: calc(var(--checkbox-size) * -1);
|
|
}
|
|
.task-state-container .task-state {
|
|
padding-inline-start: var(--size-2-1);
|
|
padding-inline-end: var(--size-2-2);
|
|
text-decoration: none !important;
|
|
cursor: pointer;
|
|
}
|
|
.experimental-settings-section {
|
|
margin: 20px 0;
|
|
}
|
|
.experimental-section-heading {
|
|
margin: 20px 0 10px 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.experimental-subsection-heading {
|
|
margin: 15px 0 8px 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.experimental-warning {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
margin: 10px 0 20px 0;
|
|
border-left: 4px solid var(--color-red);
|
|
}
|
|
.experimental-dataflow-section {
|
|
margin: 15px 0;
|
|
padding: 15px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
}
|
|
.experimental-info {
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
margin-top: 8px;
|
|
line-height: 1.4;
|
|
}
|
|
.experimental-restart-notice {
|
|
background: var(--background-modifier-form-field);
|
|
color: var(--text-muted);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
font-size: 0.85em;
|
|
}
|
|
.task-states-container {
|
|
margin: 10px 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 10px;
|
|
}
|
|
.task-state-row {
|
|
margin-bottom: 8px;
|
|
}
|
|
.task-state-row .setting-item {
|
|
border: none;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-state-row .setting-item-info {
|
|
margin-right: 10px;
|
|
}
|
|
.task-state-row .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.task-state-row .setting-item-control input[type=text] {
|
|
margin-right: 8px;
|
|
}
|
|
.task-state-row .extra-setting-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-state-row .setting-item-control button {
|
|
white-space: nowrap;
|
|
}
|
|
.task-state-container {
|
|
margin-inline-start: calc(var(--checkbox-size) * -1);
|
|
}
|
|
.task-state-container .task-state {
|
|
padding-inline-start: var(--size-2-1);
|
|
padding-inline-end: var(--size-2-2);
|
|
text-decoration: none !important;
|
|
cursor: pointer;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-6);
|
|
}
|
|
.task-genius-settings .settings-category-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-genius-settings .settings-category-header {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
color: var(--text-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
padding: 0 var(--size-4-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-4-1);
|
|
}
|
|
.task-genius-settings .settings-category-tabs {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(200px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.task-genius-settings .settings-category-tabs {
|
|
grid-template-columns: repeat(2, minmax(200px, 1fr));
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-genius-settings .settings-category-tabs {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.task-genius-settings .settings-tabs-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
grid-auto-rows: var(--size-4-18);
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
height: fit-content;
|
|
gap: var(--size-4-4);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-genius-settings .settings-tabs-container {
|
|
grid-template-columns: repeat(1, 1fr);
|
|
}
|
|
}
|
|
.task-genius-settings .settings-tab {
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
border-radius: var(--radius-m);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
min-height: var(--size-4-12);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-settings .settings-tab::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 10px;
|
|
right: -80px;
|
|
width: 200px;
|
|
height: 200px;
|
|
background-color: var(--background-secondary-alt);
|
|
transform: rotateZ(-15deg);
|
|
z-index: 0;
|
|
opacity: 0.7;
|
|
transition: all 0.3s ease;
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.task-genius-settings .settings-tab:hover::after {
|
|
transform: rotateZ(-10deg);
|
|
opacity: 0.9;
|
|
}
|
|
.task-genius-settings .settings-tab-active::after {
|
|
background-color: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
}
|
|
.task-genius-settings .settings-tab-icon,
|
|
.task-genius-settings .settings-tab span,
|
|
.task-genius-settings .settings-tab-label {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-4);
|
|
height: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-icon svg {
|
|
width: var(--icon-s);
|
|
height: var(--icon-s);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-label {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: var(--font-weight-medium);
|
|
flex: 1;
|
|
text-align: left;
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-m);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-m);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
.task-genius-settings .settings-category-tabs .settings-tab-active:hover {
|
|
background: var(--interactive-accent-hover);
|
|
border-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.task-genius-settings .settings-tab:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.task-genius-settings .settings-tab-active {
|
|
background-color: var(--background-modifier-border-hover);
|
|
font-weight: bold;
|
|
}
|
|
.task-genius-settings .settings-tab-sections {
|
|
overflow: hidden;
|
|
}
|
|
.task-genius-settings .settings-tab-section {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tab-section-active {
|
|
display: block;
|
|
}
|
|
.task-genius-settings .settings-tab-section-header {
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.task-genius-settings .settings-tab-section-header .header-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-genius-settings .settings-tab-section-header .header-button-icon {
|
|
--icon-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-genius-settings .settings-tab[data-tab-id=general] {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
display: flex;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .settings-tabs-categorized-container {
|
|
display: none;
|
|
}
|
|
.task-genius-settings .settings-tabs-container {
|
|
display: none;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-active[data-tab-id=general]) .settings-tabs-container {
|
|
display: grid;
|
|
}
|
|
.task-genius-settings-header {
|
|
display: block;
|
|
}
|
|
.task-genius-settings:has(.settings-tab-section-active:not([data-tab-id=general])) .task-genius-settings-header {
|
|
display: none;
|
|
}
|
|
.expression-examples {
|
|
margin-top: 8px;
|
|
border-radius: 5px;
|
|
}
|
|
.expression-example-item {
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
padding-left: var(--size-4-3);
|
|
padding-right: var(--size-4-3);
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.expression-example-name {
|
|
font-weight: bold;
|
|
}
|
|
.expression-example-code {
|
|
padding: 4px 8px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.9em;
|
|
overflow-wrap: break-word;
|
|
user-select: text;
|
|
}
|
|
.expression-example-use {
|
|
align-self: flex-end;
|
|
margin-top: 4px;
|
|
}
|
|
.custom-format-textarea {
|
|
height: 200px;
|
|
width: 100%;
|
|
font-family: var(--font-monospace);
|
|
resize: vertical;
|
|
}
|
|
.custom-format-preview-container {
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-secondary);
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.custom-format-preview-label {
|
|
font-weight: bold;
|
|
margin-bottom: var(--size-4-2);
|
|
color: var(--text-muted);
|
|
}
|
|
.custom-format-preview-content {
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-interface);
|
|
}
|
|
.custom-format-placeholder-info {
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
user-select: text;
|
|
}
|
|
.custom-format-preview-error,
|
|
.expression-preview-error {
|
|
color: var(--text-error);
|
|
}
|
|
.expression-example-preview {
|
|
margin-top: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary-alt);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.9em;
|
|
}
|
|
.preset-filters-container {
|
|
margin-top: 10px;
|
|
padding: 8px;
|
|
border-radius: 5px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.preset-filter-row {
|
|
margin-bottom: 5px;
|
|
border-radius: 4px;
|
|
padding-top: var(--size-4-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.preset-filter-row:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.no-presets-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.preset-saved-message {
|
|
color: var(--text-accent);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
padding: 5px;
|
|
margin-top: 5px;
|
|
animation: fadeIn 0.3s ease-in-out;
|
|
}
|
|
.task-filter-save-preset {
|
|
margin-top: 15px;
|
|
padding: 10px;
|
|
border-radius: 5px;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tg-modal-button-container {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.tg-modal-button-container button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
}
|
|
.tg-modal-button-container button.mod-warning {
|
|
background-color: var(--background-modifier-error);
|
|
color: white;
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.modal-workflow-definition {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
.modal-stage-definition {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
.workflow-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 5px;
|
|
padding: 15px;
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
background-color: var(--background-primary);
|
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
|
}
|
|
.workflow-row {
|
|
margin-bottom: 15px;
|
|
padding: 12px;
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary-alt);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.workflow-row .setting-item {
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.workflow-row .setting-item-info {
|
|
padding: 0 !important;
|
|
}
|
|
.workflow-row .setting-item-name {
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-row .setting-item-description {
|
|
font-size: 13px;
|
|
color: var(--text-muted);
|
|
margin-top: 4px;
|
|
}
|
|
.workflow-stages-info {
|
|
margin-top: 12px;
|
|
padding: 8px 0 0 0;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-stages-list {
|
|
list-style-type: none;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.workflow-stage-item {
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.workflow-stage-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.no-workflows-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.workflow-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.workflow-stages-section {
|
|
margin-top: 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: 15px;
|
|
}
|
|
.workflow-stages-section h2 {
|
|
margin-top: 0;
|
|
margin-bottom: 15px;
|
|
font-size: 1.3em;
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-stages-container {
|
|
margin-top: 15px;
|
|
}
|
|
.workflow-stages-container .workflow-stages-list {
|
|
display: block;
|
|
flex-wrap: unset;
|
|
gap: unset;
|
|
}
|
|
.workflow-stages-container .workflow-stage-item {
|
|
display: block;
|
|
margin-bottom: 10px;
|
|
padding: 0;
|
|
background-color: transparent;
|
|
}
|
|
.workflow-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-save-button,
|
|
.workflow-cancel-button,
|
|
.workflow-add-stage-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
}
|
|
.workflow-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-cancel-button {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.workflow-add-stage-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
margin-top: 10px;
|
|
}
|
|
.no-stages-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
padding: 15px;
|
|
}
|
|
.workflow-stage-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 8px 12px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
margin-bottom: 8px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.workflow-stage-name {
|
|
font-weight: 600;
|
|
flex: 1;
|
|
margin-right: 10px;
|
|
}
|
|
.workflow-stage-actions {
|
|
display: flex;
|
|
gap: 5px;
|
|
}
|
|
.workflow-stage-edit,
|
|
.workflow-stage-move-up,
|
|
.workflow-stage-move-down,
|
|
.workflow-stage-delete {
|
|
padding: 3px 8px;
|
|
border-radius: 3px;
|
|
background-color: var(--background-modifier-border);
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
border: none;
|
|
}
|
|
.workflow-stage-edit:hover,
|
|
.workflow-stage-move-up:hover,
|
|
.workflow-stage-move-down:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-delete:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-type-badge {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
margin-left: 8px;
|
|
border-radius: 3px;
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
font-weight: 600;
|
|
}
|
|
.workflow-stage-type-linear {
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.workflow-stage-type-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-type-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-substages-list {
|
|
padding: 0 0 0 var(--size-4-6);
|
|
margin-top: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.substage-settings-container {
|
|
width: 100%;
|
|
}
|
|
.stage-type-settings {
|
|
margin-top: 20px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 15px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.substages-section,
|
|
.can-proceed-to-section {
|
|
margin-top: 20px;
|
|
padding-top: 15px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.substages-container,
|
|
.can-proceed-to-container {
|
|
margin-top: 15px;
|
|
padding: 10px;
|
|
border-radius: 4px;
|
|
}
|
|
.substages-list,
|
|
.can-proceed-list {
|
|
list-style-type: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.substage-name-container {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
flex: 1;
|
|
}
|
|
.substage-name-container input {
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.substage-next-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
margin-left: 10px;
|
|
}
|
|
.substage-remove-button,
|
|
.can-proceed-remove-button {
|
|
color: var(--text-normal);
|
|
border-radius: 3px;
|
|
padding: 2px 5px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.substage-remove-button:hover,
|
|
.can-proceed-remove-button:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.add-substage-button,
|
|
.add-can-proceed-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 4px 10px;
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.add-can-proceed-container {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: flex-end;
|
|
}
|
|
.add-can-proceed-select {
|
|
flex: 1;
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.stage-save-button,
|
|
.stage-cancel-button {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
.stage-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.stage-cancel-button {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.stage-error-message {
|
|
color: var(--background-modifier-error);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
margin-top: 10px;
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-workflow-tag {
|
|
display: inline-block;
|
|
padding: 2px 5px;
|
|
border-radius: 3px;
|
|
margin-left: 5px;
|
|
font-size: 12px;
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-workflow-stage {
|
|
margin-left: 5px;
|
|
color: var(--text-accent);
|
|
}
|
|
.task-workflow-substage {
|
|
font-size: 11px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-workflow-history {
|
|
margin-left: 20px;
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-workflow-timestamp {
|
|
color: var(--text-faint);
|
|
}
|
|
.setting-item-control span[class^=workflow-stage-name-] {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
margin-right: 5px;
|
|
}
|
|
.setting-item-control .workflow-stage-name-cycle {
|
|
background-color: var(--task-in-progress-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.setting-item-control .workflow-stage-name-terminal {
|
|
background-color: var(--task-completed-color);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-item {
|
|
margin-right: 4px;
|
|
}
|
|
.workflow-stages-container .workflow-stage-header {
|
|
padding: 8px 12px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
margin-bottom: 8px;
|
|
}
|
|
.workflow-stages-container .workflow-stage-type-badge {
|
|
display: inline-block;
|
|
padding: 2px 6px;
|
|
margin-left: 8px;
|
|
border-radius: 3px;
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
font-weight: 600;
|
|
}
|
|
.workflow-substages-list {
|
|
list-style-type: none;
|
|
padding: 0 0 0 20px;
|
|
margin: 5px 0 10px 0;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
}
|
|
.workflow-add-stage-button,
|
|
.stage-save-button.mod-cta,
|
|
.workflow-save-button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 6px 15px;
|
|
border-radius: 4px;
|
|
font-weight: 500;
|
|
border: none;
|
|
cursor: pointer;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
transition: all 0.2s ease;
|
|
text-align: center;
|
|
}
|
|
.workflow-add-stage-button:hover,
|
|
.stage-save-button.mod-cta:hover,
|
|
.workflow-save-button.mod-cta:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.workflow-stage-move-up,
|
|
.workflow-stage-move-down,
|
|
.workflow-stage-edit,
|
|
.workflow-stage-delete {
|
|
border: none;
|
|
background-color: var(--background-modifier-border);
|
|
padding: 3px 8px;
|
|
border-radius: 3px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.workflow-stage-move-up:hover,
|
|
.workflow-stage-move-down:hover,
|
|
.workflow-stage-edit:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.workflow-stage-delete:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.substage-item {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
padding: 6px 0;
|
|
margin-bottom: 5px;
|
|
border-radius: 4px;
|
|
}
|
|
.substage-name-container input {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 4px 8px;
|
|
border-radius: 3px;
|
|
font-size: 13px;
|
|
}
|
|
.substage-name-container input:focus {
|
|
border-color: var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.no-stages-message,
|
|
.no-workflows-message,
|
|
.no-substages-message,
|
|
.no-can-proceed-message {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
padding: 15px;
|
|
text-align: center;
|
|
background-color: var(--background-secondary-alt);
|
|
border-radius: 5px;
|
|
margin: 10px 0;
|
|
}
|
|
.rewards-levels-container,
|
|
.rewards-items-container {
|
|
margin-top: 10px;
|
|
padding: 15px;
|
|
border-radius: 5px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.rewards-level-row .setting-item-info,
|
|
.rewards-item-row .setting-item-info {
|
|
display: none;
|
|
}
|
|
.rewards-item-row.setting-item {
|
|
border-top: 0;
|
|
}
|
|
.rewards-level-row .setting-item-control,
|
|
.rewards-item-row .setting-item-control {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
.rewards-level-row .setting-item-control input[type=text] {
|
|
flex: 1;
|
|
min-width: 100px;
|
|
}
|
|
.rewards-item-row .setting-item-control .input-container {
|
|
flex: 1;
|
|
min-width: 150px;
|
|
}
|
|
.rewards-item-row .setting-item-control textarea {
|
|
width: 100%;
|
|
min-height: 40px;
|
|
resize: vertical;
|
|
}
|
|
.rewards-item-row .setting-item-control .dropdown {
|
|
min-width: 120px;
|
|
}
|
|
.rewards-level-row .setting-item-control button,
|
|
.rewards-item-row .setting-item-control button {
|
|
margin-left: auto;
|
|
}
|
|
.rewards-item-divider {
|
|
border: none;
|
|
height: 1px;
|
|
background-color: var(--background-modifier-border);
|
|
margin-top: 15px;
|
|
margin-bottom: 15px;
|
|
}
|
|
.setting-item.sort-criterion-row .setting-item-info {
|
|
display: none;
|
|
}
|
|
.setting-item.sort-criterion-row select.dropdown {
|
|
flex: 1;
|
|
}
|
|
.view-edit-button,
|
|
.view-copy-button,
|
|
.view-order-button,
|
|
.view-delete-button {
|
|
padding: 4px;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
margin-left: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.view-copy-button {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.view-copy-button:hover {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.view-delete-button {
|
|
color: var(--text-error);
|
|
}
|
|
.view-delete-button:hover {
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.view-icon {
|
|
margin-right: 8px;
|
|
--icon-size: 16px;
|
|
}
|
|
.copy-mode-info {
|
|
margin: 10px 0;
|
|
padding: 12px;
|
|
background-color: var(--background-secondary-alt);
|
|
border-radius: 5px;
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.copy-mode-info p {
|
|
margin: 4px 0;
|
|
}
|
|
.tasks-compatibility-warning {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
background-color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
|
|
border-radius: var(--radius-m);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.tasks-warning-icon {
|
|
font-size: 20px;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
}
|
|
.tasks-warning-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.tasks-warning-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.tasks-warning-text {
|
|
color: var(--text-on-accent);
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
}
|
|
.tasks-warning-text a {
|
|
color: var(--text-on-accent);
|
|
text-decoration: underline;
|
|
}
|
|
.tasks-warning-text a:hover {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-genius-format-examples {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
padding: var(--size-4-3);
|
|
margin: var(--size-4-3) 0;
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary-alt);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-format-examples strong {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.task-genius-format-examples span {
|
|
font-family: var(--font-monospace);
|
|
font-size: var(--font-ui-smaller);
|
|
line-height: 1.5;
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin: var(--size-2-1) 0;
|
|
}
|
|
.task-genius-format-examples span:first-of-type {
|
|
margin-top: 0;
|
|
}
|
|
.task-genius-format-examples span:last-of-type {
|
|
margin-bottom: 0;
|
|
}
|
|
.project-path-mappings-container,
|
|
.project-metadata-mappings-container {
|
|
margin-top: 10px;
|
|
}
|
|
.project-path-mapping-row,
|
|
.project-metadata-mapping-row {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
margin-bottom: 10px;
|
|
padding: 10px;
|
|
}
|
|
.no-mappings-message {
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
.task-project-tg {
|
|
opacity: 0.8;
|
|
font-style: italic;
|
|
border-left: 2px solid var(--color-accent);
|
|
padding-left: 4px;
|
|
}
|
|
.task-project-tg::before {
|
|
content: "\1f517";
|
|
margin-right: 2px;
|
|
font-size: 0.8em;
|
|
}
|
|
.project-readonly {
|
|
opacity: 0.8;
|
|
}
|
|
.project-readonly input {
|
|
background-color: var(--background-modifier-border);
|
|
cursor: not-allowed;
|
|
}
|
|
.project-source-indicator {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-top: 4px;
|
|
}
|
|
.task-genius-date-formats-container {
|
|
margin-top: 15px;
|
|
padding: 15px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-formats-header {
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-format-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
margin-top: 15px;
|
|
}
|
|
.task-genius-format-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 6px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-format-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.task-genius-format-input {
|
|
flex: 1;
|
|
padding: 6px 10px;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
color: var(--text-normal);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.95em;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
.task-genius-format-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.task-genius-format-input::placeholder {
|
|
color: var(--text-faint);
|
|
font-style: italic;
|
|
}
|
|
.task-genius-format-delete-btn {
|
|
width: 28px;
|
|
height: 28px;
|
|
padding: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-genius-format-delete-btn:hover {
|
|
background-color: var(--background-modifier-error-hover);
|
|
transform: scale(1.1);
|
|
}
|
|
.task-genius-add-format-btn {
|
|
padding: 10px 16px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
align-self: flex-start;
|
|
margin-top: 5px;
|
|
}
|
|
.task-genius-add-format-btn:hover {
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.task-genius-add-format-btn:active {
|
|
transform: translateY(0);
|
|
}
|
|
.task-genius-date-examples {
|
|
margin-top: 20px;
|
|
padding: 15px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-examples-header {
|
|
margin-top: 0;
|
|
margin-bottom: 12px;
|
|
font-size: 1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-date-examples-table th,
|
|
.task-genius-date-examples-table td {
|
|
padding: 8px 12px;
|
|
text-align: left;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-genius-date-examples-table th {
|
|
background-color: var(--background-secondary-alt);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table td {
|
|
background-color: var(--background-primary);
|
|
font-family: var(--font-monospace);
|
|
}
|
|
.task-genius-date-examples-table tr:nth-child(even) td {
|
|
background-color: var(--background-primary-alt);
|
|
}
|
|
.task-genius-date-examples-table tr:hover td {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tg-index-task-source-wrapper {
|
|
margin-top: 18px;
|
|
}
|
|
.tg-index-task-source-panels {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.tg-source-settings-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
.tg-source-settings-body.tg-source-disabled {
|
|
opacity: 0.55;
|
|
pointer-events: none;
|
|
}
|
|
.status-cycles-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.status-cycle-card {
|
|
background-color: var(--background-primary-alt);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-2);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.status-cycle-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.status-cycle-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-3);
|
|
margin-bottom: var(--size-4-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-2-3);
|
|
}
|
|
.status-cycle-card.collapsed .status-cycle-header {
|
|
margin-bottom: 0;
|
|
border-bottom: unset;
|
|
}
|
|
.status-cycle-collapse-button {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
user-select: none;
|
|
flex-shrink: 0;
|
|
transition: color 0.15s ease;
|
|
}
|
|
.status-cycle-collapse-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.status-cycle-collapse-button:hover {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.status-cycle-updown-buttons {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
flex-shrink: 0;
|
|
}
|
|
.status-cycle-button {
|
|
width: 18px;
|
|
height: 18px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
user-select: none;
|
|
transition: color 0.15s ease;
|
|
}
|
|
.status-cycle-button svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.status-cycle-button:hover {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.status-cycle-button.disabled {
|
|
opacity: 0.3;
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
}
|
|
.status-cycle-title {
|
|
flex: 1;
|
|
font-weight: var(--font-weight-semibold);
|
|
font-size: var(--font-ui-medium);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
outline: none;
|
|
transition: background-color 0.15s ease;
|
|
min-width: 0;
|
|
}
|
|
.status-cycle-title:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.status-cycle-title:focus {
|
|
background-color: var(--background-modifier-form-field);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent);
|
|
}
|
|
.status-cycle-title:empty::before {
|
|
content: "Unnamed Cycle";
|
|
color: var(--text-muted);
|
|
}
|
|
.status-cycle-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
flex-shrink: 0;
|
|
}
|
|
.status-cycle-controls .setting-item {
|
|
border-bottom: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.status-cycle-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
transition: max-height 0.2s ease, opacity 0.2s ease;
|
|
}
|
|
.status-cycle-body .setting-item {
|
|
padding: var(--size-2-2) 0;
|
|
}
|
|
.status-cycle-card.collapsed .status-cycle-body {
|
|
display: none;
|
|
}
|
|
.status-list-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-2-3);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.status-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-2-1);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: border-color 0.15s ease;
|
|
}
|
|
.status-row:hover {
|
|
border-color: var(--interactive-hover);
|
|
}
|
|
.status-row .setting-item {
|
|
padding: 0;
|
|
border: none;
|
|
margin: 0;
|
|
flex: 1;
|
|
}
|
|
.status-row .setting-item-name {
|
|
min-width: 40px;
|
|
font-weight: var(--font-weight-medium);
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
}
|
|
.status-row .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
flex: 1;
|
|
}
|
|
.status-drag-handle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
min-height: 30px;
|
|
color: var(--text-muted);
|
|
cursor: grab;
|
|
user-select: none;
|
|
opacity: 0.4;
|
|
transition: all 0.15s ease;
|
|
flex-shrink: 0;
|
|
margin-right: var(--size-2-1);
|
|
}
|
|
.status-drag-handle svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.status-row:hover .status-drag-handle {
|
|
opacity: 0.7;
|
|
}
|
|
.status-drag-handle:hover {
|
|
opacity: 1 !important;
|
|
color: var(--interactive-accent);
|
|
transform: scale(1.1);
|
|
}
|
|
.status-drag-handle:active {
|
|
cursor: grabbing;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.status-row-ghost {
|
|
opacity: 0.3;
|
|
}
|
|
.status-row-chosen {
|
|
opacity: 0.7;
|
|
}
|
|
.status-row-drag {
|
|
background-color: var(--background-primary);
|
|
border: 1px dashed var(--interactive-accent) !important;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.status-cycle-header .setting-item-name::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background-color: var(--interactive-accent);
|
|
margin-right: var(--size-2-1);
|
|
}
|
|
.status-cycle-card:has(.setting-item-control .checkbox-container:not(.is-enabled)) {
|
|
opacity: 0.6;
|
|
}
|
|
.status-cycle-card:has(.setting-item-control .checkbox-container:not(.is-enabled)) .status-cycle-body {
|
|
pointer-events: none;
|
|
}
|
|
.status-cycles-container + .setting-item {
|
|
margin-top: var(--size-4-4);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.status-row .setting-item-control {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
.status-row input[type=text] {
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
.status-list-container .setting-item button,
|
|
.status-cycles-container > .setting-item button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
font-weight: var(--font-weight-medium);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.status-list-container .setting-item button:hover,
|
|
.status-cycles-container > .setting-item button:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.setting-item-control button[data-tooltip*=TODO] {
|
|
background-color: var(--color-green);
|
|
}
|
|
.setting-item-control button[data-tooltip*=PLAN] {
|
|
background-color: var(--color-blue);
|
|
}
|
|
.setting-item-control button[data-tooltip*="1"] {
|
|
background-color: var(--color-purple);
|
|
}
|
|
.status-cycle-header .setting-item-control .clickable-icon {
|
|
color: var(--text-muted);
|
|
transition: color 0.15s ease;
|
|
}
|
|
.status-cycle-header .setting-item-control .clickable-icon:hover {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.status-cycle-header .setting-item-control .clickable-icon[aria-label*=Delete]:hover,
|
|
.status-row .clickable-icon[aria-label*=Remove]:hover {
|
|
color: var(--color-red);
|
|
}
|
|
|
|
/* src/styles/setting-v2.css */
|
|
.tg-status-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
vertical-align: middle;
|
|
margin-right: var(--size-2-3);
|
|
margin-top: calc(-1 * var(--size-2-1));
|
|
}
|
|
.tg-icons-container {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tg-icons-container .tg-status-icon {
|
|
margin-right: 0;
|
|
margin-top: 0;
|
|
}
|
|
.global-filter-container {
|
|
margin-bottom: 20px;
|
|
padding: 10px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-genius-metadata-fields-container,
|
|
.task-genius-tags-container,
|
|
.task-genius-paths-container,
|
|
.task-genius-date-formats-container {
|
|
margin: 1rem 0;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.task-genius-fields-header,
|
|
.task-genius-tags-header,
|
|
.task-genius-paths-header,
|
|
.task-genius-formats-header,
|
|
.task-genius-examples-header {
|
|
font-size: 0.95em;
|
|
font-weight: 600;
|
|
margin-bottom: 0.5rem;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-field-list,
|
|
.task-genius-tag-list,
|
|
.task-genius-path-list,
|
|
.task-genius-format-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.task-genius-field-item,
|
|
.task-genius-tag-item,
|
|
.task-genius-path-item,
|
|
.task-genius-format-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
background: var(--background-primary);
|
|
padding: 0.5rem;
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: border-color 0.2s;
|
|
}
|
|
.task-genius-field-item:hover,
|
|
.task-genius-tag-item:hover,
|
|
.task-genius-path-item:hover,
|
|
.task-genius-format-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.task-genius-field-input,
|
|
.task-genius-tag-input,
|
|
.task-genius-path-input,
|
|
.task-genius-format-input {
|
|
flex: 1;
|
|
padding: 0.4rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-family: var(--font-interface);
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-field-input:focus,
|
|
.task-genius-tag-input:focus,
|
|
.task-genius-path-input:focus,
|
|
.task-genius-format-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.task-genius-field-delete-btn,
|
|
.task-genius-tag-delete-btn,
|
|
.task-genius-path-delete-btn,
|
|
.task-genius-format-delete-btn {
|
|
width: 28px;
|
|
height: 28px;
|
|
padding: 0;
|
|
border: none;
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
font-weight: bold;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: background-color 0.2s;
|
|
}
|
|
.task-genius-field-delete-btn:hover,
|
|
.task-genius-tag-delete-btn:hover,
|
|
.task-genius-path-delete-btn:hover,
|
|
.task-genius-format-delete-btn:hover {
|
|
background: var(--background-modifier-error-hover);
|
|
}
|
|
.task-genius-add-field-btn,
|
|
.task-genius-add-tag-btn,
|
|
.task-genius-add-path-btn,
|
|
.task-genius-add-format-btn {
|
|
padding: 0.5rem 1rem;
|
|
background: var(--background-primary);
|
|
color: var(--text-muted);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
transition: all 0.2s;
|
|
}
|
|
.task-genius-add-field-btn:hover,
|
|
.task-genius-add-tag-btn:hover,
|
|
.task-genius-add-path-btn:hover,
|
|
.task-genius-add-format-btn:hover {
|
|
border-color: var(--interactive-accent);
|
|
color: var(--interactive-accent);
|
|
}
|
|
.task-genius-date-examples {
|
|
margin-top: 1rem;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.task-genius-date-examples-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: 0.9em;
|
|
}
|
|
.task-genius-date-examples-table th {
|
|
text-align: left;
|
|
padding: 0.5rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.task-genius-date-examples-table td {
|
|
padding: 0.4rem 0.5rem;
|
|
border-bottom: 1px solid var(--background-modifier-border-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-genius-date-examples-table tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
.task-genius-date-examples-table tr:hover td {
|
|
background: var(--background-primary-alt);
|
|
}
|
|
.task-genius-iframe-modal {
|
|
width: 90%;
|
|
max-width: 1400px;
|
|
max-height: 90vh;
|
|
overflow-y: auto;
|
|
}
|
|
.task-genius-iframe-modal .modal-title {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.time-parsing-example {
|
|
padding: var(--size-2-2);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-top: var(--size-2-2);
|
|
margin-bottom: var(--size-2-2);
|
|
padding-left: var(--size-4-2);
|
|
padding-right: var(--size-4-2);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-genius-settings .setting-item-control input[type=time] {
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.task-genius-settings .file-source-strategy-container {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: var(--size-4-4);
|
|
}
|
|
.fluent-view-tabs.tg-index-task-source-switcher {
|
|
display: flex;
|
|
align-items: stretch;
|
|
justify-content: center;
|
|
gap: var(--size-2-2);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--size-2-3);
|
|
padding: var(--size-2-1);
|
|
margin-bottom: var(--size-4-4);
|
|
width: fit-content;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab.is-active {
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 14px;
|
|
}
|
|
.tg-index-task-source-switcher .fluent-view-tab-label {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
.file-name-templates-container input {
|
|
flex: 1;
|
|
}
|
|
.file-name-templates-container .setting-item-info {
|
|
display: none;
|
|
}
|
|
.workspace-hidden-modules-container {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
padding: var(--size-4-4);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workspace-hidden-modules-title {
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.workspace-hidden-modules-title svg {
|
|
width: 18px;
|
|
height: 18px;
|
|
color: var(--text-muted);
|
|
}
|
|
.workspace-hidden-modules-desc {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-4-3);
|
|
line-height: 1.5;
|
|
}
|
|
.workspace-module-groups {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.workspace-module-group {
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workspace-module-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-4-2);
|
|
padding-bottom: var(--size-2-3);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workspace-module-group-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.workspace-module-group-title {
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
flex: 1;
|
|
}
|
|
.workspace-module-group-count {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
background: var(--background-secondary);
|
|
padding: 2px 8px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.workspace-module-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
gap: var(--size-2-3);
|
|
}
|
|
.workspace-module-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-2-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid transparent;
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
user-select: none;
|
|
}
|
|
.workspace-module-item:hover {
|
|
border-color: var(--background-modifier-border-hover);
|
|
background: var(--background-secondary-alt);
|
|
}
|
|
.workspace-module-item.is-hidden {
|
|
opacity: 0.6;
|
|
}
|
|
.workspace-module-item.is-hidden:hover {
|
|
opacity: 0.8;
|
|
}
|
|
.workspace-module-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-module-checkbox input[type=checkbox] {
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
.workspace-module-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-module-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
flex: 1;
|
|
line-height: 1.3;
|
|
}
|
|
.workspace-module-item.is-hidden .workspace-module-label {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.workspace-name-with-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.workspace-list-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* src/styles/beta-warning.css */
|
|
.beta-test-warning-banner {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
margin-bottom: 20px;
|
|
border: 1px solid var(--color-orange);
|
|
border-radius: 8px;
|
|
}
|
|
.beta-warning-icon {
|
|
font-size: 20px;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
margin-top: 2px;
|
|
}
|
|
.beta-warning-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.beta-warning-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
margin-bottom: 8px;
|
|
}
|
|
.beta-warning-text {
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/settings-search.css */
|
|
.tg-settings-search-input-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
background: var(--input-background);
|
|
border: var(--input-border-width) solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
transition: all 0.15s ease-in-out;
|
|
min-height: var(--input-height);
|
|
}
|
|
.tg-settings-search-input-container:focus-within {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.tg-settings-search-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 var(--size-4-2);
|
|
color: var(--text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-settings-search-icon svg {
|
|
width: var(--icon-s);
|
|
height: var(--icon-s);
|
|
}
|
|
.tg-settings-search-input {
|
|
flex: 1;
|
|
padding: var(--size-2-2) var(--size-2-1);
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-medium);
|
|
outline: none;
|
|
}
|
|
input.tg-settings-search-input {
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.tg-settings-search-input::placeholder {
|
|
color: var(--text-muted);
|
|
opacity: 0.7;
|
|
}
|
|
.tg-settings-search-clear {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: var(--size-2-1);
|
|
margin-right: var(--size-2-1);
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
border-radius: var(--button-radius);
|
|
transition: all 0.15s ease-in-out;
|
|
box-shadow: none !important;
|
|
flex-shrink: 0;
|
|
width: var(--clickable-icon-size);
|
|
height: var(--clickable-icon-size);
|
|
}
|
|
.tg-settings-search-clear:hover {
|
|
background: var(--background-modifier-hover) !important;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-settings-search-clear:active {
|
|
background: var(--background-modifier-active) !important;
|
|
}
|
|
.tg-settings-search-clear svg {
|
|
width: var(--icon-xs);
|
|
height: var(--icon-xs);
|
|
}
|
|
.tg-settings-search-results {
|
|
position: absolute;
|
|
top: calc(100% + var(--size-2-1));
|
|
left: 0;
|
|
right: 0;
|
|
background: var(--background-primary);
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-l);
|
|
z-index: var(--layer-popover);
|
|
max-height: 320px;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
.tg-settings-search-result {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
cursor: pointer;
|
|
border-bottom: var(--border-width) solid var(--background-modifier-border-hover);
|
|
transition: background-color 0.1s ease-in-out;
|
|
position: relative;
|
|
}
|
|
.tg-settings-search-result:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.tg-settings-search-result:hover,
|
|
.tg-settings-search-result-selected {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.tg-settings-search-result:active {
|
|
background: var(--background-modifier-active);
|
|
}
|
|
.tg-settings-search-result-name {
|
|
font-weight: var(--font-weight-medium);
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
font-size: var(--font-ui-medium);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
.tg-settings-search-result-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.tg-settings-search-result-category {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
background: var(--background-modifier-border);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
font-weight: var(--font-weight-medium);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.tg-settings-search-result-desc {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
line-height: var(--line-height-normal);
|
|
margin-top: var(--size-2-1);
|
|
}
|
|
.tg-settings-search-no-result {
|
|
padding: var(--size-4-4) var(--size-4-3);
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-medium);
|
|
font-style: italic;
|
|
}
|
|
.tg-settings-search-highlight {
|
|
background: var(--background-secondary) !important;
|
|
border-radius: var(--radius-s);
|
|
transition: background-color 0.6s ease-out;
|
|
animation: tg-settings-search-pulse 0.6s ease-out;
|
|
}
|
|
@keyframes tg-settings-search-pulse {
|
|
0% {
|
|
background: var(--interactive-accent);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
background: var(--background-secondary);
|
|
transform: scale(1.01);
|
|
}
|
|
100% {
|
|
background: var(--background-secondary);
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.tg-settings-search-result-selected {
|
|
background: var(--background-modifier-hover) !important;
|
|
outline: var(--border-width) solid var(--interactive-accent);
|
|
outline-offset: -1px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-settings-search-results {
|
|
max-height: 280px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tg-settings-search-result {
|
|
padding: var(--size-4-2) var(--size-4-2);
|
|
}
|
|
.tg-settings-search-result-name {
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-settings-search-result-category {
|
|
font-size: var(--font-ui-smaller);
|
|
padding: var(--size-2-1) var(--size-2-1);
|
|
}
|
|
}
|
|
.tg-settings-search-results {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--scrollbar-thumb-bg) transparent;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar {
|
|
width: var(--scrollbar-thin-width);
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-thumb {
|
|
background: var(--scrollbar-thumb-bg);
|
|
border-radius: var(--scrollbar-thin-thumb-radius);
|
|
border: 2px solid transparent;
|
|
background-clip: content-box;
|
|
}
|
|
.tg-settings-search-results::-webkit-scrollbar-thumb:hover {
|
|
background: var(--scrollbar-thumb-bg-hover);
|
|
background-clip: content-box;
|
|
}
|
|
.task-genius-settings .settings-tabs-categorized-container {
|
|
margin-top: var(--size-4-3);
|
|
}
|
|
.tg-settings-search-results {
|
|
z-index: var(--layer-popover, 200);
|
|
}
|
|
.tg-settings-search-input:focus {
|
|
border: none !important;
|
|
outline: none !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.tg-settings-search-icon {
|
|
transition: color 0.15s ease-in-out;
|
|
}
|
|
.tg-settings-search-input-container:focus-within .tg-settings-search-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.tg-settings-search-clear {
|
|
opacity: 0.8;
|
|
}
|
|
.tg-settings-search-clear:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* src/styles/settings-migration.css */
|
|
.setting-item-info.mod-warning {
|
|
border: 1px solid var(--background-modifier-error);
|
|
border-radius: 6px;
|
|
padding: 16px;
|
|
margin: 12px 0;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-name {
|
|
font-weight: 600;
|
|
color: var(--text-error);
|
|
margin-bottom: 8px;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-description {
|
|
color: var(--text-muted);
|
|
margin-bottom: 12px;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-description p {
|
|
margin: 4px 0;
|
|
}
|
|
.setting-item-info.mod-warning .setting-item-control {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-cta {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 4px;
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-cta:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.setting-item-info.mod-warning button.mod-muted {
|
|
background-color: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.setting-item-info.mod-warning button.mod-muted:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.setting-item-info.mod-success {
|
|
background-color: var(--color-green-bg);
|
|
border: 1px solid var(--color-green);
|
|
border-radius: 6px;
|
|
padding: 16px;
|
|
margin: 12px 0;
|
|
}
|
|
.setting-item-info.mod-success .setting-item-name {
|
|
font-weight: 600;
|
|
color: var(--color-green);
|
|
margin-bottom: 8px;
|
|
}
|
|
.file-source-notice {
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 12px;
|
|
margin: 8px 0;
|
|
}
|
|
.file-source-notice .notice-title {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
}
|
|
.file-source-notice .notice-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
/* src/styles/workspace-settings-selector.css */
|
|
.tg-settings-header-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
margin-bottom: 20px;
|
|
width: 100%;
|
|
}
|
|
.tg-workspace-selector-container {
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-settings-selector {
|
|
display: inline-block;
|
|
}
|
|
.workspace-settings-selector-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 6px 12px;
|
|
background-color: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: all 0.15s ease;
|
|
min-width: 150px;
|
|
height: 34px;
|
|
}
|
|
.workspace-settings-selector-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.workspace-settings-selector-button:active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.workspace-settings-selector-button .workspace-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
flex-shrink: 0;
|
|
}
|
|
.workspace-settings-selector-button .workspace-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.workspace-settings-selector-button .workspace-name {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.workspace-settings-selector-button .workspace-dropdown-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-shrink: 0;
|
|
margin-left: auto;
|
|
}
|
|
.workspace-settings-selector-button .workspace-dropdown-icon svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
fill: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
}
|
|
.workspace-settings-selector-button:hover .workspace-dropdown-icon svg {
|
|
fill: var(--text-normal);
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-container {
|
|
flex: 1;
|
|
max-width: none;
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-input-container {
|
|
width: 100%;
|
|
}
|
|
.tg-settings-main-container {
|
|
width: 100%;
|
|
position: relative;
|
|
}
|
|
.tg-settings-main-container .tg-settings-search-results {
|
|
margin-top: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-settings-header-bar {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 8px;
|
|
}
|
|
.workspace-settings-selector-button {
|
|
width: 100%;
|
|
min-width: unset;
|
|
}
|
|
.tg-settings-header-bar .tg-settings-search-container {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.task-genius-settings .tg-workspace-selector-container .workspace-icon {
|
|
width: unset;
|
|
height: unset;
|
|
color: inherit;
|
|
}
|
|
|
|
/* src/styles/onboarding-components.css */
|
|
.onboarding-view:has(.component-showcase) .onboarding-content {
|
|
overflow-y: hidden;
|
|
}
|
|
.onboarding-view:has(.component-showcase, .intro-line) .onboarding-header {
|
|
padding: calc(var(--onboarding-spacing) * 2) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .onboarding-header {
|
|
text-align: center;
|
|
}
|
|
.fluent-top-navigation.component-preview {
|
|
overflow-x: auto;
|
|
}
|
|
.fluent-sidebar.component-preview {
|
|
width: 100%;
|
|
}
|
|
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container {
|
|
background: var(--background-primary);
|
|
}
|
|
.tg-fluent-container.component-preview-sidebar {
|
|
width: 200px;
|
|
min-width: 200px;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-fluent-container.component-preview-topnav {
|
|
background: var(--background-primary);
|
|
}
|
|
.component-showcase {
|
|
display: flex;
|
|
gap: var(--size-4-6);
|
|
margin: var(--size-4-4) 0;
|
|
min-height: 400px;
|
|
min-width: 90%;
|
|
}
|
|
.component-showcase-preview {
|
|
flex: 1;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-4);
|
|
overflow: hidden;
|
|
position: relative;
|
|
border: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: row;
|
|
overflow-x: auto;
|
|
}
|
|
.component-showcase-description {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.component-showcase-description h3 {
|
|
margin: 0;
|
|
color: var(--text-normal);
|
|
}
|
|
.component-showcase-description p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
line-height: 1.6;
|
|
}
|
|
.component-feature-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.component-feature-list li {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
}
|
|
.component-feature-list li::before {
|
|
content: "\2713";
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
}
|
|
.component-preview {
|
|
pointer-events: none;
|
|
user-select: none;
|
|
}
|
|
.component-preview-sidebar {
|
|
max-width: 300px;
|
|
}
|
|
.component-preview-popover {
|
|
max-width: 350px;
|
|
}
|
|
.component-preview input,
|
|
.component-preview button,
|
|
.component-preview .clickable-icon {
|
|
pointer-events: none;
|
|
cursor: default;
|
|
}
|
|
.component-tabs {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-4-2);
|
|
}
|
|
.component-tab {
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.component-tab:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.component-tab.is-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.components-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: var(--size-4-8);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.component-showcase {
|
|
flex-direction: column;
|
|
}
|
|
.component-showcase-preview {
|
|
min-height: 300px;
|
|
}
|
|
}
|
|
.file-filter-preview {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.file-filter-config {
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-4);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.file-filter-stats-preview {
|
|
display: flex;
|
|
gap: var(--size-4-4);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-stat-item {
|
|
flex: 1;
|
|
text-align: center;
|
|
}
|
|
.filter-stat-value {
|
|
font-size: var(--font-ui-larger);
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
display: block;
|
|
}
|
|
.filter-stat-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
display: block;
|
|
margin-top: var(--size-4-1);
|
|
}
|
|
.recommended-configs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-4-4);
|
|
}
|
|
.recommended-config-item {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.recommended-config-item:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.recommended-config-item h4 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
.recommended-config-item p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.component-showcase-preview.tg-fluent-container.component-preview-sidebar .fluent-sidebar {
|
|
width: 100%;
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item {
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item.is-active,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item.is-active {
|
|
background: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.component-showcase-preview .component-preview-sidebar .fluent-navigation-item:focus-visible,
|
|
.component-showcase-preview .component-preview-sidebar .fluent-project-item:focus-visible {
|
|
box-shadow: 0 0 0 2px var(--interactive-accent);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.component-showcase-preview.focus-mode .is-dimmed {
|
|
opacity: 0.5;
|
|
filter: grayscale(15%);
|
|
pointer-events: none;
|
|
}
|
|
.component-showcase-preview.focus-mode .is-focused {
|
|
position: relative;
|
|
outline: 1px solid var(--color-accent);
|
|
outline-offset: -1px;
|
|
border-radius: var(--radius-s);
|
|
z-index: 1;
|
|
}
|
|
.component-showcase:has(.fluent-top-navigation):not(:has(.component-preview-sidebar)) {
|
|
flex-direction: column;
|
|
}
|
|
.component-showcase-preview.focus-mode.tg-fluent-container.component-preview-topnav {
|
|
flex: unset;
|
|
height: max-content;
|
|
}
|
|
.fluent-top-navigation.component-preview.is-focused {
|
|
outline: unset;
|
|
}
|
|
.component-showcase-preview:has(.component-preview-sidebar + .component-preview-topnav) .component-preview-sidebar {
|
|
border-top: unset;
|
|
}
|
|
.component-showcase:has(.tg-fluent-container.component-preview-sidebar + .tg-fluent-container.component-preview-topnav) .tg-fluent-container.component-preview-topnav {
|
|
border-top: unset;
|
|
background: var(--background-primary);
|
|
}
|
|
.onboarding-content .resources-section {
|
|
width: 100%;
|
|
}
|
|
|
|
/* src/styles/layout-placement.css */
|
|
.placement-preview {
|
|
display: grid;
|
|
grid-template-columns: 1fr 2fr 1fr;
|
|
gap: 2px;
|
|
padding: var(--size-4-2);
|
|
height: 180px;
|
|
width: 100%;
|
|
background: var(--background-primary);
|
|
border-radius: 4px;
|
|
}
|
|
.placement-sidebar {
|
|
border-radius: 2px;
|
|
padding: 4px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
}
|
|
.placement-sidebar-active {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.4;
|
|
}
|
|
.placement-sidebar-inactive {
|
|
background: var(--background-modifier-border);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-sidebar-item {
|
|
height: 6px;
|
|
border-radius: 1px;
|
|
}
|
|
.placement-sidebar-item-active {
|
|
background: var(--text-normal);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-sidebar-item-inactive {
|
|
background: var(--text-faint);
|
|
opacity: 0.2;
|
|
}
|
|
.placement-sidebar-item-small {
|
|
height: 5px;
|
|
}
|
|
.placement-center {
|
|
border-radius: 2px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.placement-center-active {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.4;
|
|
}
|
|
.placement-tab-bar {
|
|
height: 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 2px 4px;
|
|
display: flex;
|
|
gap: 2px;
|
|
align-items: center;
|
|
}
|
|
.placement-tab {
|
|
width: 24px;
|
|
height: 10px;
|
|
background: var(--background-modifier-border);
|
|
opacity: 0.3;
|
|
border-radius: 1px;
|
|
}
|
|
.placement-tab-active {
|
|
background: var(--text-normal);
|
|
opacity: 0.5;
|
|
}
|
|
.placement-content {
|
|
flex: 1;
|
|
padding: 6px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.placement-content-line {
|
|
height: 8px;
|
|
background: var(--text-normal);
|
|
opacity: 0.3;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
/* src/styles/file-filter-settings.css */
|
|
.file-filter-rules-container {
|
|
margin-top: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 1rem;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-rule {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
padding: 0.75rem;
|
|
margin-bottom: 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-primary);
|
|
overflow-x: auto;
|
|
}
|
|
.file-filter-rule:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.file-filter-rule-type,
|
|
.file-filter-rule-path,
|
|
.file-filter-rule-scope,
|
|
.file-filter-rule-enabled {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
.file-filter-rule-type {
|
|
min-width: 80px;
|
|
}
|
|
.file-filter-rule-path {
|
|
flex: 1;
|
|
}
|
|
.file-filter-rule-enabled {
|
|
min-width: 60px;
|
|
}
|
|
.file-filter-rule label {
|
|
font-size: 0.8rem;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.file-filter-rule input[type=text] {
|
|
padding: 0.25rem 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
background: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 0.9rem;
|
|
}
|
|
.file-filter-rule input[type=checkbox] {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.file-filter-rule-delete {
|
|
padding: 0.25rem;
|
|
border: none;
|
|
border-radius: 3px;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 28px;
|
|
height: 28px;
|
|
}
|
|
.file-filter-add-rule {
|
|
margin-top: 1rem;
|
|
}
|
|
.file-filter-add-rule .setting-item {
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.file-filter-add-rule .setting-item-control {
|
|
gap: 0.5rem;
|
|
}
|
|
.file-filter-add-rule + .setting-item {
|
|
border-top: none;
|
|
}
|
|
.file-filter-stats {
|
|
margin-top: 1.5rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-stat {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.25rem 0;
|
|
}
|
|
.file-filter-stat:not(:last-child) {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: 0.25rem;
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.stat-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.stat-value {
|
|
font-weight: 600;
|
|
color: var(--interactive-accent);
|
|
}
|
|
.file-filter-stat.error {
|
|
background-color: var(--background-modifier-error);
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.file-filter-stat.error .stat-label {
|
|
color: var(--text-error);
|
|
}
|
|
.setting-item .setting-item-control button[aria-label*=refresh] {
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.setting-item .setting-item-control button[aria-label*=refresh]:hover {
|
|
transform: rotate(90deg);
|
|
}
|
|
@keyframes refresh-spin {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.setting-item .setting-item-control button[disabled] .lucide-refresh-cw {
|
|
animation: refresh-spin 1s linear infinite;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.file-filter-rule {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 0.5rem;
|
|
}
|
|
.file-filter-rule-type,
|
|
.file-filter-rule-path,
|
|
.file-filter-rule-enabled {
|
|
min-width: auto;
|
|
}
|
|
.file-filter-rule-delete {
|
|
align-self: flex-end;
|
|
margin-top: 0.5rem;
|
|
}
|
|
}
|
|
.theme-dark .file-filter-rule input[type=text] {
|
|
background: var(--background-primary-alt);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.theme-dark .file-filter-rule input[type=text]:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.file-filter-rules-container:empty::before {
|
|
content: "No filter rules configured. Add rules below to start filtering files and folders.";
|
|
display: block;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 2rem;
|
|
}
|
|
.file-filter-preset-container {
|
|
margin-top: 1rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.file-filter-preset-container .setting-item {
|
|
border: none;
|
|
padding: 0.5rem 0;
|
|
}
|
|
.file-filter-preset-container .setting-item:not(:last-child) {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.file-filter-preset-container button {
|
|
position: relative;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.file-filter-preset-container button:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
background: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
.file-filter-preset-container button:not(:disabled):hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.file-filter-preset-container button[disabled] {
|
|
background: var(--color-green);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--color-green);
|
|
}
|
|
.theme-dark .file-filter-preset-container button[disabled] {
|
|
background: var(--color-green-rgb);
|
|
opacity: 0.8;
|
|
}
|
|
.file-filter-rule-editor-modal {
|
|
max-width: 800px;
|
|
width: 90vw;
|
|
}
|
|
|
|
/* src/styles/habit-edit-dialog.css */
|
|
.habit-edit-dialog {
|
|
max-width: 600px;
|
|
width: 100%;
|
|
}
|
|
.habit-edit-dialog .modal-content {
|
|
padding: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-type-selector {
|
|
margin-bottom: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-type-description {
|
|
font-weight: 600;
|
|
margin-bottom: 10px;
|
|
}
|
|
.habit-edit-dialog .habit-type-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 10px;
|
|
}
|
|
@media (max-width: 500px) {
|
|
.habit-edit-dialog .habit-type-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.habit-edit-dialog .habit-type-item {
|
|
display: flex;
|
|
padding: 12px;
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.habit-edit-dialog .habit-type-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-edit-dialog .habit-type-item.selected {
|
|
border-color: var(--interactive-accent);
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.habit-edit-dialog .habit-type-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
margin-right: 10px;
|
|
}
|
|
.habit-edit-dialog .habit-type-icon svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-edit-dialog .habit-type-text {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.habit-edit-dialog .habit-type-name {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
}
|
|
.habit-edit-dialog .habit-type-desc {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-edit-dialog .habit-common-form,
|
|
.habit-edit-dialog .habit-type-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-icon-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 30px;
|
|
height: 30px;
|
|
margin-left: 10px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 50%;
|
|
}
|
|
.habit-edit-dialog .habit-icon-preview svg {
|
|
width: 18px;
|
|
height: 18px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-row {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-key {
|
|
width: 80px;
|
|
margin-right: 5px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-mapping-arrow {
|
|
margin: 0 10px;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-edit-dialog .habit-mapping-value {
|
|
flex: 1;
|
|
font-size: 0.9em;
|
|
margin-right: var(--size-4-4);
|
|
}
|
|
.habit-edit-dialog .habit-mapping-delete {
|
|
background: none;
|
|
border: none;
|
|
color: var(--text-error);
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
padding: 0 8px;
|
|
}
|
|
.habit-edit-dialog .habit-add-mapping-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-events-container {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-event-row {
|
|
display: flex;
|
|
margin-bottom: 8px;
|
|
gap: 5px;
|
|
}
|
|
.habit-edit-dialog .habit-event-name {
|
|
width: 120px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-details {
|
|
flex: 1;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-property {
|
|
width: 120px;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-event-delete {
|
|
background: none;
|
|
border: none;
|
|
color: var(--text-error);
|
|
cursor: pointer;
|
|
font-size: 1.2em;
|
|
padding: 0 8px;
|
|
}
|
|
.habit-edit-dialog .habit-add-event-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 6px 12px;
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
}
|
|
.habit-edit-dialog .habit-edit-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.habit-edit-dialog .habit-cancel-button {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.habit-edit-dialog .habit-save-button {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
.habit-edit-dialog input[type=text],
|
|
.habit-edit-dialog input[type=number] {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 6px;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-edit-dialog .habit-type-item.selected .habit-type-desc,
|
|
.habit-edit-dialog .habit-type-item.selected .habit-type-name {
|
|
color: var(--text-on-accent);
|
|
}
|
|
|
|
/* src/styles/habit-list.css */
|
|
.habit-list-container {
|
|
padding: 12px;
|
|
width: 100%;
|
|
}
|
|
.habit-settings-container {
|
|
padding-top: 12px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.habit-add-button-container {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-bottom: 16px;
|
|
}
|
|
.habit-add-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
}
|
|
.habit-add-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.habit-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 200px;
|
|
text-align: center;
|
|
padding: 20px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.habit-empty-state h2 {
|
|
margin: 0 0 10px 0;
|
|
font-size: 1.2em;
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-empty-state p {
|
|
margin: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-items-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.habit-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 12px;
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: background-color 0.2s ease;
|
|
cursor: pointer;
|
|
height: 7.5rem;
|
|
}
|
|
.habit-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-item-icon {
|
|
--icon-size: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
margin-right: 12px;
|
|
}
|
|
.habit-item-icon svg {
|
|
color: var(--text-normal);
|
|
}
|
|
.habit-item-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.habit-item-name {
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
font-size: 16px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.habit-item-description {
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-bottom: 4px;
|
|
}
|
|
.habit-item-type {
|
|
display: inline-block;
|
|
font-size: 11px;
|
|
padding: 2px 6px;
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-item-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-left: 12px;
|
|
}
|
|
.habit-edit-button,
|
|
.habit-delete-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background-color: var(--background-primary);
|
|
cursor: pointer;
|
|
padding: 0;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.habit-edit-button:hover,
|
|
.habit-delete-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.habit-edit-button svg,
|
|
.habit-delete-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-delete-button:hover svg {
|
|
color: var(--text-error);
|
|
}
|
|
.habit-delete-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 20px;
|
|
}
|
|
.habit-delete-button-confirm {
|
|
background-color: var(--text-error);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* src/styles/ics-settings.css */
|
|
.ics-settings-container {
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
}
|
|
.ics-header-container {
|
|
margin-bottom: 2rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 1rem;
|
|
}
|
|
.ics-back-button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.5rem 1rem;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
margin-bottom: 1rem;
|
|
font-size: 0.9em;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-back-button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-description {
|
|
color: var(--text-muted);
|
|
margin-top: 0.5rem;
|
|
line-height: 1.5;
|
|
}
|
|
.ics-global-settings {
|
|
margin-bottom: 2rem;
|
|
padding: 1.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-secondary);
|
|
}
|
|
.ics-sources-list {
|
|
margin-top: 1.5rem;
|
|
}
|
|
.ics-sources-list h3 {
|
|
margin-bottom: 1rem;
|
|
color: var(--text-normal);
|
|
}
|
|
.ics-source-item {
|
|
margin-bottom: 1rem;
|
|
padding: 1.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-primary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-source-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
}
|
|
.ics-source-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.ics-source-title strong {
|
|
font-size: 1.1em;
|
|
color: var(--text-normal);
|
|
}
|
|
.ics-source-status {
|
|
padding: 0.3rem 0.8rem;
|
|
border-radius: 12px;
|
|
font-size: 0.75em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.status-enabled {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.status-disabled {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.ics-source-details {
|
|
margin-bottom: 1.5rem;
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.ics-source-details div {
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
.ics-source-actions {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
.ics-source-actions button {
|
|
padding: 0.5rem 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
font-size: 0.85em;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
min-width: 80px;
|
|
white-space: nowrap;
|
|
}
|
|
.ics-source-actions button:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-source-actions button.mod-cta {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.ics-source-actions button.mod-cta:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.ics-source-actions button.mod-warning {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.ics-source-actions button.mod-warning:hover {
|
|
background: var(--color-red);
|
|
opacity: 0.8;
|
|
}
|
|
.ics-source-actions button:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
transform: none;
|
|
}
|
|
.ics-source-actions button.syncing {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.ics-source-actions button.success {
|
|
background: var(--color-green);
|
|
color: white;
|
|
border-color: var(--color-green);
|
|
}
|
|
.ics-source-actions button.error {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.ics-add-source-container {
|
|
margin-top: 2rem;
|
|
text-align: center;
|
|
padding: 2rem;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-secondary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.ics-add-source-container:hover {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.ics-add-source-container button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.8rem 1.5rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: 0.95em;
|
|
}
|
|
.ics-add-source-container button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-2px);
|
|
}
|
|
.ics-test-container {
|
|
margin-top: 1rem;
|
|
text-align: center;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
background: var(--background-modifier-form-field);
|
|
}
|
|
.ics-test-button {
|
|
background: var(--color-orange);
|
|
color: white;
|
|
border: none;
|
|
padding: 0.6rem 1.2rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: 0.9em;
|
|
}
|
|
.ics-test-button:hover {
|
|
background: var(--color-orange);
|
|
opacity: 0.8;
|
|
transform: translateY(-1px);
|
|
}
|
|
.ics-empty-state {
|
|
text-align: center;
|
|
padding: 3rem 2rem;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.ics-source-modal .modal-content {
|
|
max-width: 600px;
|
|
max-height: 80vh;
|
|
overflow-y: auto;
|
|
}
|
|
.auth-field {
|
|
margin-top: 0.5rem;
|
|
}
|
|
.modal-button-container {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
justify-content: flex-end;
|
|
margin-top: 1.5rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.modal-button-container button {
|
|
padding: 0.5rem 1rem;
|
|
border-radius: 6px;
|
|
font-size: 0.9em;
|
|
min-width: 80px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.ics-source-header {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 0.5rem;
|
|
}
|
|
.ics-source-actions {
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
width: 100%;
|
|
justify-content: space-between;
|
|
}
|
|
.ics-source-actions button {
|
|
flex: 1;
|
|
min-width: auto;
|
|
}
|
|
}
|
|
@media (max-width: 480px) {
|
|
.ics-source-item {
|
|
padding: 1rem;
|
|
}
|
|
.primary-actions,
|
|
.secondary-actions {
|
|
flex-direction: column;
|
|
}
|
|
.ics-source-actions button {
|
|
width: 100%;
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
.modal-button-container {
|
|
flex-direction: column;
|
|
}
|
|
.modal-button-container button {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.text-replacements-list {
|
|
margin: 1rem 0;
|
|
}
|
|
.text-replacements-empty {
|
|
text-align: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
background: var(--background-secondary);
|
|
border-radius: 6px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
}
|
|
.text-replacement-rule {
|
|
margin-bottom: 1rem;
|
|
padding: 1rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
background: var(--background-primary);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-rule:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.text-replacement-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.8rem;
|
|
}
|
|
.text-replacement-header strong {
|
|
color: var(--text-normal);
|
|
font-size: 1em;
|
|
}
|
|
.text-replacement-status {
|
|
padding: 0.2rem 0.6rem;
|
|
border-radius: 10px;
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.text-replacement-status.enabled {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.text-replacement-status.disabled {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.text-replacement-details {
|
|
margin-bottom: 1rem;
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.text-replacement-details div {
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
.text-replacement-pattern {
|
|
font-family: var(--font-monospace);
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.2rem 0.4rem;
|
|
border-radius: 3px;
|
|
display: inline-block;
|
|
margin-left: 0.5rem;
|
|
}
|
|
.text-replacement-replacement {
|
|
font-family: var(--font-monospace);
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.2rem 0.4rem;
|
|
border-radius: 3px;
|
|
display: inline-block;
|
|
margin-left: 0.5rem;
|
|
}
|
|
.text-replacement-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
.text-replacement-actions button {
|
|
padding: 0.4rem 0.8rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
font-size: 0.8em;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-actions button:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.text-replacement-actions button.mod-cta {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.text-replacement-actions button.mod-warning {
|
|
background: var(--color-red);
|
|
color: white;
|
|
border-color: var(--color-red);
|
|
}
|
|
.text-replacement-add {
|
|
margin-top: 1rem;
|
|
text-align: center;
|
|
}
|
|
.text-replacement-add button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: 0.6rem 1.2rem;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.text-replacement-add button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
}
|
|
.text-replacement-modal .modal-content {
|
|
max-width: 700px;
|
|
max-height: 85vh;
|
|
overflow-y: auto;
|
|
}
|
|
.test-output {
|
|
margin-top: 0.5rem;
|
|
padding: 0.8rem;
|
|
background: var(--background-modifier-form-field);
|
|
border-radius: 4px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.9em;
|
|
}
|
|
.test-result {
|
|
font-weight: 500;
|
|
}
|
|
.text-replacement-modal ul {
|
|
margin: 0.5rem 0;
|
|
padding-left: 1.5rem;
|
|
}
|
|
.text-replacement-modal li {
|
|
margin-bottom: 0.5rem;
|
|
line-height: 1.4;
|
|
}
|
|
.text-replacement-modal code {
|
|
background: var(--background-modifier-form-field);
|
|
padding: 0.1rem 0.3rem;
|
|
border-radius: 3px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
}
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.ics-source-actions button.syncing::before {
|
|
content: "";
|
|
display: inline-block;
|
|
margin-right: 0.3rem;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
.ics-text-replacement-modal,
|
|
.ics-source-modal {
|
|
max-width: 1000px;
|
|
max-height: 90vh;
|
|
padding-right: 0;
|
|
}
|
|
.ics-text-replacement-modal .modal-content,
|
|
.ics-source-modal .modal-content {
|
|
padding-right: var(--size-4-2);
|
|
}
|
|
|
|
/* src/styles/task-filter.css */
|
|
.task-filter-panel {
|
|
padding: var(--size-4-4) var(--size-4-4);
|
|
padding-bottom: var(--size-2-2);
|
|
padding-left: var(--size-4-8);
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
.task-filter-active {
|
|
color: var(--color-accent-2);
|
|
font-weight: bold;
|
|
}
|
|
.task-filter-panel > .setting-item {
|
|
border-top: unset;
|
|
}
|
|
.task-filter-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
}
|
|
.task-filter-title {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-options {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
.task-filter-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.task-filter-section h3 {
|
|
font-size: 14px;
|
|
margin: 5px 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-filter-section:last-child {
|
|
border-bottom: unset;
|
|
}
|
|
.task-filter-option {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.task-filter-option input[type=checkbox] {
|
|
margin: 0;
|
|
}
|
|
.task-filter-option label {
|
|
font-size: 13px;
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
margin-top: 8px;
|
|
padding-top: 8px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.task-filter-apply,
|
|
.task-filter-close {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
.task-filter-apply {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-filter-reset {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-close {
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-filter-query-input {
|
|
width: 100%;
|
|
min-width: 250px;
|
|
border-radius: 4px;
|
|
padding: 8px 12px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 14px;
|
|
}
|
|
.task-filter-query-input:focus {
|
|
box-shadow: 0 0 0 2px var(--interactive-accent);
|
|
outline: none;
|
|
}
|
|
.task-filter-section .setting-item-description {
|
|
margin-top: 5px;
|
|
margin-bottom: 10px;
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.task-filter-options {
|
|
max-height: 70vh;
|
|
overflow-y: auto;
|
|
padding-right: 5px;
|
|
}
|
|
.task-filter-options {
|
|
margin-bottom: 10px;
|
|
padding-top: var(--size-4-4);
|
|
}
|
|
|
|
/* src/styles/global-filter.css */
|
|
.filter-group-separator {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: var(--size-2-2) 0;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.filter-group-separator::before,
|
|
.filter-group-separator::after {
|
|
content: "";
|
|
flex-grow: 1;
|
|
height: 1px;
|
|
background-color: var( --background-modifier-border );
|
|
margin: 0 var(--size-2-1);
|
|
}
|
|
.drag-handle {
|
|
cursor: grab;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.compact-btn {
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
box-shadow: unset !important;
|
|
border: unset !important;
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--size-2-2);
|
|
-webkit-app-region: no-drag;
|
|
display: inline-flex;
|
|
overflow: hidden;
|
|
align-items: center;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
border-radius: var(--button-radius);
|
|
padding: var(--size-2-2);
|
|
font-weight: var(--input-font-weight);
|
|
cursor: var(--cursor);
|
|
font-family: inherit;
|
|
gap: var(--size-2-2);
|
|
min-height: 30px;
|
|
}
|
|
.compact-btn:hover {
|
|
box-shadow: none;
|
|
opacity: var(--icon-opacity-hover);
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.compact-input,
|
|
.compact-select {
|
|
font-size: var(--font-ui-smaller);
|
|
height: var(--input-height);
|
|
border: 1px solid var(--background-modifier-border);
|
|
box-shadow: none;
|
|
}
|
|
.compact-select:hover {
|
|
box-shadow: none;
|
|
}
|
|
.compact-text {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.dragging-placeholder {
|
|
opacity: 0.5;
|
|
background-color: var( --background-modifier-hover );
|
|
}
|
|
.task-filter-root-container.task-popover-content {
|
|
padding: var(--size-2-2);
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
.task-filter-main-panel {
|
|
max-width: 100%;
|
|
padding: var(--size-2-2);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.filter-menu {
|
|
z-index: 50;
|
|
min-width: 600px;
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.root-filter-setup-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
.root-condition-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem;
|
|
background-color: var( --background-secondary-alt, var(--background-modifier-hover) );
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.root-condition-label {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.root-condition-select {
|
|
width: auto;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
}
|
|
.root-condition-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.root-condition-span {
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-groups-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
max-height: 50vh;
|
|
overflow: auto;
|
|
}
|
|
.filter-group {
|
|
padding: var(--size-2-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-primary);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.filter-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.filter-group-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
}
|
|
.filter-group-header-left .drag-handle-container .svg-icon {
|
|
color: var(--text-faint);
|
|
}
|
|
.filter-group-header-left .drag-handle-container:hover .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-left .drag-handle-container {
|
|
padding-right: var(--size-2-1);
|
|
}
|
|
.filter-group-header-left > .compact-text,
|
|
.filter-group-header-left > span.compact-text {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-group-header-left .group-condition-select.compact-select {
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
}
|
|
.filter-group-header-left .group-condition-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-group-header-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn,
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn {
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.filter-group-header-right .remove-group-btn.compact-icon-btn:hover {
|
|
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
|
|
}
|
|
.filters-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
padding-left: 1rem;
|
|
border-left: 2px solid var(--background-modifier-border);
|
|
margin-left: var(--size-4-2);
|
|
}
|
|
.filters-list:empty {
|
|
display: none;
|
|
}
|
|
.group-footer {
|
|
padding-left: 0.375rem;
|
|
margin-top: 0.375rem;
|
|
}
|
|
.add-filter-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-4-2);
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
.filter-item .filter-conjunction {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 600;
|
|
color: var(--text-faint);
|
|
align-self: center;
|
|
}
|
|
.filter-item .filter-property-select.compact-select {
|
|
flex-basis: 30%;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
box-shadow: none;
|
|
}
|
|
.filter-item .filter-property-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .filter-condition-select.compact-select {
|
|
width: auto;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
box-shadow: none;
|
|
}
|
|
.filter-item .filter-condition-select.compact-select:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .filter-value-input.compact-input {
|
|
flex-grow: 1;
|
|
border: 1px solid var(--input-border-color, var(--background-modifier-border));
|
|
width: 100%;
|
|
}
|
|
.filter-item .filter-value-input.compact-input:focus {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 1px var(--interactive-accent);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn .svg-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon {
|
|
color: var(--text-error);
|
|
}
|
|
.filter-item .remove-filter-btn.compact-icon-btn:hover {
|
|
background-color: var( --background-error-hover, var(--background-modifier-error-hover) );
|
|
}
|
|
.add-group-section {
|
|
margin-top: var(--size-2-1);
|
|
margin-bottom: var(--size-2-1);
|
|
margin-left: var(--size-2-1);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
.add-filter-group-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.filter-config-section {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.save-filter-config-btn,
|
|
.load-filter-config-btn {
|
|
flex: 1;
|
|
}
|
|
.save-filter-config-btn-icon,
|
|
.load-filter-config-btn-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.save-filter-config-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.load-filter-config-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.filter-config-details {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-l);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-primary-alt) 100%);
|
|
box-shadow: var(--shadow-s);
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
.filter-config-details:hover {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(-1px);
|
|
}
|
|
.filter-config-details h3 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.filter-config-details p {
|
|
margin: var(--size-2-2) 0;
|
|
line-height: 1.5;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-config-meta {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin: var(--size-2-1) 0;
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
background-color: var(--background-modifier-form-field);
|
|
border-radius: var(--radius-s);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.filter-config-summary {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-2) 0 0 0;
|
|
border-top: 2px solid var(--background-modifier-border);
|
|
}
|
|
.filter-config-summary h4 {
|
|
margin: 0 0 var(--size-2-3) 0;
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.filter-config-summary p {
|
|
margin: var(--size-2-1) 0;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
background-color: var(--background-primary-alt);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.filter-config-buttons {
|
|
margin-top: var(--size-4-3);
|
|
padding-top: var(--size-4-2);
|
|
}
|
|
.filter-config-name-highlight {
|
|
background-color: var(--text-accent);
|
|
color: var(--text-on-accent);
|
|
padding: 0.125rem 0.25rem;
|
|
border-radius: var(--radius-s);
|
|
font-weight: 500;
|
|
}
|
|
.advanced-filter-container {
|
|
margin-top: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.advanced-filter-container .task-filter-root-container {
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.advanced-filter-container .task-filter-main-panel {
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .filter-group {
|
|
padding: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .filter-item {
|
|
padding: var(--size-2-2);
|
|
gap: var(--size-2-2);
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-btn {
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
min-height: 26px;
|
|
}
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-select,
|
|
.task-genius-view-config-modal .advanced-filter-container .compact-input {
|
|
font-size: var(--font-ui-smaller);
|
|
height: 28px;
|
|
}
|
|
|
|
/* src/styles/view-setting-tab.css */
|
|
.view-management-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.view-section-container {
|
|
min-height: 100px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
padding: 10px;
|
|
}
|
|
.view-section-header {
|
|
margin-bottom: 10px;
|
|
}
|
|
.view-section-header h4 {
|
|
margin: 0;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
}
|
|
.view-section-items,
|
|
.sortable-views {
|
|
min-height: 60px;
|
|
border: 1px dashed var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 8px;
|
|
background: var(--background-primary);
|
|
}
|
|
.sortable-views:empty::after {
|
|
content: attr(data-empty-text);
|
|
display: block;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
padding: 20px;
|
|
font-style: italic;
|
|
}
|
|
.sortable-views[data-region=top]:empty::after {
|
|
content: "Drag views here for the top section";
|
|
}
|
|
.sortable-views[data-region=bottom]:empty::after {
|
|
content: "Drag views here for the bottom section";
|
|
}
|
|
.view-item,
|
|
.sortable-view-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px;
|
|
margin-bottom: 4px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 4px;
|
|
cursor: move;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.view-item:hover {
|
|
background-color: var(--background-secondary-alt) !important;
|
|
}
|
|
.view-drag-handle {
|
|
cursor: grab;
|
|
margin-right: 8px;
|
|
opacity: 0.5;
|
|
}
|
|
.view-drag-handle:active {
|
|
cursor: grabbing !important;
|
|
}
|
|
.view-item-icon {
|
|
margin-right: 8px;
|
|
}
|
|
.view-item-info {
|
|
flex: 1;
|
|
margin-right: 8px;
|
|
}
|
|
.view-item-name {
|
|
font-weight: 500;
|
|
}
|
|
.view-item-type {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.view-item-actions {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
.view-action-button {
|
|
background: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.view-action-button:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.view-action-delete:hover {
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.sortable-ghost {
|
|
opacity: 0.4;
|
|
background: var(--background-modifier-hover) !important;
|
|
}
|
|
.sortable-drag {
|
|
opacity: 0;
|
|
}
|
|
.sortable-chosen {
|
|
background: var(--background-modifier-hover) !important;
|
|
}
|
|
|
|
/* src/styles/calendar-view-settings.css */
|
|
.calendar-templates-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.calendar-template-card {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
}
|
|
.calendar-template-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 8px var(--background-modifier-box-shadow);
|
|
}
|
|
.calendar-template-icon {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-accent);
|
|
}
|
|
.calendar-template-icon svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.calendar-template-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.calendar-template-name {
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.calendar-template-description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.calendar-template-actions {
|
|
flex-shrink: 0;
|
|
}
|
|
.calendar-template-actions button {
|
|
font-size: var(--font-ui-smaller);
|
|
}
|
|
.custom-calendar-views-container {
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.calendar-views-empty {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: var(--size-4-8) var(--size-4-4);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
border: 2px dashed var(--background-modifier-border);
|
|
text-align: center;
|
|
}
|
|
.calendar-views-empty-icon {
|
|
color: var(--text-faint);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.calendar-views-empty-icon svg {
|
|
width: 48px;
|
|
height: 48px;
|
|
}
|
|
.calendar-views-empty-text {
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-muted);
|
|
font-weight: var(--font-medium);
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.calendar-views-empty-hint {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-faint);
|
|
}
|
|
.calendar-views-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.calendar-view-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
transition: all 0.15s ease;
|
|
}
|
|
.calendar-view-item:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.calendar-view-item.is-disabled {
|
|
opacity: 0.6;
|
|
}
|
|
.calendar-view-item.is-disabled .calendar-view-name {
|
|
text-decoration: line-through;
|
|
}
|
|
.calendar-view-drag-handle {
|
|
cursor: grab;
|
|
color: var(--text-faint);
|
|
padding: var(--size-2-1);
|
|
}
|
|
.calendar-view-drag-handle:hover {
|
|
color: var(--text-muted);
|
|
}
|
|
.calendar-view-drag-handle:active {
|
|
cursor: grabbing;
|
|
}
|
|
.calendar-view-icon {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-accent);
|
|
}
|
|
.calendar-view-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.calendar-view-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.calendar-view-name {
|
|
font-weight: var(--font-medium);
|
|
color: var(--text-normal);
|
|
}
|
|
.calendar-view-meta {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
margin-top: var(--size-2-1);
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
}
|
|
.calendar-view-base-type {
|
|
background: var(--background-primary);
|
|
padding: 1px 6px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.calendar-view-config-summary {
|
|
color: var(--text-faint);
|
|
}
|
|
.calendar-view-actions {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.calendar-view-action-btn {
|
|
padding: var(--size-2-2);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.calendar-view-action-delete:hover {
|
|
color: var(--text-error);
|
|
}
|
|
.calendar-add-view-container {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.sortable-ghost {
|
|
opacity: 0.4;
|
|
background: var(--interactive-accent);
|
|
}
|
|
.sortable-chosen {
|
|
box-shadow: 0 4px 12px var(--background-modifier-box-shadow);
|
|
}
|
|
.sortable-drag {
|
|
opacity: 0.9;
|
|
}
|
|
.calendar-view-config-modal {
|
|
width: 560px;
|
|
max-width: 90vw;
|
|
}
|
|
.calendar-view-config-modal .modal-header {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.calendar-view-config-modal .modal-header h2 {
|
|
margin: 0;
|
|
}
|
|
.calendar-config-tabs {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
margin-bottom: var(--size-4-4);
|
|
padding-bottom: var(--size-4-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.calendar-config-tab {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
transition: all 0.15s ease;
|
|
}
|
|
.calendar-config-tab:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.calendar-config-tab.is-active {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.calendar-config-tab.is-disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
}
|
|
.calendar-config-tab.is-disabled:hover {
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
}
|
|
.calendar-config-tab-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.calendar-config-tab-icon svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.calendar-config-content {
|
|
min-height: 280px;
|
|
}
|
|
.calendar-config-content .setting-item {
|
|
border-top: none;
|
|
padding: var(--size-4-2) 0;
|
|
}
|
|
.calendar-config-content .setting-item:first-child {
|
|
padding-top: 0;
|
|
}
|
|
.calendar-config-content .setting-item-heading {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.calendar-view-icon-selector {
|
|
display: inline-block;
|
|
}
|
|
.calendar-view-icon-selector button {
|
|
padding: var(--size-4-2);
|
|
}
|
|
.calendar-days-selector {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.calendar-day-chip {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 44px;
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-normal);
|
|
transition: all 0.15s ease;
|
|
}
|
|
.calendar-day-chip:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.calendar-day-chip.is-hidden {
|
|
background: var(--text-error);
|
|
border-color: var(--text-error);
|
|
color: white;
|
|
}
|
|
.calendar-time-range-display {
|
|
text-align: center;
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-accent);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.calendar-config-notice {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
text-align: center;
|
|
}
|
|
|
|
/* 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;
|
|
}
|
|
button.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;
|
|
box-shadow: none;
|
|
}
|
|
button.mcp-copy-endpoint-btn:hover {
|
|
background: var(--interactive-hover);
|
|
}
|
|
button.mcp-copy-endpoint-btn.copied {
|
|
animation: copySuccess 0.3s ease;
|
|
background: var(--background-modifier-success) !important;
|
|
}
|
|
.mcp-tools-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 16px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.mcp-tool-card {
|
|
position: relative;
|
|
padding: 16px;
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-primary) 100%);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
overflow: hidden;
|
|
}
|
|
.mcp-tool-card::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 3px;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
var(--interactive-accent) 0%,
|
|
var(--text-accent) 100%);
|
|
transform: scaleX(0);
|
|
transform-origin: left;
|
|
transition: transform 0.3s ease;
|
|
}
|
|
.mcp-tool-card:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.mcp-tool-card:hover::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.mcp-tool-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
.mcp-tool-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--interactive-accent);
|
|
opacity: 0.9;
|
|
}
|
|
.mcp-tool-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
stroke-width: 2;
|
|
}
|
|
.mcp-tool-name {
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
font-weight: 600;
|
|
color: var(--text-accent);
|
|
background: var(--background-modifier-box);
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
display: inline-block;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.mcp-tool-desc {
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
line-height: 1.5;
|
|
padding-left: 28px;
|
|
}
|
|
.mcp-example-container {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
margin-top: 16px;
|
|
}
|
|
.mcp-example-tabs {
|
|
display: flex;
|
|
gap: 0;
|
|
background:
|
|
linear-gradient(
|
|
180deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-box) 100%);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 0;
|
|
}
|
|
.mcp-example-tab {
|
|
flex: 1;
|
|
padding: 14px 20px;
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
position: relative;
|
|
text-align: center;
|
|
box-shadow: none !important;
|
|
}
|
|
.mcp-example-tab::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%) scaleX(0);
|
|
width: 80%;
|
|
height: 3px;
|
|
background: var(--interactive-accent);
|
|
transition: transform 0.3s ease;
|
|
border-radius: 3px 3px 0 0;
|
|
}
|
|
.mcp-example-tab:hover {
|
|
background: rgba(var(--interactive-accent-rgb), 0.05);
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-example-tab.active {
|
|
background: rgba(var(--interactive-accent-rgb), 0.1);
|
|
color: var(--interactive-accent);
|
|
font-weight: 600;
|
|
}
|
|
.mcp-example-tab.active::after {
|
|
transform: translateX(-50%) scaleX(1);
|
|
}
|
|
.mcp-example-code-container {
|
|
position: relative;
|
|
background: var(--code-background);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-example-block {
|
|
display: none;
|
|
position: relative;
|
|
animation: fadeIn 0.3s ease;
|
|
}
|
|
.mcp-example-block.active {
|
|
display: block;
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.mcp-example-code {
|
|
margin: 0;
|
|
padding: 24px 80px 24px 24px;
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--code-background) 0%,
|
|
rgba(var(--background-primary-rgb), 0.5) 100%);
|
|
font-size: 0.85em;
|
|
line-height: 1.7;
|
|
overflow-x: auto;
|
|
max-height: 500px;
|
|
font-family: var(--font-monospace);
|
|
border: none;
|
|
position: relative;
|
|
}
|
|
.mcp-example-code::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 1px;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
var(--background-modifier-border),
|
|
transparent);
|
|
}
|
|
.mcp-example-code code {
|
|
color: var(--code-normal);
|
|
font-family: var(--font-monospace);
|
|
white-space: pre;
|
|
display: block;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
.mcp-example-copy-btn {
|
|
position: absolute;
|
|
top: 20px;
|
|
right: 20px;
|
|
padding: 8px 16px;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 0.85em;
|
|
font-weight: 600;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
z-index: 10;
|
|
box-shadow: 0 2px 8px rgba(var(--interactive-accent-rgb), 0.3);
|
|
}
|
|
.mcp-example-copy-btn:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(var(--interactive-accent-rgb), 0.4);
|
|
}
|
|
.mcp-example-copy-btn:active {
|
|
transform: translateY(0);
|
|
box-shadow: 0 1px 4px rgba(var(--interactive-accent-rgb), 0.3);
|
|
}
|
|
.mcp-example-copy-btn.copied {
|
|
animation: copySuccess 0.4s ease;
|
|
background: var(--background-modifier-success) !important;
|
|
box-shadow: 0 2px 8px rgba(var(--interactive-success-rgb), 0.3);
|
|
}
|
|
@keyframes copySuccess {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.1);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
@keyframes pulse {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.6;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.mcp-client-header,
|
|
.mcp-example-tab,
|
|
.mcp-tool-card,
|
|
button {
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-config-code .json-key {
|
|
color: var(--text-accent);
|
|
}
|
|
.mcp-config-code .json-string {
|
|
color: var(--text-success);
|
|
}
|
|
.mcp-config-code .json-number {
|
|
color: var(--text-warning);
|
|
}
|
|
.mcp-config-code .json-boolean {
|
|
color: var(--text-error);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.mcp-tools-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.mcp-status-details {
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
}
|
|
.mcp-example-subtitle {
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
.mcp-cursor-install-section {
|
|
margin-bottom: 20px;
|
|
}
|
|
.mcp-cursor-install-container {
|
|
margin-top: 12px;
|
|
}
|
|
.mcp-cursor-install-desc {
|
|
color: var(--text-muted);
|
|
margin-bottom: 12px;
|
|
font-size: 14px;
|
|
}
|
|
.mcp-cursor-install-link {
|
|
display: inline-block;
|
|
margin-bottom: 16px;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
.mcp-cursor-install-link:hover {
|
|
transform: scale(1.05);
|
|
}
|
|
.mcp-cursor-additional-buttons {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn {
|
|
background: var(--interactive-normal);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 8px 16px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn:hover {
|
|
background: var(--interactive-hover);
|
|
}
|
|
.mcp-cursor-copy-deeplink-btn.copied {
|
|
background: var(--interactive-success);
|
|
color: white;
|
|
}
|
|
.mcp-cursor-debug-container {
|
|
margin-top: 20px;
|
|
}
|
|
.mcp-cursor-debug-toggle {
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.mcp-cursor-debug-toggle:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.mcp-cursor-debug-content {
|
|
margin-top: 12px;
|
|
padding: 12px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
}
|
|
.mcp-cursor-debug-label {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
margin-top: 12px;
|
|
}
|
|
.mcp-cursor-debug-label:first-child {
|
|
margin-top: 0;
|
|
}
|
|
.mcp-cursor-debug-code {
|
|
background: var(--code-background);
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
overflow-x: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mcp-cursor-debug-code code {
|
|
color: var(--code-normal);
|
|
word-break: break-all;
|
|
}
|
|
.mcp-section-separator {
|
|
margin: 24px 0;
|
|
border: none;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
/* src/styles/workflow.css */
|
|
.cm-workflow-stage-indicator {
|
|
display: inline-block;
|
|
margin-left: 4px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
user-select: none;
|
|
align-items: center;
|
|
vertical-align: middle;
|
|
}
|
|
.cm-workflow-stage-indicator span {
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.cm-workflow-stage-indicator:hover {
|
|
opacity: 1;
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=linear] {
|
|
color: var(--text-accent);
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=cycle] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.cm-workflow-stage-indicator[data-stage-type=terminal] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=linear] {
|
|
color: var(--text-accent);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=cycle] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.theme-dark .cm-workflow-stage-indicator[data-stage-type=terminal] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
|
|
/* src/styles/quick-capture.css */
|
|
:root {
|
|
--tg-tab-background: 0 0% 100%;
|
|
--tg-tab-foreground: 240 10% 3.9%;
|
|
--tg-tab-muted: 240 4.8% 95.9%;
|
|
--tg-tab-muted-foreground: 240 3.8% 46.1%;
|
|
--tg-tab-border: 240 5.9% 90%;
|
|
--tg-qc-header-bg: 0 0% 100%;
|
|
}
|
|
.theme-dark {
|
|
--tg-tab-background: 240 10% 3.9%;
|
|
--tg-tab-foreground: 0 0% 98%;
|
|
--tg-tab-muted: 240 3.7% 15.9%;
|
|
--tg-tab-muted-foreground: 240 5% 64.9%;
|
|
--tg-tab-border: 240 3.7% 15.9%;
|
|
--tg-qc-header-bg: 240 4% 10%;
|
|
}
|
|
.quick-capture-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid hsl(var(--tg-tab-border));
|
|
background: hsl(var(--tg-qc-header-bg));
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-header {
|
|
padding: 4px 8px;
|
|
}
|
|
.tg-minimal-capture-modal .model-header {
|
|
margin-bottom: 0;
|
|
}
|
|
.quick-capture-tabs {
|
|
display: inline-flex;
|
|
padding: 4px;
|
|
background: hsl(var(--tg-tab-muted));
|
|
border-radius: 6px;
|
|
gap: 2px;
|
|
}
|
|
.quick-capture-tab {
|
|
padding: 6px 12px;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-tab-text {
|
|
display: none;
|
|
}
|
|
.tg-minimal-capture-modal .quick-capture-tab-icon {
|
|
margin-right: 0;
|
|
}
|
|
.quick-capture-tab:hover:not(.active) {
|
|
color: hsl(var(--tg-tab-foreground));
|
|
}
|
|
.quick-capture-tab.active {
|
|
background: hsl(var(--tg-tab-background));
|
|
color: hsl(var(--tg-tab-foreground));
|
|
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
}
|
|
.quick-capture-tabs.is-hidden {
|
|
display: none;
|
|
}
|
|
.quick-capture-tab-icon {
|
|
margin-right: 6px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.quick-capture-tab-icon svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
.quick-capture-tab-text {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
line-height: 1;
|
|
}
|
|
.quick-capture-clear {
|
|
padding: 6px 12px;
|
|
background: transparent;
|
|
border: 1px solid hsl(var(--tg-tab-border));
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
}
|
|
.quick-capture-clear:hover {
|
|
}
|
|
.quick-capture-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-3);
|
|
}
|
|
.quick-capture-footer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.quick-capture-footer-left,
|
|
.quick-capture-footer-right {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.quick-capture-continue {
|
|
padding: var(--size-2-2) var(--size-4-3);
|
|
background: transparent;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
}
|
|
.file-name-input-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.file-name-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
.file-name-input {
|
|
width: 100%;
|
|
padding: var(--size-2-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
}
|
|
.file-name-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.file-name-input-wrapper {
|
|
display: flex;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.file-name-input-wrapper input.file-name-input {
|
|
flex: 1;
|
|
}
|
|
.file-name-template-container {
|
|
max-width: var(--size-4-18);
|
|
}
|
|
.file-name-templates {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.templates-label {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.template-buttons {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.template-button {
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
}
|
|
.template-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.quick-capture-modal.quick-capture-checkbox {
|
|
width: 800px;
|
|
max-width: 90vw;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-modal.quick-capture-file {
|
|
width: 800px;
|
|
max-width: 90vw;
|
|
height: 700px;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-modal.tg-minimal-capture-modal {
|
|
width: 600px;
|
|
max-width: 90vw;
|
|
height: 300px;
|
|
max-height: 80vh;
|
|
min-height: fit-content;
|
|
}
|
|
.quick-capture-panel {
|
|
padding: var(--size-4-2);
|
|
background-color: var(--background-primary);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.quick-capture-actions {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
margin-left: auto;
|
|
align-items: center;
|
|
}
|
|
.quick-capture-actions .quick-action-button {
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.quick-capture-actions .quick-action-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-actions .quick-action-button.active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.quick-capture-modal.minimal {
|
|
max-width: 600px;
|
|
min-width: 500px;
|
|
max-height: 300px;
|
|
}
|
|
.quick-capture-minimal-target-container {
|
|
border-radius: 6px;
|
|
margin-bottom: 12px;
|
|
}
|
|
.quick-capture-minimal-target {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 14px;
|
|
}
|
|
.quick-capture-target-label {
|
|
color: hsl(var(--tg-tab-muted-foreground));
|
|
font-weight: 500;
|
|
}
|
|
.quick-capture-target-value {
|
|
color: hsl(var(--tg-tab-foreground));
|
|
flex: 1;
|
|
}
|
|
.quick-capture-minimal-file-input {
|
|
flex: 1;
|
|
padding: 4px 8px;
|
|
background: hsl(var(--tg-tab-background));
|
|
border: 1px solid hsl(var(--tg-tab-border));
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: hsl(var(--tg-tab-foreground));
|
|
}
|
|
.quick-capture-minimal-file-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.quick-actions-left {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.quick-actions-right {
|
|
display: flex;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.quick-action-button.active {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.quick-action-save {
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
min-width: 80px;
|
|
height: 32px;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.quick-capture-tag-input {
|
|
position: absolute;
|
|
bottom: 60px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 300px;
|
|
padding: var(--size-2-1);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-text-size);
|
|
z-index: 1000;
|
|
}
|
|
.minimal-quick-capture-suggestion {
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
min-height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.minimal-quick-capture-suggestion:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected .suggestion-label {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.minimal-quick-capture-suggestion.is-selected .suggestion-description {
|
|
color: var(--text-on-accent);
|
|
opacity: 0.8;
|
|
}
|
|
.suggestion-icon {
|
|
font-size: 16px;
|
|
min-width: 20px;
|
|
text-align: center;
|
|
}
|
|
.suggestion-content {
|
|
flex: 1;
|
|
}
|
|
.suggestion-label {
|
|
font-size: var(--font-text-size);
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.suggestion-description {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.quick-capture-header-container {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: bold;
|
|
color: var(--text-normal);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
flex-wrap: nowrap;
|
|
}
|
|
.quick-capture-title {
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
}
|
|
.quick-capture-target {
|
|
flex: 1;
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-accent);
|
|
font-size: var(--font-text-size);
|
|
font-weight: normal;
|
|
min-width: 100px;
|
|
max-width: 500px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
padding: 2px 4px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.quick-capture-target:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.quick-capture-target:focus {
|
|
background-color: var(--background-modifier-hover);
|
|
outline: 2px solid var(--interactive-accent);
|
|
outline-offset: -1px;
|
|
overflow: visible;
|
|
text-overflow: initial;
|
|
}
|
|
.quick-capture-hint {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
margin-top: -4px;
|
|
text-align: right;
|
|
}
|
|
.quick-capture-editor {
|
|
min-height: 200px;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.quick-capture-file-suggest {
|
|
max-width: 500px;
|
|
}
|
|
.quick-capture-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
}
|
|
.quick-capture-submit,
|
|
.quick-capture-cancel {
|
|
padding: 6px 12px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
}
|
|
.quick-capture-submit {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.quick-capture-cancel {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-modal .modal-title:has(.is-hidden) {
|
|
display: none;
|
|
}
|
|
.quick-capture-modal .modal-title {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: row;
|
|
gap: 10px;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: bold;
|
|
}
|
|
.quick-capture-modal-editor {
|
|
min-height: 150px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.quick-capture-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
}
|
|
.quick-capture-modal.full {
|
|
width: 80vw;
|
|
max-width: 900px;
|
|
}
|
|
.quick-capture-layout {
|
|
display: flex;
|
|
height: 100%;
|
|
gap: 16px;
|
|
margin-bottom: 16px;
|
|
}
|
|
.quick-capture-config-panel {
|
|
flex: 1;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
padding-right: 16px;
|
|
overflow-y: auto;
|
|
max-width: 40%;
|
|
}
|
|
.quick-capture-editor-panel {
|
|
flex: 1.5;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.quick-capture-section-title {
|
|
font-weight: bold;
|
|
margin-bottom: 8px;
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-normal);
|
|
}
|
|
.quick-capture-target-container {
|
|
margin-bottom: 16px;
|
|
}
|
|
.quick-capture-modal.full .quick-capture-modal-editor {
|
|
min-height: 200px;
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: 8px;
|
|
margin-top: 8px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.quick-capture-modal.full {
|
|
width: 95vw;
|
|
}
|
|
.quick-capture-layout {
|
|
flex-direction: column;
|
|
}
|
|
.quick-capture-config-panel {
|
|
max-width: 100%;
|
|
border-right: none;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-right: 0;
|
|
padding-bottom: 16px;
|
|
margin-bottom: 16px;
|
|
max-height: 40%;
|
|
}
|
|
}
|
|
.quick-capture-config-panel .details-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.quick-capture-config-panel .quick-capture-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-3);
|
|
}
|
|
|
|
/* src/styles/task-list.css */
|
|
.task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0;
|
|
}
|
|
.task-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 8px 16px;
|
|
cursor: pointer;
|
|
gap: var(--size-2-3);
|
|
min-height: 40px;
|
|
}
|
|
.task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-children-container .task-item:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.task-item.selected {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.task-item.task-completed .task-item-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-item .markdown-block.markdown-renderer > p:only-child {
|
|
padding: 0;
|
|
margin: 0;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-checkbox {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
}
|
|
.task-item.task-completed .task-checkbox {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.task-item-content {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
width: 100%;
|
|
}
|
|
.task-item-container {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.task-content-metadata-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
will-change: auto;
|
|
}
|
|
.task-content-metadata-container.single-line-content {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.task-content-metadata-container.single-line-content .task-item-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.task-content-metadata-container.single-line-content .task-item-metadata {
|
|
flex-shrink: 0;
|
|
margin-top: 0;
|
|
}
|
|
.task-content-metadata-container.multi-line-content {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.task-content-metadata-container.multi-line-content .task-item-content {
|
|
}
|
|
.task-content-metadata-container.multi-line-content .task-item-metadata {
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.task-item-metadata {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-top: var(--size-2-2);
|
|
}
|
|
.task-item-metadata:empty {
|
|
display: none;
|
|
}
|
|
.task-date {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-faint);
|
|
white-space: nowrap;
|
|
background-color: var(--background-modifier-active-hover);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
border-radius: var(--radius-s);
|
|
opacity: 0.8;
|
|
}
|
|
.task-item:hover .task-date {
|
|
opacity: 1;
|
|
}
|
|
.task-date::before {
|
|
display: inline-block;
|
|
margin-right: var(--size-2-2);
|
|
font-size: xx-small;
|
|
display: inline-flex;
|
|
transform: translateY(-1px);
|
|
}
|
|
.tg-kanban-view .task-date::before {
|
|
transform: translateY(0);
|
|
}
|
|
.task-date.task-due-date::before {
|
|
content: "\1f4c5";
|
|
}
|
|
.task-date.task-overdue {
|
|
color: var(--text-error);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-due-today {
|
|
color: var(--task-doing-color);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-due-soon {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-date.task-start-date::before {
|
|
content: "\1f6eb";
|
|
}
|
|
.task-date.task-created-date::before {
|
|
content: "\2795";
|
|
}
|
|
.task-date.task-scheduled-date::before {
|
|
content: "\23f3";
|
|
}
|
|
.task-date.task-done-date::before {
|
|
content: "\2705";
|
|
}
|
|
.task-date.task-cancelled-date::before {
|
|
content: "\274c";
|
|
}
|
|
.task-date.task-recurrence::before {
|
|
content: "\1f501";
|
|
}
|
|
.task-date.task-on-completion::before {
|
|
content: "\1f3c1";
|
|
}
|
|
.task-project {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-on-accent);
|
|
background-color: var(--color-accent);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
white-space: nowrap;
|
|
opacity: 0.5;
|
|
}
|
|
.task-project:has(input) {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-item:hover .task-project {
|
|
opacity: 1;
|
|
}
|
|
.task-project::before {
|
|
content: "\1f5c2\fe0f";
|
|
margin-right: var(--size-4-2);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.task-project:hover {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-priority {
|
|
margin-left: 8px;
|
|
font-size: 0.9em;
|
|
white-space: nowrap;
|
|
}
|
|
.task-priority.priority-5 {
|
|
color: var(--text-error);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-4 {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-3 {
|
|
color: var(--text-warning);
|
|
font-weight: 600;
|
|
}
|
|
.task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-priority-clickable {
|
|
cursor: pointer;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-priority-clickable:hover {
|
|
opacity: 0.7;
|
|
}
|
|
.add-priority-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-left: 4px;
|
|
padding: 0;
|
|
border-radius: 3px;
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.add-priority-btn:hover {
|
|
border-color: var(--text-normal);
|
|
color: var(--text-normal);
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.task-item.tree-task-item .task-priority-clickable,
|
|
.task-item.tree-task-item .add-priority-btn {
|
|
position: absolute;
|
|
right: var(--size-4-2);
|
|
top: var(--size-4-2);
|
|
}
|
|
.task-oncompletion {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
background-color: var(--background-secondary);
|
|
white-space: nowrap;
|
|
}
|
|
.task-oncompletion:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-dependson {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
}
|
|
.task-dependson:hover {
|
|
color: var(--text-error);
|
|
}
|
|
.task-id {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-accent);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
white-space: nowrap;
|
|
}
|
|
.task-id:hover {
|
|
background-color: var(--background-modifier-accent-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-tags-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--size-2-2);
|
|
}
|
|
.task-tags-container:empty {
|
|
display: none;
|
|
}
|
|
.task-tag {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-2-1) var(--size-2-3);
|
|
white-space: nowrap;
|
|
opacity: 0.75;
|
|
}
|
|
.task-item:hover .task-tag {
|
|
opacity: 1;
|
|
}
|
|
.task-item-content p:has(img) img {
|
|
display: block;
|
|
width: min(50%, 200px);
|
|
}
|
|
|
|
/* src/styles/tree-view.css */
|
|
.tree-task-item {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 16px;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
.task-children-container .task-item.tree-task-item {
|
|
border-bottom: unset;
|
|
padding-top: var(--size-2-2);
|
|
padding-bottom: var(--size-2-2);
|
|
gap: 0;
|
|
}
|
|
.task-item.tree-task-item {
|
|
gap: 0;
|
|
}
|
|
.tree-task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tree-task-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tree-task-item.completed {
|
|
opacity: 0.7;
|
|
}
|
|
.tree-task-item > div:first-of-type {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 6px;
|
|
}
|
|
.task-indent {
|
|
flex-shrink: 0;
|
|
}
|
|
.task-item.tree-task-item .task-expand-toggle {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-item .task-checkbox {
|
|
padding-top: var(--size-2-2);
|
|
}
|
|
.task-expand-toggle {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-expand-toggle:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox {
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-item.tree-task-item .task-checkbox:hover {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-item.tree-task-item .task-checkbox.checked {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-content {
|
|
flex-grow: 1;
|
|
line-height: 1.4;
|
|
}
|
|
.tree-task-item.completed .task-content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
.tree-task-item .task-content-metadata-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-item-content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.single-line-content .task-metadata {
|
|
flex-shrink: 0;
|
|
margin-top: 0;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content {
|
|
width: 100%;
|
|
}
|
|
.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata {
|
|
margin-top: 4px;
|
|
}
|
|
.task-metadata {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-top: 4px;
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.task-metadata:empty {
|
|
display: none;
|
|
}
|
|
.task-due-date.overdue {
|
|
color: var(--text-error);
|
|
font-weight: bold;
|
|
}
|
|
.task-item.tree-task-item .task-project {
|
|
display: inline-block;
|
|
padding: 1px 6px;
|
|
border-radius: 4px;
|
|
}
|
|
.task-priority.priority-3 {
|
|
color: var(--text-error);
|
|
}
|
|
.task-priority.priority-2 {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-priority.priority-1 {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-priority-clickable {
|
|
cursor: pointer;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-priority-clickable:hover {
|
|
opacity: 0.7;
|
|
}
|
|
.tree-task-item .task-oncompletion {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-oncompletion:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tree-task-item .task-dependson {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-error);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-error);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-dependson:hover {
|
|
background-color: var(--background-modifier-error-hover);
|
|
color: var(--text-error);
|
|
}
|
|
.tree-task-item .task-id {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 2px 6px;
|
|
margin-left: 4px;
|
|
background-color: var(--background-modifier-accent);
|
|
border-radius: 3px;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
white-space: nowrap;
|
|
}
|
|
.tree-task-item .task-id:hover {
|
|
background-color: var(--background-modifier-accent-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.task-children-container {
|
|
margin-top: 4px;
|
|
width: 100%;
|
|
}
|
|
.view-toggle-btn {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
color: var(--text-muted);
|
|
border-radius: 4px;
|
|
}
|
|
.view-toggle-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.task-children-container:empty {
|
|
display: none !important;
|
|
}
|
|
|
|
/* src/styles/modern.css */
|
|
.task-item {
|
|
border-bottom: 1px solid var(--color-base-20);
|
|
}
|
|
|
|
/* src/styles/group-by.css */
|
|
.content-filter-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.task-group-section {
|
|
margin-bottom: 8px;
|
|
}
|
|
.group-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
}
|
|
.group-section-header:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.group-section-header .section-toggle {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.group-section-header .section-title {
|
|
flex: 1;
|
|
font-weight: 600;
|
|
font-size: 0.95em;
|
|
}
|
|
.group-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);
|
|
min-width: var(--size-4-5);
|
|
padding: 0 6px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.task-group-section .section-tasks {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-left: var(--size-4-8);
|
|
}
|
|
.task-group-section[data-group-key=priority-high] .group-section-header {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.task-group-section[data-group-key=priority-high] .section-title {
|
|
color: var(--text-error);
|
|
}
|
|
.task-group-section[data-group-key=priority-medium] .group-section-header {
|
|
border-left: 3px solid var(--text-warning);
|
|
}
|
|
.task-group-section[data-group-key=priority-medium] .section-title {
|
|
color: var(--text-warning);
|
|
}
|
|
.task-group-section[data-group-key=due-past] .group-section-header {
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
.task-group-section[data-group-key=due-past] .section-title {
|
|
color: var(--text-error);
|
|
}
|
|
.task-group-section[data-group-key=due-past] .section-count {
|
|
background-color: var(--text-error);
|
|
color: white;
|
|
}
|
|
.task-group-section[data-group-key=due-today] .group-section-header {
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.task-group-section[data-group-key=due-today] .section-title {
|
|
color: var(--interactive-accent);
|
|
}
|
|
.task-group-section.level-0 {
|
|
margin-left: 0;
|
|
}
|
|
.task-group-section.level-1 {
|
|
margin-left: var(--size-4-4);
|
|
}
|
|
.task-group-section.level-2 {
|
|
margin-left: var(--size-4-8);
|
|
}
|
|
.task-group-section.level-3 {
|
|
margin-left: var(--size-4-12);
|
|
}
|
|
.group-section-header.folder-group {
|
|
position: relative;
|
|
font-weight: 600;
|
|
font-size: 1em;
|
|
padding: 10px 15px;
|
|
color: var(--text-muted);
|
|
}
|
|
.group-section-header.folder-group:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
color: var(--text-accent);
|
|
}
|
|
.group-section-header.file-group {
|
|
font-weight: 500;
|
|
font-size: 0.9em;
|
|
background-color: var(--background-primary);
|
|
padding: 6px 12px;
|
|
}
|
|
.group-section-header.file-group:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
color: var(--text-accent);
|
|
}
|
|
.group-section-header.file-group .section-title {
|
|
font-weight: 500;
|
|
}
|
|
.group-section-content {
|
|
overflow: hidden;
|
|
transition: opacity 0.15s ease-out;
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
.group-section-content:not([style*="display: none"]) {
|
|
opacity: 1;
|
|
}
|
|
.task-group-section.level-1 .section-toggle,
|
|
.task-group-section.level-2 .section-toggle,
|
|
.task-group-section.level-3 .section-toggle {
|
|
opacity: 0.7;
|
|
}
|
|
.task-group-section.level-1 .section-count {
|
|
font-size: 0.75em;
|
|
height: 18px;
|
|
min-width: 18px;
|
|
padding: 0 5px;
|
|
}
|
|
.group-section-content[style*="display: none"] ~ .group-section-header {
|
|
opacity: 0.85;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-group-section.level-1 {
|
|
margin-left: 12px;
|
|
}
|
|
.task-group-section.level-2 {
|
|
margin-left: 24px;
|
|
}
|
|
.task-group-section.level-3 {
|
|
margin-left: 36px;
|
|
}
|
|
}
|
|
|
|
/* src/styles/tag-view.css */
|
|
.tags-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
flex: 1;
|
|
}
|
|
.task-genius-view:has(.task-details.visible) .tags-left-column {
|
|
display: none;
|
|
}
|
|
.tags-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.multi-select-mode .tags-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.tags-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.tags-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.tags-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.tags-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.tags-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tags-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.tags-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.tag-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 12px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.tag-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tag-list-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.tag-indent {
|
|
flex-shrink: 0;
|
|
}
|
|
.tag-icon {
|
|
margin-right: var(--size-2-2);
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
--icon-size: var(--size-4-4);
|
|
}
|
|
.tag-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tag-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
}
|
|
.tag-children {
|
|
width: 100%;
|
|
}
|
|
.tags-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.tags-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.tags-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.tags-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.tags-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.tag-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 15px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tag-section-header .section-toggle {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.tag-section-header .section-title {
|
|
flex: 1;
|
|
font-weight: 500;
|
|
}
|
|
.tag-section-header .section-count {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
padding: 2px 6px;
|
|
border-radius: 10px;
|
|
height: var(--size-4-5);
|
|
width: var(--size-4-5);
|
|
}
|
|
.is-phone .tags-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .tags-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .tags-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .tags-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .tags-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .tags-container:has(.tags-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .tags-sidebar-header:has(.tags-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
|
|
/* src/styles/project-view.css */
|
|
.projects-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.projects-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.projects-left-column {
|
|
width: max(120px, 30%);
|
|
min-width: min(120px, 30%);
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .projects-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.projects-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.projects-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.projects-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.projects-sidebar-header-btn-group {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.multi-select-mode .projects-multi-select-btn {
|
|
color: var(--color-accent);
|
|
}
|
|
.projects-tree-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.projects-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.projects-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.projects-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2) var(--size-4-2);
|
|
}
|
|
.project-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.project-list-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.project-list-item.selected {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.project-icon {
|
|
margin-right: 8px;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.project-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.project-count {
|
|
margin-left: 8px;
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 10px;
|
|
padding: 1px 6px;
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-count.partially-completed {
|
|
color: var(--text-success);
|
|
}
|
|
.project-count.all-completed {
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
.project-count.has-progress {
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.project-list-item.selected .project-count {
|
|
color: var(--text-on-accent);
|
|
}
|
|
.project-list-item.selected .project-count.all-completed {
|
|
background-color: rgba(255, 255, 255, 0.3);
|
|
}
|
|
.projects-task-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: var(--size-4-10);
|
|
}
|
|
.projects-header-main-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.projects-header-top-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
}
|
|
.projects-header-top-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.projects-header-progress {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
margin-top: 4px;
|
|
}
|
|
.projects-header-progress .cm-task-progress-bar {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
width: 100%;
|
|
}
|
|
.projects-header-progress .progress-bar-inline-background {
|
|
flex: 1;
|
|
max-width: 100%;
|
|
}
|
|
.projects-header-progress .progress-status {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
.projects-task-title {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
}
|
|
.projects-task-count {
|
|
color: var(--text-muted);
|
|
}
|
|
.projects-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
}
|
|
.projects-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
}
|
|
.is-phone .projects-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .projects-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .projects-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .projects-sidebar-close {
|
|
--icon-size: var(--size-4-4);
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .projects-container:has(.projects-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
.is-phone .projects-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .projects-sidebar-header:has(.projects-sidebar-close) {
|
|
padding-right: var(--size-4-12);
|
|
}
|
|
.tg-project-popover {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-s);
|
|
padding: 10px 12px;
|
|
max-width: 520px;
|
|
max-height: 60vh;
|
|
overflow: auto;
|
|
}
|
|
.tg-project-props {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
.tg-project-props > div {
|
|
display: grid;
|
|
grid-template-columns: minmax(90px, 160px) 1fr;
|
|
align-items: start;
|
|
column-gap: 10px;
|
|
padding: 2px 0;
|
|
}
|
|
.tg-project-props > div > div:first-child {
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
line-height: 1.3;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.tg-project-props > div > div:last-child {
|
|
color: var(--text-normal);
|
|
line-height: 1.4;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
.projects-props-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--icon-size, 24px);
|
|
height: var(--icon-size, 24px);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.projects-props-btn:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
/* src/styles/project-tree.css */
|
|
:root {
|
|
--tree-indent-size: 1.5rem;
|
|
--tree-guide-color: var(--background-modifier-border);
|
|
}
|
|
.project-tree-container {
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
.project-tree {
|
|
padding: 0.5rem 0;
|
|
}
|
|
.project-tree-item {
|
|
position: relative;
|
|
user-select: none;
|
|
--tree-level: 0;
|
|
}
|
|
.project-tree-item-content {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px;
|
|
padding-left: calc(calc(var(--tree-level) - 1) * var(--tree-indent-size));
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
transition: background-color 0.15s ease;
|
|
position: relative;
|
|
}
|
|
.project-tree-item-content:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.project-tree-item.is-selected > .project-tree-item-content {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.project-tree-item-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
}
|
|
.project-tree-item-toggle:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.project-tree-item-toggle svg {
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
}
|
|
.project-tree-item-toggle-spacer {
|
|
width: 1.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
.project-tree-item-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
margin-right: 0.5rem;
|
|
flex-shrink: 0;
|
|
color: var(--text-muted);
|
|
}
|
|
.project-tree-item-content-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex: 1;
|
|
min-width: 0;
|
|
gap: 0.5rem;
|
|
}
|
|
.project-tree-item-name {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.project-tree-item-counts {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
.project-tree-item-count-direct,
|
|
.project-tree-item-count-total {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 1.25rem;
|
|
height: 1.25rem;
|
|
padding: 0 0.25rem;
|
|
border-radius: var(--radius-s);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.project-tree-item-count-direct {
|
|
background-color: var(--background-modifier-active);
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-tree-item-count-total {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease, color 0.2s ease;
|
|
}
|
|
.project-tree-item-count-direct.partially-completed,
|
|
.project-tree-item-count-total.partially-completed {
|
|
color: var(--text-success);
|
|
}
|
|
.project-tree-item-count-direct.all-completed,
|
|
.project-tree-item-count-total.all-completed {
|
|
background-color: var(--interactive-success);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
.project-tree-item.is-selected .project-tree-item-count-direct.all-completed,
|
|
.project-tree-item.is-selected .project-tree-item-count-total.all-completed {
|
|
background-color: var(--interactive-success);
|
|
opacity: 0.9;
|
|
}
|
|
.project-tree-children {
|
|
position: relative;
|
|
}
|
|
.project-tree-item[data-level]:not([data-level="0"]) > .project-tree-item-content::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: calc(0.5rem + (var(--tree-level) - 1) * var(--tree-indent-size) + 0.75rem);
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
background: var(--tree-guide-color);
|
|
opacity: 0.3;
|
|
}
|
|
.project-tree-item-children {
|
|
overflow: hidden;
|
|
transition: max-height 0.2s ease;
|
|
}
|
|
.project-tree-item-children:not(.is-expanded) {
|
|
max-height: 0;
|
|
}
|
|
.project-tree-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.projects-view-toggle-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.75rem;
|
|
height: 1.75rem;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: all 0.15s ease;
|
|
}
|
|
.projects-view-toggle-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.projects-view-toggle-btn svg {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item-content {
|
|
position: relative;
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item-content::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0.25rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
border: 1px solid var(--background-modifier-border-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::before {
|
|
background-color: var(--interactive-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.project-tree-container.multi-select-mode .project-tree-item.is-selected .project-tree-item-content::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
left: 0.25rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-on-accent);
|
|
font-size: 0.625rem;
|
|
font-weight: bold;
|
|
}
|
|
.theme-dark .project-tree-item-count-direct {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.theme-dark .project-tree-item-count-total {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.project-tree-item-content {
|
|
padding: 0.375rem 0.5rem;
|
|
}
|
|
}
|
|
@keyframes slideDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-0.5rem);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.project-tree-item-children > .project-tree-item {
|
|
animation: slideDown 0.15s ease;
|
|
}
|
|
|
|
/* src/styles/review-view.css */
|
|
.review-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.review-content {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
.review-left-column {
|
|
width: 250px;
|
|
min-width: 200px;
|
|
max-width: 300px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .review-left-column {
|
|
max-width: 100%;
|
|
}
|
|
.review-right-column {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.review-sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
height: var(--size-4-10);
|
|
}
|
|
.review-sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.review-multi-select-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.review-multi-select-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.review-sidebar-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.review-projects-group-header {
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
color: var(--text-faint);
|
|
text-transform: uppercase;
|
|
padding: 4px 8px 4px;
|
|
margin-top: 12px;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.review-projects-group-header:first-child {
|
|
margin-top: 4px;
|
|
}
|
|
.review-project-item {
|
|
--icon-size: var(--size-4-4);
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px 8px;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: 2px;
|
|
}
|
|
.review-project-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.review-project-item.selected {
|
|
background-color: var(--background-modifier-active);
|
|
}
|
|
.review-project-item.has-review-settings .review-project-icon {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-project-item.has-review-settings .review-project-name {
|
|
font-weight: 500;
|
|
}
|
|
.review-project-item:not(.has-review-settings) .review-project-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
.review-project-icon {
|
|
margin-right: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.review-project-name {
|
|
flex: 1;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.review-task-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .review-task-header {
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
}
|
|
.review-header-content h3 {
|
|
margin: 0 0 8px 0;
|
|
padding: 0;
|
|
}
|
|
.review-info {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
}
|
|
.review-separator {
|
|
margin: 0 8px;
|
|
}
|
|
.review-frequency {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-frequency:hover {
|
|
color: var(--text-normal);
|
|
text-decoration: underline;
|
|
}
|
|
.review-last-date {
|
|
color: var(--text-normal);
|
|
}
|
|
.review-no-settings {
|
|
font-style: italic;
|
|
}
|
|
.review-filter-info {
|
|
margin-top: 10px;
|
|
padding: 6px 10px;
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
border-left: 3px solid var(--text-accent);
|
|
}
|
|
.review-filter-toggle {
|
|
cursor: pointer;
|
|
text-decoration: underline;
|
|
color: var(--text-accent);
|
|
margin-left: 5px;
|
|
}
|
|
.review-filter-toggle:hover {
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.review-task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.review-empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: 16px;
|
|
text-align: center;
|
|
}
|
|
.review-button-container {
|
|
margin-top: 12px;
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
}
|
|
.review-complete-btn,
|
|
.review-configure-btn {
|
|
padding: 6px 12px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.review-complete-btn {
|
|
color: var(--text-accent);
|
|
}
|
|
.review-complete-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-accent);
|
|
}
|
|
.review-configure-btn {
|
|
color: var(--text-muted);
|
|
}
|
|
.review-configure-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.review-edit-btn {
|
|
color: var(--text-accent-hover);
|
|
margin-left: 8px;
|
|
}
|
|
.review-edit-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-accent-hover);
|
|
}
|
|
.review-modal-title {
|
|
margin-top: 0;
|
|
margin-bottom: 20px;
|
|
font-size: 1.5em;
|
|
color: var(--text-normal);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding-bottom: 10px;
|
|
}
|
|
.review-modal-form {
|
|
margin-bottom: 20px;
|
|
}
|
|
.review-modal-field {
|
|
margin-bottom: 16px;
|
|
}
|
|
.review-modal-label {
|
|
display: block;
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
color: var(--text-normal);
|
|
}
|
|
.review-modal-description {
|
|
font-size: 0.9em;
|
|
color: var(--text-muted);
|
|
margin-bottom: 8px;
|
|
}
|
|
.review-modal-select {
|
|
width: 100%;
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 14px;
|
|
}
|
|
.review-modal-custom-frequency {
|
|
margin-top: 8px;
|
|
}
|
|
.review-modal-input {
|
|
width: 100%;
|
|
padding: 8px;
|
|
border-radius: var(--radius-s);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
font-size: 14px;
|
|
}
|
|
.review-modal-last-reviewed {
|
|
padding: 8px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.review-modal-buttons {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-top: 24px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
padding-top: 16px;
|
|
}
|
|
.review-modal-button {
|
|
padding: 8px 16px;
|
|
border-radius: var(--radius-s);
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.review-modal-button-cancel {
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
margin-right: 8px;
|
|
}
|
|
.review-modal-button-cancel:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.review-modal-button-save {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.review-modal-button-save:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.is-phone .review-container {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.is-phone .review-left-column {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 10;
|
|
background-color: var(--background-secondary);
|
|
width: 100%;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s ease-in-out;
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-phone .review-left-column.is-visible {
|
|
transform: translateX(0);
|
|
}
|
|
.is-phone .review-sidebar-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
}
|
|
.is-phone .review-sidebar-close {
|
|
position: absolute;
|
|
top: var(--size-2-2);
|
|
right: 10px;
|
|
z-index: 15;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.is-phone .review-container:has(.review-left-column.is-visible)::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.5;
|
|
z-index: 5;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
|
|
/* src/styles/habit.css */
|
|
.tg-habit-component-container {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
padding: 1rem;
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
}
|
|
.habit-list-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
gap: 1rem;
|
|
width: 100%;
|
|
}
|
|
@media screen and (max-width: 480px) {
|
|
.habit-list-container {
|
|
padding: 0.5rem;
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
@media screen and (min-width: 768px) {
|
|
.habit-list-container {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
@media screen and (min-width: 1024px) {
|
|
.habit-list-container {
|
|
max-width: 500px;
|
|
}
|
|
}
|
|
.habit-card-wrapper {
|
|
width: 100%;
|
|
min-height: fit-content;
|
|
}
|
|
.habit-create-button-container {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
}
|
|
.habit-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: fit-content;
|
|
}
|
|
.habit-card .card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.5rem 1rem;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-card .card-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.habit-name.habit-name:hover {
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
.habit-card .card-content-wrapper {
|
|
padding: 0.75rem 1rem;
|
|
flex-grow: 1;
|
|
}
|
|
.daily-habit-card .card-header {
|
|
}
|
|
.daily-habit-card .habit-checkbox-container {
|
|
}
|
|
.daily-habit-card .habit-checkbox {
|
|
--checkbox-size: 1.25rem;
|
|
cursor: pointer;
|
|
accent-color: var(--interactive-accent);
|
|
}
|
|
.daily-habit-card .card-content-wrapper {
|
|
padding: 0rem 1rem 0.75rem;
|
|
}
|
|
.count-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
}
|
|
.count-habit-card .habit-icon-button {
|
|
--icon-size: 2rem;
|
|
height: 4rem;
|
|
width: 4rem;
|
|
aspect-ratio: 1;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 1.5rem;
|
|
}
|
|
.count-habit-card .habit-icon-button {
|
|
color: var(--icon-color);
|
|
}
|
|
.count-habit-card .habit-icon-button:hover {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.count-habit-card .habit-card-name {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.count-habit-card .habit-active-day {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 400;
|
|
}
|
|
.count-habit-card .habit-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
flex-grow: 1;
|
|
}
|
|
.count-habit-card .habit-info h3 {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.count-habit-card .habit-progress-area {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
@media (min-width: 640px) {
|
|
.count-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
.count-habit-card .habit-progress-area {
|
|
width: auto;
|
|
min-width: 150px;
|
|
align-items: flex-end;
|
|
}
|
|
.count-habit-card .habit-heatmap-small {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.scheduled-habit-card .card-header {
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.scheduled-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
}
|
|
.scheduled-habit-card .habit-heatmap-medium {
|
|
width: 100%;
|
|
}
|
|
.scheduled-habit-card .habit-controls {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
align-items: center;
|
|
}
|
|
.scheduled-habit-card .habit-event-dropdown {
|
|
width: auto;
|
|
margin-bottom: 0.5rem;
|
|
width: 100%;
|
|
}
|
|
@media (min-width: 640px) {
|
|
.scheduled-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
}
|
|
.scheduled-habit-card .habit-heatmap-medium {
|
|
width: auto;
|
|
flex-grow: 1;
|
|
margin-right: 1rem;
|
|
}
|
|
.scheduled-habit-card .habit-controls {
|
|
width: auto;
|
|
min-width: 150px;
|
|
align-items: flex-start;
|
|
}
|
|
}
|
|
.mapping-habit-card .card-header {
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
.mapping-habit-card .card-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
padding-top: 0;
|
|
padding-bottom: 1.2rem;
|
|
}
|
|
.mapping-habit-card .habit-heatmap-medium {
|
|
width: 100%;
|
|
}
|
|
.mapping-habit-card .habit-controls {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.mapping-habit-card .habit-mapping-button {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 1.75rem;
|
|
padding: 0.5rem;
|
|
width: 100%;
|
|
max-width: 100px;
|
|
height: 3.5rem;
|
|
border: 1px solid var(--button-secondary-border-color);
|
|
background-color: var(--button-secondary-bg);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.mapping-habit-card .habit-mapping-button:hover {
|
|
background-color: var(--button-secondary-hover-bg);
|
|
}
|
|
.mapping-habit-card .habit-slider-setting {
|
|
width: 100%;
|
|
max-width: 200px;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item-info {
|
|
display: none;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item {
|
|
width: 100%;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting .setting-item-control {
|
|
width: 100%;
|
|
}
|
|
.mapping-habit-card .heatmap-md .heatmap-container-simple {
|
|
gap: var(--size-2-2);
|
|
}
|
|
@media (min-width: 640px) {
|
|
.mapping-habit-card .card-content-wrapper {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.mapping-habit-card .habit-heatmap-medium {
|
|
width: auto;
|
|
flex-grow: 1;
|
|
margin-right: 1rem;
|
|
}
|
|
.mapping-habit-card .habit-controls {
|
|
width: auto;
|
|
min-width: 80px;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
.mapping-habit-card .habit-mapping-button {
|
|
width: 4rem;
|
|
height: 4rem;
|
|
}
|
|
.mapping-habit-card .habit-slider-setting {
|
|
width: 100%;
|
|
max-width: none;
|
|
}
|
|
}
|
|
.habit-progress-container {
|
|
width: 100%;
|
|
height: 0.75rem;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-l);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
.habit-progress-bar {
|
|
height: 100%;
|
|
background-color: var(--interactive-accent);
|
|
border-radius: var(--radius-l);
|
|
transition: width 0.3s ease-in-out;
|
|
}
|
|
.habit-progress-container.filled .habit-progress-text {
|
|
mix-blend-mode: unset;
|
|
}
|
|
.habit-progress-text {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 0.6rem;
|
|
line-height: 1;
|
|
color: var(--text-on-accent);
|
|
mix-blend-mode: difference;
|
|
font-weight: 500;
|
|
}
|
|
.tg-heatmap-root {
|
|
width: 100%;
|
|
}
|
|
.heatmap-sm .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
}
|
|
.heatmap-md .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
justify-items: center;
|
|
}
|
|
.heatmap-lg .heatmap-container-simple {
|
|
display: grid;
|
|
grid-template-columns: repeat(10, 1fr);
|
|
gap: var(--size-2-2);
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
justify-items: center;
|
|
}
|
|
.heatmap-cell {
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
background-color: var( --background-modifier-border );
|
|
border: 1px solid transparent;
|
|
}
|
|
.heatmap-cell-square {
|
|
}
|
|
.heatmap-cell-dot {
|
|
border-radius: 50%;
|
|
}
|
|
.heatmap-sm .heatmap-cell {
|
|
width: 0.75rem;
|
|
height: 0.75rem;
|
|
}
|
|
.habit-heatmap-medium .heatmap-md .heatmap-cell {
|
|
width: 1.4rem;
|
|
height: 1.4rem;
|
|
font-size: 0.7rem;
|
|
}
|
|
.heatmap-md .heatmap-cell {
|
|
width: 1.1rem;
|
|
height: 1.1rem;
|
|
font-size: 0.7rem;
|
|
}
|
|
.heatmap-lg .heatmap-cell {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
font-size: 0.75rem;
|
|
}
|
|
.heatmap-cell.default {
|
|
}
|
|
.heatmap-cell.filled {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.heatmap-cell.has-custom-content:has(.pie-dot-container) {
|
|
background: transparent;
|
|
border: unset;
|
|
}
|
|
.heatmap-cell.has-custom-content,
|
|
.heatmap-cell.has-text-content {
|
|
background-color: var(--background-secondary);
|
|
border-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
.heatmap-cell.has-text-content {
|
|
line-height: 1;
|
|
}
|
|
.pie-dot-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.pie-dot-container svg {
|
|
display: block;
|
|
}
|
|
.habit-empty-state {
|
|
text-align: center;
|
|
padding: 2rem 1rem;
|
|
color: var(--text-muted);
|
|
}
|
|
.habit-empty-state h2 {
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.habit-empty-state p {
|
|
font-size: var(--font-ui-normal);
|
|
color: var(--text-faint);
|
|
}
|
|
.habit-icon {
|
|
display: inline-block;
|
|
height: 1em;
|
|
line-height: 1;
|
|
text-align: center;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
margin-right: 0.25em;
|
|
--icon-size: 1.5rem;
|
|
}
|
|
.habit-chart-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
.habit-chart-filters {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-chart-filters .filter-btn {
|
|
padding: 0.25rem 0.6rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
}
|
|
.habit-chart-filters .filter-btn:hover {
|
|
background: var(--background-secondary-alt);
|
|
}
|
|
.habit-chart-years {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.habit-chart-years .years-label {
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.habit-chart-years .years-bar {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: 0.4rem;
|
|
overflow-x: auto;
|
|
padding-bottom: 2px;
|
|
}
|
|
.habit-chart-years .year-btn {
|
|
padding: 0.2rem 0.5rem;
|
|
border: 1px solid var(--background-modifier-border);
|
|
background: var(--background-secondary);
|
|
color: var(--text-muted);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
}
|
|
.habit-chart-years .year-btn.selected,
|
|
.habit-chart-years .year-btn:hover {
|
|
background: var(--interactive-accent);
|
|
border-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.habit-chart-heatmap {
|
|
max-height: 60vh;
|
|
overflow: auto;
|
|
}
|
|
|
|
/* src/styles/global.css */
|
|
:root {
|
|
--task-completed-color: #4caf50;
|
|
--task-doing-color: #80dee5;
|
|
--task-in-progress-color: #f9d923;
|
|
--task-abandoned-color: #eb5353;
|
|
--task-planned-color: #9c27b0;
|
|
--task-question-color: #2196f3;
|
|
--task-important-color: #f44336;
|
|
--task-star-color: #ffc107;
|
|
--task-quote-color: #607d8b;
|
|
--task-location-color: #795548;
|
|
--task-bookmark-color: #ff9800;
|
|
--task-information-color: #00bcd4;
|
|
--task-idea-color: #9c27b0;
|
|
--task-pros-color: #4caf50;
|
|
--task-cons-color: #f44336;
|
|
--task-fire-color: #ff5722;
|
|
--task-key-color: #ffd700;
|
|
--task-win-color: #66bb6a;
|
|
--task-up-color: #4caf50;
|
|
--task-down-color: #f44336;
|
|
--task-note-color: #9e9e9e;
|
|
--task-amount-color: #8bc34a;
|
|
--task-speech-color: #03a9f4;
|
|
--progress-0-color: #ae431e;
|
|
--progress-25-color: #e5890a;
|
|
--progress-50-color: #b4c6a6;
|
|
--progress-75-color: #6bcb77;
|
|
--progress-100-color: #4d96ff;
|
|
--progress-background-color: #f1f1f1;
|
|
}
|
|
.theme-dark {
|
|
--task-completed-color: #4caf50;
|
|
--task-doing-color: #379fa7;
|
|
--task-in-progress-color: #ffc107;
|
|
--task-abandoned-color: #f44336;
|
|
--task-planned-color: #ce93d8;
|
|
--task-question-color: #42a5f5;
|
|
--task-important-color: #ef5350;
|
|
--task-star-color: #ffd54f;
|
|
--task-quote-color: #90a4ae;
|
|
--task-location-color: #8d6e63;
|
|
--task-bookmark-color: #ffb74d;
|
|
--task-information-color: #26c6da;
|
|
--task-idea-color: #ce93d8;
|
|
--task-pros-color: #66bb6a;
|
|
--task-cons-color: #ef5350;
|
|
--task-fire-color: #ff7043;
|
|
--task-key-color: #ffd700;
|
|
--task-win-color: #81c784;
|
|
--task-up-color: #66bb6a;
|
|
--task-down-color: #ef5350;
|
|
--task-note-color: #bdbdbd;
|
|
--task-amount-color: #aed581;
|
|
--task-speech-color: #29b6f6;
|
|
--progress-0-color: #ae431e;
|
|
--progress-25-color: #e5890a;
|
|
--progress-50-color: #b4c6a6;
|
|
--progress-75-color: #6bcb77;
|
|
--progress-100-color: #4d96ff;
|
|
--progress-background-color: #f1f1f1;
|
|
}
|
|
|
|
/* src/styles/view-config.css */
|
|
.task-genius-view-config-modal {
|
|
width: max(70%, 500px);
|
|
}
|
|
.task-genius-view-config-modal .setting-item {
|
|
margin-bottom: 15px;
|
|
}
|
|
.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info {
|
|
width: 120px;
|
|
}
|
|
.task-genius-view-config-modal .setting-item-control input[type=text],
|
|
.task-genius-view-config-modal .setting-item-control input[type=number] {
|
|
width: 100%;
|
|
}
|
|
.task-genius-view-config-modal .setting-item-description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin-top: 2px;
|
|
}
|
|
.view-management-list .setting-item {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
padding: 10px 0;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.view-management-list .setting-item-info {
|
|
flex-grow: 1;
|
|
margin-right: 10px;
|
|
}
|
|
.view-management-list .setting-item-control {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.view-management-list .setting-item-control .button-component {
|
|
padding: 5px;
|
|
height: auto;
|
|
}
|
|
.view-management-list .view-order-button,
|
|
.view-management-list .view-delete-button {
|
|
margin-left: 5px;
|
|
}
|
|
.view-management-list .setting-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.view-management-list .setting-item-control .checkbox-container {
|
|
margin: 0;
|
|
}
|
|
.tg-icon-menu {
|
|
position: absolute;
|
|
z-index: 100;
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
box-shadow: var(--shadow-l);
|
|
padding: 8px;
|
|
max-height: 300px;
|
|
width: 250px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
box-sizing: border-box;
|
|
}
|
|
.tg-icon-menu .tg-menu-search {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
margin-bottom: 8px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-sizing: border-box;
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-icon-menu .tg-menu-icons {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
min-height: 0;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
|
|
gap: 4px;
|
|
}
|
|
.tg-icon-menu .clickable-icon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
padding: 6px;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid transparent;
|
|
transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
|
|
}
|
|
.tg-icon-menu .clickable-icon:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.tg-icon-menu .clickable-icon svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
/* src/styles/task-status.css */
|
|
.task-status-widget {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-medium);
|
|
font-weight: var(--font-bold);
|
|
}
|
|
.task-state.live-preview-mode {
|
|
padding-inline-start: var(--size-4-2);
|
|
padding-inline-end: var(--size-2-1);
|
|
}
|
|
.task-status-widget .list-bullet::after {
|
|
background-color: var(--list-marker-color) !important;
|
|
}
|
|
.task-state[data-task-state=" "] {
|
|
color: var(--text-accent);
|
|
}
|
|
.task-state[data-task-state="/"] {
|
|
color: var(--task-doing-color);
|
|
}
|
|
.task-state[data-task-state=">"] {
|
|
color: var(--task-in-progress-color);
|
|
}
|
|
.task-state[data-task-state=x],
|
|
.task-state[data-task-state=X] {
|
|
color: var(--task-completed-color);
|
|
}
|
|
.task-state[data-task-state="-"] {
|
|
color: var(--task-abandoned-color);
|
|
}
|
|
.task-state[data-task-state="<"] {
|
|
color: var(--task-planned-color);
|
|
}
|
|
.task-state[data-task-state="?"] {
|
|
color: var(--task-question-color);
|
|
}
|
|
.task-state[data-task-state="!"] {
|
|
color: var(--task-important-color);
|
|
}
|
|
.task-state[data-task-state="*"] {
|
|
color: var(--task-star-color);
|
|
}
|
|
.task-state[data-task-state='"'] {
|
|
color: var(--task-quote-color);
|
|
}
|
|
.task-state[data-task-state=l] {
|
|
color: var(--task-location-color);
|
|
}
|
|
.task-state[data-task-state=b] {
|
|
color: var(--task-bookmark-color);
|
|
}
|
|
.task-state[data-task-state=i] {
|
|
color: var(--task-information-color);
|
|
}
|
|
.task-state[data-task-state=I] {
|
|
color: var(--task-idea-color);
|
|
}
|
|
.task-state[data-task-state=p] {
|
|
color: var(--task-pros-color);
|
|
}
|
|
.task-state[data-task-state=c] {
|
|
color: var(--task-cons-color);
|
|
}
|
|
.task-state[data-task-state=f] {
|
|
color: var(--task-fire-color);
|
|
}
|
|
.task-state[data-task-state=k] {
|
|
color: var(--task-key-color);
|
|
}
|
|
.task-state[data-task-state=w] {
|
|
color: var(--task-win-color);
|
|
}
|
|
.task-state[data-task-state=u] {
|
|
color: var(--task-up-color);
|
|
}
|
|
.task-state[data-task-state=d] {
|
|
color: var(--task-down-color);
|
|
}
|
|
.task-state[data-task-state=n] {
|
|
color: var(--task-note-color);
|
|
}
|
|
.task-state[data-task-state=S] {
|
|
color: var(--task-amount-color);
|
|
}
|
|
.task-state[data-task-state="0"],
|
|
.task-state[data-task-state="1"],
|
|
.task-state[data-task-state="2"],
|
|
.task-state[data-task-state="3"],
|
|
.task-state[data-task-state="4"],
|
|
.task-state[data-task-state="5"],
|
|
.task-state[data-task-state="6"],
|
|
.task-state[data-task-state="7"],
|
|
.task-state[data-task-state="8"],
|
|
.task-state[data-task-state="9"] {
|
|
color: var(--task-speech-color);
|
|
}
|
|
.task-fake-bullet {
|
|
display: inline-block;
|
|
width: 5px;
|
|
height: 5px;
|
|
border-radius: 50%;
|
|
background-color: var(--text-normal);
|
|
margin-right: 4px;
|
|
vertical-align: middle;
|
|
}
|
|
ol > .task-list-item .task-fake-bullet {
|
|
display: none;
|
|
}
|
|
ol > .task-list-item .task-state-container {
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
/* src/styles/task-selection.css */
|
|
.task-view.selection-mode {
|
|
position: relative;
|
|
}
|
|
.task-view.selection-mode::before {
|
|
content: "";
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
pointer-events: none;
|
|
background: rgba(var(--interactive-accent-rgb), 0.03);
|
|
z-index: 0;
|
|
}
|
|
.task-item.task-item-selected {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.15) !important;
|
|
border-left: 3px solid var(--interactive-accent);
|
|
padding-left: 13px;
|
|
position: relative;
|
|
}
|
|
.task-selection-badge {
|
|
position: fixed;
|
|
bottom: 20px;
|
|
right: 20px;
|
|
padding: 8px 16px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-radius: 16px;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
z-index: 1000;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
animation: slideInUp 0.2s ease-out;
|
|
}
|
|
@keyframes slideInUp {
|
|
from {
|
|
transform: translateY(20px);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateY(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.task-selection-badge .selection-count {
|
|
font-weight: bold;
|
|
}
|
|
@media (pointer: coarse) {
|
|
.task-item.long-press-active {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.1);
|
|
transform: scale(0.98);
|
|
transition: all 0.2s ease;
|
|
}
|
|
}
|
|
.task-view.selection-mode .task-item:not(.task-item-selected):hover {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.08);
|
|
border-left: 2px solid rgba(var(--interactive-accent-rgb), 0.5);
|
|
padding-left: 14px;
|
|
}
|
|
.task-view.shift-key-active .task-item {
|
|
cursor: crosshair;
|
|
}
|
|
.task-bulk-operations-menu {
|
|
min-width: 200px;
|
|
}
|
|
.task-bulk-operations-menu .menu-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.task-bulk-operations-menu .menu-item-icon {
|
|
opacity: 0.7;
|
|
}
|
|
.task-selection-exit-hint {
|
|
position: fixed;
|
|
top: 60px;
|
|
right: 20px;
|
|
padding: 6px 12px;
|
|
background-color: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
z-index: 999;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.task-selection-exit-hint kbd {
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
padding: 2px 6px;
|
|
font-family: var(--font-monospace);
|
|
font-size: 11px;
|
|
}
|
|
.tree-item.task-item-selected {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.15) !important;
|
|
border-left: 3px solid var(--interactive-accent);
|
|
}
|
|
.tree-item.task-item-selected .tree-item-inner {
|
|
font-weight: 500;
|
|
}
|
|
.task-item.selection-disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
.task-item.selection-disabled:hover {
|
|
background-color: transparent;
|
|
}
|
|
.task-item-selection-checkbox {
|
|
width: 18px;
|
|
height: 18px;
|
|
border: 2px solid var(--text-muted);
|
|
border-radius: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 8px;
|
|
flex-shrink: 0;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.task-item-selected .task-item-selection-checkbox {
|
|
background-color: var(--interactive-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.task-item-selected .task-item-selection-checkbox::after {
|
|
content: "\2713";
|
|
color: var(--text-on-accent);
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
}
|
|
.task-selection-mode-enter {
|
|
animation: fadeIn 0.2s ease-out;
|
|
}
|
|
.task-selection-mode-exit {
|
|
animation: fadeOut 0.2s ease-out;
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes fadeOut {
|
|
from {
|
|
opacity: 1;
|
|
}
|
|
to {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.task-selection-badge {
|
|
bottom: 70px;
|
|
}
|
|
.task-item.task-item-selected {
|
|
border-left-width: 4px;
|
|
padding-left: 12px;
|
|
}
|
|
.task-selection-exit-hint {
|
|
display: none;
|
|
}
|
|
}
|
|
.theme-dark .task-item.task-item-selected {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.2) !important;
|
|
}
|
|
.theme-dark .task-selection-badge {
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
|
|
}
|
|
.theme-light .task-item.task-item-selected {
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.12) !important;
|
|
}
|
|
.theme-light .task-selection-badge {
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.task-view.compact-mode .task-item.task-item-selected {
|
|
padding-top: 4px;
|
|
padding-bottom: 4px;
|
|
}
|
|
@media (prefers-contrast: high) {
|
|
.task-item.task-item-selected {
|
|
border-left-width: 4px;
|
|
background-color: rgba(var(--interactive-accent-rgb), 0.25) !important;
|
|
}
|
|
}
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.task-item.task-item-selected,
|
|
.task-selection-badge,
|
|
.task-selection-exit-hint {
|
|
animation: none;
|
|
transition: none;
|
|
}
|
|
}
|
|
|
|
/* src/styles/onboarding.css */
|
|
.onboarding-view {
|
|
--dialog-width: 800px;
|
|
--dialog-max-width: 90vw;
|
|
--dialog-max-height: 90vh;
|
|
--onboarding-spacing: var(--size-4-4);
|
|
--onboarding-border-radius: 8px;
|
|
--onboarding-transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
--shadow-md: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
--shadow-lg: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
--shadow-xl: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
}
|
|
.onboarding-view .modal-content {
|
|
background-color: var(--modal-background);
|
|
border-radius: var(--modal-radius);
|
|
max-width: var(--dialog-max-width);
|
|
max-height: var(--dialog-max-height);
|
|
height: 90vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
position: relative;
|
|
min-height: 100px;
|
|
}
|
|
.onboarding-view {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--background-primary);
|
|
}
|
|
.onboarding-view .view-content {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.onboarding-view .onboarding-header:empty {
|
|
display: none;
|
|
}
|
|
.onboarding-view .onboarding-subtitle {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .onboarding-content {
|
|
flex: 1;
|
|
padding: var(--onboarding-spacing);
|
|
overflow-y: auto;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .onboarding-footer {
|
|
padding: var(--size-4-4) var(--onboarding-spacing);
|
|
background: var(--background-primary);
|
|
border-top: none;
|
|
box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
|
|
flex-shrink: 0;
|
|
position: relative;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.onboarding-view .onboarding-footer::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
var(--background-primary),
|
|
transparent);
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.onboarding-view .buttons-left {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .buttons-right {
|
|
display: flex;
|
|
gap: var(--size-4-3);
|
|
align-items: center;
|
|
margin-left: auto;
|
|
}
|
|
.onboarding-view .onboarding-buttons button {
|
|
min-height: 36px;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--radius-m);
|
|
font-weight: 500;
|
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.onboarding-view .onboarding-buttons button:not(.mod-cta):hover {
|
|
transform: translateY(-1px);
|
|
}
|
|
.onboarding-view .onboarding-buttons button::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 0;
|
|
border-radius: 50%;
|
|
background: rgba(255, 255, 255, 0.3);
|
|
transform: translate(-50%, -50%);
|
|
transition: width 0.6s, height 0.6s;
|
|
}
|
|
.onboarding-view .onboarding-buttons button:active::after {
|
|
width: 200px;
|
|
height: 200px;
|
|
}
|
|
.onboarding-view .settings-check-content {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1.2fr;
|
|
gap: var(--size-4-6);
|
|
margin-top: var(--size-4-4);
|
|
}
|
|
.onboarding-view .settings-check-current-card {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-4);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.onboarding-view .settings-check-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
padding-bottom: var(--size-4-3);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-view .check-header-icon {
|
|
color: var(--color-green);
|
|
font-size: 1.5em;
|
|
}
|
|
.onboarding-view .check-header-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
flex: 1;
|
|
}
|
|
.onboarding-view .check-header-title h3 {
|
|
margin: 0;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
}
|
|
.onboarding-view .settings-check-card-body {
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .check-card-desc {
|
|
font-size: 0.9em;
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.onboarding-view .settings-check-changes-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .settings-check-changes-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.onboarding-view .change-check-icon {
|
|
color: var(--color-green);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .settings-check-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.onboarding-view .settings-check-action-card {
|
|
background: var(--background-primary);
|
|
border: 2px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-4);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
box-shadow: var(--shadow-sm);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.onboarding-view .settings-check-action-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.05) 0%,
|
|
var(--background-primary) 100%);
|
|
box-shadow: var(--shadow-md), 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.onboarding-view .settings-check-action-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.onboarding-view .settings-check-action-card:hover::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.onboarding-view .settings-check-action-wizard {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-primary) 0%,
|
|
var(--background-secondary) 100%);
|
|
}
|
|
.onboarding-view .settings-check-action-wizard::before {
|
|
transform: scaleX(1);
|
|
}
|
|
.onboarding-view .settings-check-action-keep {
|
|
opacity: 0.9;
|
|
}
|
|
.onboarding-view .settings-check-action-keep:hover {
|
|
opacity: 1;
|
|
}
|
|
.onboarding-view .action-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.onboarding-view .action-card-icon {
|
|
font-size: 2em;
|
|
color: var(--interactive-accent);
|
|
margin-right: var(--size-4-3);
|
|
}
|
|
.onboarding-view .action-card-content h3 {
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .action-card-content > p {
|
|
margin: 0 0 var(--size-4-3) 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
}
|
|
.onboarding-view .action-card-features {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-3) 0 0 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-3);
|
|
}
|
|
.onboarding-view .action-card-features li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
}
|
|
.onboarding-view .action-card-features .feature-icon {
|
|
color: var(--interactive-accent);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .action-card-note {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .action-card-note .note-icon {
|
|
color: var(--text-accent);
|
|
flex-shrink: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.onboarding-view .settings-check-content {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.onboarding-view .welcome-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .features-overview {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--size-4-3);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .feature-item {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .feature-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
line-height: 1;
|
|
}
|
|
.onboarding-view .setup-note {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .setup-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .user-level-cards {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .user-level-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.onboarding-view .user-level-card.card-hover {
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
.onboarding-view .user-level-card.selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.user-level-card .card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.user-level-card .card-icon {
|
|
font-size: 1.8em;
|
|
line-height: 1;
|
|
flex-shrink: 0;
|
|
}
|
|
.user-level-card .card-title {
|
|
margin: 0;
|
|
color: var(--text-normal);
|
|
font-size: 1.2em;
|
|
font-weight: 600;
|
|
}
|
|
.user-level-card .card-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.user-level-card .card-features {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.user-level-card .card-features ul {
|
|
margin: 0;
|
|
padding-left: var(--size-4-3);
|
|
list-style: none;
|
|
}
|
|
.user-level-card .card-features li {
|
|
position: relative;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
line-height: 1.4;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.user-level-card .card-features li:before {
|
|
content: "\2022";
|
|
color: var(--interactive-accent);
|
|
position: absolute;
|
|
left: calc(-1 * var(--size-4-3));
|
|
font-weight: bold;
|
|
}
|
|
.user-level-card .recommendation-badge {
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: var(--size-4-2);
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.onboarding-view .config-overview {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .mode-icon {
|
|
--icon-size: var(--size-4-4);
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .config-settings {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-features {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-views {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .enabled-features-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .enabled-features-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.onboarding-view .feature-check {
|
|
color: var(--color-green);
|
|
font-weight: bold;
|
|
}
|
|
.onboarding-view .views-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .view-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .view-icon {
|
|
font-size: 1.2em;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .view-name {
|
|
font-size: 0.8em;
|
|
color: var(--text-muted);
|
|
text-align: center;
|
|
}
|
|
.onboarding-view .settings-summary-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .settings-summary-list li {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.9em;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-view .settings-summary-list li:last-child {
|
|
border-bottom: none;
|
|
}
|
|
.onboarding-view .setting-label {
|
|
color: var(--text-normal);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .setting-value {
|
|
color: var(--text-muted);
|
|
}
|
|
.onboarding-view .config-options {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin-top: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .customization-note {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .note-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
font-style: italic;
|
|
}
|
|
.onboarding-view .config-changes-summary {
|
|
width: 100%;
|
|
max-width: 800px;
|
|
margin: var(--onboarding-spacing) 0;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .settings-changes {
|
|
margin: var(--size-4-2) 0;
|
|
padding: var(--size-4-2);
|
|
background: var(--background-primary);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
.onboarding-view .preserved-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
margin-bottom: var(--size-4-1);
|
|
}
|
|
.onboarding-view .preserved-icon {
|
|
color: var(--color-green);
|
|
font-size: 1.1em;
|
|
}
|
|
.onboarding-view .change-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .updated-views,
|
|
.onboarding-modal .updated-views {
|
|
display: flex;
|
|
}
|
|
.onboarding-view .change-item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.onboarding-view .change-icon {
|
|
color: var(--interactive-accent);
|
|
font-size: 1.1em;
|
|
margin-right: var(--size-4-1);
|
|
display: flex;
|
|
}
|
|
.onboarding-view .settings-changes-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: var(--size-4-1) 0 0 var(--size-4-4);
|
|
}
|
|
.onboarding-view .settings-changes-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
}
|
|
.onboarding-view .safety-note {
|
|
margin-top: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border-radius: var(--radius-s);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-1);
|
|
}
|
|
.onboarding-view .safety-icon {
|
|
color: var(--color-blue);
|
|
font-size: 1.1em;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.onboarding-view .safety-text {
|
|
color: var(--color-blue);
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: 500;
|
|
}
|
|
.onboarding-view .task-guide-intro {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .guide-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .shortcuts-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .format-example {
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-4);
|
|
}
|
|
.onboarding-view .format-example code {
|
|
background: var(--background-primary);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
color: var(--text-accent);
|
|
border: 1px solid var(--background-modifier-border);
|
|
display: block;
|
|
margin: var(--size-2-1) 0;
|
|
}
|
|
.onboarding-view .format-legend small {
|
|
color: var(--text-faint);
|
|
font-size: 0.8em;
|
|
margin-top: var(--size-2-1);
|
|
display: block;
|
|
}
|
|
.onboarding-view .metadata-symbols {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .status-list li,
|
|
.onboarding-view .symbols-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
background: var(--background-primary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .status-list li,
|
|
.onboarding-view .symbols-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.85em;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .status-list code {
|
|
background: var(--background-secondary);
|
|
padding: var(--size-2-1) var(--size-4-1);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
margin-right: var(--size-4-2);
|
|
min-width: 40px;
|
|
text-align: center;
|
|
}
|
|
.onboarding-view .demo-content {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .demo-button {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--button-radius);
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
transition: var(--onboarding-transition);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .demo-button:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.onboarding-view .practice-feedback {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.onboarding-view .validation-message {
|
|
padding: var(--size-4-2);
|
|
border-radius: var(--onboarding-border-radius);
|
|
font-size: 0.9em;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .validation-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
border: 1px solid var(--color-green);
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-view .validation-error {
|
|
background: rgba(var(--color-red-rgb), 0.1);
|
|
border: 1px solid var(--color-red);
|
|
color: var(--color-red);
|
|
}
|
|
.onboarding-view .validation-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
border: 1px solid var(--color-orange);
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-view .validation-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border: 1px solid var(--color-blue);
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-view .shortcuts-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.onboarding-view .shortcuts-list li {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) 0;
|
|
font-size: 0.9em;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .shortcuts-list code {
|
|
background: var(--background-primary);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-family: var(--font-monospace);
|
|
margin-right: var(--size-4-3);
|
|
min-width: 100px;
|
|
font-size: 0.8em;
|
|
}
|
|
.onboarding-view .completion-success {
|
|
text-align: center;
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .success-icon {
|
|
font-size: 3em;
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.onboarding-view .success-message {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .feedback-section {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.onboarding-view .config-summary-card {
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .config-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .config-icon {
|
|
font-size: 1.5em;
|
|
}
|
|
.onboarding-view .config-name {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.onboarding-view .config-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .quick-start-steps {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .quick-start-step {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .step-number {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.8em;
|
|
font-weight: 600;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .step-content {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-view .next-steps-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.onboarding-view .next-steps-list li {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.onboarding-view .step-check {
|
|
color: var(--interactive-accent);
|
|
font-weight: bold;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .step-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
line-height: 1.4;
|
|
}
|
|
.onboarding-view .resources-list {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .resource-item {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-view .resource-clickable {
|
|
cursor: pointer;
|
|
}
|
|
.onboarding-view .resource-clickable:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.onboarding-view .resource-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
}
|
|
.onboarding-view .feedback-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.onboarding-view .feedback-buttons {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: center;
|
|
}
|
|
.onboarding-view .feedback-button {
|
|
background: var(--background-secondary);
|
|
border: none;
|
|
color: var(--text-normal);
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
border-radius: var(--button-radius);
|
|
cursor: pointer;
|
|
font-size: 0.9em;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-view .feedback-positive:hover {
|
|
background: var(--color-green);
|
|
color: white;
|
|
}
|
|
.onboarding-view .feedback-negative:hover {
|
|
background: var(--color-red);
|
|
color: white;
|
|
}
|
|
.onboarding-view .feedback-thanks {
|
|
text-align: center;
|
|
padding: var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
}
|
|
.onboarding-view .feedback-thanks-message {
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.onboarding-view .feedback-thanks a {
|
|
color: var(--interactive-accent);
|
|
text-decoration: none;
|
|
}
|
|
.onboarding-view .feedback-thanks a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.onboarding-view .final-message {
|
|
text-align: center;
|
|
padding: var(--size-4-4);
|
|
}
|
|
.onboarding-view .final-message-text {
|
|
color: var(--text-muted);
|
|
font-size: 1em;
|
|
font-style: italic;
|
|
margin: 0;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.onboarding-view {
|
|
--dialog-width: 95vw;
|
|
--dialog-max-width: 95vw;
|
|
--dialog-max-height: 95vh;
|
|
}
|
|
.onboarding-view .user-level-cards {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .features-overview {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .views-grid {
|
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
|
}
|
|
.onboarding-view .resources-list {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.onboarding-view .feedback-buttons {
|
|
flex-direction: column;
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
}
|
|
.mode-options,
|
|
.placement-options {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.mode-card-preview {
|
|
height: 100px;
|
|
}
|
|
.placement-card-preview {
|
|
height: 80px;
|
|
}
|
|
.mode-card,
|
|
.placement-card {
|
|
padding: var(--size-4-3);
|
|
}
|
|
.intro-mode-selection-container {
|
|
max-width: 100%;
|
|
padding: 0 var(--size-4-1);
|
|
}
|
|
.intro-typing {
|
|
padding: var(--size-4-4) var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-footer {
|
|
padding: var(--size-4-3) var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-buttons {
|
|
gap: var(--size-4-2);
|
|
}
|
|
.onboarding-view .onboarding-buttons button {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
font-size: 0.9em;
|
|
}
|
|
}
|
|
.theme-dark .theme-dark .onboarding-view .onboarding-footer {
|
|
box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.theme-dark .theme-dark .onboarding-view .onboarding-footer::before {
|
|
background:
|
|
linear-gradient(
|
|
to top,
|
|
rgba(0, 0, 0, 0.2),
|
|
transparent);
|
|
}
|
|
.onboarding-view .onboarding-content {
|
|
animation: fadeInUp 0.3s ease-out;
|
|
}
|
|
@keyframes fadeInUp {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.onboarding-view .user-level-card.selected {
|
|
animation: cardSelect 0.2s ease-out;
|
|
}
|
|
@keyframes cardSelect {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.02);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
.mode-selection {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.mode-options {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.onboarding-view .mode-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.mode-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
transform: translateY(-2px);
|
|
}
|
|
.mode-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.mode-card-header {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.mode-card-title {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.mode-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.mode-card-preview {
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
font-size: 3em;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.mode-fluent .mode-card-preview {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-hover) 100%);
|
|
}
|
|
.mode-legacy .mode-card-preview {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.mode-card-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
min-height: 3em;
|
|
}
|
|
.onboarding-section-title {
|
|
font-size: 1.25em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
text-align: center;
|
|
}
|
|
.section-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.95em;
|
|
margin-bottom: var(--size-4-4);
|
|
text-align: center;
|
|
line-height: 1.5;
|
|
}
|
|
.mode-tips,
|
|
.placement-tips {
|
|
margin-top: var(--onboarding-spacing);
|
|
text-align: left;
|
|
}
|
|
.mode-tips p,
|
|
.placement-tips p {
|
|
margin: 0;
|
|
font-size: 0.9em;
|
|
}
|
|
.placement-selection {
|
|
margin-bottom: var(--onboarding-spacing);
|
|
}
|
|
.placement-options {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--onboarding-spacing);
|
|
margin: var(--onboarding-spacing) 0;
|
|
}
|
|
.placement-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--onboarding-spacing);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.placement-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: var(--shadow-s);
|
|
transform: translateY(-2px);
|
|
}
|
|
.placement-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.placement-card-header {
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.placement-card-title {
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.placement-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.placement-card-preview {
|
|
height: 100px;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
position: relative;
|
|
}
|
|
.placement-sideleaves .placement-card-preview {
|
|
display: grid;
|
|
grid-template-columns: 1fr 2fr 1fr;
|
|
gap: 4px;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.placement-preview-col {
|
|
background: var(--background-modifier-border);
|
|
border-radius: 2px;
|
|
height: 100%;
|
|
}
|
|
.placement-preview-col.placement-preview-main {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
}
|
|
.placement-inline .placement-card-preview {
|
|
padding: var(--size-4-2);
|
|
}
|
|
.placement-preview-single {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
opacity: 0.3;
|
|
border-radius: 4px;
|
|
}
|
|
.placement-card-desc {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
min-height: 3em;
|
|
}
|
|
.intro-typing-wrapper {
|
|
width: 100%;
|
|
padding-left: calc(var(--onboarding-spacing) * 3);
|
|
padding-right: calc(var(--onboarding-spacing) * 3);
|
|
}
|
|
.onboarding-view .onboarding-content.intro-typing-wrapper {
|
|
padding-left: calc(var(--onboarding-spacing) * 3);
|
|
padding-right: calc(var(--onboarding-spacing) * 3);
|
|
}
|
|
.intro-typing {
|
|
padding: var(--size-4-6) var(--size-4-4);
|
|
text-align: left;
|
|
width: 100%;
|
|
}
|
|
.intro-line {
|
|
margin-bottom: var(--size-4-4);
|
|
line-height: 1.6;
|
|
}
|
|
.intro-line-1 {
|
|
font-size: clamp(3rem, 6vw, 5rem);
|
|
font-weight: 700;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-2);
|
|
line-height: 1.2;
|
|
}
|
|
.intro-line-2 {
|
|
font-size: clamp(1.5rem, 3vw, 2.5rem);
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: var(--size-4-6);
|
|
line-height: 1.4;
|
|
}
|
|
.intro-line-3,
|
|
.intro-line-4 {
|
|
font-size: clamp(1rem, 2vw, 1.4rem);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-4-5);
|
|
text-align: left;
|
|
}
|
|
.intro-line-4 {
|
|
padding-top: calc(var(--onboarding-spacing) * 4);
|
|
}
|
|
.onboarding-header > .intro-line-4 {
|
|
padding-top: 0;
|
|
}
|
|
.intro-char {
|
|
display: inline;
|
|
opacity: 0;
|
|
filter: blur(4px);
|
|
transform: translateY(-2px);
|
|
transition:
|
|
opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
|
|
filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
|
|
transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
position: relative;
|
|
}
|
|
.intro-char-visible {
|
|
opacity: 1;
|
|
filter: blur(0px);
|
|
transform: translateY(0);
|
|
}
|
|
.intro-char-space {
|
|
width: 0.25em;
|
|
}
|
|
.intro-cursor {
|
|
display: inline-block;
|
|
margin-left: 1px;
|
|
opacity: 0.7;
|
|
animation: cursorBlink 1s infinite;
|
|
color: var(--interactive-accent);
|
|
font-weight: normal;
|
|
vertical-align: baseline;
|
|
}
|
|
@keyframes cursorBlink {
|
|
0%, 49% {
|
|
opacity: 0.7;
|
|
}
|
|
50%, 100% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
.stream-complete {
|
|
animation: streamComplete 0.3s ease-out;
|
|
}
|
|
@keyframes streamComplete {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.95;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.intro-line-fadeout {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
transition: opacity 0.5s ease-out, transform 0.5s ease-out;
|
|
pointer-events: none;
|
|
}
|
|
.intro-mode-selection-container {
|
|
animation: fadeInFromBottom 0.6s ease-out;
|
|
animation-fill-mode: both;
|
|
width: 100%;
|
|
}
|
|
@keyframes fadeInFromBottom {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.theme-dark .intro-line-1 {
|
|
color: var(--text-normal);
|
|
text-shadow: 0 0 20px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.theme-dark .intro-char-visible {
|
|
text-shadow: 0 0 8px rgba(var(--interactive-accent-rgb), 0.05);
|
|
}
|
|
.intro-typing {
|
|
animation: fadeInTyping 0.5s ease-out;
|
|
}
|
|
@keyframes fadeInTyping {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.intro-transition-container {
|
|
margin-top: var(--size-4-4);
|
|
min-height: 60px;
|
|
}
|
|
.intro-transition-message {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.08) 0%,
|
|
rgba(var(--interactive-accent-rgb), 0.03) 100%);
|
|
border: 1px solid rgba(var(--interactive-accent-rgb), 0.2);
|
|
border-radius: var(--onboarding-border-radius);
|
|
box-shadow: var(--shadow-sm);
|
|
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
.intro-transition-message .transition-icon {
|
|
font-size: 1.5em;
|
|
flex-shrink: 0;
|
|
animation: sparkle 1.5s ease-in-out infinite;
|
|
}
|
|
.intro-transition-message .transition-text {
|
|
color: var(--text-normal);
|
|
font-size: 0.95em;
|
|
line-height: 1.5;
|
|
}
|
|
@keyframes sparkle {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
transform: scale(1.1);
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
.config-check-typing {
|
|
min-height: 200px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
}
|
|
.config-check-typing .check-line {
|
|
line-height: 1.6;
|
|
color: var(--text-normal);
|
|
margin-block-start: var(--size-4-2);
|
|
margin-block-end: var(--size-4-2);
|
|
}
|
|
.config-check-typing .check-line-1 {
|
|
font-size: clamp(1.2rem, 2.5vw, 1.8rem);
|
|
font-weight: 600;
|
|
color: var(--text-muted);
|
|
line-height: 1.4;
|
|
}
|
|
.config-check-typing .check-line-2,
|
|
.config-check-typing .check-line-3 {
|
|
font-size: clamp(1rem, 2vw, 1.3rem);
|
|
color: var(--text-muted);
|
|
line-height: 1.5;
|
|
}
|
|
.config-check-typing .check-line-result {
|
|
font-size: clamp(1.1rem, 2.2vw, 1.6rem);
|
|
font-weight: 600;
|
|
margin-top: var(--size-4-4);
|
|
padding: var(--size-4-4) var(--size-4-5);
|
|
border-radius: var(--radius-m);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--interactive-accent-rgb), 0.05) 0%,
|
|
rgba(var(--interactive-accent-rgb), 0.02) 100%);
|
|
border-left: 3px solid var(--interactive-accent);
|
|
line-height: 1.5;
|
|
}
|
|
.config-check-typing .check-line-success {
|
|
color: var(--color-green);
|
|
border-left-color: var(--color-green);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
rgba(var(--color-green-rgb), 0.08) 0%,
|
|
rgba(var(--color-green-rgb), 0.02) 100%);
|
|
}
|
|
.config-check-typing .check-line-fresh {
|
|
color: var(--text-accent);
|
|
border-left-color: var(--text-accent);
|
|
}
|
|
.selectable-cards-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: var(--size-4-4);
|
|
margin: var(--size-4-4) 0;
|
|
}
|
|
.selectable-cards-container.user-level-cards {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.selectable-card {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--onboarding-border-radius, var(--radius-m));
|
|
padding: var(--size-4-4);
|
|
cursor: pointer;
|
|
transition: var(--onboarding-transition);
|
|
background: var(--background-primary);
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.selectable-card:hover {
|
|
border-color: var(--interactive-accent);
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
.selectable-card.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
background: var(--background-modifier-hover);
|
|
box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
.selectable-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-3);
|
|
}
|
|
.selectable-card-icon {
|
|
flex-shrink: 0;
|
|
color: var(--text-accent);
|
|
opacity: 0.8;
|
|
}
|
|
.selectable-card-title-container {
|
|
flex: 1;
|
|
}
|
|
.selectable-card-title {
|
|
margin: 0;
|
|
font-size: 1.1em;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.selectable-card-subtitle {
|
|
display: block;
|
|
margin-top: var(--size-2-1);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
font-weight: normal;
|
|
}
|
|
.selectable-card-badge {
|
|
position: absolute;
|
|
top: var(--size-4-2);
|
|
right: var(--size-4-2);
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.7em;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
.selectable-card-body {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.selectable-card-preview {
|
|
background: var(--background-secondary);
|
|
border-radius: var(--radius-s);
|
|
margin-bottom: var(--size-4-3);
|
|
min-height: 100px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
}
|
|
.selectable-card-description {
|
|
color: var(--text-muted);
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
.selectable-card-features {
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.selectable-card-features ul {
|
|
margin: 0;
|
|
padding-left: var(--size-4-3);
|
|
list-style: none;
|
|
}
|
|
.selectable-card-features li {
|
|
position: relative;
|
|
color: var(--text-muted);
|
|
font-size: 0.85em;
|
|
line-height: 1.4;
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
.selectable-card-features li:before {
|
|
content: "\2022";
|
|
color: var(--interactive-accent);
|
|
position: absolute;
|
|
left: calc(-1 * var(--size-4-3));
|
|
font-weight: bold;
|
|
}
|
|
.feature-list {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background: var(--background-secondary);
|
|
border-radius: var(--onboarding-border-radius);
|
|
padding: var(--size-4-2);
|
|
}
|
|
.feature-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-1) 0;
|
|
color: var(--text-normal);
|
|
font-size: 0.9em;
|
|
}
|
|
.feature-item-icon {
|
|
color: var(--color-green);
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
}
|
|
.feature-item-text {
|
|
flex: 1;
|
|
}
|
|
.onboarding-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: var(--size-2-1) var(--size-4-2);
|
|
border-radius: var(--radius-s);
|
|
font-size: 0.75em;
|
|
font-weight: 500;
|
|
letter-spacing: 0.01em;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-badge-default {
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.onboarding-badge-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
color: var(--color-green);
|
|
border: 1px solid var(--color-green);
|
|
}
|
|
.onboarding-badge-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
color: var(--color-orange);
|
|
border: 1px solid var(--color-orange);
|
|
}
|
|
.onboarding-badge-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
color: var(--color-blue);
|
|
border: 1px solid var(--color-blue);
|
|
}
|
|
.onboarding-badge-accent {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
}
|
|
.onboarding-alert {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--onboarding-border-radius);
|
|
border: 1px solid transparent;
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.onboarding-alert-icon {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.onboarding-alert-content {
|
|
flex: 1;
|
|
}
|
|
.onboarding-alert-title {
|
|
font-weight: 600;
|
|
margin-bottom: var(--size-2-1);
|
|
font-size: 0.95em;
|
|
}
|
|
.onboarding-alert-message {
|
|
font-size: 0.9em;
|
|
line-height: 1.5;
|
|
}
|
|
.onboarding-alert-info {
|
|
background: rgba(var(--color-blue-rgb), 0.1);
|
|
border-color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-info .onboarding-alert-icon {
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-info .onboarding-alert-title,
|
|
.onboarding-alert-info .onboarding-alert-message {
|
|
color: var(--color-blue);
|
|
}
|
|
.onboarding-alert-success {
|
|
background: rgba(var(--color-green-rgb), 0.1);
|
|
border-color: var(--color-green);
|
|
}
|
|
.onboarding-alert-success .onboarding-alert-icon {
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-alert-success .onboarding-alert-title,
|
|
.onboarding-alert-success .onboarding-alert-message {
|
|
color: var(--color-green);
|
|
}
|
|
.onboarding-alert-warning {
|
|
background: rgba(var(--color-orange-rgb), 0.1);
|
|
border-color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-warning .onboarding-alert-icon {
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-warning .onboarding-alert-title,
|
|
.onboarding-alert-warning .onboarding-alert-message {
|
|
color: var(--color-orange);
|
|
}
|
|
.onboarding-alert-error {
|
|
background: rgba(var(--color-red-rgb), 0.1);
|
|
border-color: var(--color-red);
|
|
}
|
|
.onboarding-alert-error .onboarding-alert-icon {
|
|
color: var(--color-red);
|
|
}
|
|
.onboarding-alert-error .onboarding-alert-title,
|
|
.onboarding-alert-error .onboarding-alert-message {
|
|
color: var(--color-red);
|
|
}
|
|
.progress-dots {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: var(--size-4-3) 0;
|
|
}
|
|
.progress-dot-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: var(--size-2-1);
|
|
}
|
|
.progress-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: var(--background-modifier-border);
|
|
transition: var(--onboarding-transition);
|
|
}
|
|
.progress-dot.is-active {
|
|
background: var(--interactive-accent);
|
|
transform: scale(1.5);
|
|
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.progress-dot.is-completed {
|
|
background: var(--interactive-accent);
|
|
opacity: 0.6;
|
|
}
|
|
.progress-dot-label {
|
|
font-size: 0.7em;
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* src/styles/noise.css */
|
|
.tg-noise-layer {
|
|
position: fixed;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
pointer-events: none;
|
|
}
|
|
.tg-noise-layer::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
opacity: 0.25;
|
|
background-image: url('data:image/svg+xml;utf8,<svg width="1901" height="961" viewBox="0 0 1901 961" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.25" filter="url(%23filter0_n_1_2)"><rect width="1901" height="961" fill="%23EFEFEF"/></g><defs><filter id="filter0_n_1_2" x="0" y="0" width="1901" height="961" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feTurbulence type="fractalNoise" baseFrequency="1.25 1.25" stitchTiles="stitch" numOctaves="3" result="noise" seed="5339" /><feColorMatrix in="noise" type="luminanceToAlpha" result="alphaNoise" /><feComponentTransfer in="alphaNoise" result="coloredNoise1"><feFuncA type="discrete" tableValues="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "/></feComponentTransfer><feComposite operator="in" in2="shape" in="coloredNoise1" result="noise1Clipped" /><feFlood flood-color="rgba(0, 0, 0, 0.25)" result="color1Flood" /><feComposite operator="in" in2="noise1Clipped" in="color1Flood" result="color1" /><feMerge result="effect1_noise_1_2"><feMergeNode in="shape" /><feMergeNode in="color1" /></feMerge></filter></defs></svg>');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
z-index: 1;
|
|
}
|
|
.tg-noise-layer > * {
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
/* src/styles/changelog.css */
|
|
.tg-changelog-view {
|
|
padding: var(--size-4-6);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-4);
|
|
}
|
|
.tg-changelog-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2);
|
|
}
|
|
.tg-changelog-header h2 {
|
|
margin: 0;
|
|
font-size: var(--font-ui-large);
|
|
font-weight: 600;
|
|
}
|
|
.tg-changelog-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2);
|
|
color: var(--text-muted);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
.tg-changelog-meta a {
|
|
color: var(--interactive-accent);
|
|
text-decoration: none;
|
|
}
|
|
.tg-changelog-meta a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.tg-changelog-body {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
}
|
|
.tg-changelog-error {
|
|
color: var(--text-error);
|
|
font-weight: 500;
|
|
}
|
|
.tg-changelog-body h1,
|
|
.tg-changelog-body h2,
|
|
.tg-changelog-body h3 {
|
|
font-family: var(--font-interface, inherit);
|
|
font-weight: 600;
|
|
margin-top: var(--size-4-4);
|
|
margin-bottom: var(--size-4-2);
|
|
line-height: 1.3;
|
|
}
|
|
.tg-changelog-body h1 {
|
|
font-size: 1.65rem;
|
|
}
|
|
.tg-changelog-body h2 {
|
|
font-size: 1.35rem;
|
|
}
|
|
.tg-changelog-body h2:not(:first-child) {
|
|
margin-top: var(--size-4-8);
|
|
}
|
|
.tg-changelog-body h3 {
|
|
font-size: 1.15rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2);
|
|
}
|
|
.tg-changelog-body h3::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
border-radius: 2px;
|
|
background-color: var(--background-modifier-border-hover);
|
|
flex: 0 0 auto;
|
|
margin-right: var(--size-4-2);
|
|
}
|
|
.tg-changelog-body h3[data-heading^="Bug Fixes"]::before {
|
|
background-color: var(--color-red, #e06c75);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Features]::before,
|
|
.tg-changelog-body h3[data-heading^=New]::before {
|
|
background-color: var(--color-cyan, #56b6c2);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Improvements]::before,
|
|
.tg-changelog-body h3[data-heading^=Enhancements]::before {
|
|
background-color: var(--color-yellow, #d19a66);
|
|
}
|
|
.tg-changelog-body h3[data-heading^=Performance]::before {
|
|
background-color: var(--color-green, #98c379);
|
|
}
|
|
.tg-changelog-body p + h1,
|
|
.tg-changelog-body p + h2,
|
|
.tg-changelog-body p + h3 {
|
|
margin-top: var(--size-4-6);
|
|
}
|
|
|
|
/* src/styles/timeline-sidebar.css */
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-sidebar-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: var(--background-primary);
|
|
overflow: hidden;
|
|
font-family: var(--font-interface);
|
|
padding: 0 !important;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--background-secondary) 0%,
|
|
var(--background-modifier-hover) 100%);
|
|
flex-shrink: 0;
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-8);
|
|
height: var(--size-4-8);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
background-color: transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn.is-active {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2) 0;
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group:not(.is-today) {
|
|
opacity: 0.3;
|
|
pointer-events: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: var(--size-4-8);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group {
|
|
margin-bottom: var(--size-4-2);
|
|
position: relative;
|
|
border-radius: var(--radius-m);
|
|
transition: all 0.3s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today {
|
|
background-color: var(--background-secondary);
|
|
border-radius: var(--radius-m);
|
|
margin: 0 var(--size-4-2) var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
box-shadow: var(--shadow-s);
|
|
border: 1px solid var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-2) var(--size-4-4);
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-accent);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
margin-bottom: var(--size-4-2);
|
|
position: sticky;
|
|
top: 0;
|
|
background-color: var(--background-primary);
|
|
z-index: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today .timeline-date-header {
|
|
border-radius: var(--radius-s);
|
|
margin: 0 0 var(--size-4-2) 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-relative {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-weight: normal;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
padding: 0 var(--size-2-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-3);
|
|
border-radius: var(--radius-m);
|
|
cursor: pointer;
|
|
position: relative;
|
|
border: 1px solid transparent;
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
transform: translateY(-1px);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover:has(.timeline-event-checkbox:hover) {
|
|
transform: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed {
|
|
opacity: 0.6;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed .timeline-event-text {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-family: var(--font-monospace);
|
|
min-width: 45px;
|
|
text-align: center;
|
|
margin-top: 2px;
|
|
flex-shrink: 0;
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-1) var(--size-4-2);
|
|
font-weight: 500;
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-single {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--interactive-accent) 0%,
|
|
var(--interactive-accent-hover) 100%);
|
|
color: var(--text-on-accent);
|
|
font-weight: 600;
|
|
min-width: 80px;
|
|
position: relative;
|
|
animation: subtle-pulse 2s ease-in-out infinite;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range::after {
|
|
content: "\23f1";
|
|
position: absolute;
|
|
top: -6px;
|
|
right: -6px;
|
|
font-size: 10px;
|
|
background-color: var(--background-primary);
|
|
border-radius: 999px;
|
|
min-width: 18px;
|
|
height: 16px;
|
|
padding: 0 4px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 2px solid var(--interactive-accent);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
line-height: 1;
|
|
white-space: nowrap;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-range[data-duration]::after {
|
|
content: attr(data-duration);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-default {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-muted);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-group {
|
|
background:
|
|
linear-gradient(
|
|
135deg,
|
|
var(--text-accent) 0%,
|
|
var(--interactive-accent) 100%);
|
|
color: var(--text-on-accent);
|
|
font-weight: 700;
|
|
min-width: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-time.timeline-event-time-date-only {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
min-width: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group {
|
|
margin-bottom: var(--size-4-3);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-secondary);
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background-color: var(--background-modifier-hover);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-count {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-time-group-events {
|
|
padding: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped {
|
|
margin-bottom: var(--size-4-2);
|
|
padding: var(--size-4-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event.timeline-event-grouped:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section {
|
|
margin-top: var(--size-4-4);
|
|
padding-top: var(--size-4-3);
|
|
border-top: 2px dashed var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-section .timeline-event .timeline-event-time {
|
|
display: none !important;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-date-only-title {
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
font-weight: 500;
|
|
font-style: italic;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
min-width: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 2px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-checkbox input[type=checkbox] {
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-text {
|
|
flex: 1;
|
|
font-size: var(--font-ui-small);
|
|
line-height: 1.4;
|
|
word-wrap: break-word;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-icon {
|
|
font-size: var(--font-ui-medium);
|
|
flex-shrink: 0;
|
|
margin-top: 1px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text {
|
|
flex: 1;
|
|
word-break: break-word;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-actions {
|
|
display: flex;
|
|
gap: var(--size-4-1);
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover .timeline-event-actions {
|
|
opacity: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
background-color: transparent;
|
|
transition: all 0.2s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-action:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
|
|
flex-shrink: 0;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-secondary);
|
|
padding: var(--size-4-4);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
padding-bottom: var(--size-4-12);
|
|
position: relative;
|
|
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
|
|
padding: 0;
|
|
gap: 0;
|
|
height: auto;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-header,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-editor,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-actions {
|
|
display: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsing {
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-expanding {
|
|
overflow: hidden;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-4-3) var(--size-4-4);
|
|
background-color: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
cursor: pointer;
|
|
transition: background-color 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
transition: all 200ms ease;
|
|
cursor: pointer;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-expand-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-title {
|
|
flex: 1;
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
margin-left: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-7);
|
|
height: var(--size-4-7);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture:hover {
|
|
color: var(--interactive-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn:hover {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-collapse-btn svg {
|
|
transition: transform 200ms ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed .quick-input-collapse-btn svg {
|
|
transform: rotate(-90deg);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-title {
|
|
font-weight: 600;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-normal);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-target-info {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
padding: var(--size-4-1) var(--size-4-2);
|
|
background-color: var(--background-modifier-hover);
|
|
border-radius: var(--radius-s);
|
|
word-break: break-all;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
|
|
min-height: 80px;
|
|
border: 2px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background-color: var(--background-primary);
|
|
padding: var(--size-4-3);
|
|
font-family: var(--font-text);
|
|
font-size: var(--font-ui-small);
|
|
resize: vertical;
|
|
transition: all 0.3s ease;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor:focus-within {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor {
|
|
background-color: transparent;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-focused {
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor .cm-editor.cm-focused {
|
|
outline: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-actions {
|
|
display: flex;
|
|
gap: var(--size-4-2);
|
|
justify-content: flex-end;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn,
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
|
|
padding: var(--size-4-3) var(--size-4-6);
|
|
border-radius: var(--radius-m);
|
|
font-size: var(--font-ui-small);
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
border: none;
|
|
transition: all 0.3s ease;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-capture-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn {
|
|
background-color: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-modal-btn:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
@media (max-width: 768px) {
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-header {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-controls {
|
|
gap: var(--size-4-1);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-btn {
|
|
width: var(--size-4-7);
|
|
height: var(--size-4-7);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-events-list {
|
|
padding: 0 var(--size-2-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event {
|
|
padding: var(--size-4-2);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input {
|
|
padding: var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-quick-input.is-collapsed {
|
|
padding: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-editor {
|
|
min-height: 60px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .quick-input-header-collapsed {
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-quick-capture,
|
|
div[data-type^=tg-timeline-sidebar-view] .collapsed-more-options {
|
|
width: var(--size-4-6);
|
|
height: var(--size-4-6);
|
|
}
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-track {
|
|
background-color: var(--background-secondary);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb {
|
|
background-color: var(--background-modifier-border);
|
|
border-radius: 3px;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content::-webkit-scrollbar-thumb:hover {
|
|
background-color: var(--background-modifier-border-hover);
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes subtle-pulse {
|
|
0%, 100% {
|
|
box-shadow: 0 0 0 0 rgba(var(--interactive-accent-rgb), 0.4);
|
|
}
|
|
50% {
|
|
box-shadow: 0 0 0 4px rgba(var(--interactive-accent-rgb), 0.1);
|
|
}
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode {
|
|
position: relative;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
to bottom,
|
|
rgba(var(--background-primary-rgb), 0.9) 0%,
|
|
rgba(var(--background-primary-rgb), 0.7) 50%,
|
|
rgba(var(--background-primary-rgb), 0.9) 100%);
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group.is-today {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block {
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block p {
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block strong,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block em,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block code {
|
|
font-size: inherit;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a {
|
|
color: var(--link-color);
|
|
text-decoration: none;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ul,
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ol {
|
|
margin: 0;
|
|
padding-left: var(--size-4-4);
|
|
}
|
|
div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block li {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* src/styles/reward.css */
|
|
.reward-modal-content {
|
|
text-align: center;
|
|
}
|
|
.reward-modal .modal-title {
|
|
text-align: center;
|
|
}
|
|
.reward-name {
|
|
font-size: 1.2em;
|
|
font-weight: bold;
|
|
margin-bottom: 15px;
|
|
}
|
|
.reward-image-container {
|
|
margin-bottom: 20px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.reward-image {
|
|
max-width: 80%;
|
|
max-height: 300px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.reward-image-error {
|
|
font-style: italic;
|
|
color: var(--text-muted);
|
|
}
|
|
.reward-spacer {
|
|
height: 20px;
|
|
}
|
|
.task-genius-reward-modal .setting-item-control {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
/* src/styles/task-gutter.css */
|
|
.markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
|
|
margin-inline-end: 0 !important;
|
|
margin-inline-start: var(--file-folding-offset);
|
|
}
|
|
.is-mobile .markdown-source-view.mod-cm6 .cm-gutters.task-gutter {
|
|
margin-inline-start: 0 !important;
|
|
}
|
|
.task-details-popover.tg-menu {
|
|
z-index: 20;
|
|
position: fixed;
|
|
background-color: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
padding: var(--size-4-3);
|
|
box-shadow: var(--shadow-l);
|
|
}
|
|
.task-gutter {
|
|
width: 26px;
|
|
}
|
|
.task-gutter-marker {
|
|
cursor: pointer;
|
|
font-size: var(--font-smaller);
|
|
opacity: 0.1;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.task-gutter-marker:hover {
|
|
opacity: 1;
|
|
}
|
|
.task-popover-content {
|
|
padding: var(--size-4-3);
|
|
max-width: 300px;
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
}
|
|
.task-metadata-editor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-2);
|
|
height: 100%;
|
|
}
|
|
.field-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.field-label {
|
|
font-size: var(--font-smallest);
|
|
font-weight: var(--font-bold);
|
|
margin-bottom: var(--size-2-1);
|
|
color: var(--text-muted);
|
|
}
|
|
.action-buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
}
|
|
.action-button {
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
font-size: var(--font-smallest);
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
}
|
|
.task-gutter-marker.clickable-icon {
|
|
width: 24px;
|
|
padding: var(--size-2-1);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
.task-details-popover .tabs-main-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
}
|
|
.task-details-popover .tabs-navigation {
|
|
display: flex;
|
|
margin-bottom: var(--size-4-2);
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-details-popover .tab-button {
|
|
padding: var(--size-2-2) var(--size-4-2);
|
|
cursor: pointer;
|
|
border: none;
|
|
background: none;
|
|
font-size: var(--font-ui-small);
|
|
color: var(--text-muted);
|
|
margin-bottom: -1px;
|
|
transition: color 0.2s ease, border-color 0.2s ease;
|
|
}
|
|
.task-details-popover .tab-button:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.task-details-popover .tab-button.active {
|
|
color: var(--text-on-accent);
|
|
font-weight: var(--font-bold);
|
|
background-color: var(--interactive-accent);
|
|
}
|
|
.task-details-popover .tab-pane {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.task-details-popover .tab-pane.active {
|
|
display: flex;
|
|
}
|
|
.task-details-popover .details-status-selector,
|
|
.task-status-editor .details-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--size-4-2);
|
|
margin-top: var(--size-4-2);
|
|
}
|
|
.task-details-popover .quick-capture-status-selector,
|
|
.task-status-editor .quick-capture-status-selector {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-3);
|
|
}
|
|
.task-details-popover .quick-capture-status-selector-label,
|
|
.task-status-editor .quick-capture-status-selector-label {
|
|
display: none;
|
|
}
|
|
.modal-content.task-metadata-editor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.metadata-full-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.metadata-full-container .dates-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-main.css */
|
|
.task-genius-fluent-view {
|
|
height: 100%;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
.tg-fluent-container {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.view-content.task-genius-fluent-view {
|
|
padding: 0;
|
|
}
|
|
.tg-fluent-layout {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-sidebar-container {
|
|
width: 260px;
|
|
min-width: 200px;
|
|
max-width: 400px;
|
|
background-color: var(--background-secondary);
|
|
border-right: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.fluent-sidebar {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.fluent-sidebar-header {
|
|
padding: 12px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.workspace-selector-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
padding: 8px;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.workspace-selector-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.workspace-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.workspace-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: white;
|
|
}
|
|
.workspace-icon svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.workspace-details {
|
|
text-align: left;
|
|
}
|
|
.workspace-name {
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.workspace-label {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.workspace-dropdown-icon {
|
|
color: var(--text-muted);
|
|
}
|
|
button.fluent-new-task-btn {
|
|
width: 100%;
|
|
margin-top: 12px;
|
|
box-shadow: unset;
|
|
padding: 10px;
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
button.fluent-new-task-btn:hover {
|
|
background-color: var(--interactive-accent-hover);
|
|
}
|
|
.fluent-new-task-icon {
|
|
display: flex;
|
|
}
|
|
.fluent-sidebar-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 8px 0;
|
|
--icon-size: 16px;
|
|
}
|
|
.fluent-sidebar-section {
|
|
padding: 8px 0;
|
|
}
|
|
.fluent-sidebar-section + .fluent-sidebar-section {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 4px 16px;
|
|
margin-bottom: 4px;
|
|
}
|
|
.fluent-section-header span {
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-header-buttons {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.fluent-add-project-btn,
|
|
.fluent-sort-project-btn,
|
|
.fluent-tree-toggle-btn {
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: color 0.15s;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.fluent-add-project-btn:hover,
|
|
.fluent-sort-project-btn:hover,
|
|
.fluent-tree-toggle-btn:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-list {
|
|
padding: 0 8px;
|
|
}
|
|
.fluent-navigation-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
position: relative;
|
|
}
|
|
.fluent-navigation-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-navigation-item.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.fluent-navigation-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-navigation-item.is-active .fluent-navigation-icon {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-label {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-navigation-badge {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
padding: 2px 6px;
|
|
border-radius: 10px;
|
|
min-width: 18px;
|
|
text-align: center;
|
|
}
|
|
.fluent-project-scroll {
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
padding: 0 8px;
|
|
}
|
|
.fluent-project-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 6px 8px;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background-color 0.15s;
|
|
}
|
|
.fluent-project-item.fluent-add-project {
|
|
margin: 0 8px;
|
|
}
|
|
.fluent-project-item:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-project-item.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.fluent-project-color {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 3px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-color-dashed {
|
|
width: 12px;
|
|
height: 12px;
|
|
border: 1.5px dashed var(--text-muted);
|
|
border-radius: 3px;
|
|
}
|
|
.fluent-project-name {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.fluent-add-project .fluent-project-name {
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-count {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item {
|
|
transition: all 0.15s ease;
|
|
}
|
|
.fluent-project-chevron {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: transform 0.15s ease;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-chevron:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-project-chevron svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
.fluent-project-chevron-spacer {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 4px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="1"] {
|
|
padding-left: 28px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="2"] {
|
|
padding-left: 48px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level="3"] {
|
|
padding-left: 68px;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 8px;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
background: var(--background-modifier-border);
|
|
opacity: 0;
|
|
transition: opacity 0.15s;
|
|
}
|
|
.fluent-project-list.is-tree-view .fluent-project-item[data-level]:not([data-level="0"]):hover::before {
|
|
opacity: 0.3;
|
|
}
|
|
.fluent-project-item.is-virtual .fluent-project-name {
|
|
font-style: italic;
|
|
opacity: 0.85;
|
|
}
|
|
.fluent-project-item.is-virtual .fluent-project-color {
|
|
opacity: 0.6;
|
|
}
|
|
.fluent-project-item.is-virtual:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.tg-project-list-disabled {
|
|
pointer-events: none;
|
|
opacity: 0.5;
|
|
position: relative;
|
|
}
|
|
.tg-project-list-disabled::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: var(--background-modifier-cover);
|
|
opacity: 0.3;
|
|
z-index: 1;
|
|
}
|
|
.tg-project-list-disabled .fluent-project-item {
|
|
cursor: not-allowed;
|
|
}
|
|
.tg-fluent-main-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-top-nav {
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
}
|
|
.fluent-top-navigation {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 56px;
|
|
padding: 0 20px;
|
|
gap: 20px;
|
|
}
|
|
.fluent-nav-left {
|
|
flex: 0 1 400px;
|
|
}
|
|
.fluent-search-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
max-width: 400px;
|
|
flex: 1;
|
|
}
|
|
.fluent-nav-center {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.fluent-view-tabs {
|
|
display: flex;
|
|
background-color: var(--background-secondary);
|
|
border-radius: 6px;
|
|
padding: 2px;
|
|
}
|
|
.fluent-view-tab {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-view-tab:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-view-tab.is-active {
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
.fluent-view-tab-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.fluent-nav-separator {
|
|
width: 1px;
|
|
height: 24px;
|
|
background-color: var(--background-modifier-border);
|
|
}
|
|
.fluent-nav-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
background: none;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-nav-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
}
|
|
.fluent-nav-button-icon {
|
|
width: 16px;
|
|
height: 16px;
|
|
display: flex;
|
|
}
|
|
.fluent-nav-right {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.fluent-nav-custom-buttons {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
.fluent-nav-custom-button-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.fluent-nav-cycle-selector-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-right: 8px;
|
|
}
|
|
.fluent-nav-cycle-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 6px 12px;
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-s);
|
|
background-color: var(--background-primary);
|
|
color: var(--text-normal);
|
|
cursor: pointer;
|
|
font-size: var(--font-ui-small);
|
|
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
white-space: nowrap;
|
|
}
|
|
.fluent-nav-cycle-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
.fluent-nav-cycle-button:active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
}
|
|
.fluent-nav-cycle-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.fluent-nav-cycle-label {
|
|
font-weight: 500;
|
|
max-width: 120px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.fluent-nav-icon-button {
|
|
position: relative;
|
|
width: 36px;
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 6px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.15s;
|
|
}
|
|
.fluent-nav-icon-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-notification-badge {
|
|
position: absolute;
|
|
top: -2px;
|
|
right: -2px;
|
|
background-color: var(--text-error);
|
|
color: white;
|
|
font-size: 10px;
|
|
font-weight: 600;
|
|
padding: 2px 5px;
|
|
border-radius: 10px;
|
|
min-width: 16px;
|
|
text-align: center;
|
|
}
|
|
.tg-fluent-content {
|
|
flex: 1;
|
|
overflow: auto;
|
|
}
|
|
.bases-view .tg-kanban-filters,
|
|
.tg-fluent-content .content-header,
|
|
.tg-fluent-main-container:has(.fluent-top-navigation:not(.other-view)) .tg-fluent-content .tg-kanban-filters {
|
|
display: none;
|
|
}
|
|
.tg-fluent-list-view,
|
|
.tg-fluent-kanban-view,
|
|
.tg-fluent-tree-view,
|
|
.tg-fluent-calendar-view {
|
|
height: 100%;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.tg-fluent-sidebar-container:not(.is-mobile-drawer) {
|
|
width: 200px;
|
|
}
|
|
.fluent-nav-center {
|
|
display: none;
|
|
}
|
|
.fluent-search-container {
|
|
flex: 1;
|
|
}
|
|
.fluent-nav-left .search-input-container {
|
|
width: 300px;
|
|
}
|
|
}
|
|
@media (max-width: 480px) {
|
|
.tg-fluent-sidebar-container.is-mobile-drawer {
|
|
width: 75vw !important;
|
|
max-width: 320px !important;
|
|
}
|
|
.fluent-hamburger-button {
|
|
width: 44px;
|
|
height: 44px;
|
|
}
|
|
.fluent-top-navigation {
|
|
padding: 0 12px;
|
|
}
|
|
.fluent-view-tabs {
|
|
display: none;
|
|
}
|
|
.fluent-search-container {
|
|
flex: 1;
|
|
max-width: calc(100vw - 180px);
|
|
}
|
|
}
|
|
.tg-fluent-sidebar-container {
|
|
transition:
|
|
width 0.2s ease,
|
|
min-width 0.2s ease,
|
|
max-width 0.2s ease;
|
|
}
|
|
.tg-fluent-sidebar-container.is-collapsed,
|
|
.fluent-sidebar-collapsed .tg-fluent-sidebar-container {
|
|
width: 44px;
|
|
min-width: 44px;
|
|
max-width: 44px;
|
|
}
|
|
.fluent-sidebar-rail {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 4px;
|
|
}
|
|
.fluent-rail-btn {
|
|
width: 36px;
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--radius-s);
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
}
|
|
.fluent-rail-btn:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-rail-btn svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.fluent-rail-btn.is-active {
|
|
background-color: var(--background-modifier-active-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-beta {
|
|
position: relative;
|
|
}
|
|
.tg-beta::after {
|
|
content: "beta";
|
|
font-size: 0.44em;
|
|
background: var(--color-accent);
|
|
color: var(--text-on-accent-inverted);
|
|
padding-left: 2px;
|
|
padding-right: 2px;
|
|
font-weight: bold;
|
|
margin-left: 4px;
|
|
position: absolute;
|
|
top: -1px;
|
|
right: -2px;
|
|
border-radius: 2px;
|
|
text-transform: uppercase;
|
|
padding-top: 1px;
|
|
}
|
|
.drawer-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
z-index: 999;
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
pointer-events: none;
|
|
}
|
|
.drawer-open .drawer-overlay {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 280px !important;
|
|
max-width: 85vw !important;
|
|
min-width: 280px !important;
|
|
z-index: 1000;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer {
|
|
transform: translateX(0);
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar.is-collapsed {
|
|
display: flex;
|
|
width: 100%;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer .fluent-sidebar-rail {
|
|
display: none;
|
|
}
|
|
.is-mobile .fluent-sidebar {
|
|
width: 100%;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
max-width: 300px;
|
|
}
|
|
.is-mobile .fluent-sidebar-header {
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.is-mobile .fluent-sidebar-content {
|
|
overflow-y: auto;
|
|
max-height: calc(100vh - 150px);
|
|
}
|
|
.is-mobile .fluent-sidebar-section {
|
|
display: block !important;
|
|
visibility: visible !important;
|
|
}
|
|
.is-mobile .fluent-section-header {
|
|
display: flex !important;
|
|
visibility: visible !important;
|
|
}
|
|
.is-mobile .fluent-navigation-item,
|
|
.is-mobile .fluent-project-item {
|
|
padding: 10px 16px;
|
|
font-size: 15px;
|
|
}
|
|
.is-mobile .fluent-new-task-btn {
|
|
padding: 12px;
|
|
font-size: 15px;
|
|
}
|
|
.is-mobile .fluent-navigation-list {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
.is-mobile span.fluent-navigation-label {
|
|
display: none;
|
|
}
|
|
.is-mobile .fluent-navigation-item,
|
|
.is-mobile .fluent-project-item,
|
|
.is-mobile .fluent-add-project {
|
|
min-height: 44px;
|
|
}
|
|
.drawer-open .tg-fluent-main-container {
|
|
pointer-events: none;
|
|
}
|
|
.fluent-hamburger-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 4px;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
margin-right: 8px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-hamburger-button:hover {
|
|
background-color: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-hamburger-button svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
.fluent-nav-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer ~ .tg-fluent-main-container .sidebar-toggle {
|
|
display: none !important;
|
|
}
|
|
.tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
|
|
left: auto;
|
|
right: 0;
|
|
transform: translateX(100%);
|
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
.drawer-open .tg-fluent-sidebar-container.is-mobile-drawer.drawer-right {
|
|
transform: translateX(0);
|
|
}
|
|
.view-content:has(.tg-right-detail-view) {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
padding-top: 0;
|
|
}
|
|
.tg-right-detail-view .task-details {
|
|
width: 100%;
|
|
}
|
|
@keyframes slideInFromLeft {
|
|
from {
|
|
transform: translateX(-100%);
|
|
opacity: 0.8;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes slideInFromRight {
|
|
from {
|
|
transform: translateX(100%);
|
|
opacity: 0.8;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
.onboarding-shadow {
|
|
position: absolute;
|
|
background: hsl(var(--color-accent-hsl), 0);
|
|
border-radius: 24px;
|
|
rotate: 35deg;
|
|
width: 260px;
|
|
top: 200px;
|
|
height: 400px;
|
|
filter: blur(150px);
|
|
animation: shadow-slide infinite 4s linear alternate;
|
|
pointer-events: none;
|
|
}
|
|
@keyframes shadow-slide {
|
|
0% {
|
|
background: hsl(var(--color-accent-hsl), 0.2);
|
|
right: 360px;
|
|
}
|
|
to {
|
|
background: hsl(var(--color-accent-hsl), 0.8);
|
|
right: 160px;
|
|
}
|
|
}
|
|
.view-content.task-genius-fluent-view.task-genius-view {
|
|
container-type: inline-size;
|
|
}
|
|
@container (width < 800px) {
|
|
.tg-fluent-main-container button.fluent-view-tab.clickable-icon span {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-secondary.css */
|
|
:root {
|
|
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
--tg-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
--tg-radius-sm: 0.25rem;
|
|
--tg-radius: 0.375rem;
|
|
--tg-radius-md: 0.5rem;
|
|
--tg-radius-lg: 0.75rem;
|
|
--tg-radius-full: 9999px;
|
|
}
|
|
.task-list-container {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
animation: fadeIn var(--tg-transition-base);
|
|
}
|
|
.task-list-wrapper {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
.tg-task-list-item {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-md);
|
|
margin-bottom: 0.75rem;
|
|
padding: 1rem 1.25rem;
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.task-list-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 3px;
|
|
background: transparent;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.tg-task-list-item:hover {
|
|
box-shadow: var(--tg-shadow);
|
|
transform: translateY(-1px);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-task-list-item:hover::before {
|
|
background: var(--interactive-accent);
|
|
}
|
|
.task-list-item.is-completed {
|
|
opacity: 0.6;
|
|
background: var(--background-secondary);
|
|
}
|
|
.task-list-item.is-overdue::before {
|
|
background: var(--text-error);
|
|
}
|
|
.task-list-empty {
|
|
text-align: center;
|
|
padding: 3rem 1.5rem;
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.task-tree-container {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
animation: fadeIn var(--tg-transition-base);
|
|
}
|
|
.task-tree-wrapper {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
.task-tree-project {
|
|
margin-bottom: 1.5rem;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-lg);
|
|
overflow: hidden;
|
|
transition: all var(--tg-transition-base);
|
|
}
|
|
.task-tree-project:hover {
|
|
box-shadow: var(--tg-shadow-md);
|
|
}
|
|
.task-tree-project-header {
|
|
padding: 1rem 1.25rem;
|
|
background: var(--background-secondary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
font-weight: 600;
|
|
font-size: 0.95rem;
|
|
color: var(--text-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.task-tree-project-header:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.task-tree-project-header::before {
|
|
content: "\25b6";
|
|
display: inline-block;
|
|
margin-right: 0.5rem;
|
|
transition: transform var(--tg-transition-fast);
|
|
font-size: 0.75rem;
|
|
}
|
|
.task-tree-project.is-expanded .task-tree-project-header::before {
|
|
transform: rotate(90deg);
|
|
}
|
|
.task-tree-tasks {
|
|
padding: 0.5rem;
|
|
}
|
|
.task-tree-item {
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.25rem;
|
|
border-radius: var(--tg-radius);
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
padding-left: 2rem;
|
|
}
|
|
.task-tree-item::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 1rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 4px;
|
|
height: 4px;
|
|
background: var(--text-muted);
|
|
border-radius: var(--tg-radius-full);
|
|
}
|
|
.task-tree-item:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.task-tree-empty {
|
|
text-align: center;
|
|
padding: 3rem 1.5rem;
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.tg-fluent-filter-panel {
|
|
position: fixed;
|
|
right: -380px;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 380px;
|
|
background: var(--background-primary);
|
|
border-left: 1px solid var(--background-modifier-border);
|
|
box-shadow: var(--tg-shadow-xl);
|
|
transition: right var(--tg-transition-slow);
|
|
z-index: 1000;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.tg-fluent-filter-panel.is-open {
|
|
right: 0;
|
|
}
|
|
.filter-panel-header {
|
|
padding: 1.25rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.filter-panel-title {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-panel-close {
|
|
width: 32px;
|
|
height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-panel-close:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.filter-panel-content {
|
|
padding: 1.25rem;
|
|
}
|
|
.filter-group {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
.filter-group-label {
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
margin-bottom: 0.5rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.025em;
|
|
}
|
|
.filter-options {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
.filter-option {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: background var(--tg-transition-fast);
|
|
}
|
|
.filter-option:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.filter-option.is-selected {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.filter-checkbox {
|
|
margin-right: 0.75rem;
|
|
}
|
|
.filter-select {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
background: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius);
|
|
color: var(--text-normal);
|
|
font-size: 0.875rem;
|
|
transition: all var(--tg-transition-fast);
|
|
cursor: pointer;
|
|
}
|
|
.filter-select:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-select:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.filter-tags-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0;
|
|
}
|
|
.filter-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.375rem 0.75rem;
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-full);
|
|
font-size: 0.875rem;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.filter-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
.filter-tag.is-selected {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-date-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
.filter-date-field {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
.filter-date-field span {
|
|
min-width: 50px;
|
|
font-size: 0.875rem;
|
|
color: var(--text-muted);
|
|
}
|
|
.filter-date-input {
|
|
flex: 1;
|
|
padding: 0.5rem 0.75rem;
|
|
background: var(--background-modifier-form-field);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius);
|
|
color: var(--text-normal);
|
|
font-size: 0.875rem;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.filter-date-input:hover {
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-date-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.filter-action-buttons {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
margin-top: 1.5rem;
|
|
padding-top: 1.5rem;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.filter-action-buttons button {
|
|
flex: 1;
|
|
}
|
|
.priority-color-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: var(--tg-radius-full);
|
|
flex-shrink: 0;
|
|
}
|
|
.tg-fluent-loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
gap: 1rem;
|
|
}
|
|
.tg-fluent-spinner {
|
|
width: 32px;
|
|
height: 32px;
|
|
border: 3px solid var(--background-modifier-border);
|
|
border-top-color: var(--interactive-accent);
|
|
border-radius: var(--tg-radius-full);
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.tg-fluent-loading-text {
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.tg-fluent-empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
}
|
|
.tg-fluent-empty-icon {
|
|
width: 64px;
|
|
height: 64px;
|
|
margin-bottom: 1rem;
|
|
color: var(--text-muted);
|
|
opacity: 0.5;
|
|
--icon-size: 48px;
|
|
}
|
|
.tg-fluent-empty-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.tg-fluent-empty-description {
|
|
color: var(--text-muted);
|
|
margin-bottom: 1.5rem;
|
|
max-width: 400px;
|
|
}
|
|
.tg-fluent-empty-action {
|
|
padding: 0.75rem 1.5rem;
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
border-radius: var(--tg-radius-md);
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-empty-action:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
.tg-fluent-tooltip {
|
|
position: absolute;
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: var(--tg-radius);
|
|
font-size: 0.875rem;
|
|
box-shadow: var(--tg-shadow-lg);
|
|
z-index: 9999;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transform: translateY(4px);
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-tooltip.is-visible {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
.tg-fluent-card {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-lg);
|
|
padding: 1.25rem;
|
|
margin-bottom: 1rem;
|
|
transition: all var(--tg-transition-base);
|
|
}
|
|
.tg-fluent-card:hover {
|
|
box-shadow: var(--tg-shadow-md);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.75rem;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.tg-fluent-card-title {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-fluent-card-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
.tg-fluent-card-action {
|
|
width: 28px;
|
|
height: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--tg-radius);
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
color: var(--text-muted);
|
|
}
|
|
.tg-fluent-card-action:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.tg-fluent-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
border-radius: var(--tg-radius-md);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all var(--tg-transition-fast);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-button::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 0;
|
|
border-radius: var(--tg-radius-full);
|
|
background: rgba(255, 255, 255, 0.2);
|
|
transform: translate(-50%, -50%);
|
|
transition: width var(--tg-transition-slow), height var(--tg-transition-slow);
|
|
}
|
|
.tg-fluent-button:active::before {
|
|
width: 300px;
|
|
height: 300px;
|
|
}
|
|
button.tg-fluent-button-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
button.tg-fluent-button-primary:hover {
|
|
background: var(--interactive-accent-hover);
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
button.tg-fluent-button-secondary {
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
button.tg-fluent-button-secondary:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
button.tg-fluent-button-ghost {
|
|
background: transparent;
|
|
color: var(--text-normal);
|
|
}
|
|
button.tg-fluent-button-ghost:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
button.tg-fluent-button-danger {
|
|
background: var(--text-error);
|
|
color: white;
|
|
}
|
|
button.tg-fluent-button-danger:hover {
|
|
background: #dc2626;
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--tg-shadow);
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(4px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(100%);
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
@keyframes slideUp {
|
|
from {
|
|
transform: translateY(100%);
|
|
}
|
|
to {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
@media (max-width: 1024px) {
|
|
.task-list-container,
|
|
.task-tree-container {
|
|
padding: 1rem;
|
|
}
|
|
.tg-fluent-filter-panel {
|
|
width: 100%;
|
|
right: -100%;
|
|
}
|
|
}
|
|
@media (max-width: 640px) {
|
|
.tg-task-list-item {
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
.task-tree-project-header {
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
.tg-fluent-card {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
.theme-dark {
|
|
--tg-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
|
|
--tg-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
|
|
--tg-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
|
|
}
|
|
.theme-dark .tg-fluent-card:hover,
|
|
.theme-dark .tg-task-list-item:hover,
|
|
.theme-dark .task-tree-project:hover {
|
|
box-shadow: 0 0 0 1px var(--interactive-accent), var(--tg-shadow-md);
|
|
}
|
|
.tg-fluent-progress {
|
|
width: 100%;
|
|
height: 6px;
|
|
background: var(--background-modifier-border);
|
|
border-radius: var(--tg-radius-full);
|
|
overflow: hidden;
|
|
margin: 0.5rem 0;
|
|
}
|
|
.tg-fluent-progress-bar {
|
|
height: 100%;
|
|
background: var(--interactive-accent);
|
|
border-radius: var(--tg-radius-full);
|
|
transition: width var(--tg-transition-slow);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.tg-fluent-progress-bar::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
rgba(255, 255, 255, 0.3),
|
|
transparent);
|
|
animation: shimmer 2s infinite;
|
|
}
|
|
@keyframes shimmer {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
.tg-fluent-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.25rem 0.625rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
border-radius: var(--tg-radius-full);
|
|
background: var(--background-secondary);
|
|
color: var(--text-normal);
|
|
border: 1px solid var(--background-modifier-border);
|
|
margin-right: 0.25rem;
|
|
transition: all var(--tg-transition-fast);
|
|
}
|
|
.tg-fluent-tag:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-tag-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
border-color: var(--interactive-accent);
|
|
}
|
|
.tg-fluent-tag-success {
|
|
background: #10b981;
|
|
color: white;
|
|
border-color: #10b981;
|
|
}
|
|
.tg-fluent-tag-warning {
|
|
background: #f59e0b;
|
|
color: white;
|
|
border-color: #f59e0b;
|
|
}
|
|
.tg-fluent-tag-danger {
|
|
background: var(--text-error);
|
|
color: white;
|
|
border-color: var(--text-error);
|
|
}
|
|
.workspace-name-with-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: var(--size-2-2);
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-content-header.css */
|
|
.tg-fluent-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.fluent-content-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 12px 20px;
|
|
background: var(--background-primary);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
min-height: 56px;
|
|
gap: 16px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-content-header .header-left-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
min-width: 200px;
|
|
}
|
|
.fluent-content-header .content-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
white-space: nowrap;
|
|
}
|
|
.fluent-content-header .task-count {
|
|
font-size: 0.875rem;
|
|
color: var(--text-muted);
|
|
padding: 2px 8px;
|
|
background: var(--background-secondary);
|
|
border-radius: 4px;
|
|
white-space: nowrap;
|
|
}
|
|
.fluent-content-header .header-center-section {
|
|
flex: 1;
|
|
display: flex;
|
|
justify-content: center;
|
|
max-width: 500px;
|
|
margin: 0 auto;
|
|
}
|
|
.fluent-content-header .content-filter {
|
|
width: 100%;
|
|
}
|
|
.fluent-content-header .filter-input {
|
|
width: 100%;
|
|
padding: 6px 12px;
|
|
background: var(--background-primary-alt);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 0.875rem;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s ease;
|
|
}
|
|
.fluent-content-header .filter-input::placeholder {
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-content-header .filter-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
|
}
|
|
.fluent-content-header .header-right-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.fluent-content-header .view-toggle-btn,
|
|
.fluent-content-header .sort-button,
|
|
.fluent-content-header .filter-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 6px;
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
.fluent-content-header .view-toggle-btn:hover,
|
|
.fluent-content-header .sort-button:hover,
|
|
.fluent-content-header .filter-button:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-content-header .view-toggle-btn:active,
|
|
.fluent-content-header .sort-button:active,
|
|
.fluent-content-header .filter-button:active {
|
|
transform: scale(0.95);
|
|
}
|
|
.fluent-content-header .view-toggle-btn svg,
|
|
.fluent-content-header .sort-button svg,
|
|
.fluent-content-header .filter-button svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.tg-fluent-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
background: var(--background-primary);
|
|
}
|
|
@media (max-width: 768px) {
|
|
.fluent-content-header {
|
|
flex-wrap: wrap;
|
|
padding: 8px 12px;
|
|
}
|
|
.fluent-content-header .header-left-section {
|
|
min-width: auto;
|
|
}
|
|
.fluent-content-header .header-center-section {
|
|
order: 3;
|
|
width: 100%;
|
|
max-width: none;
|
|
margin-top: 8px;
|
|
}
|
|
.fluent-content-header .content-title {
|
|
font-size: 1.1rem;
|
|
}
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-project-popover.css */
|
|
.fluent-project-popover-container {
|
|
position: absolute;
|
|
z-index: 1000;
|
|
}
|
|
.fluent-project-popover {
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
min-width: 320px;
|
|
max-width: 400px;
|
|
animation: popover-fade-in 0.2s ease-out;
|
|
}
|
|
@keyframes popover-fade-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-8px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
.fluent-popover-arrow,
|
|
.fluent-popover-arrow::before {
|
|
position: absolute;
|
|
width: 10px;
|
|
height: 10px;
|
|
background: inherit;
|
|
}
|
|
.fluent-popover-arrow {
|
|
visibility: hidden;
|
|
}
|
|
.fluent-popover-arrow::before {
|
|
visibility: visible;
|
|
content: "";
|
|
transform: rotate(45deg);
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow {
|
|
bottom: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=top] .fluent-popover-arrow::before {
|
|
border-top: none;
|
|
border-left: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow {
|
|
top: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=bottom] .fluent-popover-arrow::before {
|
|
border-right: none;
|
|
border-bottom: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow {
|
|
right: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=left] .fluent-popover-arrow::before {
|
|
border-bottom: none;
|
|
border-left: none;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow {
|
|
left: -5px;
|
|
}
|
|
.fluent-project-popover[data-popper-placement^=right] .fluent-popover-arrow::before {
|
|
border-top: none;
|
|
border-right: none;
|
|
}
|
|
.fluent-popover-content {
|
|
padding: 16px;
|
|
}
|
|
.fluent-popover-header {
|
|
margin-bottom: 16px;
|
|
padding-bottom: 12px;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-popover-header h3 {
|
|
margin: 0;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-popover-section {
|
|
margin-bottom: 16px;
|
|
}
|
|
.fluent-popover-section label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.fluent-popover-input {
|
|
width: 100%;
|
|
padding: 8px 12px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s;
|
|
}
|
|
.fluent-popover-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-popover-input.is-error {
|
|
border-color: var(--text-error);
|
|
animation: shake 0.3s;
|
|
}
|
|
@keyframes shake {
|
|
0%, 100% {
|
|
transform: translateX(0);
|
|
}
|
|
25% {
|
|
transform: translateX(-4px);
|
|
}
|
|
75% {
|
|
transform: translateX(4px);
|
|
}
|
|
}
|
|
.fluent-color-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
gap: 8px;
|
|
}
|
|
.fluent-color-button {
|
|
width: 36px;
|
|
height: 36px;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: 2px solid transparent;
|
|
position: relative;
|
|
}
|
|
.fluent-color-button:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
.fluent-color-button.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 2px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-color-button.is-selected::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: white;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.fluent-popover-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
margin-top: 20px;
|
|
padding-top: 16px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-button {
|
|
padding: 6px 16px;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: none;
|
|
outline: none;
|
|
}
|
|
.fluent-button-primary {
|
|
background: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
.fluent-button-primary:hover {
|
|
background: var(--interactive-accent-hover);
|
|
}
|
|
.fluent-button-secondary {
|
|
background: transparent;
|
|
color: var(--text-muted);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-button-secondary:hover {
|
|
background: var(--background-modifier-hover);
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-project-modal {
|
|
}
|
|
.fluent-project-modal .modal-content h2 {
|
|
margin-bottom: 20px;
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-modal-section {
|
|
margin-bottom: 24px;
|
|
}
|
|
.fluent-modal-section label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: var(--text-muted);
|
|
}
|
|
.fluent-modal-input {
|
|
width: 100%;
|
|
padding: 10px 14px;
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: 6px;
|
|
font-size: 16px;
|
|
color: var(--text-normal);
|
|
transition: all 0.2s;
|
|
}
|
|
.fluent-modal-input:focus {
|
|
outline: none;
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-modal-input.is-error {
|
|
border-color: var(--text-error);
|
|
animation: shake 0.3s;
|
|
}
|
|
.fluent-modal-color-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
gap: 12px;
|
|
}
|
|
.fluent-modal-color-button {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
border: 3px solid transparent;
|
|
position: relative;
|
|
}
|
|
.fluent-modal-color-button:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
.fluent-modal-color-button.is-selected {
|
|
border-color: var(--interactive-accent);
|
|
box-shadow: 0 0 0 3px var(--interactive-accent-hover);
|
|
}
|
|
.fluent-modal-color-button.is-selected::after {
|
|
content: "\2713";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: white;
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
}
|
|
.fluent-modal-preview {
|
|
padding: 12px;
|
|
background: var(--background-secondary);
|
|
border-radius: 8px;
|
|
}
|
|
.fluent-project-item-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 8px;
|
|
background: var(--background-primary);
|
|
border-radius: 6px;
|
|
}
|
|
.fluent-project-item-preview .fluent-project-color {
|
|
width: 8px;
|
|
height: 32px;
|
|
border-radius: 2px;
|
|
flex-shrink: 0;
|
|
}
|
|
.fluent-project-item-preview .fluent-project-name {
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: var(--text-normal);
|
|
}
|
|
.fluent-modal-footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 12px;
|
|
padding: 20px;
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
.fluent-modal-footer .fluent-button {
|
|
padding: 10px 24px;
|
|
font-size: 15px;
|
|
}
|
|
|
|
/* src/styles/fluent/fluent-modern.css */
|
|
.fluent-modern {
|
|
--modern-background-secondary: var(--color-base-25);
|
|
--modern-background-primary: var(--background-primary);
|
|
}
|
|
.theme-dark .fluent-modern {
|
|
--modern-background-secondary: var(--background-primary);
|
|
--modern-background-primary: var(--background-secondary);
|
|
}
|
|
.fluent-modern {
|
|
.tg-fluent-sidebar-container.fluent-sidebar {
|
|
border-radius: var(--radius-l);
|
|
}
|
|
.tg-fluent-sidebar-container {
|
|
background-color: var(--modern-background-primary);
|
|
border-right: unset;
|
|
}
|
|
.fluent-sidebar-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 8px 0 0 0;
|
|
--icon-size: 16px;
|
|
}
|
|
.tg-fluent-layout {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
padding: var(--size-4-2) 0;
|
|
gap: var(--size-4-2);
|
|
background: var(--modern-background-secondary);
|
|
}
|
|
.tg-fluent-main-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
gap: var(--size-4-2);
|
|
}
|
|
.tg-fluent-content-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.tg-fluent-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
background: var(--modern-background-primary);
|
|
}
|
|
.fluent-search-container input[type=search] {
|
|
width: 100%;
|
|
background-color: var(--background-primary-alt);
|
|
height: var(--size-4-8);
|
|
border: unset;
|
|
}
|
|
.search-input-container {
|
|
width: 100%;
|
|
}
|
|
.task-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: var(--size-4-2);
|
|
}
|
|
.task-list > .task-item {
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
.task-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 8px 16px;
|
|
border-bottom: unset;
|
|
cursor: pointer;
|
|
gap: var(--size-2-3);
|
|
min-height: 40px;
|
|
}
|
|
.task-item,
|
|
.task-item:hover {
|
|
gap: 0;
|
|
}
|
|
.task-item:hover {
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
.tree-task-item {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 8px 16px;
|
|
transition: background-color 0.2s ease;
|
|
border-radius: var(--radius-m);
|
|
margin-bottom: var(--size-2-2);
|
|
}
|
|
.fluent-top-navigation {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 56px;
|
|
padding: 0 20px;
|
|
gap: 20px;
|
|
background-color: var(--modern-background-primary);
|
|
border-radius: var(--radius-m);
|
|
border-bottom: unset;
|
|
}
|
|
.workspace-leaf-content[data-type^=fluent-task-genius-view] {
|
|
padding: var(--size-4-3);
|
|
background: var(--modern-background-secondary);
|
|
}
|
|
.workspace-leaf-content[data-type^=fluent-task-genius-view] .view-header {
|
|
background-color: var(--modern-background-primary);
|
|
border-radius: var(--radius-m);
|
|
height: var(--header-height);
|
|
display: flex;
|
|
z-index: 1;
|
|
position: relative;
|
|
gap: var(--size-4-2);
|
|
padding: 0 var(--size-4-3);
|
|
}
|
|
}
|
|
.is-mobile .fluent-modern {
|
|
.workspace-leaf-content[data-type^=fluent-task-genius-view] {
|
|
padding: var(--size-4-2);
|
|
background: var(--modern-background-secondary);
|
|
}
|
|
.workspace-leaf-content[data-type^=fluent-task-genius-view] .view-header {
|
|
height: var(--view-header-height);
|
|
}
|
|
.tg-fluent-sidebar-container.fluent-sidebar:not(.is-collapsed) {
|
|
max-width: 300px;
|
|
}
|
|
}
|
|
:where(body:not(.is-mobile)) .fluent-modern {
|
|
.task-details-container {
|
|
width: 300px;
|
|
flex-shrink: 0;
|
|
background-color: var(--modern-background-secondary);
|
|
order: 1;
|
|
padding: var(--size-4-2) 0 var(--size-4-2) var(--size-4-2);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.task-details {
|
|
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-primary);
|
|
border-radius: var(--radius-m);
|
|
}
|
|
.tg-fluent-container {
|
|
background: var(--modern-background-secondary);
|
|
}
|
|
}
|
|
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9kYXRlLXBpY2tlci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWRldGFpbHMuY3NzIiwgInNyYy9zdHlsZXMvb25Db21wbGV0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3VuaXZlcnNhbC1zdWdnZXN0LmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ZlYXR1cmVzL3Rhc2svZmlsdGVyL2luLXZpZXcvZmlsdGVyLmNzcyIsICJwYWNrYWdlcy9jYWxlbmRhci9kaXN0L3N0eWxlcy5jc3MiLCAic3JjL3N0eWxlcy90YXNrZ2VuaXVzLWNhbGVuZGFyLmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL3ZpZXcuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvZXZlbnQuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXIvYmFkZ2UuY3NzIiwgInNyYy9zdHlsZXMvZ2FudHQvZ2FudHQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1zdGF0dXMtaW5kaWNhdG9yLmNzcyIsICJzcmMvc3R5bGVzL2lubGluZS1lZGl0b3IuY3NzIiwgInNyYy9zdHlsZXMvdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9wZXJ0eS12aWV3LmNzcyIsICJzcmMvc3R5bGVzL2ZvcmVjYXN0LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyLmNzcyIsICJzcmMvc3R5bGVzL3RhYmxlLmNzcyIsICJzcmMvc3R5bGVzL3F1YWRyYW50L3F1YWRyYW50LmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stdGltZXIuY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZy5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5nLXYyLmNzcyIsICJzcmMvc3R5bGVzL2JldGEtd2FybmluZy5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5ncy1zZWFyY2guY3NzIiwgInNyYy9zdHlsZXMvc2V0dGluZ3MtbWlncmF0aW9uLmNzcyIsICJzcmMvc3R5bGVzL3dvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci5jc3MiLCAic3JjL3N0eWxlcy9vbmJvYXJkaW5nLWNvbXBvbmVudHMuY3NzIiwgInNyYy9zdHlsZXMvbGF5b3V0LXBsYWNlbWVudC5jc3MiLCAic3JjL3N0eWxlcy9maWxlLWZpbHRlci1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1lZGl0LWRpYWxvZy5jc3MiLCAic3JjL3N0eWxlcy9oYWJpdC1saXN0LmNzcyIsICJzcmMvc3R5bGVzL2ljcy1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwtZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctc2V0dGluZy10YWIuY3NzIiwgInNyYy9zdHlsZXMvY2FsZW5kYXItdmlldy1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy9tY3AtaW50ZWdyYXRpb24uY3NzIiwgInNyYy9zdHlsZXMvd29ya2Zsb3cuY3NzIiwgInNyYy9zdHlsZXMvcXVpY2stY2FwdHVyZS5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvdHJlZS12aWV3LmNzcyIsICJzcmMvc3R5bGVzL21vZGVybi5jc3MiLCAic3JjL3N0eWxlcy9ncm91cC1ieS5jc3MiLCAic3JjL3N0eWxlcy90YWctdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcHJvamVjdC10cmVlLmNzcyIsICJzcmMvc3R5bGVzL3Jldmlldy12aWV3LmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LmNzcyIsICJzcmMvc3R5bGVzL2dsb2JhbC5jc3MiLCAic3JjL3N0eWxlcy92aWV3LWNvbmZpZy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXN0YXR1cy5jc3MiLCAic3JjL3N0eWxlcy90YXNrLXNlbGVjdGlvbi5jc3MiLCAic3JjL3N0eWxlcy9vbmJvYXJkaW5nLmNzcyIsICJzcmMvc3R5bGVzL25vaXNlLmNzcyIsICJzcmMvc3R5bGVzL2NoYW5nZWxvZy5jc3MiLCAic3JjL3N0eWxlcy90aW1lbGluZS1zaWRlYmFyLmNzcyIsICJzcmMvc3R5bGVzL3Jld2FyZC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWd1dHRlci5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LW1haW4uY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1zZWNvbmRhcnkuY3NzIiwgInNyYy9zdHlsZXMvZmx1ZW50L2ZsdWVudC1jb250ZW50LWhlYWRlci5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LXByb2plY3QtcG9wb3Zlci5jc3MiLCAic3JjL3N0eWxlcy9mbHVlbnQvZmx1ZW50LW1vZGVybi5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMXB4O1xufVxuXG4ubm8tcHJvZ3Jlc3MtYmFyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lIHtcblx0aGVpZ2h0OiA4cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyIGNvbG9ycyBmb3IgZGlmZmVyZW50IHBlcmNlbnRhZ2VzIG9mIGNvbXBsZXRpb24gKi9cbi5wcm9ncmVzcy1iYXItaW5saW5lLWVtcHR5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0wLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTI1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTUwLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTc1LWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtY29tcGxldGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0xMDAtY29sb3IpO1xufVxuXG4vKiBDb2xvcnMgZm9yIGRpZmZlcmVudCB0YXNrIHN0YXR1c2VzICovXG4ucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHR6LWluZGV4OiAzO1xufVxuXG4ucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcblx0ei1pbmRleDogMjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0Y29sb3I6ICMwMDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDg1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZC5oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9ycyBpbiB0aGUgdGFzayBudW1iZXIgZGlzcGxheSAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC50YXNrLXN0YXR1cy1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmNvbXBsZXRlZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmluLXByb2dyZXNzLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5hYmFuZG9uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5wbGFubmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4vKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgV2l0aCBOdW1iZXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5IeXBlck1ELWhlYWRlclxuXHQuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXJcblx0LnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCxcbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHR3aWR0aDogNDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi8qIEFkYXB0YXRpb25zIGZvciBkYXJrIHRoZW1lICovXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtaW4tcHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWFiYW5kb25lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLXBsYW5uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLXBsYW5uZWQtY29sb3IpO1xufVxuXG4udGFzay1wcm9ncmVzcy1iYXItcG9wb3ZlciB7XG5cdHdpZHRoOiA0MDBweDtcbn1cbiIsICIuY29uZmlybS1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcbn1cblxuLyogTGlzdCBDb25maWcgTW9kYWwgU3R5bGVzICovXG4ubGlzdC1jb25maWctbW9kYWwge1xuXHRtaW4td2lkdGg6IDQwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4ubGlzdC1jb25maWctZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xufVxuXG4ubGlzdC1jb25maWctY29udGFpbmVyIHtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5saXN0LWNvbmZpZy1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTYpO1xufVxuXG4ubGlzdC1jb25maWctZW1wdHktdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW46IDA7XG59XG5cbi5saXN0LWNvbmZpZy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmxpc3QtY29uZmlnLWl0ZW06bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5saXN0LWNvbmZpZy1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4ubGlzdC1jb25maWctaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbmJ1dHRvbi5saXN0LWNvbmZpZy1kZWxldGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4ubGlzdC1jb25maWctZGVsZXRlLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuLyogQnVsayBEYXRlIFBpY2tlciBNb2RhbCBTdHlsZXMgKi9cbi5idWxrLWRhdGUtcGlja2VyLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0bWluLXdpZHRoOiAzMjBweDtcbn1cblxuLyogQnVsayBEYXRlIE9mZnNldCBNb2RhbCBTdHlsZXMgKi9cbi5idWxrLWRhdGUtb2Zmc2V0LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0bWluLXdpZHRoOiA0MDBweDtcblx0bWF4LXdpZHRoOiA1MDBweDtcbn1cblxuLmJ1bGstb2Zmc2V0LWJ1dHRvbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5idWxrLW9mZnNldC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYnVsay1vZmZzZXQtY3VzdG9tLXNlY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5idWxrLW9mZnNldC1jdXN0b20tc2VjdGlvbiBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tb2RhbC1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4vKiBNQ1AgTG9nIE1vZGFsIFN0eWxlcyAqL1xuLm1jcC1sb2ctbW9kYWwge1xuXHRtaW4td2lkdGg6IDcwMHB4O1xuXHRtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4ubWNwLWxvZy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWxvZy1zZWFyY2gtY29udGFpbmVyIHtcblx0ZmxleDogMTtcbn1cblxuLm1jcC1sb2ctc2VhcmNoLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4ubWNwLWxvZy1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5tY3AtbG9nLXN0YXRzIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ubWNwLWxvZy1zdGF0cy10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tY3AtbG9nLWNvbnRhaW5lciB7XG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ubWNwLWxvZy1lbXB0eSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm1jcC1sb2ctZW50cnkge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLm1jcC1sb2ctZW50cnk6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tY3AtbG9nLWVycm9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5tY3AtbG9nLWVudHJ5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4ubWNwLWxvZy10aW1lc3RhbXAge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdG1pbi13aWR0aDogODBweDtcbn1cblxuLm1jcC1sb2ctdG9vbC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZmxleDogMTtcbn1cblxuLm1jcC1sb2ctZHVyYXRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG59XG5cbi5tY3AtbG9nLXNlc3Npb24taWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdGN1cnNvcjogaGVscDtcbn1cblxuLm1jcC1sb2ctdG9nZ2xlLWJ0biB7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5tY3AtbG9nLXRvZ2dsZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtbG9nLWRldGFpbHMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtbG9nLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5tY3AtbG9nLXNlY3Rpb246bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tY3AtbG9nLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm1jcC1sb2ctZXJyb3ItdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5tY3AtbG9nLXNlY3Rpb24tY29udGVudCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1jcC1sb2ctZXJyb3ItY29udGVudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5tY3AtbG9nLXRydW5jYXRlZC1iYWRnZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVzdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuIiwgIi8qIERhdGUgUGlja2VyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItcmlnaHQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogUXVpY2sgT3B0aW9ucyBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWF4LWhlaWdodDogMTk1cHg7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIENhbGVuZGFyIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgteWVhciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDMycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFBvcG92ZXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUgLmRhdGUtcGlja2VyLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1vYmlsZSBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tYWluLXBhbmVsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1sZWZ0LXBhbmVsIHtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIge1xuXHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR9XG59XG5cbi8qIFdpZGdldCBFcnJvciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItd2lkZ2V0LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG59XG4iLCAiLnRhc2stZGV0YWlscy1jb250YWluZXIgLnBhbmVsLXRvZ2dsZS1jb250YWluZXIge1xuXHRsZWZ0OiAxMHB4O1xufVxuXG4vKiBEZXRhaWwgUGFuZWwgU3R5bGVzICovXG4udGFzay1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAzMDBweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi13aWR0aDogMjUwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3JkZXI6IDE7XG59XG5cbi8qIERldGFpbHMgcGFuZWwgdmlzaWJpbGl0eSAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0zMDBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscy1jb250YWluZXIge1xuXHR3aWR0aDogMzUwcHg7XG5cdG9wYWNpdHk6IDE7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogTW9iaWxlIHZpZXcgLSBzbGlkZSBmcm9tIHJpZ2h0ICovXG4uaXMtcGhvbmUgLnRhc2stZGV0YWlscy1jb250YWluZXIsXG4uaXMtbW9iaWxlIC50YXNrLWRldGFpbHMtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMtY29udGFpbmVyLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMtY29udGFpbmVyLFxuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMtY29udGFpbmVyLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzLWNvbnRhaW5lcixcbi5pcy1tb2JpbGUgLnRnLWZsdWVudC1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMtY29udGFpbmVyIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNpemUtNC0xMikpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gZGV0YWlscyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlLFxuLmlzLW1vYmlsZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlLFxuLmlzLW1vYmlsZSAudGctZmx1ZW50LWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAuZGV0YWlscy1jbG9zZS1idG4sXG4uaXMtbW9iaWxlIC5kZXRhaWxzLWNsb3NlLWJ0biB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtaGVhZGVyLFxuLmlzLW1vYmlsZSAuZGV0YWlscy1oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5kZXRhaWxzLWVtcHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG5cbi8qIERldGFpbHMgY29udGVudCAqL1xuLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5kZXRhaWxzLWNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogbWF4KHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pLCB2YXIoLS1zaXplLTQtOCkpO1xufVxuXG4uZGV0YWlscy1uYW1lIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMS4zZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXRhaWxzLXN0YXR1cy1sYWJlbCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lbnUtaXRlbS10aXRsZTpoYXMoLnN0YXR1cy1vcHRpb24pIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRnYXA6IDRweDtcbn1cblxuLm1lbnUtaXRlbTpoYXMoLnN0YXR1cy1vcHRpb24tY2hlY2tib3gpIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWljb24pIC5tZW51LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdGF0dXMtb3B0aW9uLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnN0YXR1cy1vcHRpb24tY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN0YXR1cy1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3RhdHVzLW9wdGlvbi5jdXJyZW50IHtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0b3V0bGluZTogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuMyk7XG5cdG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5zdGF0dXMtb3B0aW9uIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG59XG5cbi5kZXRhaWxzLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ubWV0YWRhdGEtZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcbn1cblxuLm1ldGFkYXRhLWxhYmVsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubWV0YWRhdGEtdmFsdWUge1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmRldGFpbHMtYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG4sXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi5kZXRhaWxzLWVkaXQtYnRuOmhvdmVyLFxuLmRldGFpbHMtdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcbn1cblxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFRhc2sgZWRpdGluZyBmb3JtIHN0eWxlcyAqL1xuLmRldGFpbHMtZWRpdC1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZGV0YWlscy1mb3JtLWZpZWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA0cHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kZXRhaWxzLWZvcm0taW5wdXQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRldGFpbHMtZWRpdC1jb250ZW50IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCBpbnB1dCxcbi5kZXRhaWxzLWZvcm0taW5wdXQgc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4uZGF0ZS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZpZWxkLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi50YWdzLWVkaXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA2cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWdzLWVkaXRvcl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA2cHg7XG5cdGZsZXg6IDE7XG59XG5cbi50YWdzLWVkaXRvcl9fdGFnIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRwYWRkaW5nOiAycHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YWdzLWVkaXRvcl9fdGFnLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhZ3MtZWRpdG9yX19yZW1vdmUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogMCAycHg7XG59XG5cbi50YWdzLWVkaXRvcl9fcmVtb3ZlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFncy1lZGl0b3JfX2FkZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLnRhZ3MtZWRpdG9yX19hZGQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFncy1lZGl0b3JfX2lucHV0IHtcblx0bWluLXdpZHRoOiAxNDBweDtcbn1cblxuLnRhZ3MtZWRpdG9yX19pbnB1dCBpbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA0cHggNnB4O1xufVxuXG4udGFncy1lZGl0b3JfX2lucHV0LS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udGFncy1lZGl0b3JfX2VtcHR5IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFncy1lZGl0b3JfX3RhZyBkaXYuY2xpY2thYmxlLWljb24ge1xuXHRwYWRkaW5nOiAwO1xuXHQtLWljb24tc2l6ZTogMTJweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRnYXA6IDhweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIGJ1dHRvbiB7XG5cdGZsZXg6IDE7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGV0YWlscy1mb3JtLWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBmbHVlbnQgQ29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyBmb3IgbW9iaWxlICovXG4uaXMtbW9iaWxlIC50Zy1mbHVlbnQtY29udGFpbmVyIC50YXNrLWRldGFpbHMtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGhlaWdodDogMTAwdmg7XG5cdHdpZHRoOiA4NXZ3O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR6LWluZGV4OiAxMDAxOyAvKiBBYm92ZSBkcmF3ZXIgb3ZlcmxheSAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJveC1zaGFkb3c6IC00cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmlzLW1vYmlsZSAudGFzay1kZXRhaWxzLWNvbnRhaW5lciAuZGV0YWlscy1jbG9zZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi5pcy1tb2JpbGUgLmRldGFpbHMtY29udGVudCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMTIpO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3IgbW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1vbW5pZm9jdXMtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnRhc2stc2lkZWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHR9XG59XG5cbi8qIFByb2plY3Qgc291cmNlIGluZGljYXRvciBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBSZWFkb25seSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogT3ZlcnJpZGUgaW5kaWNhdG9yICovXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5vdmVycmlkZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRmllbGQgZGVzY3JpcHRpb25zICovXG4uZmllbGQtZGVzY3JpcHRpb24ucmVhZG9ubHktZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ub3ZlcnJpZGUtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIGVkaXRvciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IuaW5saW5lLWluZGljYXRvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogMTA7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBUYWJsZSBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDJweDtcblx0cmlnaHQ6IDJweDtcblx0cGFkZGluZzogMXB4IDNweDtcblx0Zm9udC1zaXplOiAwLjdlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHR6LWluZGV4OiA1O1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnRhYmxlLWluZGljYXRvciAuaW5kaWNhdG9yLWljb24ge1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4udGFzay10YWJsZS1jZWxsLnJlYWRvbmx5LWNlbGwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcblx0b3BhY2l0eTogMC44O1xufVxuXG4vKiBQcm9qZWN0IGNvbnRhaW5lciBzcGVjaWZpYyBzdHlsZXMgKi9cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSAucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuIiwgIi8qIE9uQ29tcGxldGlvbiBDb25maWd1cmF0b3IgU3R5bGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tYWN0aW9uLXR5cGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRwYWRkaW5nLXRvcDogOHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLyogQWN0aW9uIFR5cGUgRHJvcGRvd24gKi9cclxuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSAuZHJvcGRvd24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBJbnB1dCBGaWVsZHMgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFRvZ2dsZSBDb21wb25lbnQgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAuY2hlY2tib3gtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcbn1cclxuXHJcbi8qIFN1Z2dlc3RlciBTdHlsZXMgKi9cclxuLnRhc2staWQtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1jb250ZW50LXByZXZpZXcge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbGUtcGF0aCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4uYWN0aW9uLXR5cGUtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uYWN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIFZhbGlkYXRpb24gU3RhdGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLmludmFsaWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLnZhbGlkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxuXHRwYWRkaW5nOiA0cHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2UuZXJyb3Ige1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uuc3VjY2VzcyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi8qIEludGVncmF0aW9uIHdpdGggVGFzayBEZXRhaWxzICovXHJcbi50YXNrLWRldGFpbHMgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWZpZWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRcdHBhZGRpbmc6IDhweDtcclxuXHRcdGdhcDogOHB4O1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1jb25maWcge1xyXG5cdFx0Z2FwOiA4cHg7XHJcblx0fVxyXG5cclxuXHQudGFzay1jb250ZW50LXByZXZpZXcge1xyXG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIERhcmsgVGhlbWUgQWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLWZpZWxkIC50ZXh0LWlucHV0OmZvY3VzIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdH1cclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBDb25maWd1cmF0aW9uIENoYW5nZXMgKi9cclxuLm9uY29tcGxldGlvbi1jb25maWcge1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWZpZWxkIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLWZpZWxkLmVudGVyaW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQuZXhpdGluZyB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbn1cclxuXHJcbi8qIE9uQ29tcGxldGlvbiBNb2RhbCBTdHlsZXMgKi9cclxuLm9uY29tcGxldGlvbi1tb2RhbCB7XHJcblx0LS1kaWFsb2ctd2lkdGg6IDYwMHB4O1xyXG5cdC0tZGlhbG9nLW1heC13aWR0aDogOTB2dztcclxuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4MHZoO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0bWF4LWhlaWdodDogNjB2aDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDhweDtcclxuXHRwYWRkaW5nOiAxNnB4IDIwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xyXG5cdG1pbi13aWR0aDogODBweDtcclxufVxyXG5cclxuLyogSW5saW5lIE9uQ29tcGxldGlvbiBCdXR0b24gU3R5bGVzICovXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0bWluLXdpZHRoOiAxMDBweDtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaW5saW5lLW9uY29tcGxldGlvbi1jb25maWctYnV0dG9uOmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBNb2RhbCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQub25jb21wbGV0aW9uLW1vZGFsIHtcclxuXHRcdC0tZGlhbG9nLXdpZHRoOiA5NXZ3O1xyXG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogODV2aDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAxNnB4O1xyXG5cdFx0bWF4LWhlaWdodDogNjV2aDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XHJcblx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLW1vZGFsLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLXdpZHRoOiB1bnNldDtcclxuXHR9XHJcbn1cclxuIiwgIi8qIFVuaXZlcnNhbCBTdWdnZXN0IFN0eWxlcyAqL1xyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG5cclxuLyogU3BlY2lhbCBjaGFyYWN0ZXIgdHJpZ2dlciBoaWdobGlnaHRpbmcgKi9cclxuLmNtLWVkaXRvciAuY20tbGluZSAudW5pdmVyc2FsLXN1Z2dlc3QtdHJpZ2dlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHBhZGRpbmc6IDFweCAycHg7XHJcbn1cclxuXHJcbi8qIFN1Z2dlc3QgcG9wdXAgY29udGFpbmVyICovXHJcbi5zdWdnZXN0aW9uLWNvbnRhaW5lciAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgKi9cclxuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0ge1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG5cdH0gXHJcblx0XHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06aG92ZXIsXHJcblx0LnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0fVxyXG59XHJcbiIsICIudGcta2FuYmFuLXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IHZpZXcgaXRzZWxmIGZyb20gc2Nyb2xsaW5nICovXG59XG5cbi50Zy1rYW5iYW4tZmlsdGVycyB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBEb24ndCBzaHJpbmsgZmlsdGVyIGJhciAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLnRnLWthbmJhbi1jb250cm9scy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRnLWthbmJhbi1zb3J0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xufVxuXG4udGcta2FuYmFuLXNvcnQtYnV0dG9uIHtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50Zy1rYW5iYW4tc29ydC1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEN5Y2xlIHNlbGVjdG9yIHN0eWxlcyAqL1xuLnRnLWthbmJhbi1jeWNsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi1jeWNsZS1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSxcblx0XHRib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGcta2FuYmFuLWN5Y2xlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLWthbmJhbi1jeWNsZS1idXR0b246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcbn1cblxuLnRnLWthbmJhbi10b2dnbGUtbGFiZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGcta2FuYmFuLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRnLWthbmJhbi1maWx0ZXItaW5wdXQge1xuXHRmbGV4LWdyb3c6IDE7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4OyAvKiBPcHRpb25hbDogc3BhY2UgaWYgb3RoZXIgY29udHJvbHMgYXJlIGFkZGVkICovXG59XG5cbi50Zy1rYW5iYW4tZmlsdGVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1ncm93OiAxOyAvKiBUYWtlIHJlbWFpbmluZyBoZWlnaHQgKi9cblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGxpbmcgZm9yIGNvbHVtbnMgKi9cblx0b3ZlcmZsb3cteTogaGlkZGVuOyAvKiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbGluZyBoZXJlICovXG5cdHBhZGRpbmc6IDEwcHg7XG5cdGdhcDogMTBweDsgLyogU3BhY2UgYmV0d2VlbiBjb2x1bW5zICovXG5cdGhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciBjaGlsZHJlbiBoZWlnaHQgKi9cblxuXHQvKiBNb2JpbGUgc2Nyb2xsaW5nIGltcHJvdmVtZW50cyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIFNtb290aCBob3Jpem9udGFsIHNjcm9sbGluZyBvbiBpT1MgKi9cblx0LyogQ29uZGl0aW9uYWwgb3ZlcnNjcm9sbCBiZWhhdmlvciAtIHByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AsIGFsbG93IG9uIG1vYmlsZSBmb3IgZHJhZyAqL1xuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGF1dG87IC8qIEFsbG93IGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7IC8qIEtlZXAgc25hcCBmb3IgbW9iaWxlIFVYICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAvKiBTbW9vdGggc2Nyb2xsaW5nICovXG59XG5cbi8qIERlc2t0b3Atc3BlY2lmaWM6IFByZXZlbnQgc2Nyb2xsIGJvdW5jZSAqL1xuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXHQudGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHRcdHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7IC8qIERpc2FibGUgc25hcCBvbiBkZXNrdG9wICovXG5cdH1cbn1cblxuLnRnLWthbmJhbi1jb2x1bW4ge1xuXHRmbGV4OiAwIDAgMjgwcHg7IC8qIEZpeGVkIHdpZHRoIGZvciBjb2x1bW5zLCBubyBzaHJpbmtpbmcvZ3Jvd2luZyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0aGVpZ2h0OiAxMDAlOyAvKiBGaWxsIGNvbnRhaW5lciBoZWlnaHQgKi9cblx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE3MHB4KTsgLyogUHJldmVudCBleGNlZWRpbmcgY29udGFpbmVyICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgd2l0aGluIHRoZSBjb2x1bW4gKi9cblxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cblx0LyogTW9iaWxlIHNjcm9sbCBzbmFwIGZvciBiZXR0ZXIgVVggKi9cblx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBEaXNhYmxlIHNjcm9sbCBzbmFwICovXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG5cdC50Zy1rYW5iYW4tY29sdW1uIHtcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcblx0fVxufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXIge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bW4pO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHQvKiBwYWRkaW5nLXJpZ2h0OiAwOyAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47IC8qIEtlZXAgY29udGFpbiBmb3IgbW9iaWxlIGRyYWcgY29tcGF0aWJpbGl0eSAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xufVxuXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBib3VuY2UgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xuXHR9XG59XG4vKiAtLS0gQ2FyZCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IDEwcHggMTJweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjdXJzb3I6IGdyYWI7XG5cdHRyYW5zaXRpb246XG5cdFx0Ym94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LFxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcblxuXHQvKiBFbnN1cmUgY2FyZCBmaXRzIHdpdGhpbiBjb2x1bW4gYW5kIGhhbmRsZXMgY29udGVudCAqL1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8qIFByZXZlbnQgY2FyZCBmcm9tIGV4Y2VlZGluZyBwYXJlbnQgd2lkdGggKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nICovXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG5cdC8qIE1vYmlsZSB0b3VjaCBpbXByb3ZlbWVudHMgKi9cblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIE9wdGltaXplIGZvciB0b3VjaCBpbnRlcmFjdGlvbnMgKi9cblx0dXNlci1zZWxlY3Q6IG5vbmU7IC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZHVyaW5nIGRyYWcgKi9cblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNhcmQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50Zy1rYW5iYW4tY2FyZDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC50YXNrLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGcta2FuYmFuLWNhcmQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDsgLyogQXZvaWQgZXh0cmEgc3BhY2UgZnJvbSBwYXJhZ3JhcGggKi9cblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4IDhweDsgLyogUm93IGFuZCBjb2x1bW4gZ2FwICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWRhdGUsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFncy1jb250YWluZXIsXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogMnB4IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cblx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay10YWcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3ZlclxuXHQpOyAvKiBPciB1c2UgdGFnIGNvbG9yICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDFweCA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcbn1cblxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stb3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1lcnJvcik7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZHVlLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13YXJuaW5nKTtcbn1cblxuLyogUHJpb3JpdHkgaW5kaWNhdG9ycyAoc2ltcGxlIGV4YW1wbGUpICovXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLyogQWRkIG1vcmUgcHJpb3JpdHkgc3R5bGVzIGlmIG5lZWRlZCAqL1xuXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsaW5nIC0tLSAqL1xuLnRnLWthbmJhbi1jYXJkLWRyYWdnaW5nIHtcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkICovXG5cdC8qIG9wYWNpdHk6IDAuODsgKi8gLyogUmVtb3ZlZCBvcGFjaXR5ICovXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC1naG9zdCB7XG5cdC8qIFN0eWxlIGZvciB0aGUgb3JpZ2luYWwgY2FyZCB3aGVuIGEgY2xvbmUgaXMgZHJhZ2dlZCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1hY3RpdmUge1xuXHQvKiBTdHlsZSBmb3IgcG90ZW50aWFsIGRyb3Agem9uZXMgd2hlbiBkcmFnZ2luZyBzdGFydHMgKi9cblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7ICovXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtaG92ZXIge1xuXHQvKiBTdHlsZSBmb3IgdGhlIHNwZWNpZmljIGRyb3Agem9uZSBiZWluZyBob3ZlcmVkIG92ZXIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBTdHlsZXMgZm9yIEthbmJhbiBkcm9wIGluZGljYXRvcnMgKi9cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYmVmb3JlIHtcblx0bWFyZ2luLXRvcDogMTBweDsgLyogSW5jcmVhc2VkIG1hcmdpbiAqL1xuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXG5cdHRyYW5zaXRpb246XG5cdFx0bWFyZ2luLXRvcCAwLjFzIGVhc2Utb3V0LFxuXHRcdGJvcmRlci10b3AgMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXG59XG5cbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYWZ0ZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXG5cdGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogSW5kaWNhdG9yICovXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cblx0dHJhbnNpdGlvbjpcblx0XHRtYXJnaW4tYm90dG9tIDAuMXMgZWFzZS1vdXQsXG5cdFx0Ym9yZGVyLWJvdHRvbSAwLjFzIGVhc2Utb3V0OyAvKiBVcGRhdGVkIHRyYW5zaXRpb24gKi9cbn1cblxuLyogT3B0aW9uYWw6IFN0eWxlIGZvciBkcm9wcGluZyBpbnRvIGFuIGVtcHR5IGNvbHVtbiAqL1xuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC0tZHJvcC1pbmRpY2F0b3ItZW1wdHkge1xuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0bWluLWhlaWdodDogNTBweDsgLyogRW5zdXJlIGVtcHR5IGNvbHVtbiBoYXMgc29tZSBoZWlnaHQgZm9yIHRoZSBib3JkZXIgKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBib3JkZXIgaW4gaGVpZ2h0IGNhbGN1bGF0aW9uICovXG5cdG1hcmdpbi10b3A6IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cblx0bWFyZ2luLWJvdHRvbTogNXB4OyAvKiBBZGQgc29tZSBzcGFjZSAqL1xufVxuXG4vKiBFbnN1cmUgdHJhbnNpdGlvbnMgYXJlIHNtb290aCB3aGVuIGNsYXNzZXMgYXJlIHJlbW92ZWQgKi9cbi50Zy1rYW5iYW4tY2FyZCB7XG5cdC8qIEVuc3VyZSBleGlzdGluZyB0cmFuc2l0aW9ucyBkb24ndCBjb25mbGljdCwgb3IgYWRkIGJhc2UgdHJhbnNpdGlvbiAqL1xuXHR0cmFuc2l0aW9uOlxuXHRcdG1hcmdpbiAwLjFzIGVhc2Utb3V0LFxuXHRcdHBhZGRpbmcgMC4xcyBlYXNlLW91dCxcblx0XHRib3JkZXIgMC4xcyBlYXNlLW91dCxcblx0XHR0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCxcblx0XHRib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQsXG5cdFx0YmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0OyAvKiBNZXJnZWQgdHJhbnNpdGlvbnMgKi9cbn1cblxuLmRyb3AtdGFyZ2V0LWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjIpOyAvKiBcdTUzNEFcdTkwMEZcdTY2MEVcdTdFRkZcdTgyNzJcdTgwQ0NcdTY2NkYgKi9cblx0b3V0bGluZTogMnB4IGRhc2hlZCBncmVlbjsgLyogXHU3RUZGXHU4MjcyXHU4NjVBXHU3RUJGXHU4RkI5XHU2ODQ2ICovXG5cdC8qIFx1NEY2MFx1NTNFRlx1ODBGRFx1OEZEOFx1OTcwMFx1ODk4MVx1OEMwM1x1NjU3NCBwYWRkaW5nIFx1NjIxNiBtYXJnaW4gXHU2NzY1ICdcdTY1M0VcdTU5MjcnIFx1ODlDNlx1ODlDOVx1NTMzQVx1NTdERiAqL1xuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi9cblx0LyogcGFkZGluZy1ib3R0b206IDIwcHg7ICovXG59XG5cbi8qIEFkZCBDYXJkIEJ1dHRvbiAqL1xuLnRnLWthbmJhbi1hZGQtY2FyZC1jb250YWluZXIge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNvbnRhaW5lciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4vKiBTdHlsZXMgZm9yIHRoZSBBZGQgQ2FyZCBidXR0b24gaW4gYm9hcmQgdmlldyAqL1xuLnRhc2stZ2VuaXVzLWFkZC1jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDhweDtcblx0bWFyZ2luLXRvcDogYXV0bzsgLyogUHVzaCB0byB0aGUgYm90dG9tIGlmIHRoZSBjb2x1bW4gdXNlcyBmbGV4ICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b24ge1xuXHQtLWljb24tc2l6ZTogMTZweDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBNYWtlIGl0IGxlc3MgcHJvbWluZW50ICovXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuXHRcdGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi50Zy1rYW5iYW4tYWRkLWNhcmQtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENvbHVtbiBEcmFnICYgRHJvcCBTdHlsaW5nICovXG4udGcta2FuYmFuLWNvbHVtbi1kcmFnZ2luZyB7XG5cdC8qIFN0eWxlIGZvciB0aGUgY29sdW1uIGJlaW5nIGRyYWdnZWQgKi9cblx0dHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG5cdG9wYWNpdHk6IDAuODtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhsKTtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4tZ2hvc3Qge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGdob3N0IHBsYWNlaG9sZGVyIHdoZW4gZHJhZ2dpbmcgY29sdW1ucyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcblx0LyogTWFrZSBjb2x1bW4gaGVhZGVycyBkcmFnZ2FibGUgKi9cblx0Y3Vyc29yOiBncmFiO1xufVxuXG4udGcta2FuYmFuLWNvbHVtbi1oZWFkZXI6YWN0aXZlIHtcblx0Y3Vyc29yOiBncmFiYmluZztcbn1cbiIsICIvKiBGaWx0ZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xyXG4uZmlsdGVyLWNvbXBvbmVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWluLWhlaWdodDogNDhweDtcclxuXHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLyogRmlsdGVyIFBpbGxzIENvbnRhaW5lciAqL1xyXG4uZmlsdGVyLXBpbGxzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbnRyb2xzICovXHJcbi5maWx0ZXItY29udHJvbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLyogRmlsdGVyIFBpbGxzICovXHJcbi5maWx0ZXItcGlsbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdHBhZGRpbmc6IDVweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGFuaW1hdGlvbjogZmlsdGVyLXBpbGwtYXBwZWFyIDIwMG1zIGVhc2Utb3V0O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCksXHJcblx0XHR0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcclxufVxyXG5cclxuLmZpbHRlci1waWxsOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXRlcnRpYXJ5KTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLWNhdGVnb3J5IHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXZhbHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCksXHJcblx0XHRjb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZS1pY29uIHtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQnV0dG9ucyAqL1xyXG4uZmlsdGVyLWFkZC1idXR0b24sXHJcbi5maWx0ZXItY2xlYXItYWxsLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDZweCAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWFkZC1idXR0b24ge1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1hZGQtaWNvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIERyb3Bkb3duICovXHJcbi5maWx0ZXItZHJvcGRvd24ge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR3aWR0aDogMjIwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyKTtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1ub3JtYWwpLCB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbm9ybWFsKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZpc2libGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWhlYWRlciB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tc2VhcmNoIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1yaW5nLWNvbG9yKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1saXN0IHtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG1heC1oZWlnaHQ6IDM1MHB4O1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbS1sYWJlbCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cuYmFjayB7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1iYWNrIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tc2VwYXJhdG9yIHtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWVtcHR5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLWl0ZW0ge1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWNhdGVnb3J5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1wcmV2aWV3OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbnMgKi9cclxuQGtleWZyYW1lcyBmaWx0ZXItcGlsbC1hcHBlYXIge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3Zpbmcge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dDtcclxufVxyXG4iLCAiLyogPT09IGJhc2UuY3NzID09PSAqL1xuLyoqXHJcbiAqIEJhc2Ugc3R5bGVzIC0gQ1NTIHZhcmlhYmxlcywgY29udGFpbmVyLCBoZWFkZXIsIG5hdmlnYXRpb25cclxuICovXHJcblxyXG4udGctY2FsZW5kYXIge1xyXG4gICAgLyogQ1NTIFZhcmlhYmxlcyAqL1xyXG4gICAgLS10Zy1wcmltYXJ5LWNvbG9yOiAjM2I4MmY2O1xyXG4gICAgLS10Zy1wcmltYXJ5LXJnYjogNTksIDEzMCwgMjQ2O1xyXG4gICAgLS10Zy1jZWxsLWhlaWdodDogNjBweDtcclxuICAgIC0tdGctZm9udC1oZWFkZXI6IDE0cHg7XHJcbiAgICAtLXRnLWZvbnQtZXZlbnQ6IDEycHg7XHJcblxyXG4gICAgLyogQmFzZSBzdHlsZXMgKi9cclxuICAgIGZvbnQtZmFtaWx5OlxyXG4gICAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIHNhbnMtc2VyaWY7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAgIC8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBEaXNhYmxlIHRleHQgc2VsZWN0aW9uIGR1cmluZyByYW5nZSBzZWxlY3Rpb24gKi9cclxuLnRnLWNhbGVuZGFyLnRnLXNlbGVjdGluZyB7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4vKiBWaWV3IGNvbnRhaW5lciAqL1xyXG4udGctdmlldy1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgZmxleDogMTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLyogSGVhZGVyIHN0eWxlcyAqL1xyXG4udGctaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbn1cclxuXHJcbi50Zy10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAjMWYyOTM3O1xyXG59XHJcblxyXG4vKiBWaWV3IHN3aXRjaCBidXR0b25zICovXHJcbi50Zy12aWV3LXN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYmFja2dyb3VuZDogI2YzZjRmNjtcclxuICAgIHBhZGRpbmc6IDRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLnRnLXZpZXctYnRuIHtcclxuICAgIHBhZGRpbmc6IDRweCAxMnB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgIGNvbG9yOiAjNmI3MjgwO1xyXG59XHJcblxyXG4udGctdmlldy1idG46aG92ZXIge1xyXG4gICAgY29sb3I6ICMzNzQxNTE7XHJcbn1cclxuXHJcbi50Zy12aWV3LWJ0bi50Zy1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgY29sb3I6IHZhcigtLXRnLXByaW1hcnktY29sb3IpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogTmF2aWdhdGlvbiBidXR0b25zICovXHJcbi50Zy1uYXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcblxyXG4udGctbmF2LWJ0biB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbn1cclxuXHJcbi50Zy1uYXYtYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XHJcbn1cclxuXHJcbi50Zy1uYXYtYnRuLnRnLXRvZGF5IHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tdGctcHJpbWFyeS1yZ2IpLCAwLjEpO1xyXG4gICAgY29sb3I6IHZhcigtLXRnLXByaW1hcnktY29sb3IpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC4yKTtcclxufVxyXG5cclxuLnRnLW5hdi1idG4udGctdG9kYXk6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi8qIEdyaWQgbGF5b3V0IGhlbHBlcnMgKi9cclxuLnRnLWdyaWQtNyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxufVxyXG5cclxuLyogRGlzYWJsZWQgc3RhdGUgKi9cclxuLnRnLWRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cblxuLyogPT09IG1vbnRoLmNzcyA9PT0gKi9cbi8qKlxyXG4gKiBNb250aCB2aWV3IHN0eWxlc1xyXG4gKi9cclxuXHJcbi8qIE1vbnRoIGJvZHkgY29udGFpbmVyIC0gZ3JpZCBsYXlvdXQgdG8gZGlzdHJpYnV0ZSByb3cgaGVpZ2h0cyBldmVubHkgKi9cclxuLnRnLW1vbnRoLWJvZHkge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiAwOyAvKiBSZXF1aXJlZCBmb3IgZmxleCBjaGlsZCB0byByZXNwZWN0IG92ZXJmbG93ICovXHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC1hdXRvLXJvd3M6IDFmcjsgLyogQWxsIHJvd3MgZ2V0IGVxdWFsIGhlaWdodCAqL1xyXG59XHJcblxyXG4vKiBNb250aCBoZWFkZXIgKi9cclxuLnRnLW1vbnRoLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xyXG59XHJcblxyXG4udGctbW9udGgtaGVhZGVyLWNlbGwge1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzljYTNhZjtcclxufVxyXG5cclxuLyogTW9udGggcm93IC0gaGVpZ2h0IGNvbnRyb2xsZWQgYnkgcGFyZW50IGdyaWQgKGdyaWQtYXV0by1yb3dzOiAxZnIpICovXHJcbi50Zy1tb250aC1yb3cge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXRnLXJvdy1taW4taGVpZ2h0LCA4MHB4KTsgLyogTWluaW11bSBoZWlnaHQgcGVyIHJvdyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbn1cclxuXHJcbi8qIE1vbnRoIGNlbGwgKi9cclxuLnRnLW1vbnRoLWNlbGwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTdlYjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50Zy1tb250aC1jZWxsOmxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcblxyXG4vKiBEYXRlIG51bWJlciBpbiBtb250aCBjZWxsICovXHJcbi50Zy1kYXRlLW51bWJlciB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmc6IDRweDtcclxufVxyXG5cclxuLnRnLWRhdGUtbnVtYmVyLnRnLWN1cnJlbnQtbW9udGgge1xyXG4gICAgY29sb3I6ICMzNzQxNTE7XHJcbn1cclxuXHJcbi50Zy1kYXRlLW51bWJlci50Zy1vdGhlci1tb250aCB7XHJcbiAgICBjb2xvcjogI2QxZDVkYjtcclxufVxyXG5cclxuLnRnLWRhdGUtbnVtYmVyLnRnLXRvZGF5IHtcclxuICAgIGNvbG9yOiB2YXIoLS10Zy1wcmltYXJ5LWNvbG9yKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBFdmVudCBjb3VudCBiYWRnZSAqL1xyXG4udGctZXZlbnQtY291bnQtYmFkZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAycHg7XHJcbiAgICByaWdodDogMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGctcHJpbWFyeS1jb2xvcik7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMnB4IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWluLXdpZHRoOiAxOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiBEaXNhYmxlZCBtb250aCBjZWxsICovXHJcbi50Zy1tb250aC1jZWxsLnRnLWRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcclxufVxyXG5cclxuLnRnLW1vbnRoLWNlbGwudGctZGlzYWJsZWQgLnRnLWRhdGUtbnVtYmVyIHtcclxuICAgIGNvbG9yOiAjOWNhM2FmO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi8qIFJhbmdlIHByZXZpZXcgZm9yIG1vbnRoIHZpZXcgKi9cclxuLnRnLW1vbnRoLWNlbGwudGctcmFuZ2UtcHJldmlldyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC4xNSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1tb250aC1jZWxsLnRnLXJhbmdlLXByZXZpZXc6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC40KTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLyogXCIrTiBtb3JlXCIgaW5kaWNhdG9yICovXHJcbi50Zy1tb3JlLWluZGljYXRvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tdGctcHJpbWFyeS1jb2xvciwgIzNiODJmNik7XHJcbiAgICBwYWRkaW5nOiAycHggNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB6LWluZGV4OiA1O1xyXG59XHJcblxyXG4udGctbW9yZS1pbmRpY2F0b3I6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiwgNTksIDEzMCwgMjQ2KSwgMC4xKTtcclxufVxyXG5cclxuLyogTW9yZSBldmVudHMgcG9wb3ZlciAqL1xyXG4udGctbW9yZS1wb3BvdmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJveC1zaGFkb3c6XHJcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTUpLFxyXG4gICAgICAgIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnRnLW1vcmUtcG9wb3Zlci1oZWFkZXIge1xyXG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiAjMzc0MTUxO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xyXG59XHJcblxyXG4udGctbW9yZS1wb3BvdmVyLWxpc3Qge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHBhZGRpbmc6IDRweCAwO1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLnRnLW1vcmUtcG9wb3Zlci1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjMzc0MTUxO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcclxufVxyXG5cclxuLnRnLW1vcmUtcG9wb3Zlci1pdGVtOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7XHJcbn1cclxuXHJcbi50Zy1tb3JlLXBvcG92ZXItZG90IHtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGctbW9yZS1wb3BvdmVyLXRpdGxlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXG5cbi8qID09PSB0aW1lLmNzcyA9PT0gKi9cbi8qKlxyXG4gKiBUaW1lIHZpZXcgKHdlZWsvZGF5KSBzdHlsZXNcclxuICovXHJcblxyXG4vKiBUaW1lIGdyaWQgY29udGFpbmVyIC0gc2Nyb2xsYWJsZSB3cmFwcGVyICovXHJcbi50Zy10aW1lLWdyaWQtY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIFRpbWUgaGVhZGVyICovXHJcbi50Zy10aW1lLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICB6LWluZGV4OiAzMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDIpO1xyXG59XHJcblxyXG4udGctdGltZS1oZWFkZXItY2VsbCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YzZjRmNjtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGctZm9udC1oZWFkZXIpO1xyXG59XHJcblxyXG4udGctdGltZS1oZWFkZXItY2VsbCAudGctaGVhZGVyLWRhdGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi50Zy10aW1lLWhlYWRlci1jZWxsLnRnLXRvZGF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdGctcHJpbWFyeS1yZ2IpLCAwLjEpO1xyXG4gICAgY29sb3I6IHZhcigtLXRnLXByaW1hcnktY29sb3IpO1xyXG59XHJcblxyXG4udGctdGltZS1oZWFkZXItY2VsbC50Zy1kaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmI7XHJcbn1cclxuXHJcbi8qIFRpbWUgYm9keSAqL1xyXG4udGctdGltZS1ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXRnLWNlbGwtaGVpZ2h0KSAqIDI0KTtcclxufVxyXG5cclxuLyogVGltZSBheGlzICovXHJcbi50Zy10aW1lLWF4aXMge1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTVlN2ViO1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnRnLXRpbWUtYXhpcy1sYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogdmFyKC0tdGctY2VsbC1oZWlnaHQpO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICBjb2xvcjogIzljYTNhZjtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLyogVXNlIHRyYW5zZm9ybSBmb3IgR1BVLWFjY2VsZXJhdGVkIHBvc2l0aW9uaW5nICovXHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG59XHJcblxyXG4udGctdGltZS1heGlzLWxhYmVsLmN1c3RvbSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogRGF5IGNvbHVtbnMgKi9cclxuLnRnLWRheS1jb2x1bW4ge1xyXG4gICAgZmxleDogMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU3ZWI7XHJcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgIHRvIGJvdHRvbSxcclxuICAgICAgICB0cmFuc3BhcmVudCAwLFxyXG4gICAgICAgIHRyYW5zcGFyZW50IGNhbGModmFyKC0tdGctY2VsbC1oZWlnaHQpIC0gMXB4KSxcclxuICAgICAgICAjZjNmNGY2IHZhcigtLXRnLWNlbGwtaGVpZ2h0KVxyXG4gICAgKTtcclxufVxyXG5cclxuLyogUmFuZ2UgcHJldmlldyBmb3IgdGltZSB2aWV3ICovXHJcbi50Zy10aW1lLXJhbmdlLXByZXZpZXcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiksIDAuMTUpO1xyXG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEodmFyKC0tdGctcHJpbWFyeS1yZ2IpLCAwLjgpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxNTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qIENvbHVtbi1sZXZlbCByYW5nZSBwcmV2aWV3IGZvciBtdWx0aS1kYXkgc2VsZWN0aW9uICovXHJcbi50Zy1kYXktY29sdW1uLnRnLXJhbmdlLXByZXZpZXcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiksIDAuMDgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctZGF5LWNvbHVtbi50Zy1yYW5nZS1wcmV2aWV3OjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC41KTtcclxuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHJnYmEodmFyKC0tdGctcHJpbWFyeS1yZ2IpLCAwLjUpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxuXG4vKiA9PT0gZXZlbnRzLmNzcyA9PT0gKi9cbi8qKlxuICogRXZlbnQgc3R5bGVzIC0gZXZlbnQgYmxvY2tzLCBiYXJzLCBkcmFnL3Jlc2l6ZSBoYW5kbGVzXG4gKlxuICogUGVyZm9ybWFuY2Ugbm90ZTogRXZlbnRzIHVzZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgd2l0aCB0cmFuc2Zvcm1cbiAqIGZvciBHUFUtYWNjZWxlcmF0ZWQgcG9zaXRpb25pbmcgaW5zdGVhZCBvZiB0b3AvbGVmdCBwcm9wZXJ0aWVzLlxuICovXG5cbi8qIEV2ZW50IGJhc2Ugc3R5bGVzICovXG4udGctZXZlbnQtYmFzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGctZm9udC1ldmVudCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IDAuMnMsXG4gICAgICAgIGJveC1zaGFkb3cgMC4xcyxcbiAgICAgICAgZmlsdGVyIDAuMXM7XG4gICAgLyogR1BVIGFjY2VsZXJhdGlvbiBmb3Igc21vb3RoIHRyYW5zZm9ybXMgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIEJhc2UgcG9zaXRpb24gZm9yIHRyYW5zZm9ybSAtIEpTIHNldHMgdHJhbnNsYXRlKCkgKi9cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnRnLWV2ZW50LWJhc2U6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KTtcbn1cblxuLnRnLWV2ZW50LWJhc2U6YWN0aXZlIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4udGctZXZlbnQtYmFzZS50Zy1pcy1kcmFnZ2luZy1zb3VyY2Uge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjMpO1xufVxuXG4vKiBNb250aCB2aWV3IGV2ZW50IGJhciAqL1xuLnRnLWV2ZW50LWJhciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKiBUaW1lIHZpZXcgZXZlbnQgYmxvY2sgKi9cbi50Zy1ldmVudC1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIC8qIEhlaWdodCBzZXQgdmlhIENTUyBjdXN0b20gcHJvcGVydHkgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4udGctZXZlbnQtYmxvY2sgLnRnLXRpbWUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBFdmVudCB0aXRsZSAqL1xuLnRnLWV2ZW50LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBSZXNpemUgaGFuZGxlcyAqL1xuLnRnLXJlc2l6ZS1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLnRnLWV2ZW50LWJhc2U6aG92ZXIgLnRnLXJlc2l6ZS1oYW5kbGUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi50Zy1yZXNpemUtaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG5cbi8qIEhvcml6b250YWwgcmVzaXplIGhhbmRsZXMgKG1vbnRoIHZpZXcpICovXG4udGctcmVzaXplLWgge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgY3Vyc29yOiBjb2wtcmVzaXplO1xufVxuXG4udGctcmVzaXplLWgudGctbGVmdCB7XG4gICAgbGVmdDogMDtcbn1cblxuLnRnLXJlc2l6ZS1oLnRnLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbn1cblxuLyogVmVydGljYWwgcmVzaXplIGhhbmRsZSAodGltZSB2aWV3KSAqL1xuLnRnLXJlc2l6ZS12IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogOHB4O1xuICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbn1cblxuLnRnLXJlc2l6ZS12LnRnLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogYXV0bztcbn1cblxuLnRnLXJlc2l6ZS12LnRnLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbn1cblxuLyogR2hvc3QgZWxlbWVudCBmb3IgZHJhZyBwcmV2aWV3ICovXG4udGctZ2hvc3QtZXZlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC4xNSk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEodmFyKC0tdGctcHJpbWFyeS1yZ2IpLCAwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIERyYWcgcHJveHkgKi9cbiN0Zy1kcmFnLXByb3h5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBbGwtZGF5IEV2ZW50cyBTZWN0aW9uIChXZWVrL0RheSB2aWV3cylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50Zy1hbGxkYXktc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10Zy1ib3JkZXItY29sb3IsICNlNWU3ZWIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRnLWJnLWNvbG9yLCAjZmZmKTtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xufVxuXG4udGctYWxsZGF5LXNwYWNlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDYwcHg7IC8qIE1hdGNoIHRpbWUgYXhpcyB3aWR0aCAqL1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXRnLWJvcmRlci1jb2xvciwgI2U1ZTdlYik7XG59XG5cbi50Zy1hbGxkYXktZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMjhweDtcbn1cblxuLyogQWxsLWRheSBldmVudCBiYXIgKHNwYW5uaW5nIHN0eWxlIGxpa2UgbW9udGggdmlldykgKi9cbi50Zy1hbGxkYXktZXZlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi50Zy1hbGxkYXktZXZlbnQ6aG92ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnRnLWFsbGRheS1ldmVudDphY3RpdmUge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDcm9zcy1NaWRuaWdodCBFdmVudCBTdHlsZXMgKFRpbWUgdmlldylcbiAgIEV2ZW50cyB0aGF0IHNwYW4gbXVsdGlwbGUgZGF5cyBzaG93IGFzIHNlZ21lbnRlZCBibG9ja3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJhc2Ugc3R5bGluZyBmb3Igc2VnbWVudGVkIGV2ZW50cyAqL1xuLnRnLWV2ZW50LWJsb2NrLnRnLWV2ZW50LXNlZ21lbnRlZCB7XG4gICAgLyogVmlzdWFsIGluZGljYXRvciB0aGF0IHRoaXMgaXMgcGFydCBvZiBhIG11bHRpLWRheSBldmVudCAqL1xufVxuXG4vKiBGaXJzdCBzZWdtZW50OiBldmVudCBzdGFydCAtIGhhcyByb3VuZGVkIHRvcCBjb3JuZXJzICovXG4udGctZXZlbnQtYmxvY2sudGctZXZlbnQtc2VnbWVudC1maXJzdCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLyogTGFzdCBzZWdtZW50OiBldmVudCBlbmQgLSBoYXMgcm91bmRlZCBib3R0b20gY29ybmVycyAqL1xuLnRnLWV2ZW50LWJsb2NrLnRnLWV2ZW50LXNlZ21lbnQtbGFzdCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiAycHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLyogTWlkZGxlIHNlZ21lbnRzOiBubyByb3VuZGVkIGNvcm5lcnMgKi9cbi50Zy1ldmVudC1ibG9jay50Zy1ldmVudC1zZWdtZW50LW1pZGRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiAycHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXItYm90dG9tOiAycHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLyogQ29udGludWF0aW9uIGluZGljYXRvcjogZXZlbnQgY29udGludWVzIGZyb20gcHJldmlvdXMgZGF5ICovXG4udGctZXZlbnQtYmxvY2sudGctZXZlbnQtY29udGludWF0aW9uIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4vKiBDb250aW51ZWQgaW5kaWNhdG9yOiBldmVudCBjb250aW51ZXMgdG8gbmV4dCBkYXkgKi9cbi50Zy1ldmVudC1ibG9jay50Zy1ldmVudC1jb250aW51ZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi8qIENvbWJpbmVkOiBtaWRkbGUgc2VnbWVudCAoY29udGludWF0aW9uICsgY29udGludWVkKSAqL1xuLnRnLWV2ZW50LWJsb2NrLnRnLWV2ZW50LWNvbnRpbnVhdGlvbi50Zy1ldmVudC1jb250aW51ZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFZpc3VhbCBlbmhhbmNlbWVudDogc3VidGxlIGluZGljYXRvciBmb3IgY3Jvc3MtbWlkbmlnaHQgZXZlbnRzICovXG4udGctZXZlbnQtYmxvY2sudGctZXZlbnQtY29udGludWF0aW9uOjpiZWZvcmUsXG4udGctZXZlbnQtYmxvY2sudGctZXZlbnQtY29udGludWVkOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBUb3AgYXJyb3cgaW5kaWNhdG9yIGZvciBjb250aW51YXRpb24gZnJvbSBwcmV2aW91cyBkYXkgKi9cbi50Zy1ldmVudC1ibG9jay50Zy1ldmVudC1jb250aW51YXRpb246OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLyogQm90dG9tIGFycm93IGluZGljYXRvciBmb3IgY29udGludWF0aW9uIHRvIG5leHQgZGF5ICovXG4udGctZXZlbnQtYmxvY2sudGctZXZlbnQtY29udGludWVkOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cbiIsICIvKipcbiAqIFRhc2tHZW5pdXMgQ2FsZW5kYXIgLSBPYnNpZGlhbiBUaGVtZSBBZGFwdGF0aW9uXG4gKlxuICogVGhpcyBzdHlsZXNoZWV0IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBzdHlsZXMgZnJvbSBAdGFza2dlbml1cy9jYWxlbmRhclxuICogdG8gc2VhbWxlc3NseSBpbnRlZ3JhdGUgd2l0aCBPYnNpZGlhbidzIHRoZW1lIHN5c3RlbSAobGlnaHQgYW5kIGRhcmsgbW9kZXMpLlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIENhbGVuZGFyIFN0eWxlcyAtIE9ic2lkaWFuIEludGVncmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGctY2FsZW5kYXIge1xuXHQvKiBVc2UgT2JzaWRpYW4ncyB0aGVtZSBjb2xvcnMgKi9cblx0LS10Zy1wcmltYXJ5LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHQtLXRnLXByaW1hcnktcmdiOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiLCA1OSwgMTMwLCAyNDYpO1xuXHQtLXRnLWNlbGwtaGVpZ2h0OiA2MHB4O1xuXHQtLXRnLWZvbnQtaGVhZGVyOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0LS10Zy1mb250LWV2ZW50OiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXG5cdC8qIFR5cG9ncmFwaHkgKi9cblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdC8qIExheW91dCAqL1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3IENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRnLXZpZXctY29udGFpbmVyIHtcblx0bWluLWhlaWdodDogNjAwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRlIHRoZSBsaWJyYXJ5J3MgYnVpbHQtaW4gaGVhZGVyIHNpbmNlIHdlIHVzZSBvdXIgb3duIGN1c3RvbSBjYWxlbmRhci1oZWFkZXIgKi9cbi50Zy1oZWFkZXIge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50Zy10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIE5hdmlnYXRpb24gYnV0dG9ucyAqL1xuLnRnLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogOHB4O1xufVxuXG4udGctbmF2LWJ0biB7XG5cdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi50Zy1uYXYtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctbmF2LWJ0bi50Zy10b2RheSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRnLW5hdi1idG4udGctdG9kYXk6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi8qIFZpZXcgc3dpdGNoZXIgKi9cbi50Zy12aWV3LXN3aXRjaCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGdhcDogNHB4O1xufVxuXG4udGctdmlldy1idG4ge1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRnLXZpZXctYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50Zy12aWV3LWJ0bi50Zy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vbnRoIFZpZXcgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGctbW9udGgtcm93IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvKmhlaWdodDogMTIwcHg7Ki9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRnLW1vbnRoLWNlbGwge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGctbW9udGgtY2VsbDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGctbW9udGgtY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4vKiBNb250aCB2aWV3IGhlYWRlciAqL1xuLnRnLW1vbnRoLWhlYWRlciB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRnLW1vbnRoLWhlYWRlci1jZWxsIHtcblx0cGFkZGluZzogOHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRGF0ZSBudW1iZXIgaW4gbW9udGggY2VsbCAqL1xuLnRnLWRhdGUtbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cGFkZGluZzogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctZGF0ZS1udW1iZXIudGctY3VycmVudC1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50Zy1kYXRlLW51bWJlci50Zy1vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLnRnLWRhdGUtbnVtYmVyLnRnLXRvZGF5IHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1kYXRlLW51bWJlci5wYXN0LWR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRpbWUgVmlldyBTdHlsZXMgKFdlZWsvRGF5KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRnLXRpbWUtZ3JpZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDYwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbn1cblxuLnRnLXRpbWUtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHR6LWluZGV4OiAzMDtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4udGctdGltZS1oZWFkZXItY2VsbCB7XG5cdGZsZXg6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tdGctZm9udC1oZWFkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctdGltZS1ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXRnLWNlbGwtaGVpZ2h0KSAqIDI0KTtcbn1cblxuLyogVGltZSBheGlzICovXG4udGctdGltZS1heGlzIHtcblx0d2lkdGg6IDYwcHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHN0aWNreTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMjA7XG59XG5cbi50Zy10aW1lLWF4aXMtbGFiZWwge1xuXHRoZWlnaHQ6IHZhcigtLXRnLWNlbGwtaGVpZ2h0KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDExcHg7XG5cdHRvcDogLTZweDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIERheSBjb2x1bW5zICovXG4udGctZGF5LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIGJvdHRvbSxcblx0XHR0cmFuc3BhcmVudCAwLFxuXHRcdHRyYW5zcGFyZW50IGNhbGModmFyKC0tdGctY2VsbC1oZWlnaHQpIC0gMXB4KSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgdmFyKC0tdGctY2VsbC1oZWlnaHQpXG5cdCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFdmVudCBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50Zy1ldmVudC1iYXNlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tdGctZm9udC1ldmVudCk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Y3Vyc29yOiBncmFiO1xuXHR6LWluZGV4OiAxMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdHRyYW5zaXRpb246XG5cdFx0b3BhY2l0eSAwLjJzLFxuXHRcdHRyYW5zZm9ybSAwLjFzO1xufVxuXG4udGctZXZlbnQtYmFzZTphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4udGctZXZlbnQtYmFzZTpob3ZlciB7XG5cdG9wYWNpdHk6IDAuOTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnRnLWV2ZW50LWJhc2UudGctaXMtZHJhZ2dpbmctc291cmNlIHtcblx0b3BhY2l0eTogMC4zO1xuXHRmaWx0ZXI6IGdyYXlzY2FsZSgwLjMpO1xufVxuXG4vKiBNb250aCB2aWV3IGV2ZW50IGJhciAqL1xuLnRnLWV2ZW50LWJhciB7XG5cdGhlaWdodDogMjZweDtcblx0bGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qIFRpbWUgdmlldyBldmVudCBibG9jayAqL1xuLnRnLWV2ZW50LWJsb2NrIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRwYWRkaW5nLXRvcDogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi50Zy1ldmVudC1ibG9jayAudGctdGltZS10ZXh0IHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRvcGFjaXR5OiAwLjk7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50Zy1ldmVudC10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhc2sgQ291bnQgQmFkZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50Zy1ldmVudC1jb3VudC1iYWRnZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50Zy1ldmVudC1jb3VudC1iYWRnZS5oYXMtcHJpb3JpdHkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRHJhZyAmIERyb3AgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZXNpemUgaGFuZGxlcyAqL1xuLnRnLXJlc2l6ZS1oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDIwO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi50Zy1ldmVudC1iYXNlOmhvdmVyIC50Zy1yZXNpemUtaGFuZGxlIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRnLXJlc2l6ZS1oYW5kbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG5cbi8qIEhvcml6b250YWwgcmVzaXplIGhhbmRsZXMgKG1vbnRoIHZpZXcpICovXG4udGctcmVzaXplLWgge1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEycHg7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcbn1cblxuLnRnLXJlc2l6ZS1oLnRnLWxlZnQge1xuXHRsZWZ0OiAwO1xufVxuXG4udGctcmVzaXplLWgudGctcmlnaHQge1xuXHRyaWdodDogMDtcbn1cblxuLyogVmVydGljYWwgcmVzaXplIGhhbmRsZSAodGltZSB2aWV3KSAqL1xuLnRnLXJlc2l6ZS12IHtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogOHB4O1xuXHRjdXJzb3I6IHJvdy1yZXNpemU7XG59XG5cbi50Zy1yZXNpemUtdi50Zy10b3Age1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogYXV0bztcbn1cblxuLnRnLXJlc2l6ZS12LnRnLWJvdHRvbSB7XG5cdGJvdHRvbTogMDtcblx0dG9wOiBhdXRvO1xufVxuXG4vKiBHaG9zdCBlbGVtZW50IGZvciBkcmFnIHByZXZpZXcgKi9cbi50Zy1naG9zdC1ldmVudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiksIDAuMTUpO1xuXHRib3JkZXI6IDJweCBkYXNoZWQgcmdiYSh2YXIoLS10Zy1wcmltYXJ5LXJnYiksIDAuOCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0ei1pbmRleDogNTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIERyYWcgcHJveHkgKi9cbiN0Zy1kcmFnLXByb3h5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogOTk5OTtcblx0Ym94LXNoYWRvdzogMCAxMnB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMC45O1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgTGF5b3V0IEhlbHBlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50Zy1ncmlkLTcge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhcmsgVGhlbWUgU3BlY2lmaWMgQWRqdXN0bWVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50aGVtZS1kYXJrIC50Zy12aWV3LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50aGVtZS1kYXJrIC50Zy1tb250aC1jZWxsIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLW1vbnRoLWNlbGw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLXRpbWUtaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLWRhcmsgLnRnLWV2ZW50LWJhc2Uge1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtZGFyayAudGctZ2hvc3QtZXZlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC4yKTtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLXRnLXByaW1hcnktcmdiKSwgMC42KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpZ2h0IFRoZW1lIFNwZWNpZmljIEFkanVzdG1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGhlbWUtbGlnaHQgLnRnLXZpZXctY29udGFpbmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLWxpZ2h0IC50Zy1tb250aC1jZWxsIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLWxpZ2h0IC50Zy1ldmVudC1iYXNlIHtcblx0Ym94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNjcm9sbGJhciBTdHlsaW5nIChPYnNpZGlhbi1saWtlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRnLXRpbWUtZ3JpZC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDhweDtcbn1cblxuLnRnLXRpbWUtZ3JpZC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4udGctdGltZS1ncmlkLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRnLXRpbWUtZ3JpZC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2ZSBBZGp1c3RtZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1jYWxlbmRhciB7XG5cdFx0LS10Zy1jZWxsLWhlaWdodDogNTBweDtcblx0XHQtLXRnLWZvbnQtaGVhZGVyOiAxMnB4O1xuXHRcdC0tdGctZm9udC1ldmVudDogMTFweDtcblx0fVxuXG5cdC50Zy10aW1lLWF4aXMge1xuXHRcdHdpZHRoOiA1MHB4O1xuXHR9XG5cblx0LnRnLXZpZXctc3dpdGNoIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFjY2Vzc2liaWxpdHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50Zy1ldmVudC1iYXNlOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50Zy1uYXYtYnRuOmZvY3VzLFxuLnRnLXZpZXctYnRuOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBbmltYXRpb24gJiBUcmFuc2l0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRnLW1vbnRoLWNlbGwsXG4udGctZXZlbnQtYmFzZSxcbi50Zy1uYXYtYnRuLFxuLnRnLXZpZXctYnRuIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLyogU21vb3RoIGVudHJ5IGFuaW1hdGlvbiBmb3IgZXZlbnRzICovXG5Aa2V5ZnJhbWVzIHRnLWV2ZW50LWVudGVyIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLyoudGctZXZlbnQtYmFzZSB7XG5cdGFuaW1hdGlvbjogdGctZXZlbnQtZW50ZXIgMC4ycyBlYXNlLW91dDtcbn0qL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFzayBDaGVja2JveCBPdmVybGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDb250YWluZXIgZm9yIGNoZWNrYm94IGluIFRHQ2FsZW5kYXIgZXZlbnRzICovXG4udGctZXZlbnQgLnRhc2stY2hlY2tib3gtb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMnB4O1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR6LWluZGV4OiAxNTtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiLCAyNTUsIDI1NSwgMjU1KSwgMC45KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiAwIDJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4vKiBTaG93IGNoZWNrYm94IG9uIGhvdmVyICovXG4udGctZXZlbnQ6aG92ZXIgLnRhc2stY2hlY2tib3gtb3ZlcmxheSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIENoZWNrYm94IHN0eWxpbmcgKi9cbi50YXNrLWNoZWNrYm94LW92ZXJsYXkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDIwO1xufVxuXG4vKiBFbnN1cmUgZXZlbnQgdGl0bGUgZG9lc24ndCBvdmVybGFwIHdpdGggY2hlY2tib3ggKi9cbi50Zy1ldmVudDpoYXMoLnRhc2stY2hlY2tib3gtb3ZlcmxheSkgLnRnLWV2ZW50LXRpdGxlIHtcblx0cGFkZGluZy1sZWZ0OiAyMnB4O1xufVxuXG4vKiBNb250aCB2aWV3IC0gYWx3YXlzIHNob3cgY2hlY2tib3ggZm9yIGJldHRlciBVWCAqL1xuLnRnLW1vbnRoLXZpZXcgLnRnLWV2ZW50IC50YXNrLWNoZWNrYm94LW92ZXJsYXkge1xuXHRvcGFjaXR5OiAxO1xufVxuIiwgIi8qIHN0eWxlcy9jYWxlbmRhci9jYWxlbmRhci5jc3MgKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7IC8qIE9yIGFkanVzdCBhcyBuZWVkZWQgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZmxleC1ncm93OiAxO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC00KTsgLyogVXNlIE9ic2lkaWFuIHZhcmlhYmxlcyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYsXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvbiBDb250cm9sIChwcmV2L3RvZGF5L25leHQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IDNweDtcblx0Z2FwOiAycHg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2ID4gZGl2IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRtaW4td2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtbSkgLSAycHgpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246XG5cdFx0Y29sb3IgMC4xNXMgZWFzZSxcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xuXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IGJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYgLnRvZGF5LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlZ21lbnRlZCBDb250cm9sIFZpZXcgU3dpdGNoZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1zZWdtZW50ZWQtY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IDNweDtcblx0Z2FwOiAycHg7XG59XG5cbi8qIFNsaWRpbmcgYWN0aXZlIGluZGljYXRvciAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1zZWdtZW50ZWQtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDNweDtcblx0Ym90dG9tOiAzcHg7XG5cdGxlZnQ6IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtbSkgLSAycHgpO1xuXHR0cmFuc2l0aW9uOlxuXHRcdHRyYW5zZm9ybSAwLjJzIGVhc2UsXG5cdFx0d2lkdGggMC4ycyBlYXNlO1xuXHR6LWluZGV4OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogU2VnbWVudCBidXR0b24gYmFzZSBzdHlsZXMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBidXR0b24uY2FsZW5kYXItc2VnbWVudC1idG4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdG1pbi13aWR0aDogMzJweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cy1tKSAtIDJweCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjpcblx0XHRjb2xvciAwLjE1cyBlYXNlLFxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBidXR0b24uY2FsZW5kYXItc2VnbWVudC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIGJ1dHRvbi5jYWxlbmRhci1zZWdtZW50LWJ0bi5pcy1hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgcHJvdmlkZXMgYmFja2dyb3VuZCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgYnV0dG9uLmNhbGVuZGFyLXNlZ21lbnQtYnRuLmlzLWFjdGl2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0xKTtcbn1cblxuLyogU2hvcnQgbGFiZWwgKGFsd2F5cyB2aXNpYmxlKSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1zZWdtZW50LXNob3J0IHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuLyogRnVsbCBsYWJlbCAoaGlkZGVuIGJ5IGRlZmF1bHQsIHNob3duIG9uIHdpZGVyIHNjcmVlbnMpICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXNlZ21lbnQtZnVsbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qIEN1c3RvbSB2aWV3IGljb24gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudC1pY29uIHN2ZyB7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG59XG5cbi8qIFNlcGFyYXRvciBiZXR3ZWVuIGJ1aWx0LWluIGFuZCBjdXN0b20gdmlld3MgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudC1zZXBhcmF0b3Ige1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiAwIDRweDtcbn1cblxuLyogQ3VzdG9tIHNlZ21lbnQgYnV0dG9uIGFkanVzdG1lbnRzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXNlZ21lbnQtYnRuLmNhbGVuZGFyLXNlZ21lbnQtY3VzdG9tIHtcblx0Z2FwOiAycHg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItc2VnbWVudC1idG4uY2FsZW5kYXItc2VnbWVudC1jdXN0b21cblx0LmNhbGVuZGFyLXNlZ21lbnQtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItY3VycmVudC1kYXRlIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgaXQgdG8gdGFrZSBzcGFjZSAqL1xuXG5cdG1heC13aWR0aDogbWF4KDEyMHB4LCA0MCUpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogU2hvdyBmdWxsIGxhYmVscyBvbiB3aWRlciBzY3JlZW5zICovXG5AY29udGFpbmVyIChtaW4td2lkdGg6IDcwMHB4KSB7XG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudC1mdWxsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cblxuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXNlZ21lbnQtYnRuIHtcblx0XHRwYWRkaW5nOiA2cHggMTJweDtcblx0fVxuXG5cdC8qIFNob3cgc2hvcnQgbGFiZWwgZm9yIGN1c3RvbSB2aWV3cyBvbiB3aWRlciBzY3JlZW5zIHRvbyAqL1xuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0XHQuY2FsZW5kYXItc2VnbWVudC1idG4uY2FsZW5kYXItc2VnbWVudC1jdXN0b21cblx0XHQuY2FsZW5kYXItc2VnbWVudC1zaG9ydCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHZpZXcgdG8gdGFrZSByZW1haW5pbmcgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogRW5hYmxlIHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTmVlZGVkIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiBldmVudHMgKi9cblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBCYXNpYyBWaWV3IFN0eWxlcyAoUGxhY2Vob2xkZXJzKSAqL1xuLyogLS0tIE1vbnRoIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5LWhlYWRlciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogT3ZlcmxhcCB3aXRoIGdyaWQgZ2FwICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogU2xpZ2h0IGRpc3RpbmN0aW9uICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LW1vbnRoIHtcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcgaWYgZ3JpZCBwcm92aWRlcyBpdCB2aWEgZ2FwICovXG5cdC8qIFN0eWxlcyBtb3ZlZCB0byAuY2FsZW5kYXItbW9udGgtZ3JpZCAqL1xufVxuXG4vKiBBZGQgdGhlIGdyaWQgc3R5bGVzIGRpcmVjdGx5IHRvIHRoZSBncmlkIGNvbnRhaW5lciBlbGVtZW50ICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRncmlkLWF1dG8tcm93czogbWlubWF4KDEwMHB4LCBhdXRvKTsgLyogR2l2ZSByb3dzIGEgbWluaW11bSBoZWlnaHQgKi9cblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogR3JpZCBsaW5lcyAqL1xuXG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbCB7XG5cdC8qIEV4YW1wbGUgc3R5bGUgZm9yIGEgZGF5IGNlbGwgaW4gbW9udGggdmlldyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG5cdC8qIG1pbi1oZWlnaHQ6IDgwcHg7IC0gTGV0IGdyaWQtYXV0by1yb3dzIGhhbmRsZSBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgbGF5b3V0IGluc2lkZSB0aGUgY2VsbCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBkYXkgbnVtYmVyIGFuZCBldmVudHMgKi9cblx0bWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNlbGwgd2lkdGggaW4gdGhlIGdyaWQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcblx0XHR2YXIoLS1jb2xvci1hY2NlbnQtaCksXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LXMpLFxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1sKSxcblx0XHQwLjhcblx0KSAhaW1wb3J0YW50O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjUpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Y29sb3I6IGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAxKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpub3QoLmlzLXRvZGF5KSB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy1vdGhlci1tb250aCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXdlZWtlbmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG5cdFx0LS1iYWNrZ3JvdW5kLXNlY29uZGFyeVxuXHQpOyAvKiBTbGlnaHRseSBkaWZmZXJlbnQgYmFja2dyb3VuZCBmb3Igd2Vla2VuZHMgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IG51bWJlciBmcm9tIHNocmlua2luZyAqL1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDsgLyogUG9zaXRpb24gdG8gdGhlIHRvcCByaWdodCAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGV2ZW50cyBjb250YWluZXIgdG8gZmlsbCBzcGFjZSAqL1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIGV2ZW50cyB0aGF0IG92ZXJmbG93IHRoZSBjZWxsIGhlaWdodCAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhbiBldmVudCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHQtLWJvbGQtY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiAycHggNHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBJbmNyZWFzZSBzcGFjaW5nIHNsaWdodGx5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCBhdmFpbGFibGUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtY29tcGxldGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzLWhvdmVyXG5cdCk7IC8qIE9yIHVzZSBncmV5L3N0cmlrZXRocm91Z2ggKi9cblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkge1xuXHQvKiBCYXNpYyBzdHlsZSBmb3IgbXVsdGktZGF5LCBtb3JlIGFkdmFuY2VkIGNvdWxkIHJlbW92ZSByb3VuZGVkIGNvcm5lcnMgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLXN0YXJ0IHtcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBzdGFydCBzZWdtZW50IGRpZmZlcmVudGx5ICovXG5cdC8qIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyAqL1xuXHQvKiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgKi9cbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLWVuZCB7XG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgZW5kIHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cblx0LyogYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgKi9cblx0LyogYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgKi9cbn1cblxuLyogQWRkIG1vcmUgc3BlY2lmaWMgc3R5bGVzIGZvciB3ZWVrLCBkYXksIGFnZW5kYSB2aWV3cyBhcyB0aGV5IGFyZSBpbXBsZW1lbnRlZCAqL1xuXG4vKiBTdHlsZSBmb3IgbW9udGggdmlldyBldmVudHMgdG8gaGFuZGxlIG92ZXJmbG93ICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LW1vbnRoIHtcblx0LyogSW5oZXJpdHMgYmFzZSAuY2FsZW5kYXItZXZlbnQgc3R5bGVzICovXG5cdC8qIEFkZCBvdmVyZmxvdyBoYW5kbGluZyBzaW1pbGFyIHRvIHdlZWstYWxsZGF5ICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgKi9cblx0d2lkdGg6IDEwMCU7IC8qIEV4cGxpY2l0bHkgc2V0IHdpZHRoICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cbn1cblxuLyogLS0tIERheSBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1kYXkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZywgbWFuYWdlIGludGVybmFsbHkgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1zZWN0aW9uIHtcblx0ZmxleC1ncm93OiAxO1xuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5vIGxvbmdlciBuZWVkZWQgZm9yIGFic29sdXRlIGV2ZW50IHBvc2l0aW9uaW5nICovXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgdGhhdCB3YXMgb24gYWxsZGF5ICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFsbG93IHRpbWVsaW5lIHRvIHNjcm9sbCAqL1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtZXZlbnRzLWNvbnRhaW5lciB7XG5cdC8qIFJlbW92ZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyAqL1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG5cdC8qIHRvcDogMDsgKi9cblx0LyogbGVmdDogMDsgKi9cblx0LyogcmlnaHQ6IDA7ICovXG5cdC8qIGJvdHRvbTogMDsgKi9cblx0Lyogei1pbmRleDogMjsgKi9cblx0LyogUmVtb3ZlIGNhbGN1bGF0ZWQgaGVpZ2h0ICovXG5cdC8qIGhlaWdodDogY2FsYygyNCAqIDQwcHgpOyAqL1xuXG5cdC8qIEFkZCBmbGV4IGxheW91dCBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzcGFjaW5nIGJldHdlZW4gZXZlbnRzICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtZXZlbnRzLWNvbnRhaW5lci5pcy1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC04KTtcbn1cblxuLyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIGV2ZW50cyBwcmV2aW91c2x5IHRpbWVkICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWVkIHtcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXG5cdC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTsgKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQvKiBBZGQgbWFyZ2luIGZvciBzcGFjaW5nIGluIHRoZSBuZXcgZmxvdyBsYXlvdXQgKi9cblx0LyogVXNpbmcgZ2FwIG9uIHBhcmVudCBjb250YWluZXIgbm93ICovXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTsgKi9cblx0d2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjpcblx0XHR0cmFuc2Zvcm0gMC4xNXMgZWFzZSxcblx0XHRib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZWQ6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogU3BlY2lmaWMgc3R5bGVzIGZvciBkYXkgdmlldyB0aW1lZCBldmVudHMgKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtZGF5LXRpbWVkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMi41ZW07XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtZGF5LXRpbWVkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtZGF5LXRpbWVkLmlzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcy1ob3Zlcik7XG5cdG9wYWNpdHk6IDAuNztcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi8qIEtlZXAgaW50ZXJuYWwgc3R5bGVzICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIFNsaWdodCBiYWNrZ3JvdW5kIGZvciB0aW1lICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHBhZGRpbmc6IDJweCAzcHg7XG5cdGZsZXgtZ3JvdzogMTtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiAtLS0gV2VlayBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy13ZWVrIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogMDtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdC8qIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCByZXBlYXQoNywgMWZyKTsgKi8gLyogR3V0dGVyICsgNyBkYXlzIC0+IFJlbW92ZSBndXR0ZXIgKi9cblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsgLyogSnVzdCA3IGRheXMgKi9cblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwuaXMtdG9kYXkgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEuNWVtO1xuXHRoZWlnaHQ6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMS41ZW07XG5cdG1hcmdpbjogYXV0bztcblxuXHRtYXJnaW46IGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG59XG5cbi8qIFVwZGF0ZWQgV2VlayBHcmlkIFNlY3Rpb24gKHdhcyAtYWxsZGF5LXNlY3Rpb24pICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstZ3JpZC1zZWN0aW9uIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHRoaXMgc2VjdGlvbiB0byBmaWxsIGF2YWlsYWJsZSB2ZXJ0aWNhbCBzcGFjZSAqL1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCB0byBlbnN1cmUgZ3JpZCBmaWxscyBoZWlnaHQgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bzsgLyogQWRkIHNjcm9sbCBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBNYXRjaCBvbGQgc3R5bGUgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQge1xuXHQvKiBSZW5hbWVkIGNsYXNzICovXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgZ3JpZCB0byBleHBhbmQgKi9cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7IC8qIE1ha2UgZ3JpZCBmaWxsIHRoZSBzZWN0aW9uIGhlaWdodCAqL1xuXHRnYXA6IDFweDsgLyogQWRkIGdhcCBmb3IgYm9yZGVycyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIHRvcCBib3JkZXIgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uIHtcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XG5cdC8qIG1pbi1oZWlnaHQ6IDVlbTsgKi8gLyogUmVtb3ZlIGZpeGVkIG1pbi1oZWlnaHQsIGxldCBjb250ZW50IGRpY3RhdGUgKi9cblx0Ym9yZGVyLWxlZnQ6IG5vbmU7IC8qIFJlbW92ZSByZWR1bmRhbnQgbGVmdCBib3JkZXIsIGdhcCBoYW5kbGVzIGxpbmVzICovXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IGZvciB2ZXJ0aWNhbCBsYXlvdXQgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7IC8qIFNwYWNlIGJldHdlZW4gZXZlbnRzICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgY29udGVudCBmcm9tIGV4cGFuZGluZyB0aGUgY29sdW1uICovXG5cdG1pbi13aWR0aDogMDsgLyogSGVscCBncmlkIGl0ZW0gc2hyaW5rIHByb3Blcmx5ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbjpmaXJzdC1jaGlsZCB7XG5cdC8qIE5vIHNwZWNpZmljIGZpcnN0LWNoaWxkIGJvcmRlciBuZWVkZWQgbm93ICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbi5pcy13ZWVrZW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBBZGp1c3QgZ3JpZCBsYXlvdXRzIHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzXG5cdC5jYWxlbmRhci13ZWVrZGF5LWhlYWRlciB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdDUsXG5cdFx0MWZyXG5cdCkgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHNcblx0LmNhbGVuZGFyLW1vbnRoLWdyaWQge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHQ1LFxuXHRcdDFmclxuXHQpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzXG5cdC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdDUsXG5cdFx0MWZyXG5cdCkgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHNcblx0LmNhbGVuZGFyLXdlZWstZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdDUsXG5cdFx0MWZyXG5cdCkgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHNcblx0Lm1pbmktbW9udGgtZ3JpZCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KFxuXHRcdDUsXG5cdFx0MWZyXG5cdCkgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xufVxuXG4vKiBOb3RlOiBXZWVrZW5kIGVsZW1lbnRzIGFyZSBub3QgY3JlYXRlZCB3aGVuIGhpZGVXZWVrZW5kcyBpcyBlbmFibGVkLFxuICAgc28gbm8gaGlkaW5nIHJ1bGVzIGFyZSBuZWVkZWQuIFRoZSBncmlkIGxheW91dCBhZGp1c3RtZW50cyBhYm92ZSBhcmUgc3VmZmljaWVudC4gKi9cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cblx0LyogVGhpcyBjb250YWluZXIgbWlnaHQgbm90IGJlIHN0cmljdGx5IG5lY2Vzc2FyeSBpZiAuY2FsZW5kYXItZGF5LWNvbHVtbiB1c2VzIGZsZXggKi9cblx0LyogU3R5bGVzIGFyZSBhcHBsaWVkIGRpcmVjdGx5IHRvIC5jYWxlbmRhci1kYXktY29sdW1uIG5vdyAqL1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRhaW5lciB0byBncm93ICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogM3B4OyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xufVxuXG4vKiBFbnN1cmUgZXZlbnRzIHRha2UgZnVsbCB3aWR0aCBhbmQgZG9uJ3QgaGF2ZSBob3Jpem9udGFsIGRpc3BsYXkgcHJvcGVydGllcyAqL1xuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC13ZWVrLWFsbGRheSB7XG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgYmxvY2sgZGlzcGxheSBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY29sdW1uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUmVzZXQgcG9zaXRpb24gaWYgaXQgd2FzIGFic29sdXRlICovXG5cdGxlZnQ6IGF1dG87XG5cdHRvcDogYXV0bztcblx0aGVpZ2h0OiBhdXRvOyAvKiBMZXQgY29udGVudCBkZXRlcm1pbmUgaGVpZ2h0ICovXG5cdG1hcmdpbi1ib3R0b206IDNweDsgLyogQ29uc2lzdGVudCBzcGFjaW5nICovXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgaW50ZXJuYWwgY29udGVudCBmcm9tIG92ZXJmbG93aW5nICovXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAvKiBBZGQgZWxsaXBzaXMgZm9yIG92ZXJmbG93ICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIEVuc3VyZSBlbGxpcHNpcyB3b3JrcyAqL1xufVxuXG4vKiBSZW1vdmUgc3R5bGVzIGZvciB0aGUgb2xkIHRpbWVsaW5lIHNlY3Rpb24gKi9cbi8qXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstdGltZWxpbmUtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG4vLyAuLi4gZXhpc3RpbmcgY29kZSAuLi5cblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xufVxuKi9cblxuLyogLS0tIFllYXIgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXcteWVhciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci15ZWFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcblx0XHRhdXRvLWZpdCxcblx0XHRtaW5tYXgoMjAwcHgsIDFmcilcblx0KTsgLyogUmVzcG9uc2l2ZSBjb2x1bW5zICovXG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1pbmktbW9udGgge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBDbGlwIGNvbnRlbnQgKi9cbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWhlYWRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ib2R5IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMnB4OyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBkYXlzICovXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXktaGVhZGVyIHtcblx0ZGlzcGxheTogY29udGVudHM7IC8qIExldCBjaGlsZHJlbiBwYXJ0aWNpcGF0ZSBpbiB0aGUgZ3JpZCAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktd2Vla2RheSB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHBhZGRpbmc6IDFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRsaW5lLWhlaWdodDogMS41ZW07IC8qIEFkanVzdCBmb3IgY2VudGVyaW5nICovXG59XG5cbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5pcy1vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtdG9kYXkge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHMge1xuXHQvKiBJbmRpY2F0ZSBldmVudHMgLSBlLmcuLCBib2xkIG9yIGJhY2tncm91bmQgZG90ICovXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHQvKiBPciBhZGQgYSBiYWNrZ3JvdW5kIGRvdDogKi9cblx0LyogcG9zaXRpb246IHJlbGF0aXZlOyAqL1xufVxuLyogLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50czo6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDJweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn0gKi9cblxuLmFnZW5kYS1kYXktc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5hZ2VuZGEtZGF5LWRhdGUtY29sdW1uIHtcblx0d2lkdGg6IDIwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWdlbmRhLWRheS1ldmVudHMtY29sdW1uIHtcblx0ZmxleDogMTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIGlucHV0LnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tIERyYWcgYW5kIERyb3AgU3R5bGVzIC0tLSAqL1xuLmNhbGVuZGFyLWV2ZW50LWdob3N0IHtcblx0LyogU3R5bGUgZm9yIHRoZSBwbGFjZWhvbGRlciB3aGVuIGRyYWdnaW5nICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSAhaW1wb3J0YW50O1xuXHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2FsZW5kYXItZXZlbnQtZHJhZ2dpbmcge1xuXHQvKiBTdHlsZSBmb3IgdGhlIGVsZW1lbnQgYmVpbmcgZHJhZ2dlZCAqL1xuXHRvcGFjaXR5OiAwLjkgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpICFpbXBvcnRhbnQ7XG5cdHRyYW5zZm9ybTogcm90YXRlKDJkZWcpICFpbXBvcnRhbnQ7XG5cdHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcbn1cblxuLyogTWFrZSBjYWxlbmRhciBldmVudHMgZHJhZ2dhYmxlICovXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xuXHRjdXJzb3I6IGdyYWI7XG5cdHRyYW5zaXRpb246XG5cdFx0dHJhbnNmb3JtIDAuMnMgZWFzZSxcblx0XHRib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XG59XG5cbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDphY3RpdmUge1xuXHRjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiBTb3J0YWJsZSBjb250YWluZXIgc3R5bGVzICovXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lcixcbi5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XG5cdG1pbi1oZWlnaHQ6IDIwcHg7IC8qIEVuc3VyZSB0aGVyZSdzIGFsd2F5cyBhIGRyb3Agem9uZSAqL1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4vKiBIaWRlIHNlZ21lbnRlZCBjb250cm9sIGFuZCBzaG93IGRyb3Bkb3duIG9uIG5hcnJvdyBzY3JlZW5zICovXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudGVkLWNvbnRyb2wge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuY2FsZW5kYXItbmF2IC5wcmV2LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jYWxlbmRhci1uYXYgLm5leHQtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4vKiBNZWRpdW0gd2lkdGg6IHNob3cgb25seSBzaG9ydCBsYWJlbHMgKi9cbkBjb250YWluZXIgKG1pbi13aWR0aDogNjAxcHgpIGFuZCAobWF4LXdpZHRoOiA2OTlweCkge1xuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXNlZ21lbnQtZnVsbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItc2VnbWVudC1zaG9ydCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG5cblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1zZWdtZW50LWJ0biB7XG5cdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRtaW4td2lkdGg6IDI4cHg7XG5cdH1cbn1cbiIsICIuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciBwIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHtcclxuXHQvKiBIYW5kbGUgdGV4dCBvdmVyZmxvdyB3aXRoIGVsbGlwc2lzICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxufVxyXG4iLCAiLyogQ2FsZW5kYXIgQmFkZ2UgU3R5bGVzICovXHJcbi5jYWxlbmRhci1iYWRnZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0Z2FwOiA0cHg7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1iYWRnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblxyXG5cdG1heC13aWR0aDogODBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIEVuc3VyZSBiYWRnZXMgYXJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGRheSBjZWxsICovXHJcbi5jYWxlbmRhci1kYXktY2VsbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHJcblx0LS1nYW50dC1oZWFkZXItaGVpZ2h0OiA1MHB4O1xyXG5cdC0tZ2FudHQtcm93LWhlaWdodDogNDBweDtcclxuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XHJcblx0LS1nYW50dC1iYXItcmFkaXVzOiAzcHg7XHJcblxyXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHQtLWdhbnR0LWdyaWQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHQtLWdhbnR0LXJvdy1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LW1pbGVzdG9uZS1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcclxuXHQtLWdhbnR0LXByb2dyZXNzLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItYmcge1xyXG5cdGZpbGw6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItdGV4dCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtYmcge1xyXG5cdGZpbGw6IHRyYW5zcGFyZW50O1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZS1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0d2hpdGUtc3BhY2U6IHByZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLnN0YXR1cy1jb21wbGV0ZWQge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdhbnR0IENoYXJ0IFN0eWxlc1xyXG4gKi9cclxuXHJcbi5nYW50dC1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0ei1pbmRleDogMTA7XHJcblx0aGVpZ2h0OiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA1MCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93LnByaW1hcnkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLmdhbnR0LWJvZHkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkgKiAtMSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xyXG5cdG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXRvZGF5LWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtcm93IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWJhcnMge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSk7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLm1pbGVzdG9uZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcclxuXHR3aWR0aDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0dG9wOiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRtYXJnaW4tbGVmdDogLTcuNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1wcm9ncmVzcyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1wcm9ncmVzcy1jb2xvcik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7XHJcblx0dG9wOiAwO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0bGVmdDogYXV0bztcclxuXHRyaWdodDogY2FsYygxMDAlICsgOHB4KTtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XHJcblx0LmdhbnR0LWhlYWRlci1jZWxsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcblxyXG5cdC5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yLFxyXG4uZ2FudHQtaGVhZGVyLXRpY2stbWlub3IsXHJcbi5nYW50dC1oZWFkZXItdGljay1kYXksXHJcbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yIHtcclxuXHRzdHJva2Utd2lkdGg6IDEuNTtcclxufVxyXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdHN0cm9rZS13aWR0aDogMS41O1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3Ige1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3IsXHJcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG59XHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3Ige1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG4uZ2FudHQtZ3JpZC1saW5lLWhvcml6b250YWwge1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1pbnByb2dyZXNzIC5nYW50dC10YXNrLWJhciB7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLWZvIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHRwYWRkaW5nOiAwIDJweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xyXG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsLWNvbnRhaW5lciBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHBhZGRpbmc6IDAgMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5nYW50dC1taWxlc3RvbmUtbGFiZWwge1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0d2lkdGg6IDhweDtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNik7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0ge1xyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yLWxlZnQge1xyXG5cdGxlZnQ6IDVweDtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xyXG5cdHJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLWxlZnQge1xyXG5cdGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcclxuXHRyaWdodDogMDtcclxufVxyXG5cclxuLmdhbnR0LXNpbmdsZS1pbmRpY2F0b3Ige1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC0yKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIC5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHR0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCwgNDBweCkgKyB2YXIoLS1maWx0ZXItaGVpZ2h0LCAwcHgpKTtcclxuXHRib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4iLCAiLnRhc2stc3RhdHVzLWluZGljYXRvci13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMik7XG5cdG1pbi1oZWlnaHQ6IDIwcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLFxuXHRcdG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvcl9fdGV4dCB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTEpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1zdGF0dXMtaW5kaWNhdG9yOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1zdGF0dXMtaW5kaWNhdG9yLmlzLWRpc2FibGVkIHtcblx0b3BhY2l0eTogMC41O1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi50YXNrLXN0YXR1cy1pbmRpY2F0b3IuaXMtcHJvY2Vzc2luZyB7XG5cdG9wYWNpdHk6IDAuNztcblx0Y3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLnRhc2stc3RhdHVzLWluZGljYXRvci5pcy1jb21wbGV0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpO1xufVxuIiwgIi8qIElubGluZSBFZGl0b3IgU3R5bGVzIC0gT3B0aW1pemVkIGZvciBQZXJmb3JtYW5jZSBhbmQgVVggKi9cclxuLmlubGluZS1lZGl0b3Ige1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgRWRpdG9yIC0gTW9yZSBpbmxpbmUgYXBwZWFyYW5jZSAqL1xyXG4uaW5saW5lLWNvbnRlbnQtZWRpdG9yIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiAxOHB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0cmVzaXplOiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLmlubGluZS1jb250ZW50LWVkaXRvcjpmb2N1cyB7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAwIDAgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgRWRpdG9yIFN0eWxlcyAtIE1vcmUgc2VhbWxlc3MgKi9cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3ItY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiAxOHB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWVkaXRvciB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWZvY3VzZWQge1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpICFpbXBvcnRhbnQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1saW5lIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBNZXRhZGF0YSBFZGl0b3IgQ29udGFpbmVyIC0gTW9yZSBjb21wYWN0IGFuZCBpbmxpbmUgKi9cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdG1pbi13aWR0aDogMTIwcHg7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTAwO1xyXG59XHJcblxyXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvciBpbnB1dCB7XHJcblx0Ym9yZGVyOiB1bnNldDtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IHVuc2V0O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yOmhhcyhpbnB1dCkge1xyXG5cdG91dGxpbmU6IHVuc2V0O1xyXG5cdGJvcmRlcjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHVuc2V0O1xyXG59XHJcblxyXG4vKiBNZXRhZGF0YSBJbnB1dCBGaWVsZHMgLSBNb3JlIGNvbXBhY3QgKi9cclxuLmlubGluZS1wcm9qZWN0LWlucHV0LFxyXG4uaW5saW5lLXRhZ3MtaW5wdXQsXHJcbi5pbmxpbmUtY29udGV4dC1pbnB1dCxcclxuLmlubGluZS1kYXRlLWlucHV0LFxyXG4uaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogMnB4IDRweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtcHJvamVjdC1pbnB1dDpmb2N1cyxcclxuLmlubGluZS10YWdzLWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtZGF0ZS1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0OmZvY3VzIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdCB7XHJcblx0cGFkZGluZzogMnB4IDRweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcbn1cclxuXHJcbi5pbmxpbmUtcHJpb3JpdHktc2VsZWN0OmZvY3VzIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBBZGQgTWV0YWRhdGEgQnV0dG9uIC0gTW9yZSBzdWJ0bGUgKi9cclxuLmFkZC1tZXRhZGF0YS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxufVxyXG5cclxuLnRhc2stbGlzdCAudGFzay1pdGVtOm5vdCgudHJlZS10YXNrLWl0ZW0pOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staXRlbS1jb250YWluZXI6aG92ZXIgLmFkZC1tZXRhZGF0YS1idG4ge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyMnB4O1xyXG5cdGhlaWdodDogMjJweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG5cdC0taWNvbi1zaXplOiAxMHB4O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5hZGQtbWV0YWRhdGEtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5hZGQtbWV0YWRhdGEtYnRuOmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcbn1cclxuXHJcbi5hZGQtbWV0YWRhdGEtYnRuIHN2ZyB7XHJcblx0d2lkdGg6IDEwcHg7XHJcblx0aGVpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4vKiBTbW9vdGggdHJhbnNpdGlvbnMgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xyXG4uaW5saW5lLWVkaXRvciAqIHtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLFxyXG5cdFx0Ym94LXNoYWRvdyAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4vKiBGb2N1cyBzdGF0ZXMgZm9yIGJldHRlciBhY2Nlc3NpYmlsaXR5ICovXHJcbi5pbmxpbmUtZWRpdG9yIGlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWVkaXRvciB0ZXh0YXJlYTpmb2N1cyxcclxuLmlubGluZS1lZGl0b3Igc2VsZWN0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4vKiBFZGl0YWJsZSBNZXRhZGF0YSBJdGVtcyAtIE1vcmUgc3VidGxlIGhvdmVyIGVmZmVjdHMgKi9cclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1kYXRlLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3QsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZTpob3ZlcixcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0OmhvdmVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKiBSZW1vdmUgdG9vbHRpcCBvbiBob3ZlciBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlICovXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZTpob3Zlcjo6YWZ0ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3Zlcjo6YWZ0ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnOmhvdmVyOjphZnRlciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogQ29udGVudCBFZGl0YWJsZSBIb3ZlciAtIE1vcmUgc3VidGxlICovXHJcbi50YXNrLWl0ZW0tY29udGVudCB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggdHJhbnNpdGlvbnMgLSBPcHRpbWl6ZWQgKi9cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogUHJldmVudCBsYXlvdXQgc2hpZnQgZHVyaW5nIGVkaXRpbmcgKi9cclxuLmlubGluZS1lZGl0b3ItcGxhY2Vob2xkZXIge1xyXG5cdG1pbi1oZWlnaHQ6IDFlbTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgLSBTaW1wbGlmaWVkICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5pbmxpbmUtcHJvamVjdC1pbnB1dCxcclxuXHQuaW5saW5lLXRhZ3MtaW5wdXQsXHJcblx0LmlubGluZS1jb250ZXh0LWlucHV0LFxyXG5cdC5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dCB7XHJcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0bWF4LXdpZHRoOiAyNTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXHJcbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xyXG5cdC5pbmxpbmUtY29udGVudC1lZGl0b3IsXHJcblx0LmlubGluZS1lbWJlZGRlZC1lZGl0b3IgLmNtLWVkaXRvciB7XHJcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XHJcblx0fVxyXG5cclxuXHQuaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XHJcblx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHQuaW5saW5lLWVkaXRvciAqLFxyXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3QsXHJcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWcsXHJcblx0LnRhc2staXRlbS1jb250ZW50LFxyXG5cdC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRcdHRyYW5zaXRpb246IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuaW5saW5lLW1ldGFkYXRhLWVkaXRvciB7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBOZXcgZmllbGQgaW5wdXQgc3R5bGVzICovXHJcbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0LFxyXG4uaW5saW5lLWlkLWlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWlkLWlucHV0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5pbmxpbmUtZGVwZW5kc29uLWlucHV0OjpwbGFjZWhvbGRlcixcclxuLmlubGluZS1pZC1pbnB1dDo6cGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxufVxyXG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xuXHR3aWR0aDogNDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnBhbmVsLXRvZ2dsZS1idG46aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cbi5zaWRlYmFyLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cdGdhcDogNXB4O1xufVxuXG4uc2lkZWJhci1uYXYtc3BhY2VyIHtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luOiA4cHggMTVweDtcblx0b3BhY2l0eTogMC43O1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luOiAwIDVweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWRlYmFyLW5hdi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXI6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ubmF2LWl0ZW0taWNvbiB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm5hdi1pdGVtLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcblx0b3BhY2l0eTogMDtcblx0d2lkdGg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggMC4zcyBlYXNlLWluLW91dCxcblx0XHRmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAubmF2LWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogQ29udGVudCBTdHlsZXMgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtaW4td2lkdGg6IDA7XG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC50YXNrLWNvbnRlbnQge1xuXHRtYXJnaW4tbGVmdDogLTIwMHB4O1xuXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi8qIFByb2plY3QgVHJlZSAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLnByb2plY3QtdHJlZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMCA1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlLFxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1pbmRlbnQge1xuXHR3aWR0aDogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQ29udGVudCBIZWFkZXIgKi9cbi5jb250ZW50LWhlYWRlciB7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9jdXMtZmlsdGVyIHtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qIFRhc2tWaWV3IC0gT21uaUZvY3VzIFN0eWxlICovXG5cbi53b3Jrc3BhY2UtbGVhZi1jb250ZW50IC50YXNrLWdlbml1cy12aWV3IHtcblx0cGFkZGluZzogMDtcbn1cblxuLmJhc2VzLXZpZXcgLnRhc2stZ2VuaXVzLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMZWZ0IHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR3aWR0aDogMjQwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFpbiBjb250ZW50IGFyZWEgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE5hdmlnYXRpb24gc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBQcm9qZWN0IHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMnB4IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLmV4cGFuZGVkID4gLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgaGVhZGVyICovXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC50YXNrLWNvdW50IHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWZpbHRlciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1maWx0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5maWx0ZXItaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24uZm9jdXNlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4ubW9kLWxlZnQtc3BsaXQgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLWxlZnQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWVtcHR5LXN0YXRlLFxuLnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IC50YXNrLWVtcHR5LXN0YXRlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1mbHVlbnQtZXJyb3Itc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC0xMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4ubW9kLXJvb3QgLnRhc2stZ2VuaXVzLXRhYi1oZWFkZXIge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemUgIWltcG9ydGFudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiAxMjBweCkge1xuXHQubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0bWF4LXdpZHRoOiA0NXB4O1xufVxuXG4vKiBXb3JrZmxvdyBRdWljayBNb2RhbCBTdHlsZXMgKi9cbi5xdWljay13b3JrZmxvdy1tb2RhbCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4ud29ya2Zsb3ctdGVtcGxhdGUtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGVtcGxhdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zdGFnZXMtcHJldmlldy1saXN0IHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN0YWdlLXByZXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdG1hcmdpbjogNHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnN0YWdlLXR5cGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLndvcmtmbG93LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3JrZmxvdyBQcm9ncmVzcyBJbmRpY2F0b3IgU3R5bGVzICovXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0cGFkZGluZzogMTVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtZmlsbCB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1pbi13aWR0aDogMzVweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ucGVuZGluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jb21wbGV0ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jdXJyZW50LWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIHRhc2stcHJvcGVydHkgVmlldyBTdHlsZXMgKi9cclxuLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLm11bHRpLXNlbGVjdC1tb2RlIC50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNHB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktY291bnQge1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0cGFkZGluZzogMXB4IDZweDtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stY291bnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogMTZweDtcclxufVxyXG5cclxuLyogdGFzay1wcm9wZXJ0eSBWaWV3IC0gTW9iaWxlICovXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1jbG9zZSB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZVxyXG5cdC50YXNrLXByb3BlcnR5LWNvbnRhaW5lcjpoYXMoXHJcblx0XHQudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlXHJcblx0KTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHotaW5kZXg6IDU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiBBZGQgcG9zaXRpb24gcmVsYXRpdmUgdG8gY29udGFpbmVyIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBjb250ZXh0ICovXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXI6aGFzKC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2UpIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG59XHJcbiIsICIvKiBGb3JlY2FzdCBDb21wb25lbnQgU3R5bGVzICovXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmbGV4OiAxO1xufVxuXG4uZm9yZWNhc3QtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcmVjYXN0LXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjJlbTtcbn1cblxuLmZvcmVjYXN0LWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mb3JlY2FzdC1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9yZWNhc3Qtc2V0dGluZ3Mge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb3JlY2FzdC1zZXR0aW5nczpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZvY3VzLWlucHV0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnVuZm9jdXMtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi51bmZvY3VzLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xuLmZvcmVjYXN0LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMzYwcHg7XG5cdG1pbi13aWR0aDogMzYwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmZvcmVjYXN0LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAzNjBweCk7XG59XG5cbi5mb3JlY2FzdC10YXNrLWxpc3Qge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uZm9yZWNhc3QtY2FsZW5kYXItc2VjdGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogU3RhdHMgQmFyICovXG4uZm9yZWNhc3Qtc3RhdHMge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RhdC1pdGVtOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAxMCU7XG5cdHdpZHRoOiA4MCU7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zdGF0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YW5pbWF0aW9uOiBjb2xvci1wdWxzZSAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBjb2xvci1wdWxzZSB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtMSkgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdC1pdGVtLnRnLWZ1dHVyZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLnN0YXQtY291bnQge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4uc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xuLmZvcmVjYXN0LWR1ZS1zb29uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uZHVlLXNvb24taGVhZGVyIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogNXB4IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmR1ZS1zb29uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IDhweCAxNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZHVlLXNvb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLmR1ZS1zb29uLWRhdGUge1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZHVlLXNvb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmR1ZS1zb29uLWVtcHR5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcblx0ZmxleDogMTtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogT3ZlcmR1ZSBzZWN0aW9uIHN0eWxpbmcgKi9cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLnNlY3Rpb24tdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlY3Rpb24tdGFza3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmlzLXBob25lXG5cdC5mb3JlY2FzdC1oZWFkZXI6aGFzKC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSlcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLyogRm9yZWNhc3QgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5mb3JlY2FzdC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi8qIENhbGVuZGFyIENvbXBvbmVudCBTdHlsZXMgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0biB7XHJcblx0cGFkZGluZzogMnB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG5cdGdhcDogMXB4O1xyXG5cdHBhZGRpbmc6IDAgMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogM3B4IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tYm90dG9tOiAzcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3XHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1ncmlkIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXHJcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXk6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0cGFkZGluZzogMXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0cGFkZGluZzogMXB4IDRweDtcclxuXHRtYXJnaW46IDFweCBhdXRvIDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xyXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcclxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdFx0LmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbiIsICIvKiBUYXNrIFRhYmxlIFZpZXcgU3R5bGVzICovXG4udGFibGUtdmlldy1hZGFwdGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFzay10YWJsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ZmxleDogMTtcblx0bWluLWhlaWdodDogMDtcblx0LyogRW5zdXJlIHRhYmxlIHRha2VzIGZ1bGwgd2lkdGggZXZlbiB3aXRoIG1hbnkgY29sdW1ucyAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBUYWJsZSB3cmFwcGVyIGZvciBzY3JvbGxpbmcgKi9cbi50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcblx0bWluLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvKiBFbmFibGUgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBzY3JvbGxpbmcgKi9cblx0b3ZlcmZsb3cteDogYXV0bztcblx0b3ZlcmZsb3cteTogYXV0bztcblx0LyogU21vb3RoIHNjcm9sbGluZyAqL1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyogSGVhZGVyIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtaGVhZGVyIHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHQvKiBFbnN1cmUgaGVhZGVyIGRvZXNuJ3QgYnJlYWsgd2hlbiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5ICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRoZWlnaHQ6IDQwcHg7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdC8qIFByZXZlbnQgaGVhZGVyIGNlbGxzIGZyb20gc2hyaW5raW5nIHRvbyBtdWNoICovXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiA0cHg7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1zb3J0LWljb24ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdG9wYWNpdHk6IDAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1zb3J0LWljb24uYXNjLFxuLnRhc2stdGFibGUtc29ydC1pY29uLmRlc2Mge1xuXHRvcGFjaXR5OiAxO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGN1cnNvcjogY29sLXJlc2l6ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogQm9keSBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWJvZHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZS1yb3cge1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbik6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1jZWxsLmVkaXRpbmcge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBUcmVlIFZpZXcgU3R5bGVzICovXG4udGFzay10YWJsZS10cmVlLWluZGVudCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDRweDsgXG59XG5cbi50YXNrLXRhYmxlLWNlbGw6aGFzKC50YXNrLXRhYmxlLWV4cGFuZC1idG4pIHtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udGFzay10YWJsZS1yb3cudGFzay10YWJsZS1zdWJ0YXNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogNTJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTMgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogNzJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogOTJweDtcbn1cblxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTEycHg7XG59XG5cbi8qIENlbGwgVHlwZSBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1udW1iZXIge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vKiBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY29tcGxldGVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5pbi1wcm9ncmVzcyAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuYWJhbmRvbmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMucGxhbm5lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLm5vdC1zdGFydGVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4vKiBQcmlvcml0eSBDZWxsICovXG4udGFzay10YWJsZS1wcmlvcml0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHkge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2gge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubWVkaXVtIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubG93IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIERhdGUgQ2VsbCAqL1xuLnRhc2stdGFibGUtZGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXRhYmxlLWRhdGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b2RheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvbW9ycm93IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS55ZXN0ZXJkYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUub3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS51cGNvbWluZyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFRhZ3MgQ2VsbCAqL1xuLnRhc2stdGFibGUtdGFncyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiA0cHg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRhZy1jaGlwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtdGFncy1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgRWRpdGluZyBJbnB1dHMgKi9cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCkgIWltcG9ydGFudDtcbn1cblxuLnRhc2stdGFibGUtdGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAycHggNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRhc2sgQ291bnQgSWNvbiAqL1xuLnRhc2stY291bnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktcm93IHtcblx0aGVpZ2h0OiA4MHB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1jZWxsIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogTG9hZGluZyBTdGF0ZSAqL1xuLnRhc2stdGFibGUtbG9hZGluZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuLyogUmVzaXplIFN0YXRlICovXG4udGFzay10YWJsZS5yZXNpemluZyB7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGFzay10YWJsZS5yZXNpemluZyAqIHtcblx0Y3Vyc29yOiBjb2wtcmVzaXplICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlciB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdH1cblxuXHQudGFzay10YWJsZS13cmFwcGVyIHtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHR9XG5cblx0LnRhc2stdGFibGUge1xuXHRcdG1pbi13aWR0aDogODAwcHg7IC8qIEVuc3VyZSB0YWJsZSBkb2Vzbid0IGdldCB0b28gbmFycm93ICovXG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDhweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJvdyB7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHR9XG59XG5cbi8qIERhcmsgTW9kZSBBZGp1c3RtZW50cyAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJvdyB7XG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHR9XG59XG5cbi8qIFByaW50IFN0eWxlcyAqL1xuQG1lZGlhIHByaW50IHtcblx0LnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyIHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHR9XG5cblx0LnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyLXRvcCB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyLXRvcCB0ZCB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRleHQgbWVudSBzdHlsZXMgKi9cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0ei1pbmRleDogMTAwMDtcblx0bWluLXdpZHRoOiAxMjBweDtcbn1cblxuLnRhc2stdGFibGUtY29udGV4dC1tZW51LWl0ZW0ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbn1cblxuLnRhc2stdGFibGUtY29udGV4dC1tZW51LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRGF0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBBdXRvY29tcGxldGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0LFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogUm93IHNlbGVjdGlvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXJvdy5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyLXdlYWspO1xufVxuXG4vKiBSZXNwb25zaXZlIGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlIHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG5cblx0dGhbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdFx0Z2FwOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdHRkW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA0cHg7XG5cdH1cbn1cblxuLyogVGFzayBUYWJsZSBIZWFkZXIgQmFyIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi50YWJsZS1oZWFkZXItbGVmdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcbn1cblxuLnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4vKiBUYXNrIENvdW50IERpc3BsYXkgKi9cbi50YXNrLWNvdW50LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWNvdW50LXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBDb250cm9sIEJ1dHRvbnMgKi9cbi50YWJsZS1jb250cm9scy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFibGUtY29udHJvbC1idG46YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udHJlZS1tb2RlLWJ0bi5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udHJlZS1tb2RlLWljb24sXG4ucmVmcmVzaC1pY29uLFxuLmNvbHVtbi1pY29uIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRyZWUtbW9kZS10ZXh0LFxuLnJlZnJlc2gtdGV4dCxcbi5jb2x1bW4tdGV4dCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kcm9wZG93bi1hcnJvdyB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLyogQ29sdW1uIERyb3Bkb3duICovXG4uY29sdW1uLWRyb3Bkb3duIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0cmlnaHQ6IDA7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmNvbHVtbi10b2dnbGUtY2hlY2tib3gge1xuXHRtYXJnaW46IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvbHVtbi10b2dnbGUtbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIEhlYWRlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHR9XG5cblx0LnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhYmxlLWhlYWRlci1sZWZ0LFxuXHQudGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC50YWJsZS1jb250cm9scy1jb250YWluZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cdC50YWJsZS1jb250cm9sLWJ0biB7XG5cdFx0ZmxleDogMTtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0XHRyaWdodDogYXV0bztcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIERhcmsgTW9kZSBBZGp1c3RtZW50cyBmb3IgSGVhZGVyICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRoZW1lLWRhcmsgLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4vKiBDdXN0b20gQXV0by1TdWdnZXN0IERyb3Bkb3duICovXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbSB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmhvdmVyLFxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBFbmhhbmNlZCBUcmVlIFZpZXcgU3R5bGVzICovXG4udGFzay10YWJsZS1zdWJ0YXNrIHtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXBhcmVudCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRhc2stdGFibGUtc3VidGFzay1jZWxsIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1mb2N1cyk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS10cmVlLXN0cnVjdHVyZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1saW5lIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR3aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbm5lY3RvciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS12ZXJ0aWNhbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLnRhc2stdGFibGUtc3VidGFzay1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmbGV4LXNocmluazogMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLXRhYmxlLXRvcC1sZXZlbC1leHBhbmQge1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLnRhc2stdGFibGUtY29udGVudC13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4udGFzay10YWJsZS1jaGlsZC1pbmRpY2F0b3Ige1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWxlZnQ6IDZweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEVuaGFuY2VkIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1cyB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXM6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogRW5oYW5jZWQgUHJpb3JpdHkgSWNvbnMgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaGVzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0ZmlsdGVyOiBicmlnaHRuZXNzKDEuMik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ubG93ZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4vKiBUcmVlIGV4cGFuZCBidXR0b24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uIHtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi8qIE92ZXJyaWRlIGV4aXN0aW5nIHRyZWUgaW5kZW50YXRpb24gdG8gdXNlIG5ldyBzeXN0ZW0gKi9cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTMgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMnB4OyAvKiBSZXNldCB0byBub3JtYWwgcGFkZGluZywgbGV0IHRyZWUgc3RydWN0dXJlIGhhbmRsZSBpbmRlbnRhdGlvbiAqL1xufVxuIiwgIi8qIFRhc2sgR2VuaXVzIC0gUXVhZHJhbnQgVmlldyBTdHlsZXMgKi9cclxuXHJcbi8qIE1haW4gUXVhZHJhbnQgQ29udGFpbmVyICovXHJcbi50Zy1xdWFkcmFudC1jb21wb25lbnQtY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogSGVhZGVyIFNlY3Rpb24gKi9cclxuLnRnLXF1YWRyYW50LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29udHJvbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNvcnQtc2VsZWN0IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHkge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10b2dnbGUtZW1wdHk6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBTZWN0aW9uICovXHJcbi50Zy1xdWFkcmFudC1maWx0ZXItY29udGFpbmVyIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBRdWFkcmFudCBHcmlkICovXHJcbi50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XHJcblx0Z2FwOiAxcHg7XHJcblx0ZmxleDogMTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogSW5kaXZpZHVhbCBRdWFkcmFudCBDb2x1bW5zICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1pbi1oZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tLWhpZGRlbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgSGVhZGVycyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10aXRsZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1wcmlvcml0eSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uIC50Zy1xdWFkcmFudC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvdW50IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG59XHJcblxyXG4vKiBRdWFkcmFudCBDb250ZW50IEFyZWFzICovXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0d2lkdGg6IDhweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG59XHJcblxyXG4vKiBRdWFkcmFudCBTcGVjaWZpYyBTdHlsaW5nIC0gU3VidGxlIGFjY2VudCBiYXJzICovXHJcbi5xdWFkcmFudC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRoZWlnaHQ6IDNweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnF1YWRyYW50LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5xdWFkcmFudC1ub3QtdXJnZW50LW5vdC1pbXBvcnRhbnQgLnRnLXF1YWRyYW50LWhlYWRlcjo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRoZWlnaHQ6IDNweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi8qIFRhc2sgQ2FyZHMgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDphY3RpdmUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLyogQ2FyZCBIZWFkZXIgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWNoZWNrYm94IHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWFjdGlvbnMge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLWFjdGlvbnMge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuIHtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogQ2FyZCBDb250ZW50ICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLWNvbnRlbnQge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtcHJpb3JpdHkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRhZ3Mge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtdGFnIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRhZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRhZy0tdXJnZW50IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXRhZy0taW1wb3J0YW50IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIENhcmQgTWV0YWRhdGEgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtbWV0YWRhdGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtaWNvbiB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZHVlLWRhdGUtLXVyZ2VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS1vdmVyZHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaW5mbyB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtZmlsZS1pY29uIHtcclxuXHR3aWR0aDogMTJweDtcclxuXHRoZWlnaHQ6IDEycHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtbmFtZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdG1heC13aWR0aDogMTIwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1saW5lIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG59XHJcblxyXG4vKiBQcmlvcml0eSBDbGFzc2VzIC0gU3VidGxlIGxlZnQgYm9yZGVyICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1oaWdoZXN0IHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaCB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbWVkaXVtIHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1sb3cge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWxvd2VzdCB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRHJhZyBhbmQgRHJvcCBTdGF0ZXMgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtLWdob3N0IHtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZ2dpbmcge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAtIGZvbGxvd2luZyBrYW5iYW4gcGF0dGVybiAqL1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTsgLyogTW9yZSBwcm9taW5lbnQgc2hhZG93ICovXHJcbn1cclxuXHJcbi8qIFJlbW92ZSBvbGQgZHJhZyBjbGFzc2VzIHRoYXQgYXJlIG5vIGxvbmdlciB1c2VkICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEVtcHR5IFN0YXRlICovXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMjBweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1pY29uIHtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LWdyaWQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCAxZnIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY2FyZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY2FyZC10aXRsZSB7XHJcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY29udHJvbHMge1xyXG5cdFx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0fVxyXG59XHJcblxyXG4vKiBGb2N1cyBzdGF0ZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLW1vcmUtYnRuOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIHNtb290aCBpbnRlcmFjdGlvbnMgKi9cclxuQGtleWZyYW1lcyBjYXJkQ29tcGxldGUge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tY29tcGxldGVkIHtcclxuXHRhbmltYXRpb246IGNhcmRDb21wbGV0ZSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiBJbXByb3ZlZCBob3ZlciBzdGF0ZXMgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIgLnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBCZXR0ZXIgdmlzdWFsIGhpZXJhcmNoeSAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC1jb250ZW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIExhenkgbG9hZGluZyBzdHlsZXMgKi9cclxuLnRnLXF1YWRyYW50LWxvYWRpbmcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtbG9hZGluZy1zcGlubmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc3Bpbm5lciB7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtbG9hZGluZy1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGRyYWcgYW5kIGRyb3Agc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC1kcmFnZ2luZyB7XHJcblx0Y3Vyc29yOiBncmFiYmluZyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcgKiB7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1kcmFnIHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0Ym94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZmFsbGJhY2sge1xyXG5cdG9wYWNpdHk6IDAuOTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi0tZHJhZy10YXJnZXQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRtaW4taGVpZ2h0OiA2MHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50LS1kcm9wLWFjdGl2ZTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIkRyb3AgdGFzayBoZXJlXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBGZWVkYmFjayBzdHlsZXMgKi9cclxuLnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHR6LWluZGV4OiAxMDAwMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2stLWhpZGUge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1lcnJvciAudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay1pY29uIHtcclxuXHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLXRleHQge1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGNhcmQgaW50ZXJhY3Rpb25zICovXHJcbi50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4vKiBJbXByb3ZlZCBlbXB0eSBzdGF0ZSAqL1xyXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW0gMXJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdG1hcmdpbjogMC41cmVtIDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1pY29uIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWVtcHR5LW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0bWF4LXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLyogTG9hZGluZyBhbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBzcGluIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG5cdH1cclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNwaW5uZXIgY2lyY2xlIHtcclxuXHRhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xyXG5cdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrIHtcclxuXHRcdHRvcDogMTBweDtcclxuXHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0bGVmdDogMTBweDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stLXNob3cge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtZmVlZGJhY2stY29udGVudCB7XHJcblx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIERhcmsgbW9kZSBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAudGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcblxyXG4vKiBBY2Nlc3NpYmlsaXR5IGltcHJvdmVtZW50cyAqL1xyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG5cdC50Zy1xdWFkcmFudC1jYXJkLFxyXG5cdC50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2ssXHJcblx0LnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbixcclxuXHQudGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LXNwaW5uZXIgY2lyY2xlIHtcclxuXHRcdGFuaW1hdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFNjcm9sbCBjb250YWluZXIgc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdG1heC1oZWlnaHQ6IDcwdmg7XHJcblx0c2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG5cdHNjcm9sbGJhci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiA2cHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIExvYWQgbW9yZSBpbmRpY2F0b3Igc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLS12aXNpYmxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlLXNwaW5uZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGUgdGhlIE9ic2lkaWFuIGxvYWRlciBpY29uICovXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtc3Bpbm5lciBzdmcge1xyXG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4vKiBDb2x1bW4gbGF5b3V0IGFkanVzdG1lbnRzIGZvciBzY3JvbGxpbmcgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiA0MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLyogU21vb3RoIHNjcm9sbGluZyAqL1xyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgc3RhdGVzIGR1cmluZyBzY3JvbGwgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi5sb2FkaW5nLW1vcmUgLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XHJcblx0b3BhY2l0eTogMTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyogSW50ZXJzZWN0aW9uIG9ic2VydmVyIHRhcmdldCBzdHlsaW5nICovXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGVtcHR5IHN0YXRlIGZvciBzY3JvbGxhYmxlIGNvbnRlbnQgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50OmVtcHR5OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi8qIEdyaWQgbGF5b3V0IGFkanVzdG1lbnRzICovXHJcbi50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xyXG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIHNjcm9sbCBjb250YWluZXIgaGVpZ2h0cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xyXG5cdFx0bWF4LWhlaWdodDogNjB2aDtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xyXG5cdFx0bWF4LWhlaWdodDogNzB2aDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XHJcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGNvbnRhaW46IGxheW91dCBzdHlsZTtcclxuXHR3aWxsLWNoYW5nZTogY29udGVudHM7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHRjb250YWluOiBsYXlvdXQgc3R5bGUgcGFpbnQ7XHJcbn1cclxuXHJcbi8qIFNjcm9sbCBpbmRpY2F0b3JzICovXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHR0byBib3R0b20sXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLFxyXG5cdFx0dHJhbnNwYXJlbnRcclxuXHQpO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksIHRyYW5zcGFyZW50KTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcbiIsICIvKiBUYXNrIFRpbWVyIFdpZGdldCBTdHlsZXMgLSBTaW1wbGUgVGV4dC1CYXNlZCAqL1xyXG5cclxuLnRhc2stdGltZXItd2lkZ2V0IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW46IDRweCAwO1xyXG5cdHBhZGRpbmc6IDJweCAwO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi8qIFN0YXJ0IGJ1dHRvbiBhbmQgYWN0aW9uIGxpbmtzICovXHJcbi50YXNrLXRpbWVyLXN0YXJ0LFxyXG4udGFzay10aW1lci1hY3Rpb24ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay10aW1lci1zdGFydDpob3ZlcixcclxuLnRhc2stdGltZXItYWN0aW9uOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xyXG59IiwgIi8qIEV4cGVyaW1lbnRhbCBTZXR0aW5ncyAqL1xuLmV4cGVyaW1lbnRhbC1zZXR0aW5ncy1zZWN0aW9uIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5leHBlcmltZW50YWwtc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZXhwZXJpbWVudGFsLXN1YnNlY3Rpb24taGVhZGluZyB7XG5cdG1hcmdpbjogMTVweCAwIDhweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5leHBlcmltZW50YWwtd2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbjogMTBweCAwIDIwcHggMDtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xufVxuXG4uZXhwZXJpbWVudGFsLWRhdGFmbG93LXNlY3Rpb24ge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5leHBlcmltZW50YWwtaW5mbyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmV4cGVyaW1lbnRhbC1yZXN0YXJ0LW5vdGljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4vKiBDaGVja2JveCBTdGF0dXMgQ3ljbGUgbWFuYWdlbWVudCBVSSAqL1xuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IHtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLmV4dHJhLXNldHRpbmctYnV0dG9uIHtcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XG59XG5cbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTIpO1xuXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogRXhwZXJpbWVudGFsIFNldHRpbmdzICovXG4uZXhwZXJpbWVudGFsLXNldHRpbmdzLXNlY3Rpb24ge1xuXHRtYXJnaW46IDIwcHggMDtcbn1cblxuLmV4cGVyaW1lbnRhbC1zZWN0aW9uLWhlYWRpbmcge1xuXHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5leHBlcmltZW50YWwtc3Vic2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luOiAxNXB4IDAgOHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLmV4cGVyaW1lbnRhbC13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0bWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuXHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XG59XG5cbi5leHBlcmltZW50YWwtZGF0YWZsb3ctc2VjdGlvbiB7XG5cdG1hcmdpbjogMTVweCAwO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmV4cGVyaW1lbnRhbC1pbmZvIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4uZXhwZXJpbWVudGFsLXJlc3RhcnQtbm90aWNlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXG4udGFzay1zdGF0ZXMtY29udGFpbmVyIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4udGFzay1zdGF0ZS1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xuXHRwYWRkaW5nOiA0cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcblx0bWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xKTtcbn1cblxuLnRhc2stc3RhdGUtY29udGFpbmVyIC50YXNrLXN0YXRlIHtcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtMi0xKTtcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XG5cblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcbn1cblxuLyogQ2F0ZWdvcnkgc2VjdGlvbiAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1zZWN0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIENhdGVnb3J5IGhlYWRlciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1oZWFkZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4vKiBDYXRlZ29yeSB0YWJzIGNvbnRhaW5lciAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciAoZmFsbGJhY2spICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0Z3JpZC1hdXRvLXJvd3M6IHZhcigtLXNpemUtNC0xOCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG5cdH1cbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IC04MHB4O1xuXHR3aWR0aDogMjAwcHg7XG5cdGhlaWdodDogMjAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdHRyYW5zZm9ybTogcm90YXRlWigtMTVkZWcpO1xuXHR6LWluZGV4OiAwO1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6aG92ZXI6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xMGRlZyk7XG5cdG9wYWNpdHk6IDAuOTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogVGFiIGNvbnRlbnQgc3R5bGluZyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItaWNvbixcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHNwYW4sXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1sYWJlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogRW5oYW5jZWQgdGFiIGljb24gc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNCk7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTQpO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiBzdmcge1xuXHR3aWR0aDogdmFyKC0taWNvbi1zKTtcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXMpO1xufVxuXG4vKiBFbmhhbmNlZCB0YWIgbGFiZWwgc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRmbGV4OiAxO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiBFbmhhbmNlZCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgY2F0ZWdvcml6ZWQgdGFicyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIExlZ2FjeSB0YWIgc3R5bGVzIChmYWxsYmFjaykgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb25zIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDRweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24taWNvbiB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBUYWIgc2VjdGlvbiBoZWFkZXIgdmlzaWJpbGl0eSBydWxlcyAqL1xuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZSBjYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciB3aGVuIGFueSBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyhcblx0XHQuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlOm5vdChbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxuXHQpXG5cdC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciB2aXNpYmlsaXR5IChmYWxsYmFjaykgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTaG93IGxlZ2FjeSB0YWJzIHdoZW4gZ2VuZXJhbCB0YWIgaXMgYWN0aXZlIChmYWxsYmFjayBiZWhhdmlvcikgKi9cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoLnNldHRpbmdzLXRhYi1hY3RpdmVbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxuXHQuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xufVxuXG4vKiBTZXR0aW5ncyBoZWFkZXIgdmlzaWJpbGl0eSAtIGhpZGUgd2hlbiBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXG5cdFx0LnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcblx0KVxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogRXhwcmVzc2lvbiBleGFtcGxlcyBpbiBzZXR0aW5ncyAqL1xuLmV4cHJlc3Npb24tZXhhbXBsZXMge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS1pdGVtIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTsgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5leHByZXNzaW9uLWV4YW1wbGUtY29kZSB7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLmV4cHJlc3Npb24tZXhhbXBsZS11c2Uge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4uY3VzdG9tLWZvcm1hdC10ZXh0YXJlYSB7XG5cdGhlaWdodDogMjAwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG59XG5cbi5jdXN0b20tZm9ybWF0LXBsYWNlaG9sZGVyLWluZm8ge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblxuXHR1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1lcnJvcixcbi5leHByZXNzaW9uLXByZXZpZXctZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi8qIFx1ODg2OFx1OEZCRVx1NUYwRlx1NzkzQVx1NEY4Qlx1OTg4NFx1ODlDOFx1NjgzN1x1NUYwRiAqL1xuLmV4cHJlc3Npb24tZXhhbXBsZS1wcmV2aWV3IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5wcmVzZXQtZmlsdGVycy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucHJlc2V0LWZpbHRlci1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5wcmVzZXQtZmlsdGVyLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi5uby1wcmVzZXRzLW1lc3NhZ2Uge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4ucHJlc2V0LXNhdmVkLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiA1cHg7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhc2stZmlsdGVyLXNhdmUtcHJlc2V0IHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGdhcDogMTBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbi5tb2Qtd2FybmluZyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ubW9kYWwtd29ya2Zsb3ctZGVmaW5pdGlvbiB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHdpZHRoOiA5MHZ3O1xufVxuXG4ubW9kYWwtc3RhZ2UtZGVmaW5pdGlvbiB7XG5cdG1heC13aWR0aDogODAwcHg7XG5cdHdpZHRoOiA5MHZ3O1xufVxuXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBwYW5lbCBpbXByb3ZlbWVudHMgKi9cbi53b3JrZmxvdy1jb250YWluZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0cGFkZGluZzogMTVweDtcblx0bWF4LWhlaWdodDogNTAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4ud29ya2Zsb3ctcm93IHtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0cGFkZGluZzogMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tbmFtZSB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogOHB4IDAgMCAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWN5Y2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10ZXJtaW5hbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm5vLXdvcmtmbG93cy1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLyogV29ya2Zsb3cgbW9kYWwgc3R5bGVzICovXG4ud29ya2Zsb3ctZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24gaDIge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRmb250LXNpemU6IDEuM2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4LXdyYXA6IHVuc2V0O1xuXHRnYXA6IHVuc2V0O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndvcmtmbG93LWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24sXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbixcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1jYW5jZWwtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIFN0YWdlIGVkaXRpbmcgc3R5bGVzICovXG4ud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW5hbWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmbGV4OiAxO1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA1cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1lZGl0LFxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDNweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdDpob3Zlcixcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1kZWxldGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1saW5lYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLWN5Y2xlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS10eXBlLXRlcm1pbmFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBTdWJzdGFnZSBzdHlsZXMgKi9cbi53b3JrZmxvdy1zdWJzdGFnZXMtbGlzdCB7XG5cdHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpemUtNC02KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uc3Vic3RhZ2Utc2V0dGluZ3MtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFN0YWdlIGVkaXQgbW9kYWwgKi9cbi5zdGFnZS10eXBlLXNldHRpbmdzIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5zdWJzdGFnZXMtc2VjdGlvbixcbi5jYW4tcHJvY2VlZC10by1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdWJzdGFnZXMtY29udGFpbmVyLFxuLmNhbi1wcm9jZWVkLXRvLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN1YnN0YWdlcy1saXN0LFxuLmNhbi1wcm9jZWVkLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4OiAxO1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnN1YnN0YWdlLW5leHQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA1cHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbixcbi5jYW4tcHJvY2VlZC1yZW1vdmUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b246aG92ZXIsXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uYWRkLXN1YnN0YWdlLWJ1dHRvbixcbi5hZGQtY2FuLXByb2NlZWQtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogNHB4IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5hZGQtY2FuLXByb2NlZWQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxMHB4O1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hZGQtY2FuLXByb2NlZWQtc2VsZWN0IHtcblx0ZmxleDogMTtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnN0YWdlLXNhdmUtYnV0dG9uLFxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc3RhZ2UtY2FuY2VsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YWdlLWVycm9yLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiBXb3JrZmxvdyB0YXNrIGluIGVkaXRvci9wcmV2aWV3IG1vZGUgc3R5bGVzICovXG4udGFzay13b3JrZmxvdy10YWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay13b3JrZmxvdy1zdGFnZSB7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXdvcmtmbG93LXN1YnN0YWdlIHtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXdvcmtmbG93LWhpc3Rvcnkge1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXdvcmtmbG93LXRpbWVzdGFtcCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogV29ya2Zsb3cgc2V0dGluZ3MgZGlzcGxheSBlbmhhbmNlbWVudHMgKi9cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCBzcGFuW2NsYXNzXj1cIndvcmtmbG93LXN0YWdlLW5hbWUtXCJdIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS1jeWNsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtdGVybWluYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi8qIFdvcmtmbG93RGVmaW5pdGlvbk1vZGFsIGhlYWRlciBlbmhhbmNlbWVudHMgKi9cbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS1oZWFkZXIge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlLXR5cGUtYmFkZ2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cdG1hcmdpbjogNXB4IDAgMTBweCAwO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLyogQmV0dGVyIGJ1dHRvbnMgaW4gd29ya2Zsb3cgcGFuZWxzICovXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbixcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhLFxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRwYWRkaW5nOiA2cHggMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud29ya2Zsb3ctYWRkLXN0YWdlLWJ1dHRvbjpob3Zlcixcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyLFxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xuXHRib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd24sXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogM3B4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXA6aG92ZXIsXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duOmhvdmVyLFxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFN1YnRhc2sgc3R5bGluZyBpbXByb3ZlbWVudHMgKi9cbi5zdWJzdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDA7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiAxM3B4O1xufVxuXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSxcbi5uby13b3JrZmxvd3MtbWVzc2FnZSxcbi5uby1zdWJzdGFnZXMtbWVzc2FnZSxcbi5uby1jYW4tcHJvY2VlZC1tZXNzYWdlIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRtYXJnaW46IDEwcHggMDtcbn1cblxuLyogU1RBUlQ6IFJld2FyZCBTZXR0aW5ncyBTdHlsZXMgKi9cbi5yZXdhcmRzLWxldmVscy1jb250YWluZXIsXG4ucmV3YXJkcy1pdGVtcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1pbmZvLFxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLXRvcDogMDtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCxcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDsgLyogQWxsb3cgd3JhcHBpbmcgb24gc21hbGxlciBzY3JlZW5zICovXG5cdGdhcDogMTBweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMTAwcHg7IC8qIEVuc3VyZSByZWFzb25hYmxlIG1pbmltdW0gd2lkdGggKi9cbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5pbnB1dC1jb250YWluZXIge1xuXHQvKiBPYnNpZGlhbiB1c2VzIHRoaXMgY2xhc3MgZm9yIHRleHQvdGV4dGFyZWEgKi9cblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2UgdGV4dGFyZWEgdGFrZSBmdWxsIHdpZHRoIHdpdGhpbiBpdHMgY29udGFpbmVyICovXG5cdG1pbi1oZWlnaHQ6IDQwcHg7IC8qIEVuc3VyZSBpdCdzIHRhbGwgZW5vdWdoIGZvciBhIGNvdXBsZSBsaW5lcyAqL1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmRyb3Bkb3duIHtcblx0bWluLXdpZHRoOiAxMjBweDtcbn1cblxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b24sXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87IC8qIFB1c2ggZGVsZXRlIGJ1dHRvbiB0byB0aGUgcmlnaHQgKi9cbn1cblxuLnJld2FyZHMtaXRlbS1kaXZpZGVyIHtcblx0Ym9yZGVyOiBub25lO1xuXHRoZWlnaHQ6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyBzZWxlY3QuZHJvcGRvd24ge1xuXHRmbGV4OiAxO1xufVxuXG4udmlldy1lZGl0LWJ1dHRvbixcbi52aWV3LWNvcHktYnV0dG9uLFxuLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDRweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZpZXctY29weS1idXR0b24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi52aWV3LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xuLmNvcHktbW9kZS1pbmZvIHtcblx0bWFyZ2luOiAxMHB4IDA7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4uY29weS1tb2RlLWluZm8gcCB7XG5cdG1hcmdpbjogNHB4IDA7XG59XG5cbi8qIFRhc2tzIFBsdWdpbiBDb21wYXRpYmlsaXR5IFdhcm5pbmcgQmFubmVyICovXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxuXHRcdDAuNVxuXHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZFxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrcy13YXJuaW5nLWljb24ge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2tzLXdhcm5pbmctY29udGVudCB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFza3Mtd2FybmluZy10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4udGFza3Mtd2FybmluZy10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhc2tzLXdhcm5pbmctdGV4dCBhIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50YXNrcy13YXJuaW5nLXRleHQgYTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0zKSAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzdHJvbmcge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW4ge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpmaXJzdC1vZi10eXBlIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzcGFuOmxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEVuaGFuY2VkIFByb2plY3QgQ29uZmlndXJhdGlvbiBTdHlsZXMgKi9cbi5wcm9qZWN0LXBhdGgtbWFwcGluZ3MtY29udGFpbmVyLFxuLnByb2plY3QtbWV0YWRhdGEtbWFwcGluZ3MtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnByb2plY3QtcGF0aC1tYXBwaW5nLXJvdyxcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmctcm93IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi5uby1tYXBwaW5ncy1tZXNzYWdlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMjBweDtcbn1cblxuLyogVGFzayBQcm9qZWN0IERpc3BsYXkgU3R5bGVzICovXG4udGFzay1wcm9qZWN0LXRnIHtcblx0b3BhY2l0eTogMC44O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0cGFkZGluZy1sZWZ0OiA0cHg7XG59XG5cbi50YXNrLXByb2plY3QtdGc6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDE3XCI7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xufVxuXG4vKiBNZXRhZGF0YSBFZGl0b3IgUHJvamVjdCBTdHlsZXMgKi9cbi5wcm9qZWN0LXJlYWRvbmx5IHtcblx0b3BhY2l0eTogMC44O1xufVxuXG4ucHJvamVjdC1yZWFkb25seSBpbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogRGF0ZSBmb3JtYXQgY29uZmlndXJhdGlvbiBzdHlsZXMgKi9cbi50YXNrLWdlbml1cy1kYXRlLWZvcm1hdHMtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWlucHV0OjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0biB7XG5cdHBhZGRpbmc6IDEwcHggMTZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0bWFyZ2luLXRvcDogNXB4O1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG46YWN0aXZlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBEYXRlIGZvcm1hdCBleGFtcGxlcyBzZWN0aW9uICovXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1leGFtcGxlcy1oZWFkZXIge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGgsXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRoIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcbn1cblxuLnRhc2stZ2VuaXVzLWRhdGUtZXhhbXBsZXMtdGFibGUgdHI6aG92ZXIgdGQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXdyYXBwZXIge1xuXHRtYXJnaW4tdG9wOiAxOHB4O1xufVxuXG4udGctaW5kZXgtdGFzay1zb3VyY2UtcGFuZWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGctc291cmNlLXNldHRpbmdzLWJvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG59XG5cbi50Zy1zb3VyY2Utc2V0dGluZ3MtYm9keS50Zy1zb3VyY2UtZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjU1O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTXVsdGlwbGUgU3RhdHVzIEN5Y2xlcyBVSSBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQ29udGFpbmVyIGZvciBhbGwgc3RhdHVzIGN5Y2xlcyAqL1xuLnN0YXR1cy1jeWNsZXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogSW5kaXZpZHVhbCBjeWNsZSBjYXJkICovXG4uc3RhdHVzLWN5Y2xlLWNhcmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnN0YXR1cy1jeWNsZS1jYXJkOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBDeWNsZSBjYXJkIGhlYWRlciAqL1xuLnN0YXR1cy1jeWNsZS1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4uc3RhdHVzLWN5Y2xlLWNhcmQuY29sbGFwc2VkIC5zdGF0dXMtY3ljbGUtaGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG59XG5cbi8qIENvbGxhcHNlIGJ1dHRvbiAqL1xuLnN0YXR1cy1jeWNsZS1jb2xsYXBzZS1idXR0b24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRmbGV4LXNocmluazogMDtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnN0YXR1cy1jeWNsZS1jb2xsYXBzZS1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnN0YXR1cy1jeWNsZS1jb2xsYXBzZS1idXR0b246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogVXAvRG93biBidXR0b25zICovXG4uc3RhdHVzLWN5Y2xlLXVwZG93bi1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWN5Y2xlLWJ1dHRvbiB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5zdGF0dXMtY3ljbGUtYnV0dG9uIHN2ZyB7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG59XG5cbi5zdGF0dXMtY3ljbGUtYnV0dG9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5zdGF0dXMtY3ljbGUtYnV0dG9uLmRpc2FibGVkIHtcblx0b3BhY2l0eTogMC4zO1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogQ29udGVudC1lZGl0YWJsZSB0aXRsZSAqL1xuLnN0YXR1cy1jeWNsZS10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4uc3RhdHVzLWN5Y2xlLXRpdGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5zdGF0dXMtY3ljbGUtdGl0bGU6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnN0YXR1cy1jeWNsZS10aXRsZTplbXB0eTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJVbm5hbWVkIEN5Y2xlXCI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogQ29udHJvbHMgY29udGFpbmVyICovXG4uc3RhdHVzLWN5Y2xlLWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWN5Y2xlLWNvbnRyb2xzIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEN5Y2xlIGNhcmQgYm9keSAqL1xuLnN0YXR1cy1jeWNsZS1ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG5cdHRyYW5zaXRpb246XG5cdFx0bWF4LWhlaWdodCAwLjJzIGVhc2UsXG5cdFx0b3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi5zdGF0dXMtY3ljbGUtYm9keSAuc2V0dGluZy1pdGVtIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIDA7XG59XG5cbi8qIENvbGxhcHNlZCBzdGF0ZSAqL1xuLnN0YXR1cy1jeWNsZS1jYXJkLmNvbGxhcHNlZCAuc3RhdHVzLWN5Y2xlLWJvZHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTdGF0dXMgbGlzdCBjb250YWluZXIgKi9cbi5zdGF0dXMtbGlzdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBJbmRpdmlkdWFsIHN0YXR1cyByb3cgKi9cbi5zdGF0dXMtcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uc3RhdHVzLXJvdzpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4uc3RhdHVzLXJvdyAuc2V0dGluZy1pdGVtIHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdGZsZXg6IDE7XG59XG5cbi5zdGF0dXMtcm93IC5zZXR0aW5nLWl0ZW0tbmFtZSB7XG5cdG1pbi13aWR0aDogNDBweDtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhdHVzLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0ZmxleDogMTtcbn1cblxuLyogU3RhdHVzIGRyYWcgaGFuZGxlICovXG4uc3RhdHVzLWRyYWctaGFuZGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRtaW4taGVpZ2h0OiAzMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogZ3JhYjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdG9wYWNpdHk6IDAuNDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnN0YXR1cy1kcmFnLWhhbmRsZSBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4uc3RhdHVzLXJvdzpob3ZlciAuc3RhdHVzLWRyYWctaGFuZGxlIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4uc3RhdHVzLWRyYWctaGFuZGxlOmhvdmVyIHtcblx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uc3RhdHVzLWRyYWctaGFuZGxlOmFjdGl2ZSB7XG5cdGN1cnNvcjogZ3JhYmJpbmc7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiBTdGF0dXMgZHJhZyBzdGF0ZXMgKi9cbi5zdGF0dXMtcm93LWdob3N0IHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4uc3RhdHVzLXJvdy1jaG9zZW4ge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi5zdGF0dXMtcm93LWRyYWcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogUHJpb3JpdHkgaW5kaWNhdG9yICovXG4uc3RhdHVzLWN5Y2xlLWhlYWRlciAuc2V0dGluZy1pdGVtLW5hbWU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDhweDtcblx0aGVpZ2h0OiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi8qIERpc2FibGVkIGN5Y2xlIHN0eWxpbmcgKi9cbi5zdGF0dXMtY3ljbGUtY2FyZDpoYXMoXG5cdC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtZW5hYmxlZClcbikge1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi5zdGF0dXMtY3ljbGUtY2FyZDpoYXMoXG5cdFx0LnNldHRpbmctaXRlbS1jb250cm9sIC5jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1lbmFibGVkKVxuXHQpXG5cdC5zdGF0dXMtY3ljbGUtYm9keSB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBRdWljayBUZW1wbGF0ZXMgU2VjdGlvbiAqL1xuLnN0YXR1cy1jeWNsZXMtY29udGFpbmVyICsgLnNldHRpbmctaXRlbSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5zdGF0dXMtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXG5cdC5zdGF0dXMtcm93IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIEFkZCBidXR0b24gc3R5bGluZyAqL1xuLnN0YXR1cy1saXN0LWNvbnRhaW5lciAuc2V0dGluZy1pdGVtIGJ1dHRvbixcbi5zdGF0dXMtY3ljbGVzLWNvbnRhaW5lciA+IC5zZXR0aW5nLWl0ZW0gYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5zdGF0dXMtbGlzdC1jb250YWluZXIgLnNldHRpbmctaXRlbSBidXR0b246aG92ZXIsXG4uc3RhdHVzLWN5Y2xlcy1jb250YWluZXIgPiAuc2V0dGluZy1pdGVtIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFRlbXBsYXRlIGJ1dHRvbnMgaW4gcXVpY2sgdGVtcGxhdGVzIHNlY3Rpb24gKi9cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bZGF0YS10b29sdGlwKj1cIlRPRE9cIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG59XG5cbi5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bZGF0YS10b29sdGlwKj1cIlBMQU5cIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbltkYXRhLXRvb2x0aXAqPVwiMVwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG59XG5cbi8qIEV4dHJhIGJ1dHRvbiBpY29ucyBzdHlsaW5nICovXG4uc3RhdHVzLWN5Y2xlLWhlYWRlciAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNsaWNrYWJsZS1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uc3RhdHVzLWN5Y2xlLWhlYWRlciAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi5zdGF0dXMtY3ljbGUtaGVhZGVyXG5cdC5zZXR0aW5nLWl0ZW0tY29udHJvbFxuXHQuY2xpY2thYmxlLWljb25bYXJpYS1sYWJlbCo9XCJEZWxldGVcIl06aG92ZXIsXG4uc3RhdHVzLXJvdyAuY2xpY2thYmxlLWljb25bYXJpYS1sYWJlbCo9XCJSZW1vdmVcIl06aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBjeWNsZSBjYXJkcyAtIHJlbW92ZWQgcGVyIHVzZXIgcmVxdWVzdCAqL1xuLyogQ3ljbGUgZHJhZyBmdW5jdGlvbmFsaXR5IC0gcmVtb3ZlZCwgcmVwbGFjZWQgd2l0aCB1cC9kb3duIGJ1dHRvbnMgKi9cbiIsICIudGctc3RhdHVzLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMyk7XG5cdG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTItMSkpO1xufVxuXG4udGctaWNvbnMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50Zy1pY29ucy1jb250YWluZXIgLnRnLXN0YXR1cy1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBHbG9iYWwgRmlsdGVyIENvbnRhaW5lciBTdHlsZXMgKi9cbi5nbG9iYWwtZmlsdGVyLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi8qIEZpbGUgVGFzayBkeW5hbWljIGNvbmZpZ3VyYXRpb24gc3R5bGVzICovXG4udGFzay1nZW5pdXMtbWV0YWRhdGEtZmllbGRzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy10YWdzLWNvbnRhaW5lcixcbi50YXNrLWdlbml1cy1wYXRocy1jb250YWluZXIsXG4udGFzay1nZW5pdXMtZGF0ZS1mb3JtYXRzLWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMXJlbSAwO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkcy1oZWFkZXIsXG4udGFzay1nZW5pdXMtdGFncy1oZWFkZXIsXG4udGFzay1nZW5pdXMtcGF0aHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWZvcm1hdHMtaGVhZGVyLFxuLnRhc2stZ2VuaXVzLWV4YW1wbGVzLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1saXN0LFxuLnRhc2stZ2VuaXVzLXRhZy1saXN0LFxuLnRhc2stZ2VuaXVzLXBhdGgtbGlzdCxcbi50YXNrLWdlbml1cy1mb3JtYXQtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtaXRlbSxcbi50YXNrLWdlbml1cy10YWctaXRlbSxcbi50YXNrLWdlbml1cy1wYXRoLWl0ZW0sXG4udGFzay1nZW5pdXMtZm9ybWF0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogMC41cmVtO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1pdGVtOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtaXRlbTpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtaXRlbTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLWZpZWxkLWlucHV0LFxuLnRhc2stZ2VuaXVzLXRhZy1pbnB1dCxcbi50YXNrLWdlbml1cy1wYXRoLWlucHV0LFxuLnRhc2stZ2VuaXVzLWZvcm1hdC1pbnB1dCB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDAuNHJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy10YWctaW5wdXQ6Zm9jdXMsXG4udGFzay1nZW5pdXMtcGF0aC1pbnB1dDpmb2N1cyxcbi50YXNrLWdlbml1cy1mb3JtYXQtaW5wdXQ6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtZmllbGQtZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy10YWctZGVsZXRlLWJ0bixcbi50YXNrLWdlbml1cy1wYXRoLWRlbGV0ZS1idG4sXG4udGFzay1nZW5pdXMtZm9ybWF0LWRlbGV0ZS1idG4ge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1maWVsZC1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXRhZy1kZWxldGUtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLXBhdGgtZGVsZXRlLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1mb3JtYXQtZGVsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtYWRkLWZpZWxkLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtdGFnLWJ0bixcbi50YXNrLWdlbml1cy1hZGQtcGF0aC1idG4sXG4udGFzay1nZW5pdXMtYWRkLWZvcm1hdC1idG4ge1xuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi50YXNrLWdlbml1cy1hZGQtZmllbGQtYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC10YWctYnRuOmhvdmVyLFxuLnRhc2stZ2VuaXVzLWFkZC1wYXRoLWJ0bjpob3Zlcixcbi50YXNrLWdlbml1cy1hZGQtZm9ybWF0LWJ0bjpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG59XG5cbi8qIERhdGUgZm9ybWF0IGV4YW1wbGVzIHRhYmxlICovXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcyB7XG5cdG1hcmdpbi10b3A6IDFyZW07XG5cdHBhZGRpbmc6IDFyZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0aCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWdlbml1cy1kYXRlLWV4YW1wbGVzLXRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGFzay1nZW5pdXMtZGF0ZS1leGFtcGxlcy10YWJsZSB0cjpob3ZlciB0ZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4udGFzay1nZW5pdXMtaWZyYW1lLW1vZGFsIHtcblx0d2lkdGg6IDkwJTtcblx0bWF4LXdpZHRoOiAxNDAwcHg7XG5cdG1heC1oZWlnaHQ6IDkwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWdlbml1cy1pZnJhbWUtbW9kYWwgLm1vZGFsLXRpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnRpbWUtcGFyc2luZy1leGFtcGxlIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG59XG5cbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRpbWVcIl0ge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLmZpbGUtc291cmNlLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5mbHVlbnQtdmlldy10YWJzLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLTItMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRnLWluZGV4LXRhc2stc291cmNlLXN3aXRjaGVyIC5mbHVlbnQtdmlldy10YWItaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50Zy1pbmRleC10YXNrLXNvdXJjZS1zd2l0Y2hlciAuZmx1ZW50LXZpZXctdGFiLWxhYmVsIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5maWxlLW5hbWUtdGVtcGxhdGVzLWNvbnRhaW5lciBpbnB1dCB7XG5cdGZsZXg6IDE7XG59XG5cbi5maWxlLW5hbWUtdGVtcGxhdGVzLWNvbnRhaW5lciAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBXb3Jrc3BhY2UgSGlkZGVuIE1vZHVsZXMgQ29uZmlndXJhdGlvbiAqL1xuLndvcmtzcGFjZS1oaWRkZW4tbW9kdWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya3NwYWNlLWhpZGRlbi1tb2R1bGVzLXRpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi53b3Jrc3BhY2UtaGlkZGVuLW1vZHVsZXMtdGl0bGUgc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya3NwYWNlLWhpZGRlbi1tb2R1bGVzLWRlc2Mge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXBzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWdyb3VwIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtZ3JvdXAtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmbGV4OiAxO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1ncm91cC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtbGlzdCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWl0ZW0uaXMtaGlkZGVuIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pdGVtLmlzLWhpZGRlbjpob3ZlciB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4ud29ya3NwYWNlLW1vZHVsZS1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi53b3Jrc3BhY2UtbW9kdWxlLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0ZmxleDogMTtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLndvcmtzcGFjZS1tb2R1bGUtaXRlbS5pcy1oaWRkZW4gLndvcmtzcGFjZS1tb2R1bGUtbGFiZWwge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBXb3Jrc3BhY2UgbGlzdCBpY29uIGluIHNldHRpbmdzICovXG4ud29ya3NwYWNlLW5hbWUtd2l0aC1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi53b3Jrc3BhY2UtbGlzdC1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG4iLCAiLyogQmV0YSB0ZXN0IHdhcm5pbmcgYmFubmVyIHN0eWxlcyAqL1xyXG4uYmV0YS10ZXN0LXdhcm5pbmctYmFubmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogMTJweDtcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLmJldGEtd2FybmluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLmJldGEtd2FybmluZy10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5iZXRhLXdhcm5pbmctdGV4dCB7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcbiIsICIvKiBTZXR0aW5ncyBTZWFyY2ggQ29tcG9uZW50IFN0eWxlcyAqL1xyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2XHU1QkI5XHU1NjY4IC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjgwN1x1NTFDNlx1OEY5M1x1NTE2NVx1Njg0Nlx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcclxuXHRib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0bWluLWhlaWdodDogdmFyKC0taW5wdXQtaGVpZ2h0KTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dC1jb250YWluZXI6Zm9jdXMtd2l0aGluIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1NTZGRVx1NjgwNyAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xyXG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU4RjkzXHU1MTY1XHU2ODQ2IC0gXHU5MUNEXHU3RjZFIE9ic2lkaWFuIFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0LnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dCB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogXHU2RTA1XHU5NjY0XHU2MzA5XHU5NEFFIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjMwOVx1OTRBRVx1NjgzN1x1NUYwRiAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHdpZHRoOiB2YXIoLS1jbGlja2FibGUtaWNvbi1zaXplKTtcclxuXHRoZWlnaHQ6IHZhcigtLWNsaWNrYWJsZS1pY29uLXNpemUpO1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtY2xlYXI6YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXhzKTtcclxuXHRoZWlnaHQ6IHZhcigtLWljb24teHMpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTVCQjlcdTU2NjggLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU1RjM5XHU1MUZBXHU4M0RDXHU1MzU1XHU2ODM3XHU1RjBGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYygxMDAlICsgdmFyKC0tc2l6ZS0yLTEpKTtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdHotaW5kZXg6IHZhcigtLWxheWVyLXBvcG92ZXIpO1xyXG5cdG1heC1oZWlnaHQ6IDMyMHB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTk4NzkgLSBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU4M0RDXHU1MzU1XHU5ODc5XHU2ODM3XHU1RjBGICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6aG92ZXIsXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQ6YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi8qIFx1NjQxQ1x1N0QyMlx1N0VEM1x1Njc5Q1x1NTQwRFx1NzlGMCAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xyXG59XHJcblxyXG4vKiBcdTY0MUNcdTdEMjJcdTdFRDNcdTY3OUNcdTUxNDNcdTRGRTFcdTYwNkYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtbWV0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU3RUQzXHU2NzlDXHU2M0NGXHU4RkYwICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLyogXHU2NUUwXHU3RUQzXHU2NzlDXHU3MkI2XHU2MDAxICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtbm8tcmVzdWx0IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKiBcdThCQkVcdTdGNkVcdTk4NzlcdTlBRDhcdTRFQUVcdTY1NDhcdTY3OUMgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1oaWdobGlnaHQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMgZWFzZS1vdXQ7XHJcblx0YW5pbWF0aW9uOiB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2UgMC42cyBlYXNlLW91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyB0Zy1zZXR0aW5ncy1zZWFyY2gtcHVsc2Uge1xyXG5cdDAlIHtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU5NTJFXHU3NkQ4XHU1QkZDXHU4MjJBXHU2MzA3XHU3OTNBXHU1NjY4ICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0LXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcclxufVxyXG5cclxuLyogXHU1NENEXHU1RTk0XHU1RjBGXHU4QkJFXHU4QkExICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0cyB7XHJcblx0XHRtYXgtaGVpZ2h0OiAyODBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR9XHJcblxyXG5cdC50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0IHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XHJcblx0fVxyXG5cclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1uYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0fVxyXG5cclxuXHQudGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdC1jYXRlZ29yeSB7XHJcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU2RURBXHU1MkE4XHU2NzYxXHU2ODM3XHU1RjBGIC0gXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NjgwN1x1NTFDNlx1NkVEQVx1NTJBOFx1Njc2MSAqL1xyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHMge1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1iZykgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiB2YXIoLS1zY3JvbGxiYXItdGhpbi13aWR0aCk7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXNjcm9sbGJhci10aGluLXRodW1iLXJhZGl1cyk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnLWhvdmVyKTtcclxuXHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKiBcdTRFMEVcdThCQkVcdTdGNkVcdTY4MDdcdTdCN0VcdTk4NzVcdTVCQjlcdTU2NjhcdTc2ODRcdTk1RjRcdThERERcdThDMDNcdTY1NzQgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBcdTRGRUVcdTU5MERcdTUzRUZcdTgwRkRcdTc2ODQgei1pbmRleCBcdTk1RUVcdTk4OTggKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcclxuXHR6LWluZGV4OiB2YXIoLS1sYXllci1wb3BvdmVyLCAyMDApO1xyXG59XHJcblxyXG4vKiBcdTc4NkVcdTRGRERcdThGOTNcdTUxNjVcdTY4NDZcdTgwNUFcdTcxMjZcdTY1RjZcdTc2ODRcdTY4MzdcdTVGMEZcdTZCNjNcdTc4NkUgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogXHU2NDFDXHU3RDIyXHU1NkZFXHU2ODA3XHU3Njg0XHU0RUE0XHU0RTkyXHU3MkI2XHU2MDAxICovXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaWNvbiB7XHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi50Zy1zZXR0aW5ncy1zZWFyY2gtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiAudGctc2V0dGluZ3Mtc2VhcmNoLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBcdTZFMDVcdTk2NjRcdTYzMDlcdTk0QUVcdTc2ODRcdTU2RkVcdTY4MDdcdTY4MzdcdTVGMEYgKi9cclxuLnRnLXNldHRpbmdzLXNlYXJjaC1jbGVhciB7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctc2V0dGluZ3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcbiIsICIvKiBTZXR0aW5ncyBNaWdyYXRpb24gU3R5bGluZyAqL1xyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTZweDtcclxuXHRtYXJnaW46IDEycHggMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHAge1xyXG5cdG1hcmdpbjogNHB4IDA7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtd2FybmluZyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC13YXJuaW5nIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWluZm8ubW9kLXdhcm5pbmcgYnV0dG9uLm1vZC1tdXRlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogTWlncmF0aW9uIFN1Y2Nlc3MgSW5kaWNhdG9yICovXHJcbi5zZXR0aW5nLWl0ZW0taW5mby5tb2Qtc3VjY2VzcyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tYmcpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMTZweDtcclxuXHRtYXJnaW46IDEycHggMDtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1pbmZvLm1vZC1zdWNjZXNzIC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLyogRmlsZVNvdXJjZSBJbnRlZ3JhdGlvbiBOb3RpY2UgKi9cclxuLmZpbGUtc291cmNlLW5vdGljZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdG1hcmdpbjogOHB4IDA7XHJcbn1cclxuXHJcbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi5maWxlLXNvdXJjZS1ub3RpY2UgLm5vdGljZS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuIiwgIi8qIFdvcmtzcGFjZSBTZXR0aW5ncyBTZWxlY3RvciBTdHlsZXMgKi9cclxuXHJcbi8qIE1haW4gY29udGFpbmVyIGZvciB0aGUgaGVhZGVyIGJhciAqL1xyXG4udGctc2V0dGluZ3MtaGVhZGVyLWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTJweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250YWluZXIgZm9yIHdvcmtzcGFjZSBzZWxlY3RvciAqL1xyXG4udGctd29ya3NwYWNlLXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi8qIFdvcmtzcGFjZSBzZWxlY3RvciBidXR0b24gKi9cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0bWluLXdpZHRoOiAxNTBweDtcclxuXHRoZWlnaHQ6IDM0cHg7IC8qIE1hdGNoIHNlYXJjaCBiYXIgaGVpZ2h0ICovXHJcbn1cclxuXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b246YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFdvcmtzcGFjZSBpY29uICovXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24gLndvcmtzcGFjZS1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4vKiBXb3Jrc3BhY2UgbmFtZSAqL1xyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbiAud29ya3NwYWNlLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4vKiBEcm9wZG93biBhcnJvdyBpY29uICovXHJcbi53b3Jrc3BhY2Utc2V0dGluZ3Mtc2VsZWN0b3ItYnV0dG9uIC53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24gLndvcmtzcGFjZS1kcm9wZG93bi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ud29ya3NwYWNlLXNldHRpbmdzLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciAud29ya3NwYWNlLWRyb3Bkb3duLWljb24gc3ZnIHtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIEFkanVzdCBzZWFyY2ggY29udGFpbmVyIHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXHJcbi50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIC50Zy1zZXR0aW5ncy1zZWFyY2gtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1heC13aWR0aDogbm9uZTtcclxufVxyXG5cclxuLyogRW5zdXJlIHNlYXJjaCBpbnB1dCBjb250YWluZXIgZmlsbHMgd2lkdGggKi9cclxuLnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1pbnB1dC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBNYWluIGNvbnRhaW5lciBhZGp1c3RtZW50cyAqL1xyXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogRW5zdXJlIHNlYXJjaCByZXN1bHRzIGFwcGVhciBiZWxvdyB0aGUgaGVhZGVyIGJhciAqL1xyXG4udGctc2V0dGluZ3MtbWFpbi1jb250YWluZXIgLnRnLXNldHRpbmdzLXNlYXJjaC1yZXN1bHRzIHtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuXHJcbi8qIE1vYmlsZSByZXNwb25zaXZlIGFkanVzdG1lbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1zZXR0aW5ncy1oZWFkZXItYmFyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHRcdGdhcDogOHB4O1xyXG5cdH1cclxuXHJcblx0LndvcmtzcGFjZS1zZXR0aW5ncy1zZWxlY3Rvci1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xyXG5cdH1cclxuXHJcblx0LnRnLXNldHRpbmdzLWhlYWRlci1iYXIgLnRnLXNldHRpbmdzLXNlYXJjaC1jb250YWluZXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnRnLXdvcmtzcGFjZS1zZWxlY3Rvci1jb250YWluZXIgLndvcmtzcGFjZS1pY29uIHtcclxuXHR3aWR0aDogdW5zZXQ7XHJcblx0aGVpZ2h0OiB1bnNldDtcclxuXHRjb2xvcjogaW5oZXJpdDtcclxufVxyXG4iLCAiLyogT25ib2FyZGluZyBDb21wb25lbnQgUHJldmlld3MgU3R5bGVzICovXG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UpIC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLXZpZXc6aGFzKC5jb21wb25lbnQtc2hvd2Nhc2UsIC5pbnRyby1saW5lKSAub25ib2FyZGluZy1oZWFkZXIge1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAyKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpXG5cdFx0dmFyKC0tc2l6ZS00LTIpIHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmx1ZW50LXRvcC1uYXZpZ2F0aW9uLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZsdWVudC1zaWRlYmFyLmNvbXBvbmVudC1wcmV2aWV3IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2U6aGFzKFxuXHRcdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0XHRcdCsgLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2XG5cdClcblx0LnRnLWZsdWVudC1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIHtcblx0d2lkdGg6IDIwMHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi8qIENvbXBvbmVudCBzaG93Y2FzZSBjb250YWluZXIgKi9cbi5jb21wb25lbnQtc2hvd2Nhc2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC02KTtcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtNCkgMDtcblx0bWluLWhlaWdodDogNDAwcHg7XG5cdG1pbi13aWR0aDogOTAlO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcge1xuXHRmbGV4OiAxO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1kZXNjcmlwdGlvbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLWRlc2NyaXB0aW9uIGgzIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLWRlc2NyaXB0aW9uIHAge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4uY29tcG9uZW50LWZlYXR1cmUtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmNvbXBvbmVudC1mZWF0dXJlLWxpc3QgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzEzXCI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIENvbXBvbmVudCBwcmV2aWV3IGFkanVzdG1lbnRzICovXG4uY29tcG9uZW50LXByZXZpZXcge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIFNjYWxlIGRvd24gcHJldmlld3MgdG8gZml0ICovXG4uY29tcG9uZW50LXByZXZpZXctc2lkZWJhciB7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5jb21wb25lbnQtcHJldmlldy1wb3BvdmVyIHtcblx0bWF4LXdpZHRoOiAzNTBweDtcbn1cblxuLyogRGlzYWJsZSBpbnRlcmFjdGlvbnMgaW4gcHJldmlld3MgKi9cbi5jb21wb25lbnQtcHJldmlldyBpbnB1dCxcbi5jb21wb25lbnQtcHJldmlldyBidXR0b24sXG4uY29tcG9uZW50LXByZXZpZXcgLmNsaWNrYWJsZS1pY29uIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogQ29tcG9uZW50IHRhYnMgZm9yIHN3aXRjaGluZyB2aWV3cyAqL1xuLmNvbXBvbmVudC10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLmNvbXBvbmVudC10YWIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uY29tcG9uZW50LXRhYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY29tcG9uZW50LXRhYi5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4vKiBNdWx0aXBsZSBjb21wb25lbnQgc2hvd2Nhc2UgKi9cbi5jb21wb25lbnRzLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuY29tcG9uZW50LXNob3djYXNlIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3IHtcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcblx0fVxufVxuXG4vKiBGaWxlIGZpbHRlciBwcmV2aWV3IHN0eWxlcyAqL1xuLmZpbGUtZmlsdGVyLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmZpbGUtZmlsdGVyLWNvbmZpZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cy1wcmV2aWV3IHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5maWx0ZXItc3RhdC1pdGVtIHtcblx0ZmxleDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmlsdGVyLXN0YXQtdmFsdWUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2VyKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5maWx0ZXItc3RhdC1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0xKTtcbn1cblxuLyogUmVjb21tZW5kZWQgY29uZmlncyAqL1xuLnJlY29tbWVuZGVkLWNvbmZpZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW0ge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnJlY29tbWVuZGVkLWNvbmZpZy1pdGVtIGg0IHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xufVxuXG4ucmVjb21tZW5kZWQtY29uZmlnLWl0ZW0gcCB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcudGctZmx1ZW50LWNvbnRhaW5lci5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtc2lkZWJhciB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBQcmV2aWV3IGludGVyYWN0aXZpdHkgKHNjb3BlZCB0byBwcmV2aWV3IG9ubHkpICovXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcgLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIgLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0sXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcgLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXIgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXdcblx0LmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0LmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0uaXMtYWN0aXZlLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlld1xuXHQuY29tcG9uZW50LXByZXZpZXctc2lkZWJhclxuXHQuZmx1ZW50LW5hdmlnYXRpb24taXRlbTpmb2N1cy12aXNpYmxlLFxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3XG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyXG5cdC5mbHVlbnQtcHJvamVjdC1pdGVtOmZvY3VzLXZpc2libGUge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4vKiBGb2N1cy9EaW0gbW9kZSBmb3Igc3RlcCBoaWdobGlnaHRzICovXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXcuZm9jdXMtbW9kZSAuaXMtZGltbWVkIHtcblx0b3BhY2l0eTogMC41O1xuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxNSUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNvbXBvbmVudC1zaG93Y2FzZS1wcmV2aWV3LmZvY3VzLW1vZGUgLmlzLWZvY3VzZWQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlOmhhcyguZmx1ZW50LXRvcC1uYXZpZ2F0aW9uKTpub3QoXG5cdFx0OmhhcyguY29tcG9uZW50LXByZXZpZXctc2lkZWJhcilcblx0KSB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2UtcHJldmlldy5mb2N1cy1tb2RlLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2IHtcblx0ZmxleDogdW5zZXQ7XG5cdGhlaWdodDogbWF4LWNvbnRlbnQ7XG59XG5cbi5mbHVlbnQtdG9wLW5hdmlnYXRpb24uY29tcG9uZW50LXByZXZpZXcuaXMtZm9jdXNlZCB7XG5cdG91dGxpbmU6IHVuc2V0O1xufVxuXG4uY29tcG9uZW50LXNob3djYXNlLXByZXZpZXc6aGFzKFxuXHRcdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyICsgLmNvbXBvbmVudC1wcmV2aWV3LXRvcG5hdlxuXHQpXG5cdC5jb21wb25lbnQtcHJldmlldy1zaWRlYmFyIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG5cbi5jb21wb25lbnQtc2hvd2Nhc2U6aGFzKFxuXHRcdC50Zy1mbHVlbnQtY29udGFpbmVyLmNvbXBvbmVudC1wcmV2aWV3LXNpZGViYXJcblx0XHRcdCsgLnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2XG5cdClcblx0LnRnLWZsdWVudC1jb250YWluZXIuY29tcG9uZW50LXByZXZpZXctdG9wbmF2IHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5vbmJvYXJkaW5nLWNvbnRlbnQgLnJlc291cmNlcy1zZWN0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCAiLyogUGxhY2VtZW50IFByZXZpZXcgU3R5bGVzICovXHJcblxyXG4ucGxhY2VtZW50LXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcclxuXHRnYXA6IDJweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0aGVpZ2h0OiAxODBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLyogU2lkZWJhcnMgKi9cclxuLnBsYWNlbWVudC1zaWRlYmFyIHtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDJweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC1zaWRlYmFyLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pbmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLyogU2lkZWJhciBpdGVtcyAqL1xyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbSB7XHJcblx0aGVpZ2h0OiA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMXB4O1xyXG59XHJcblxyXG4ucGxhY2VtZW50LXNpZGViYXItaXRlbS1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLWluYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRvcGFjaXR5OiAwLjI7XHJcbn1cclxuXHJcbi8qIFJpZ2h0IHNpZGViYXIgaXRlbXMgKHNtYWxsZXIpICovXHJcbi5wbGFjZW1lbnQtc2lkZWJhci1pdGVtLXNtYWxsIHtcclxuXHRoZWlnaHQ6IDVweDtcclxufVxyXG5cclxuLyogQ2VudGVyIGFyZWEgKi9cclxuLnBsYWNlbWVudC1jZW50ZXIge1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2VudGVyLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi8qIFRhYiBiYXIgKi9cclxuLnBsYWNlbWVudC10YWItYmFyIHtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAycHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnBsYWNlbWVudC10YWIge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG5cclxuLnBsYWNlbWVudC10YWItYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4vKiBDb250ZW50IGFyZWEgKi9cclxuLnBsYWNlbWVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDZweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY29udGVudC1saW5lIHtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG4iLCAiLyogRmlsZSBGaWx0ZXIgU2V0dGluZ3MgU3R5bGVzICovXG5cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMXJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMXJlbTtcblx0cGFkZGluZzogMC43NXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGU6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoLFxuLmZpbGUtZmlsdGVyLXJ1bGUtc2NvcGUsXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS10eXBlIHtcblx0bWluLXdpZHRoOiA4MHB4O1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoIHtcblx0ZmxleDogMTtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XG5cdG1pbi13aWR0aDogNjBweDtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUgbGFiZWwge1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdHBhZGRpbmc6IDAuMjVyZW07XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4td2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjhweDtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHRnYXA6IDAuNXJlbTtcbn1cblxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlICsgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0cyB7XG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLmZpbGUtZmlsdGVyLXN0YXQ6bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5zdGF0LWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnN0YXQtdmFsdWUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLyogRXJyb3Igc3RhdGUgZm9yIHN0YXRpc3RpY3MgKi9cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIC5zdGF0LWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4vKiBSZWZyZXNoIGJ1dHRvbiBzdHlsaW5nICovXG4uc2V0dGluZy1pdGVtIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBidXR0b25bYXJpYS1sYWJlbCo9XCJyZWZyZXNoXCJdIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXTpob3ZlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLyogTG9hZGluZyBzdGF0ZSBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgcmVmcmVzaC1zcGluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2Rpc2FibGVkXSAubHVjaWRlLXJlZnJlc2gtY3cge1xuXHRhbmltYXRpb246IHJlZnJlc2gtc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBzbWFsbGVyIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZmlsZS1maWx0ZXItcnVsZSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLXR5cGUsXG5cdC5maWxlLWZpbHRlci1ydWxlLXBhdGgsXG5cdC5maWxlLWZpbHRlci1ydWxlLWVuYWJsZWQge1xuXHRcdG1pbi13aWR0aDogYXV0bztcblx0fVxuXG5cdC5maWxlLWZpbHRlci1ydWxlLWRlbGV0ZSB7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdFx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHR9XG59XG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGhlbWUtZGFyayAuZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIEVtcHR5IHN0YXRlIHN0eWxpbmcgKi9cbi5maWxlLWZpbHRlci1ydWxlcy1jb250YWluZXI6ZW1wdHk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiTm8gZmlsdGVyIHJ1bGVzIGNvbmZpZ3VyZWQuIEFkZCBydWxlcyBiZWxvdyB0byBzdGFydCBmaWx0ZXJpbmcgZmlsZXMgYW5kIGZvbGRlcnMuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAycmVtO1xufVxuXG4vKiBQcmVzZXQgdGVtcGxhdGVzIHNlY3Rpb24gKi9cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIFByZXNldCBidXR0b24gc3R5bGluZyAqL1xuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAwLjY7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogU3VjY2VzcyBzdGF0ZSBmb3IgYXBwbGllZCBwcmVzZXRzICovXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLmZpbGUtZmlsdGVyLXJ1bGUtZWRpdG9yLW1vZGFsIHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0d2lkdGg6IDkwdnc7XG59XG4iLCAiLyogXHU0RTYwXHU2MEVGXHU3RjE2XHU4RjkxXHU1RjM5XHU3QTk3XHU2ODM3XHU1RjBGICovXHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAubW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU3QzdCXHU1NzhCXHU5MDA5XHU2MkU5XHU1NjY4ICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1zZWxlY3RvciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcblx0Z2FwOiAxMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcclxuXHQuaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS10ZXh0IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZGVzYyB7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTkwMUFcdTc1MjhcdTg4NjhcdTUzNTVcdTY4MzdcdTVGMEYgKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jb21tb24tZm9ybSxcclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWZvcm0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi8qIFx1NTZGRVx1NjgwN1x1OTg4NFx1ODlDOCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWljb24tcHJldmlldyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMHB4O1xyXG5cdGhlaWdodDogMzBweDtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcgc3ZnIHtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbi8qIFx1NjYyMFx1NUMwNFx1N0YxNlx1OEY5MVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1rZXkge1xyXG5cdHdpZHRoOiA4MHB4O1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1hcnJvdyB7XHJcblx0bWFyZ2luOiAwIDEwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctdmFsdWUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWRlbGV0ZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi8qIFx1NEU4Qlx1NEVGNlx1N0YxNlx1OEY5MVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50cy1jb250YWluZXIge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGdhcDogNXB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LW5hbWUge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRldGFpbHMge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1wcm9wZXJ0eSB7XHJcblx0d2lkdGg6IDEyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtZGVsZXRlIHtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0cGFkZGluZzogMCA4cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtYWRkLWV2ZW50LWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi8qIFx1NjMwOVx1OTRBRVx1NUJCOVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWVkaXQtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWNhbmNlbC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtc2F2ZS1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogXHU4RjkzXHU1MTY1XHU1QjU3XHU2QkI1ICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuLmhhYml0LWVkaXQtZGlhbG9nIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtZGVzYyxcclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWl0ZW0uc2VsZWN0ZWQgLmhhYml0LXR5cGUtbmFtZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4iLCAiLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU1QkI5XHU1NjY4ICovXHJcbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmhhYml0LXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy10b3A6IDEycHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogXHU2REZCXHU1MkEwXHU2MzA5XHU5NEFFICovXHJcbi5oYWJpdC1hZGQtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1hZGQtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA2cHg7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaGFiaXQtYWRkLWJ1dHRvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1MjE3XHU4ODY4XHU0RTNBXHU3QTdBXHU3MkI2XHU2MDAxICovXHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xyXG5cdG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTk4NzlcdTUyMTdcdTg4NjggKi9cclxuLmhhYml0LWl0ZW1zLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU5ODc5ICovXHJcbi5oYWJpdC1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0aGVpZ2h0OiA3LjVyZW07XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1NkZFXHU2ODA3ICovXHJcbi5oYWJpdC1pdGVtLWljb24ge1xyXG5cdC0taWNvbi1zaXplOiAyMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNDhweDtcclxuXHRoZWlnaHQ6IDQ4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG59XHJcblxyXG4uaGFiaXQtaXRlbS1pY29uIHN2ZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU0RkUxXHU2MDZGICovXHJcbi5oYWJpdC1pdGVtLWluZm8ge1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAwOyAvKiBcdTk2MzJcdTZCNjJcdTUxODVcdTVCQjlcdThGQzdcdTk1N0ZcdTY0OTFcdTVGMDBcdTVFMDNcdTVDNDAgKi9cclxufVxyXG5cclxuLmhhYml0LWl0ZW0tbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmhhYml0LWl0ZW0tZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmhhYml0LWl0ZW0tdHlwZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTY0Q0RcdTRGNUNcdTYzMDlcdTk0QUUgKi9cclxuLmhhYml0LWl0ZW0tYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDhweDtcclxuXHRtYXJnaW4tbGVmdDogMTJweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtYnV0dG9uLFxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAzMnB4O1xyXG5cdGhlaWdodDogMzJweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWJ1dHRvbjpob3ZlcixcclxuLmhhYml0LWRlbGV0ZS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1idXR0b24gc3ZnLFxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHN2ZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4vKiBcdTRFNjBcdTYwRUZcdTUyMjBcdTk2NjRcdTVCRjlcdThCRERcdTY4NDZcdTY4MzdcdTVGMEYgKi9cclxuLmhhYml0LWRlbGV0ZS1tb2RhbC1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uLWNvbmZpcm0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiIsICIvKiBJQ1MgU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4vKiBNYWluIGNvbnRhaW5lciAqL1xyXG4uaWNzLXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyogSGVhZGVyIHNlY3Rpb24gKi9cclxuLmljcy1oZWFkZXItY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5pY3MtYmFjay1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1iYWNrLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5pY3MtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLyogR2xvYmFsIHNldHRpbmdzICovXHJcbi5pY3MtZ2xvYmFsLXNldHRpbmdzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogU291cmNlcyBsaXN0ICovXHJcbi5pY3Mtc291cmNlcy1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlcy1saXN0IGgzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWl0ZW0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1pdGVtOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtdGl0bGUgc3Ryb25nIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLXN0YXR1cyB7XHJcblx0cGFkZGluZzogMC4zcmVtIDAuOHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cdGZvbnQtc2l6ZTogMC43NWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi5zdGF0dXMtZW5hYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnN0YXR1cy1kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWRldGFpbHMge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1kZXRhaWxzIGRpdiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xyXG59XHJcblxyXG4vKiBBY3Rpb24gYnV0dG9ucyAqL1xyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMXJlbTtcclxufVxyXG5cclxuLnByaW1hcnktYWN0aW9ucyxcclxuLnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b246ZGlzYWJsZWQge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZyB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLmVycm9yIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi8qIEFkZCBzb3VyY2UgY29udGFpbmVyICovXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDJyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXI6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC44cmVtIDEuNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxufVxyXG5cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4vKiBUZXN0IGNvbnRhaW5lciAqL1xyXG4uaWNzLXRlc3QtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxufVxyXG5cclxuLmljcy10ZXN0LWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmljcy10ZXN0LWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBFbXB0eSBzdGF0ZSAqL1xyXG4uaWNzLWVtcHR5LXN0YXRlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogM3JlbSAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIE1vZGFsIHN0eWxlcyAqL1xyXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5hdXRoLWZpZWxkIHtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcbn1cclxuXHJcbi5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGRlc2lnbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaWNzLXNvdXJjZS1oZWFkZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0Z2FwOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRnYXA6IDAuNXJlbTtcclxuXHR9XHJcblxyXG5cdC5wcmltYXJ5LWFjdGlvbnMsXHJcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdG1pbi13aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG5cdC5pY3Mtc291cmNlLWl0ZW0ge1xyXG5cdFx0cGFkZGluZzogMXJlbTtcclxuXHR9XHJcblxyXG5cdC5wcmltYXJ5LWFjdGlvbnMsXHJcblx0LnNlY29uZGFyeS1hY3Rpb25zIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBUZXh0IFJlcGxhY2VtZW50cyBTdHlsZXMgKi9cclxuLnRleHQtcmVwbGFjZW1lbnRzLWxpc3Qge1xyXG5cdG1hcmdpbjogMXJlbSAwO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudHMtZW1wdHkge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGU6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1oZWFkZXIgc3Ryb25nIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMge1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5lbmFibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZGlzYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1kZXRhaWxzIGRpdiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1wYXR0ZXJuIHtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXJlcGxhY2VtZW50IHtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNHJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogMC40cmVtIDAuOHJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi8qIFRleHQgUmVwbGFjZW1lbnQgTW9kYWwgU3R5bGVzICovXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDg1dmg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRlc3Qtb3V0cHV0IHtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC44cmVtO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi50ZXN0LXJlc3VsdCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogRXhhbXBsZXMgc2VjdGlvbiAqL1xyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCB1bCB7XHJcblx0bWFyZ2luOiAwLjVyZW0gMDtcclxuXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgbGkge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMXJlbSAwLjNyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc3luYyBidXR0b24gKi9cclxuQGtleWZyYW1lcyBzcGluIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG5cdH1cclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3luY2luZzo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcclxuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwsXHJcbi5pY3Mtc291cmNlLW1vZGFsIHtcclxuXHRtYXgtd2lkdGg6IDEwMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA5MHZoO1xyXG5cclxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4uaWNzLXRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQsXHJcbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi8qIFRhc2sgZmlsdGVyIHBhbmVsIHN0eWxlcyAqL1xuLnRhc2stZmlsdGVyLXBhbmVsIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpIHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtOCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFzay1maWx0ZXItYWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWZpbHRlci1wYW5lbCA+IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItdG9wOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udGFzay1maWx0ZXItdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTBweDtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiBoMyB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bWFyZ2luOiA1cHggMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbjpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb24gbGFiZWwge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0cGFkZGluZy10b3A6IDhweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5LFxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWZpbHRlci1hcHBseSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi50YXNrLWZpbHRlci1yZXNldCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFzay1maWx0ZXItcXVlcnktaW5wdXQ6Zm9jdXMge1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLnRhc2stZmlsdGVyLXNlY3Rpb24gLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi10b3A6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWF4LWhlaWdodDogNzB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9ucyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtNCk7XG59XG4iLCAiLmZpbHRlci1ncm91cC1zZXBhcmF0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjpiZWZvcmUsXHJcbi5maWx0ZXItZ3JvdXAtc2VwYXJhdG9yOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGQjlcdTY4NDZcdTk4OUNcdTgyNzIgKi9cclxuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS0yLTEpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi5kcmFnLWhhbmRsZSB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXHJcbi5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cclxuXHQtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xyXG5cdGN1cnNvcjogdmFyKC0tY3Vyc29yKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0bWluLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdG9wYWNpdHk6IHZhcigtLWljb24tb3BhY2l0eS1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmNvbXBhY3QtaW5wdXQsXHJcbi5jb21wYWN0LXNlbGVjdCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcblx0aGVpZ2h0OiB2YXIoLS1pbnB1dC1oZWlnaHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RjkzXHU1MTY1XHU2ODQ2XHU5QUQ4XHU1RUE2XHU1M0Q4XHU5MUNGICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5jb21wYWN0LXNlbGVjdDpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmNvbXBhY3QtdGV4dCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xyXG4uZHJhZ2dpbmctcGxhY2Vob2xkZXIge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXJcclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2MEFDXHU1MDVDXHU4MENDXHU2NjZGXHU4MjcyICovXHJcbn1cclxuXHJcbi8qIFx1NTk4Mlx1Njc5Q1x1OTcwMFx1ODk4MVx1RkYwQ1x1NEUzQVx1OEZDN1x1NkVFNFx1NTY2OFx1N0VDNFx1NEVGNlx1NzY4NFx1NjgzOVx1NUJCOVx1NTY2OFx1OEJCRVx1N0Y2RVx1NjgzN1x1NUYwRiAqL1xyXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4uZmlsdGVyLW1lbnUge1xyXG5cdHotaW5kZXg6IDUwO1xyXG5cdG1pbi13aWR0aDogNjAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cclxuLnJvb3QtZmlsdGVyLXNldHVwLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNzVyZW07IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTMpICovXHJcbn1cclxuXHJcbi8qIFJvb3QgQ29uZGl0aW9uIFNlY3Rpb24gKGRpdi5mbGV4Lml0ZW1zLWNlbnRlci5zcGFjZS14LTIucC0yLmJnLXNsYXRlLTEwMC5yb3VuZGVkLW1kLmJvcmRlci5ib3JkZXItc2xhdGUtMjAwKSAqL1xyXG4ucm9vdC1jb25kaXRpb24tc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtOyAvKiBzcGFjZS14LTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXHJcblx0KTsgLyogYmctc2xhdGUtMTAwICovXHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiByb3VuZGVkLW1kICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XHJcblx0LyogY29tcGFjdC1zZWxlY3QgYWxyZWFkeSBwcm92aWRlcyBiYXNlIHN0eWxpbmcgKi9cclxuXHR3aWR0aDogYXV0bztcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXHJcblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNwYW4ge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cHMgQ29udGFpbmVyICgjZmlsdGVyLWdyb3Vwcy1jb250YWluZXIpICovXHJcbi5maWx0ZXItZ3JvdXBzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MICovXHJcblxyXG5cdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cCAoI2ZpbHRlci1ncm91cC10ZW1wbGF0ZSkgKi9cclxuLmZpbHRlci1ncm91cCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpOyAvKiBwLTMgZnJvbSBIVE1MICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7IC8qIGJnLXdoaXRlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBzcGFjZS15LTIgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjM3NXJlbTsgLyogc3BhY2UteC0xLjUgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBob3Zlcjp0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IC5jb21wYWN0LXRleHQsXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiBzcGFuLmNvbXBhY3QtdGV4dCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmdyb3VwLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuMjVyZW07IC8qIHNwYWNlLXgtMSBmcm9tIEhUTUwgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bixcclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiByb3VuZGVkLW1kIGZyb20gVGFpbHdpbmQgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0biAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogdGV4dC1zbGF0ZS01MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHRcclxuLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlclxyXG4uc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBob3Zlcjp0ZXh0LWluZGlnby02MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtZXJyb3ItaG92ZXIsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxyXG5cdCk7XHJcbn1cclxuXHJcbi8qIEZpbHRlcnMgTGlzdCAoLmZpbHRlcnMtbGlzdCkgKi9cclxuLmZpbHRlcnMtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpOyAvKiBzcGFjZS15LTEuNSBmcm9tIEhUTUwgKi9cclxuXHRwYWRkaW5nLWxlZnQ6IDFyZW07IC8qIHBsLTQgZnJvbSBIVE1MICovXHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlci1sLTIgYm9yZGVyLXNsYXRlLTIwMCAqL1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7IC8qIG1sLTEuNSBmcm9tIEhUTUwgKi9cclxufVxyXG5cclxuLmZpbHRlcnMtbGlzdDplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogR3JvdXAgRm9vdGVyICguZ3JvdXAtZm9vdGVyKSAqL1xyXG4uZ3JvdXAtZm9vdGVyIHtcclxuXHQvKiBIVE1MOiA8ZGl2IGNsYXNzPVwicGwtNCBtdC0xLjVcIj4gY29udGFpbmluZyBidXR0b24gKi9cclxuXHQvKiBUUyBjcmVhdGVzIC5ncm91cC1mb290ZXIsIHRoZW4gYWRkcyBCdXR0b25Db21wb25lbnQgdG8gaXQuICovXHJcblx0cGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgLyogQ29ycmVzcG9uZHMgdG8gcGwtMS41IGVmZmVjdGl2ZWx5IGlmIGl0ZW1zIGluc2lkZSAuZmlsdGVycy1saXN0IGhhdmUgbWFyZ2luL3BhZGRpbmcgKi9cclxuXHRtYXJnaW4tdG9wOiAwLjM3NXJlbTsgLyogbXQtMS41ICovXHJcbn1cclxuXHJcbi5hZGQtZmlsdGVyLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBJdGVtICgjZmlsdGVyLWl0ZW0tdGVtcGxhdGUpICovXHJcbi5maWx0ZXItaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHQvKiBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcblx0LyogYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAqL1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25qdW5jdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiB0ZXh0LTJ4cyAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7IC8qIGZvbnQtc2VtaWJvbGQgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXHJcblx0YWxpZ24tc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdGZsZXgtYmFzaXM6IDMwJTsgLyogdy0xLzMgKi9cclxuXHRmbGV4LWdyb3c6IDA7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xyXG5cdC8qIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDsgKi9cclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XHJcblx0d2lkdGg6IGF1dG87IC8qIHctYXV0byAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0IHtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIGZsZXgtZ3JvdyAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3ZlcilcclxuXHQpO1xyXG59XHJcblxyXG4vKiBBZGQgRmlsdGVyIEdyb3VwIEJ1dHRvbiBTZWN0aW9uICovXHJcbi5hZGQtZ3JvdXAtc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uYWRkLWZpbHRlci1ncm91cC1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQ29uZmlndXJhdGlvbiBTZWN0aW9uICovXHJcbi5maWx0ZXItY29uZmlnLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0LyogbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xyXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS0yLTEpOyAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7ICovXHJcblx0LyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cclxufVxyXG5cclxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4sXHJcbi5sb2FkLWZpbHRlci1jb25maWctYnRuIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bi1pY29uLFxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zYXZlLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5sb2FkLWZpbHRlci1jb25maWctYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbmZpZyBNb2RhbCBTdHlsZXMgKi9cclxuLmZpbHRlci1jb25maWctZGV0YWlscyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWwpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpIDEwMCVcclxuXHQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlsczpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBoMyB7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctbWV0YSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgMCAwO1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgaDQge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtMi0zKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctc3VtbWFyeSBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWJ1dHRvbnMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1uYW1lLWhpZ2hsaWdodCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogQWR2YW5jZWQgZmlsdGVyIGNvbnRhaW5lciBzdHlsZXMgZm9yIFZpZXdDb25maWdNb2RhbCAqL1xyXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBTbWFsbGVyIHN0eWxpbmcgZm9yIGZpbHRlcnMgaW4gbW9kYWwgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWl0ZW0ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRtaW4taGVpZ2h0OiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3Qtc2VsZWN0LFxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtaW5wdXQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcbn1cclxuIiwgIi8qIFZpZXcgU2V0dGluZ3MgVGFiIFN0eWxlcyAqL1xyXG5cclxuLyogVmlldyBtYW5hZ2VtZW50IGxpc3QgY29udGFpbmVyICovXHJcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMjBweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi8qIFNlY3Rpb24gY29udGFpbmVycyAqL1xyXG4udmlldy1zZWN0aW9uLWNvbnRhaW5lciB7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4vKiBTZWN0aW9uIGhlYWRlcnMgKi9cclxuLnZpZXctc2VjdGlvbi1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi52aWV3LXNlY3Rpb24taGVhZGVyIGg0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udmlldy1zZWN0aW9uLWl0ZW1zLFxyXG4uc29ydGFibGUtdmlld3Mge1xyXG5cdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS12aWV3czplbXB0eTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1lbXB0eS10ZXh0KTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4uc29ydGFibGUtdmlld3NbZGF0YS1yZWdpb249XCJ0b3BcIl06ZW1wdHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIkRyYWcgdmlld3MgaGVyZSBmb3IgdGhlIHRvcCBzZWN0aW9uXCI7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS12aWV3c1tkYXRhLXJlZ2lvbj1cImJvdHRvbVwiXTplbXB0eTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiRHJhZyB2aWV3cyBoZXJlIGZvciB0aGUgYm90dG9tIHNlY3Rpb25cIjtcclxufVxyXG5cclxuLyogVmlldyBpdGVtIHN0eWxlcyAqL1xyXG4udmlldy1pdGVtLFxyXG4uc29ydGFibGUtdmlldy1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogbW92ZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udmlldy1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIERyYWcgaGFuZGxlIHN0eWxlcyAqL1xyXG4udmlldy1kcmFnLWhhbmRsZSB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnZpZXctZHJhZy1oYW5kbGU6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBpY29uICovXHJcbi52aWV3LWl0ZW0taWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBpbmZvICovXHJcbi52aWV3LWl0ZW0taW5mbyB7XHJcblx0ZmxleDogMTtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLnZpZXctaXRlbS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4udmlldy1pdGVtLXR5cGUge1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIFZpZXcgaXRlbSBhY3Rpb25zICovXHJcbi52aWV3LWl0ZW0tYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnZpZXctYWN0aW9uLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi52aWV3LWFjdGlvbi1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi52aWV3LWFjdGlvbi1kZWxldGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS1kcmFnIHtcclxuXHRvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uc29ydGFibGUtY2hvc2VuIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKSAhaW1wb3J0YW50O1xyXG59XHJcbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDYWxlbmRhciBWaWV3IFNldHRpbmdzIFRhYiBTdHlsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qIFRlbXBsYXRlcyBDb250YWluZXIgKi9cclxuLmNhbGVuZGFyLXRlbXBsYXRlcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmNhbGVuZGFyLXRlbXBsYXRlLWNhcmQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm94LXNoYWRvdyk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1pY29uIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDQwcHg7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXItdGVtcGxhdGUtaW5mbyB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uY2FsZW5kYXItdGVtcGxhdGUtYWN0aW9ucyB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci10ZW1wbGF0ZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG59XHJcblxyXG4vKiBDdXN0b20gVmlld3MgQ29udGFpbmVyICovXHJcbi5jdXN0b20tY2FsZW5kYXItdmlld3MtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi8qIEVtcHR5IFN0YXRlICovXHJcbi5jYWxlbmRhci12aWV3cy1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlld3MtZW1wdHktaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLXZpZXdzLWVtcHR5LWljb24gc3ZnIHtcclxuXHR3aWR0aDogNDhweDtcclxuXHRoZWlnaHQ6IDQ4cHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3cy1lbXB0eS10ZXh0IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3cy1lbXB0eS1oaW50IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiBWaWV3cyBMaXN0ICovXHJcbi5jYWxlbmRhci12aWV3cy1saXN0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi8qIFZpZXcgSXRlbSAqL1xyXG4uY2FsZW5kYXItdmlldy1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLmNhbGVuZGFyLXZpZXctaXRlbTpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlldy1pdGVtLmlzLWRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWl0ZW0uaXMtZGlzYWJsZWQgLmNhbGVuZGFyLXZpZXctbmFtZSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWRyYWctaGFuZGxlIHtcclxuXHRjdXJzb3I6IGdyYWI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLXZpZXctZHJhZy1oYW5kbGU6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLXZpZXctZHJhZy1oYW5kbGU6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlldy1pY29uIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWljb24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWluZm8ge1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlldy1uYW1lIHtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LW1ldGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlldy1iYXNlLXR5cGUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cGFkZGluZzogMXB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWNvbmZpZy1zdW1tYXJ5IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWFjdGlvbi1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWFjdGlvbi1kZWxldGU6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogQWRkIFZpZXcgQ29udGFpbmVyICovXHJcbi5jYWxlbmRhci1hZGQtdmlldy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogU29ydGFibGUgU3RhdGVzICovXHJcbi5zb3J0YWJsZS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zb3J0YWJsZS1jaG9zZW4ge1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gtc2hhZG93KTtcclxufVxyXG5cclxuLnNvcnRhYmxlLWRyYWcge1xyXG5cdG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ2FsZW5kYXIgVmlldyBDb25maWcgTW9kYWwgU3R5bGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXItdmlldy1jb25maWctbW9kYWwge1xyXG5cdHdpZHRoOiA1NjBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWNvbmZpZy1tb2RhbCAubW9kYWwtaGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci12aWV3LWNvbmZpZy1tb2RhbCAubW9kYWwtaGVhZGVyIGgyIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qIFRhYnMgKi9cclxuLmNhbGVuZGFyLWNvbmZpZy10YWJzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1jb25maWctdGFiIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uY2FsZW5kYXItY29uZmlnLXRhYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWNvbmZpZy10YWIuaXMtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1jb25maWctdGFiLmlzLWRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjQ7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLmNhbGVuZGFyLWNvbmZpZy10YWIuaXMtZGlzYWJsZWQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWNvbmZpZy10YWItaWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY2FsZW5kYXItY29uZmlnLXRhYi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDE0cHg7XHJcblx0aGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4vKiBDb250ZW50ICovXHJcbi5jYWxlbmRhci1jb25maWctY29udGVudCB7XHJcblx0bWluLWhlaWdodDogMjgwcHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1jb25maWctY29udGVudCAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXItdG9wOiBub25lO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItY29uZmlnLWNvbnRlbnQgLnNldHRpbmctaXRlbTpmaXJzdC1jaGlsZCB7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1jb25maWctY29udGVudCAuc2V0dGluZy1pdGVtLWhlYWRpbmcge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi8qIEljb24gU2VsZWN0b3IgKi9cclxuLmNhbGVuZGFyLXZpZXctaWNvbi1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uY2FsZW5kYXItdmlldy1pY29uLXNlbGVjdG9yIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4vKiBEYXlzIFNlbGVjdG9yICovXHJcbi5jYWxlbmRhci1kYXlzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWRheS1jaGlwIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWluLXdpZHRoOiA0NHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWRheS1jaGlwOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1kYXktY2hpcC5pcy1oaWRkZW4ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4vKiBUaW1lIFJhbmdlIERpc3BsYXkgKi9cclxuLmNhbGVuZGFyLXRpbWUtcmFuZ2UtZGlzcGxheSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogTm90aWNlICovXHJcbi5jYWxlbmRhci1jb25maWctbm90aWNlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuIiwgIi8qIE1DUCBJbnRlZ3JhdGlvbiBTZXR0aW5ncyBTdHlsZXMgKi9cblxuLyogU3RhdHVzIENvbnRhaW5lciAqL1xuLm1jcC1zdGF0dXMtY29udGFpbmVyIHtcblx0cGFkZGluZzogMTZweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLm1jcC1zdGF0dXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEwcHg7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjA1ZW07XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5ydW5uaW5nIC5zdGF0dXMtZG90IHtcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcyk7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XG59XG5cbi5tY3Atc3RhdHVzLWluZGljYXRvci5zdG9wcGVkIC5zdGF0dXMtZG90IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEuMmVtO1xufVxuXG4ubWNwLXN0YXR1cy1kZXRhaWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAyNHB4O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLyogQ2xpZW50IENvbmZpZ3VyYXRpb24gKi9cbi5tY3AtY29uZmlnLWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tY3AtY2xpZW50LXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1jcC1jbGllbnQtaGVhZGVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4ubWNwLWNsaWVudC1oZWFkZXI6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLyogQXJyb3cgaWNvbiBmb3IgY29sbGFwc2libGUgc2VjdGlvbnMgKi9cbi5tY3AtYXJyb3cge1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4ubWNwLWFycm93IHN2ZyB7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdHN0cm9rZS13aWR0aDogMjtcbn1cblxuLm1jcC1hcnJvdy5leHBhbmRlZCB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLm1jcC1jbGllbnQtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQge1xuXHRwYWRkaW5nOiAxNnB4ICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tY3AtY2xpZW50LWNvbnRlbnQuZXhwYW5kZWQge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLm1jcC1jb25maWctYmxvY2sge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDE2cHggNjBweCAxNnB4IDE2cHggIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRvdmVyZmxvdzogYXV0bztcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItdGh1bWItYmcpIHZhcigtLXNjcm9sbGJhci1iZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgY29kZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1iZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWNwLWNvbmZpZy1jb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1hY3RpdmUtdGh1bWItYmcpO1xufVxuXG4vKiBDb3B5IEJ1dHRvbnMgKi9cbi5tY3AtY29weS1idG4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0dG9wOiAxMnB4O1xuXHRyaWdodDogMTJweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLm1jcC1jb3B5LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLm1jcC1jb3B5LWJ0bi5jb3BpZWQge1xuXHRhbmltYXRpb246IGNvcHlTdWNjZXNzIDAuM3MgZWFzZTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKSAhaW1wb3J0YW50O1xufVxuXG4vKiBBdXRoZW50aWNhdGlvbiBNZXRob2RzIExpc3QgKi9cbi5tY3AtYXV0aC1tZXRob2RzIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5tY3AtYXV0aC1saXN0IHtcblx0bWFyZ2luOiAxMHB4IDAgMCAyMHB4O1xuXHRsaW5lLWhlaWdodDogMS44O1xufVxuXG4ubWNwLWF1dGgtbGlzdCBsaSB7XG5cdG1hcmdpbjogOHB4IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtYXV0aC1saXN0IGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG59XG5cbi8qIFRva2VuIElucHV0ICovXG4ubWNwLXRva2VuLWlucHV0IHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcblx0d2lkdGg6IDMwMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qIEFQSSBEb2N1bWVudGF0aW9uICovXG4ubWNwLWRvY3MtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm1jcC1kb2NzLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWNwLWRvY3Mtc3VidGl0bGUge1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogRW5kcG9pbnQgQm94ICovXG4ubWNwLWVuZHBvaW50LWJveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1lbmRwb2ludC1jb250ZW50IHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5tY3AtZW5kcG9pbnQtbGFiZWwge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tY3AtZW5kcG9pbnQtdXJsIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuYnV0dG9uLm1jcC1jb3B5LWVuZHBvaW50LWJ0biB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJ1dHRvbi5tY3AtY29weS1lbmRwb2ludC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbmJ1dHRvbi5tY3AtY29weS1lbmRwb2ludC1idG4uY29waWVkIHtcblx0YW5pbWF0aW9uOiBjb3B5U3VjY2VzcyAwLjNzIGVhc2U7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2VzcykgIWltcG9ydGFudDtcbn1cblxuLyogVG9vbHMgR3JpZCAqL1xuLm1jcC10b29scy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuXHRnYXA6IDE2cHg7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5tY3AtdG9vbC1jYXJkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTM1ZGVnLFxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDEwMCVcblx0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWNwLXRvb2wtY2FyZDo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDkwZGVnLFxuXHRcdHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsXG5cdFx0dmFyKC0tdGV4dC1hY2NlbnQpIDEwMCVcblx0KTtcblx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5tY3AtdG9vbC1jYXJkOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLm1jcC10b29sLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4ubWNwLXRvb2wtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tY3AtdG9vbC1pY29uIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvcGFjaXR5OiAwLjk7XG59XG5cbi5tY3AtdG9vbC1pY29uIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHN0cm9rZS13aWR0aDogMjtcbn1cblxuLm1jcC10b29sLW5hbWUge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ubWNwLXRvb2wtZGVzYyB7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLyogRXhhbXBsZSBDb250YWluZXIgKi9cbi5tY3AtZXhhbXBsZS1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0bWFyZ2luLXRvcDogMTZweDtcbn1cblxuLyogRXhhbXBsZSBUYWJzICovXG4ubWNwLWV4YW1wbGUtdGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDE4MGRlZyxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3gpIDEwMCVcblx0KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMDtcbn1cblxuLm1jcC1leGFtcGxlLXRhYiB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDE0cHggMjBweDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tY3AtZXhhbXBsZS10YWI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgwKTtcblx0d2lkdGg6IDgwJTtcblx0aGVpZ2h0OiAzcHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cdGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xufVxuXG4ubWNwLWV4YW1wbGUtdGFiOmhvdmVyIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wNSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tY3AtZXhhbXBsZS10YWIuYWN0aXZlOjphZnRlciB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVgoMSk7XG59XG5cbi8qIEV4YW1wbGUgQ29kZSAqL1xuLm1jcC1leGFtcGxlLWNvZGUtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWV4YW1wbGUtYmxvY2sge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGFuaW1hdGlvbjogZmFkZUluIDAuM3MgZWFzZTtcbn1cblxuLm1jcC1leGFtcGxlLWJsb2NrLmFjdGl2ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLm1jcC1leGFtcGxlLWNvZGUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDI0cHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQxMzVkZWcsXG5cdFx0dmFyKC0tY29kZS1iYWNrZ3JvdW5kKSAwJSxcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjUpIDEwMCVcblx0KTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG1heC1oZWlnaHQ6IDUwMHB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1jcC1leGFtcGxlLWNvZGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQ5MGRlZyxcblx0XHR0cmFuc3BhcmVudCxcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlciksXG5cdFx0dHJhbnNwYXJlbnRcblx0KTtcbn1cblxuLm1jcC1leGFtcGxlLWNvZGUgY29kZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAyMHB4O1xuXHRyaWdodDogMjBweDtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHR6LWluZGV4OiAxMDtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMyk7XG59XG5cbi5tY3AtZXhhbXBsZS1jb3B5LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjQpO1xufVxuXG4ubWNwLWV4YW1wbGUtY29weS1idG46YWN0aXZlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4zKTtcbn1cblxuLm1jcC1leGFtcGxlLWNvcHktYnRuLmNvcGllZCB7XG5cdGFuaW1hdGlvbjogY29weVN1Y2Nlc3MgMC40cyBlYXNlO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MtcmdiKSwgMC4zKTtcbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBjb3B5U3VjY2VzcyB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMC42O1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBhbGwgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cbi5tY3AtY2xpZW50LWhlYWRlcixcbi5tY3AtZXhhbXBsZS10YWIsXG4ubWNwLXRvb2wtY2FyZCxcbmJ1dHRvbiB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi8qIENvZGUgc3ludGF4IGNvbG9ycyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5ICovXG4ubWNwLWNvbmZpZy1jb2RlIC5qc29uLWtleSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tc3RyaW5nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tbnVtYmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi5tY3AtY29uZmlnLWNvZGUgLmpzb24tYm9vbGVhbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5tY3AtdG9vbHMtZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQubWNwLXN0YXR1cy1kZXRhaWxzIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogOHB4O1xuXHR9XG59XG5cbi5tY3AtZXhhbXBsZS1zdWJ0aXRsZSB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4vKiBDdXJzb3IgT25lLUNsaWNrIEluc3RhbGwgU2VjdGlvbiAqL1xuLm1jcC1jdXJzb3ItaW5zdGFsbC1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWRlc2Mge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1jcC1jdXJzb3ItaW5zdGFsbC1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubWNwLWN1cnNvci1pbnN0YWxsLWxpbms6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4ubWNwLWN1cnNvci1hZGRpdGlvbmFsLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLm1jcC1jdXJzb3ItY29weS1kZWVwbGluay1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi5tY3AtY3Vyc29yLWNvcHktZGVlcGxpbmstYnRuLmNvcGllZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLXN1Y2Nlc3MpO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLXRvZ2dsZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb250ZW50IHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tY3AtY3Vyc29yLWRlYnVnLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0bWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1jcC1jdXJzb3ItZGVidWctbGFiZWw6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ubWNwLWN1cnNvci1kZWJ1Zy1jb2RlIGNvZGUge1xuXHRjb2xvcjogdmFyKC0tY29kZS1ub3JtYWwpO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5tY3Atc2VjdGlvbi1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDI0cHggMDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuIiwgIi8qIFdvcmtmbG93IERlY29yYXRvciBTdHlsZXMgKi9cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciBzcGFuIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBEaWZmZXJlbnQgY29sb3JzIGZvciBkaWZmZXJlbnQgc3RhZ2UgdHlwZXMgKi9cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJjeWNsZVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cInRlcm1pbmFsXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG59XHJcbiIsICIvKiBRdWljayBDYXB0dXJlIEVuaGFuY2VkIFN0eWxlcyAtIHdpdGggc2hhZGNuIHRoZW1lICovXHJcblxyXG46cm9vdCB7XHJcblx0LyogVGFiIGNvbXBvbmVudCBjb2xvcnMgKi9cclxuXHQtLXRnLXRhYi1iYWNrZ3JvdW5kOiAwIDAlIDEwMCU7XHJcblx0LS10Zy10YWItZm9yZWdyb3VuZDogMjQwIDEwJSAzLjklO1xyXG5cdC0tdGctdGFiLW11dGVkOiAyNDAgNC44JSA5NS45JTtcclxuXHQtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kOiAyNDAgMy44JSA0Ni4xJTtcclxuXHQtLXRnLXRhYi1ib3JkZXI6IDI0MCA1LjklIDkwJTtcclxuXHJcblx0LyogUXVpY2sgQ2FwdHVyZSBIZWFkZXIgYmFja2dyb3VuZCAobGlnaHQpICovXHJcblx0LS10Zy1xYy1oZWFkZXItYmc6IDAgMCUgMTAwJTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsge1xyXG5cdC0tdGctdGFiLWJhY2tncm91bmQ6IDI0MCAxMCUgMy45JTtcclxuXHQtLXRnLXRhYi1mb3JlZ3JvdW5kOiAwIDAlIDk4JTtcclxuXHQtLXRnLXRhYi1tdXRlZDogMjQwIDMuNyUgMTUuOSU7XHJcblx0LS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZDogMjQwIDUlIDY0LjklO1xyXG5cdC0tdGctdGFiLWJvcmRlcjogMjQwIDMuNyUgMTUuOSU7XHJcblxyXG5cdC8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIGJhY2tncm91bmQgKGRhcmspICovXHJcblx0LS10Zy1xYy1oZWFkZXItYmc6IDI0MCA0JSAxMCU7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgSGVhZGVyIC0gc2hhZGNuIHN0eWxlLCB3aXRoIGN1c3RvbSBiYWNrZ3JvdW5kIGZvciBoZWFkZXIgKi9cclxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEycHggMTZweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKHZhcigtLXRnLXRhYi1ib3JkZXIpKTtcclxuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctcWMtaGVhZGVyLWJnKSk7XHJcbn1cclxuXHJcbi50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwgLnF1aWNrLWNhcHR1cmUtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG59XHJcblxyXG4udGctbWluaW1hbC1jYXB0dXJlLW1vZGFsIC5tb2RlbC1oZWFkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgVGFicyAtIHNoYWRjbiBzdHlsZSAqL1xyXG4ucXVpY2stY2FwdHVyZS10YWJzIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRwYWRkaW5nOiA0cHg7XHJcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLXRnLXRhYi1tdXRlZCkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRnYXA6IDJweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFiIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItdGV4dCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRnLW1pbmltYWwtY2FwdHVyZS1tb2RhbCAucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWI6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1mb3JlZ3JvdW5kKSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItYmFja2dyb3VuZCkpO1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcclxuXHRib3gtc2hhZG93OlxyXG5cdFx0MCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSxcclxuXHRcdDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYnMuaXMtaGlkZGVuIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIFRhYiBCdXR0b24gSWNvbiBhbmQgVGV4dCAtIHNoYWRjbiBzdHlsZSAqL1xyXG4ucXVpY2stY2FwdHVyZS10YWItaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhYi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IDE0cHg7XHJcblx0aGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWItdGV4dCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBDbGVhciBCdXR0b24gLSBzaGFkY24gc3R5bGUgKi9cclxuLnF1aWNrLWNhcHR1cmUtY2xlYXIge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIGhzbCh2YXIoLS10Zy10YWItYm9yZGVyKSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRjb2xvcjogaHNsKHZhcigtLXRnLXRhYi1tdXRlZC1mb3JlZ3JvdW5kKSk7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNsZWFyOmhvdmVyIHtcclxuXHQvKmJhY2tncm91bmQ6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQpKTsqL1xyXG5cdC8qY29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpOyovXHJcblx0Lypib3JkZXItY29sb3I6IGhzbCh2YXIoLS10Zy10YWItbXV0ZWQtZm9yZWdyb3VuZCkpOyovXHJcbn1cclxuXHJcbi8qIFF1aWNrIENhcHR1cmUgQ29udGVudCAqL1xyXG4ucXVpY2stY2FwdHVyZS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIEZvb3RlciAqL1xyXG4ucXVpY2stY2FwdHVyZS1mb290ZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWZvb3Rlci1sZWZ0LFxyXG4ucXVpY2stY2FwdHVyZS1mb290ZXItcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbnRpbnVlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIEZpbGUgTmFtZSBJbnB1dCBDb21wb25lbnQgKi9cclxuLmZpbGUtbmFtZS1pbnB1dC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS1pbnB1dDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUtaW5wdXQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS1pbnB1dC13cmFwcGVyIGlucHV0LmZpbGUtbmFtZS1pbnB1dCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS10ZW1wbGF0ZS1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogdmFyKC0tc2l6ZS00LTE4KTtcclxufVxyXG5cclxuLmZpbGUtbmFtZS10ZW1wbGF0ZXMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRlbXBsYXRlcy1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGVtcGxhdGUtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50ZW1wbGF0ZS1idXR0b24ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRlbXBsYXRlLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIE1vZGUtc3BlY2lmaWMgYWRqdXN0bWVudHMgKi9cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwucXVpY2stY2FwdHVyZS1jaGVja2JveCB7XHJcblx0d2lkdGg6IDgwMHB4O1xyXG5cdG1heC13aWR0aDogOTB2dztcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5xdWljay1jYXB0dXJlLWZpbGUge1xyXG5cdHdpZHRoOiA4MDBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcblx0aGVpZ2h0OiA3MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC50Zy1taW5pbWFsLWNhcHR1cmUtbW9kYWwge1xyXG5cdHdpZHRoOiA2MDBweDtcclxuXHRtYXgtd2lkdGg6IDkwdnc7XHJcblx0aGVpZ2h0OiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4vKiBRdWljayBDYXB0dXJlIFBhbmVsICovXHJcbi5xdWljay1jYXB0dXJlLXBhbmVsIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogUXVpY2sgQ2FwdHVyZSBBY3Rpb25zICovXHJcbi5xdWljay1jYXB0dXJlLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYWN0aW9ucyAucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIE1vZGFsICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWluLXdpZHRoOiA1MDBweDtcclxuXHRtYXgtaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIFRhcmdldCBEaXNwbGF5ICovXHJcbi5xdWljay1jYXB0dXJlLW1pbmltYWwtdGFyZ2V0LWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1pbmltYWwtdGFyZ2V0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtbGFiZWwge1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLW11dGVkLWZvcmVncm91bmQpKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtdmFsdWUge1xyXG5cdGNvbG9yOiBoc2wodmFyKC0tdGctdGFiLWZvcmVncm91bmQpKTtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRiYWNrZ3JvdW5kOiBoc2wodmFyKC0tdGctdGFiLWJhY2tncm91bmQpKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBoc2wodmFyKC0tdGctdGFiLWJvcmRlcikpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS10Zy10YWItZm9yZWdyb3VuZCkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1taW5pbWFsLWZpbGUtaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBSZW1vdmVkIG1pbmltYWwgbW9kZSBzdHlsZXMgYXMgbWluaW1hbCBVSSBtb2RlIG5vIGxvbmdlciBleGlzdHMgKi9cclxuXHJcbi5xdWljay1hY3Rpb25zLWxlZnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5xdWljay1hY3Rpb25zLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4ucXVpY2stYWN0aW9uLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5xdWljay1hY3Rpb24tc2F2ZSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtdGFnLWlucHV0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym90dG9tOiA2MHB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblx0d2lkdGg6IDMwMHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG59XHJcblxyXG4vKiBNaW5pbWFsIFF1aWNrIENhcHR1cmUgU3VnZ2VzdCAqL1xyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRtaW4taGVpZ2h0OiA0MHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbi5pcy1zZWxlY3RlZCAuc3VnZ2VzdGlvbi1sYWJlbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIC5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24taWNvbiB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdG1pbi13aWR0aDogMjBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5zdWdnZXN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWhlYWRlci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZsZXgtd3JhcDogbm93cmFwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQge1xyXG5cdGZsZXg6IDE7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0dGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtaGludCB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogLTRweDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1maWxlLXN1Z2dlc3Qge1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXN1Ym1pdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGU6aGFzKC5pcy1oaWRkZW4pIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGdhcDogMTBweDtcclxuXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogMTUwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuLyogRnVsbC1mZWF0dXJlZCBtb2RhbCBzdHlsZXMgKi9cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XHJcblx0d2lkdGg6IDgwdnc7XHJcblx0bWF4LXdpZHRoOiA5MDBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRnYXA6IDE2cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcclxuXHRmbGV4OiAxO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWF4LXdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWVkaXRvci1wYW5lbCB7XHJcblx0ZmxleDogMS41O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc2VjdGlvbi10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldC1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwgLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG4vKiBNb2JpbGUgb3B0aW1pemF0aW9uICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xyXG5cdFx0d2lkdGg6IDk1dnc7XHJcblx0fVxyXG5cclxuXHQucXVpY2stY2FwdHVyZS1sYXlvdXQge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuXHRcdG1heC1oZWlnaHQ6IDQwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcbiIsICIvKiBUYXNrIGxpc3QgKi9cbi50YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGFzay1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2staXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50YXNrLWl0ZW0udGFzay1jb21wbGV0ZWQgLnRhc2staXRlbS1jb250ZW50IHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2staXRlbSAubWFya2Rvd24tYmxvY2subWFya2Rvd24tcmVuZGVyZXIgPiBwOm9ubHktY2hpbGQge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay1jaGVja2JveCB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWNoZWNrYm94IHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1pdGVtLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHQvKiBSZW1vdmUgdHJhbnNpdGlvbiB0byBwcmV2ZW50IGZsYXNoIGR1cmluZyBsYXlvdXQgY2hhbmdlcyAqL1xuXHQvKiBVc2UgR1BVLWFjY2VsZXJhdGVkIHByb3BlcnRpZXMgb25seSBpZiB0cmFuc2l0aW9uIGlzIG5lZWRlZCAqL1xuXHR3aWxsLWNoYW5nZTogYXV0bztcbn1cblxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7IC8qIEFsbG93IGNvbnRlbnQgdG8gc2hyaW5rICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcblx0Lyogd2lkdGg6IDEwMCU7ICovXG59XG5cbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLW1ldGFkYXRhIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay1pdGVtLW1ldGFkYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcbn1cblxuLnRhc2staXRlbS1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWRhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stZGF0ZSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLWRhdGU6OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XG5cdGZvbnQtc2l6ZTogeHgtc21hbGw7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi50Zy1rYW5iYW4tdmlldyAudGFzay1kYXRlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURDQzVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLW92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtdG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50YXNrLWRhdGUudGFzay1kdWUtc29vbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udGFzay1kYXRlLnRhc2stc3RhcnQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0RcdURFRUJcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLWNyZWF0ZWQtZGF0ZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdTI3OTVcIjtcbn1cblxuLnRhc2stZGF0ZS50YXNrLXNjaGVkdWxlZC1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjNGM1wiO1xufVxuXG4udGFzay1kYXRlLnRhc2stZG9uZS1kYXRlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjcwNVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stY2FuY2VsbGVkLWRhdGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHUyNzRDXCI7XG59XG5cbi50YXNrLWRhdGUudGFzay1yZWN1cnJlbmNlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1RDgzRFx1REQwMVwiO1xufVxuXG4udGFzay1kYXRlLnRhc2stb24tY29tcGxldGlvbjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcdUQ4M0NcdURGQzFcIjtcbn1cblxuLnRhc2stcHJvamVjdCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3BhY2l0eTogMC41O1xufVxuXG4udGFzay1wcm9qZWN0OmhhcyhpbnB1dCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stcHJvamVjdCB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi50YXNrLXByb2plY3Q6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEREMyXHVGRTBGXCI7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xuXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4udGFzay1wcm9qZWN0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4udGFzay1wcmlvcml0eSB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGFzay1wcmlvcml0eS5wcmlvcml0eS01IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktNCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi50YXNrLXByaW9yaXR5LWNsaWNrYWJsZTpob3ZlciB7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLmFkZC1wcmlvcml0eS1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdHBhZGRpbmc6IDA7XG5cdC8qIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS10ZXh0LW11dGVkKTsgKi9cblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmFkZC1wcmlvcml0eS1idG46aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stcHJpb3JpdHktY2xpY2thYmxlLFxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAuYWRkLXByaW9yaXR5LWJ0biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIE5ldyBmaWVsZCBzdHlsZXMgKi9cbi50YXNrLW9uY29tcGxldGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1kZXBlbmRzb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWRlcGVuZHNvbjpob3ZlciB7XG5cdC8qYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7Ki9cblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1pZCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2staWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFRhc2sgdGFnIHN0eWxlcyAqL1xuLnRhc2stdGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4udGFzay10YWdzLWNvbnRhaW5lcjplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLXRhZyB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG9wYWNpdHk6IDAuNzU7XG59XG5cbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stdGFnIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2staXRlbS1jb250ZW50IHA6aGFzKGltZykgaW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiBtaW4oNTAlLCAyMDBweCk7XG59XG4iLCAiLyogVHJlZSBWaWV3IHN0eWxlcyAqL1xuXG4vKiBUcmVlIGl0ZW0gY29udGFpbmVyICovXG4udHJlZS10YXNrLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Z2FwOiAwO1xufVxuXG4udHJlZS10YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLXRhc2staXRlbS5jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFRhc2sgY29udGVudCByb3cgKGNvbnRhaW5zIHRoZSBtYWluIHRhc2sgY29udGVudCkgKi9cbi50cmVlLXRhc2staXRlbSA+IGRpdjpmaXJzdC1vZi10eXBlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDZweDtcbn1cblxuLyogSW5kZW50YXRpb24gZm9yIGhpZXJhcmNoeSAqL1xuLnRhc2staW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXG4udGFzay1leHBhbmQtdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFRhc2sgY2hlY2tib3ggKi9cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveC5jaGVja2VkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogVGFzayBjb250ZW50ICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBEeW5hbWljIGNvbnRlbnQtbWV0YWRhdGEgY29udGFpbmVyIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBTaW5nbGUgbGluZSBjb250ZW50IGxheW91dCAtIGhvcml6b250YWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRyZWUtdGFzay1pdGVtXG5cdC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnRcblx0LnRhc2staXRlbS1jb250ZW50IHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwOyAvKiBBbGxvdyBjb250ZW50IHRvIHNocmluayAqL1xufVxuXG4udHJlZS10YXNrLWl0ZW1cblx0LnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudFxuXHQudGFzay1tZXRhZGF0YSB7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnRyZWUtdGFzay1pdGVtXG5cdC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudFxuXHQudGFzay1pdGVtLWNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRyZWUtdGFzay1pdGVtXG5cdC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudFxuXHQudGFzay1tZXRhZGF0YSB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogVGFzayBtZXRhZGF0YSAqL1xuLnRhc2stbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1tZXRhZGF0YTplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWR1ZS1kYXRlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLXByb2plY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stcHJpb3JpdHktY2xpY2thYmxlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLnRhc2stcHJpb3JpdHktY2xpY2thYmxlOmhvdmVyIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBOZXcgZmllbGQgc3R5bGVzIGZvciB0cmVlIHZpZXcgKi9cbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLW9uY29tcGxldGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50cmVlLXRhc2staXRlbSAudGFzay1kZXBlbmRzb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMnB4IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJlZS10YXNrLWl0ZW0gLnRhc2staWQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIENoaWxkcmVuIGNvbnRhaW5lciAqL1xuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIHtcblx0LyogbWFyZ2luLWxlZnQ6IDIwcHg7ICovXG5cdG1hcmdpbi10b3A6IDRweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFZpZXcgdG9nZ2xlIGJ1dHRvbiAqL1xuLnZpZXctdG9nZ2xlLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udmlldy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lcjplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsICIvKiBcdTUyMjBcdTk2NjRcdTRFMEUgZmx1ZW50LW1vZGVybi5jc3MgXHU5MUNEXHU1OTBEXHU1MTg1XHU1QkI5XHVGRjBDXHU0RUM1XHU0RkREXHU3NTU5IG1vZGVybi5jc3MgXHU3MkVDXHU2NzA5XHU2MjE2XHU1M0Q4XHU0RjUzXHU2ODM3XHU1RjBGICovXG5cbi50YXNrLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFzZS0yMCk7XG5cdC8qIFx1ODJFNVx1OTcwMFx1ODk4Nlx1NzZENiBmbHVlbnQgXHU1M0Q4XHU0RjUzXHU1M0VGXHU1NzI4XHU2QjY0XHU2REZCXHU1MkEwXHU5NzVFXHU5MUNEXHU1OTBEXHU2ODM3XHU1RjBGICovXG59XG5cbi8qIFx1NEVFNVx1NEUwQlx1NjgzN1x1NUYwRlx1NURGMlx1NTcyOCBmbHVlbnQtbW9kZXJuLmNzcyBcdTVCOUFcdTRFNDlcdUZGMENcdTY1RTBcdTk3MDBcdTkxQ0RcdTU5MERcbi5mbHVlbnQtc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC04KTtcblx0Ym9yZGVyOiB1bnNldDtcbn1cblxuLnNlYXJjaC1pbnB1dC1jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stbGlzdCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cbiovXG4iLCAiLyogR3JvdXAgQnkgQ29tcG9uZW50IFN0eWxlcyAqL1xuXG4vKiBOb3RlOiBHcm91cCBCeSBidXR0b24gaXMgbm93IGR5bmFtaWNhbGx5IHJlZ2lzdGVyZWQgaW4gRmx1ZW50VG9wTmF2aWdhdGlvbiAqL1xuLyogTGVnYWN5IHN0eWxlcyBiZWxvdyBhcmUga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1GbHVlbnQgdmlld3MgKi9cblxuLyogRmlsdGVyIGNvbnRyb2xzIGNvbnRhaW5lciAobm93IG9ubHkgY29udGFpbnMgZmlsdGVyIGlucHV0KSAqL1xuLmNvbnRlbnQtZmlsdGVyLWNvbnRyb2xzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi8qIFRhc2sgR3JvdXAgU2VjdGlvbnMgKHJldXNpbmcgZm9yZWNhc3Qgc2VjdGlvbiBwYXR0ZXJuKSAqL1xuLnRhc2stZ3JvdXAtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmdyb3VwLXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgKi9cblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTsgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5ncm91cC1zZWN0aW9uLWhlYWRlcjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi5ncm91cC1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncm91cC1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG4uZ3JvdXAtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdG1pbi13aWR0aDogdmFyKC0tc2l6ZS00LTUpO1xuXHRwYWRkaW5nOiAwIDZweDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1ncm91cC1zZWN0aW9uIC5zZWN0aW9uLXRhc2tzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtOCk7XG59XG5cbi8qIEdyb3VwIGJ5IHByaW9yaXR5IC0gc3BlY2lhbCBjb2xvcmluZyAqL1xuLnRhc2stZ3JvdXAtc2VjdGlvbltkYXRhLWdyb3VwLWtleT1cInByaW9yaXR5LWhpZ2hcIl0gLmdyb3VwLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZ3JvdXAtc2VjdGlvbltkYXRhLWdyb3VwLWtleT1cInByaW9yaXR5LWhpZ2hcIl0gLnNlY3Rpb24tdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLWdyb3VwLXNlY3Rpb25bZGF0YS1ncm91cC1rZXk9XCJwcmlvcml0eS1tZWRpdW1cIl0gLmdyb3VwLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay1ncm91cC1zZWN0aW9uW2RhdGEtZ3JvdXAta2V5PVwicHJpb3JpdHktbWVkaXVtXCJdIC5zZWN0aW9uLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi8qIEdyb3VwIGJ5IGR1ZSBkYXRlIC0gaGlnaGxpZ2h0IHBhc3QgZHVlICovXG4udGFzay1ncm91cC1zZWN0aW9uW2RhdGEtZ3JvdXAta2V5PVwiZHVlLXBhc3RcIl0gLmdyb3VwLXNlY3Rpb24taGVhZGVyIHtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stZ3JvdXAtc2VjdGlvbltkYXRhLWdyb3VwLWtleT1cImR1ZS1wYXN0XCJdIC5zZWN0aW9uLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1ncm91cC1zZWN0aW9uW2RhdGEtZ3JvdXAta2V5PVwiZHVlLXBhc3RcIl0gLnNlY3Rpb24tY291bnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4udGFzay1ncm91cC1zZWN0aW9uW2RhdGEtZ3JvdXAta2V5PVwiZHVlLXRvZGF5XCJdIC5ncm91cC1zZWN0aW9uLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLnRhc2stZ3JvdXAtc2VjdGlvbltkYXRhLWdyb3VwLWtleT1cImR1ZS10b2RheVwiXSAuc2VjdGlvbi10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOZXN0ZWQgR3JvdXAgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIExldmVsLWJhc2VkIGluZGVudGF0aW9uIGZvciBuZXN0ZWQgZ3JvdXBzICovXG4udGFzay1ncm91cC1zZWN0aW9uLmxldmVsLTAge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0LyogbWFyZ2luLWJvdHRvbTogMTJweDsgKi9cbn1cblxuLnRhc2stZ3JvdXAtc2VjdGlvbi5sZXZlbC0xIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcblx0LyogbWFyZ2luLWJvdHRvbTogNHB4OyAqL1xufVxuXG4udGFzay1ncm91cC1zZWN0aW9uLmxldmVsLTIge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTgpO1xuXHQvKiBtYXJnaW4tYm90dG9tOiA0cHg7ICovXG59XG5cbi50YXNrLWdyb3VwLXNlY3Rpb24ubGV2ZWwtMyB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMTIpO1xuXHQvKiBtYXJnaW4tYm90dG9tOiA0cHg7ICovXG59XG5cbi8qIEZvbGRlciBncm91cCBoZWFkZXJzICh0b3AtbGV2ZWwgZ3JvdXBzIHdpdGggY2hpbGRyZW4pICovXG4uZ3JvdXAtc2VjdGlvbi1oZWFkZXIuZm9sZGVyLWdyb3VwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBBZGRlZCBmb3IgcHJvcGVyIHBvc2l0aW9uaW5nICovXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpOyAqL1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmdyb3VwLXNlY3Rpb24taGVhZGVyLmZvbGRlci1ncm91cDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEZpbGUgZ3JvdXAgaGVhZGVycyAobGVhZiBncm91cHMpICovXG4uZ3JvdXAtc2VjdGlvbi1oZWFkZXIuZmlsZS1ncm91cCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4uZ3JvdXAtc2VjdGlvbi1oZWFkZXIuZmlsZS1ncm91cDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5ncm91cC1zZWN0aW9uLWhlYWRlci5maWxlLWdyb3VwIC5zZWN0aW9uLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0LyogY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTsgKi9cbn1cblxuLyogQ29udGVudCBjb250YWluZXIgZm9yIG5lc3RlZCBncm91cHMgKi9cbi5ncm91cC1zZWN0aW9uLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLmdyb3VwLXNlY3Rpb24tY29udGVudDpub3QoW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0pIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogQWRqdXN0IHRvZ2dsZSBpY29ucyBmb3IgbmVzdGVkIGxldmVscyAqL1xuLnRhc2stZ3JvdXAtc2VjdGlvbi5sZXZlbC0xIC5zZWN0aW9uLXRvZ2dsZSxcbi50YXNrLWdyb3VwLXNlY3Rpb24ubGV2ZWwtMiAuc2VjdGlvbi10b2dnbGUsXG4udGFzay1ncm91cC1zZWN0aW9uLmxldmVsLTMgLnNlY3Rpb24tdG9nZ2xlIHtcblx0b3BhY2l0eTogMC43O1xufVxuXG4vKiBDb3VudCBiYWRnZSBhZGp1c3RtZW50cyBmb3IgbmVzdGVkIGdyb3VwcyAqL1xuLnRhc2stZ3JvdXAtc2VjdGlvbi5sZXZlbC0xIC5zZWN0aW9uLWNvdW50IHtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdGhlaWdodDogMThweDtcblx0bWluLXdpZHRoOiAxOHB4O1xuXHRwYWRkaW5nOiAwIDVweDtcbn1cblxuLyogQ29sbGFwc2VkIHN0YXRlIGhpbnQgKi9cbi5ncm91cC1zZWN0aW9uLWNvbnRlbnRbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSB+IC5ncm91cC1zZWN0aW9uLWhlYWRlciB7XG5cdG9wYWNpdHk6IDAuODU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIG5hcnJvdyBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stZ3JvdXAtc2VjdGlvbi5sZXZlbC0xIHtcblx0XHRtYXJnaW4tbGVmdDogMTJweDtcblx0fVxuXG5cdC50YXNrLWdyb3VwLXNlY3Rpb24ubGV2ZWwtMiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDI0cHg7XG5cdH1cblxuXHQudGFzay1ncm91cC1zZWN0aW9uLmxldmVsLTMge1xuXHRcdG1hcmdpbi1sZWZ0OiAzNnB4O1xuXHR9XG59XG4iLCAiLyogVGFncyBWaWV3IFN0eWxlcyAqL1xyXG4udGFncy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldzpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKSAudGFncy1sZWZ0LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRhZ3MtY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm11bHRpLXNlbGVjdC1tb2RlIC50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFncy1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcclxuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcclxuXHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhZ3MtcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFncy1zaWRlYmFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFncy1zaWRlYmFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFncy1zaWRlYmFyLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnRhZy1saXN0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA0cHggMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLnRhZy1saXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4udGFnLWluZGVudCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50YWctaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLnRhZy1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnRhZy1jb3VudCB7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRwYWRkaW5nOiAxcHggNnB4O1xyXG59XHJcblxyXG4udGFnLWNoaWxkcmVuIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRhZ3MtdGFzay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnRhZ3MtdGFzay10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi50YWdzLXRhc2stY291bnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhZ3MtdGFzay1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50YWdzLWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogMTZweDtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDhweCAxNXB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdGl0bGUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC01KTtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTUpO1xyXG59XHJcblxyXG4vKiBUYWdzIFZpZXcgLSBNb2JpbGUgKi9cclxuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci1jbG9zZSB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0ei1pbmRleDogMTU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXHJcbi5pcy1waG9uZSAudGFncy1jb250YWluZXI6aGFzKC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0ei1pbmRleDogNTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWhlYWRlcjpoYXMoLnRhZ3Mtc2lkZWJhci1jbG9zZSkge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcbn1cclxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXHJcbi5wcm9qZWN0cy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnByb2plY3RzLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcclxuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcclxuXHRtYXgtd2lkdGg6IDMwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucHJvamVjdHMtcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnByb2plY3RzLXNpZGViYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXItYnRuLWdyb3VwIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy10cmVlLXRvZ2dsZS1idG4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1zaWRlYmFyLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnByb2plY3QtbGlzdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvamVjdC1uYW1lIHtcclxuXHRmbGV4OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnByb2plY3QtY291bnQge1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0cGFkZGluZzogMXB4IDZweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgd2hlbiBzaG93aW5nIGNvbXBsZXRlZC90b3RhbCAqL1xyXG4ucHJvamVjdC1jb3VudC5wYXJ0aWFsbHktY29tcGxldGVkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLnByb2plY3QtY291bnQuYWxsLWNvbXBsZXRlZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb3VudC5oYXMtcHJvZ3Jlc3Mge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLyogU2VsZWN0ZWQgc3RhdGUgb3ZlcnJpZGVzICovXHJcbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCAucHJvamVjdC1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnByb2plY3QtbGlzdC1pdGVtLnNlbGVjdGVkIC5wcm9qZWN0LWNvdW50LmFsbC1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxufVxyXG5cclxuLnByb2plY3RzLXRhc2staGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4ucHJvamVjdHMtaGVhZGVyLW1haW4tY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItdG9wLXJvdyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy1oZWFkZXItdG9wLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi8qIFByb2dyZXNzIGJhciBzdHlsZXMgZm9yIFByb2plY3RzIHZpZXcgKi9cclxuLnByb2plY3RzLWhlYWRlci1wcm9ncmVzcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNnB4O1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLyogQWRqdXN0IHRoZSBleGlzdGluZyBwcm9ncmVzcyBiYXIgc3R5bGVzIHdoZW4gdXNlZCBpbiBwcm9qZWN0cyB2aWV3ICovXHJcbi5wcm9qZWN0cy1oZWFkZXItcHJvZ3Jlc3MgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xyXG5cdGZsZXg6IDE7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucHJvamVjdHMtaGVhZGVyLXByb2dyZXNzIC5wcm9ncmVzcy1zdGF0dXMge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wcm9qZWN0cy10YXNrLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnByb2plY3RzLXRhc2stY291bnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnByb2plY3RzLXRhc2stbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ucHJvamVjdHMtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4vKiBQcm9qZWN0cyBWaWV3IC0gTW9iaWxlICovXHJcbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItY2xvc2Uge1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiAxMHB4O1xyXG5cdHotaW5kZXg6IDE1O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnByb2plY3RzLWNvbnRhaW5lcjpoYXMoLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0ei1pbmRleDogNTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi8qIEFkZCBwb3NpdGlvbiByZWxhdGl2ZSB0byBjb250YWluZXIgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNvbnRleHQgKi9cclxuLmlzLXBob25lIC5wcm9qZWN0cy1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItaGVhZGVyOmhhcygucHJvamVjdHMtc2lkZWJhci1jbG9zZSkge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcbn1cclxuXHJcbi8qIFByb2plY3QgaW5mbyBwb3BvdmVyIHN0eWxpbmcgKi9cclxuLnRnLXByb2plY3QtcG9wb3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdHBhZGRpbmc6IDEwcHggMTJweDtcclxuXHRtYXgtd2lkdGg6IDUyMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDYwdmg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi50Zy1wcm9qZWN0LXByb3BzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA2cHg7XHJcbn1cclxuXHJcbi8qIEVhY2ggcm93OiBrZXkgb24gdGhlIGxlZnQsIHZhbHVlIG9uIHRoZSByaWdodCAqL1xyXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg5MHB4LCAxNjBweCkgMWZyO1xyXG5cdGFsaWduLWl0ZW1zOiBzdGFydDtcclxuXHRjb2x1bW4tZ2FwOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDJweCAwO1xyXG59XHJcblxyXG4vKiBLZXkgY2VsbCAqL1xyXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLyogVmFsdWUgY2VsbCAqL1xyXG4udGctcHJvamVjdC1wcm9wcyA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi8qIEluZm8gYnV0dG9uIHBvbGlzaCAqL1xyXG4ucHJvamVjdHMtcHJvcHMtYnRuIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXNpemUsIDI0cHgpO1xyXG5cdGhlaWdodDogdmFyKC0taWNvbi1zaXplLCAyNHB4KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG4ucHJvamVjdHMtcHJvcHMtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcbiIsICIvKipcclxuICogUHJvamVjdCBUcmVlIFZpZXcgU3R5bGVzXHJcbiAqL1xyXG5cclxuOnJvb3Qge1xyXG5cdC8qIERlZmF1bHQgdHJlZSBpbmRlbnRhdGlvbiBzaXplIHBlciBsZXZlbCAqL1xyXG5cdC0tdHJlZS1pbmRlbnQtc2l6ZTogMS41cmVtO1xyXG5cdC8qIEd1aWRlIGxpbmUgY29sb3IgKi9cclxuXHQtLXRyZWUtZ3VpZGUtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogQ29udGFpbmVyICovXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUge1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwO1xyXG59XHJcblxyXG4vKiBUcmVlIEl0ZW0gQmFzZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtLXRyZWUtbGV2ZWw6IDA7IC8qIERlZmF1bHQgbGV2ZWwsIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBpbmxpbmUgc3R5bGUgKi9cclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0cGFkZGluZy1sZWZ0OiBjYWxjKGNhbGModmFyKC0tdHJlZS1sZXZlbCkgLSAxKSAqIHZhcigtLXRyZWUtaW5kZW50LXNpemUpKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogU2VsZWN0ZWQgU3RhdGUgKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkID4gLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLyogVG9nZ2xlIEJ1dHRvbiAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEuNXJlbTtcclxuXHRoZWlnaHQ6IDEuNXJlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tdG9nZ2xlIHN2ZyB7XHJcblx0d2lkdGg6IDAuODc1cmVtO1xyXG5cdGhlaWdodDogMC44NzVyZW07XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS10b2dnbGUtc3BhY2VyIHtcclxuXHR3aWR0aDogMS41cmVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4vKiBJY29uICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogQ29udGVudCBXcmFwcGVyICovXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIFByb2plY3QgTmFtZSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0tbmFtZSB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vKiBUYXNrIENvdW50cyAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnRzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjI1cmVtO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LFxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWluLXdpZHRoOiAxLjI1cmVtO1xyXG5cdGhlaWdodDogMS4yNXJlbTtcclxuXHRwYWRkaW5nOiAwIDAuMjVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIFByb2dyZXNzIGNvdW50IHN0eWxpbmcgZm9yIHRyZWUgdmlldyAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtZGlyZWN0LnBhcnRpYWxseS1jb21wbGV0ZWQsXHJcbi5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5wYXJ0aWFsbHktY29tcGxldGVkIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LWRpcmVjdC5hbGwtY29tcGxldGVkLFxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY291bnQtdG90YWwuYWxsLWNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtc3VjY2Vzcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCBzdGF0ZSBmb3IgY291bnQgYmFkZ2VzIGluIHRyZWUgKi9cclxuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3QuYWxsLWNvbXBsZXRlZCxcclxuLnByb2plY3QtdHJlZS1pdGVtLmlzLXNlbGVjdGVkIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC10b3RhbC5hbGwtY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1zdWNjZXNzKTtcclxuXHRvcGFjaXR5OiAwLjk7XHJcbn1cclxuXHJcbi8qIENoaWxkcmVuIENvbnRhaW5lciAqL1xyXG4ucHJvamVjdC10cmVlLWNoaWxkcmVuIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIFRyZWUgZ3VpZGUgbGluZXMgKG9wdGlvbmFsKSAqL1xyXG4ucHJvamVjdC10cmVlLWl0ZW1bZGF0YS1sZXZlbF06bm90KFtkYXRhLWxldmVsPVwiMFwiXSkgPiAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YmVmb3JlIHtcclxuXHRjb250ZW50OiAnJztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogY2FsYygwLjVyZW0gKyAodmFyKC0tdHJlZS1sZXZlbCkgLSAxKSAqIHZhcigtLXRyZWUtaW5kZW50LXNpemUpICsgMC43NXJlbSk7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRyZWUtZ3VpZGUtY29sb3IpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWl0ZW0tY2hpbGRyZW46bm90KC5pcy1leHBhbmRlZCkge1xyXG5cdG1heC1oZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIEVtcHR5IFN0YXRlICovXHJcbi5wcm9qZWN0LXRyZWUtZW1wdHkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4vKiBWaWV3IFRvZ2dsZSBCdXR0b24gKi9cclxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxLjc1cmVtO1xyXG5cdGhlaWdodDogMS43NXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnByb2plY3RzLXZpZXctdG9nZ2xlLWJ0biBzdmcge1xyXG5cdHdpZHRoOiAxcmVtO1xyXG5cdGhlaWdodDogMXJlbTtcclxufVxyXG5cclxuLyogTXVsdGktc2VsZWN0IE1vZGUgSW5kaWNhdG9yICovXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS1jb250ZW50OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwLjI1cmVtO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHR3aWR0aDogMC44NzVyZW07XHJcblx0aGVpZ2h0OiAwLjg3NXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4ucHJvamVjdC10cmVlLWNvbnRhaW5lci5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdC10cmVlLWl0ZW0uaXMtc2VsZWN0ZWQgLnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQ6OmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXRyZWUtY29udGFpbmVyLm11bHRpLXNlbGVjdC1tb2RlIC5wcm9qZWN0LXRyZWUtaXRlbS5pcy1zZWxlY3RlZCAucHJvamVjdC10cmVlLWl0ZW0tY29udGVudDo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICdcdTI3MTMnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwLjI1cmVtO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHR3aWR0aDogMC44NzVyZW07XHJcblx0aGVpZ2h0OiAwLjg3NXJlbTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIC5wcm9qZWN0LXRyZWUtaXRlbS1jb3VudC1kaXJlY3Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLnByb2plY3QtdHJlZS1pdGVtLWNvdW50LXRvdGFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnByb2plY3QtdHJlZS1pdGVtLWNvbnRlbnQge1xyXG5cdFx0cGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciB0cmVlIGV4cGFuc2lvbiAqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2plY3QtdHJlZS1pdGVtLWNoaWxkcmVuID4gLnByb2plY3QtdHJlZS1pdGVtIHtcclxuXHRhbmltYXRpb246IHNsaWRlRG93biAwLjE1cyBlYXNlO1xyXG59XHJcbiIsICIvKiBQcm9qZWN0cyBWaWV3IFN0eWxlcyAqL1xuLnJldmlldy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDI1MHB4O1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucmV2aWV3LXJpZ2h0LWNvbHVtbiB7XG5cdGZsZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi8qIFByb2plY3QgZ3JvdXAgaGVhZGVycyAqL1xuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXIge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogNHB4IDhweCA0cHg7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnJldmlldy1wcm9qZWN0cy1ncm91cC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIFByb2plY3QgaXRlbXMgaW4gdGhlIHNpZGViYXIgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi8qIFByb2plY3RzIHdpdGggcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFByb2plY3RzIHdpdGhvdXQgcmV2aWV3IHNldHRpbmdzICovXG4ucmV2aWV3LXByb2plY3QtaXRlbTpub3QoLmhhcy1yZXZpZXctc2V0dGluZ3MpIC5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1oZWFkZXItY29udGVudCBoMyB7XG5cdG1hcmdpbjogMCAwIDhweCAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ucmV2aWV3LWluZm8ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5yZXZpZXctc2VwYXJhdG9yIHtcblx0bWFyZ2luOiAwIDhweDtcbn1cblxuLnJldmlldy1mcmVxdWVuY3kge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmV2aWV3LWxhc3QtZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbm8tc2V0dGluZ3Mge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEZpbHRlciBpbmZvcm1hdGlvbiAqL1xuLnJldmlldy1maWx0ZXItaW5mbyB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5yZXZpZXctZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi5yZXZpZXctdGFzay1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucmV2aWV3LWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUmV2aWV3IGJ1dHRvbnMgKi9cbi5yZXZpZXctYnV0dG9uLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4sXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctZWRpdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xuXHRtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBDb25maWd1cmUgTW9kYWwgKi9cbi5yZXZpZXctbW9kYWwtdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnJldmlldy1tb2RhbC1mb3JtIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnJldmlldy1tb2RhbC1maWVsZCB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWRlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtc2VsZWN0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtY3VzdG9tLWZyZXF1ZW5jeSB7XG5cdG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtbGFzdC1yZXZpZXdlZCB7XG5cdHBhZGRpbmc6IDhweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogMjRweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy10b3A6IDE2cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uIHtcblx0cGFkZGluZzogOHB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lcjpoYXMoLnJldmlldy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbiIsICIudGctaGFiaXQtY29tcG9uZW50LWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXHJcblx0cGFkZGluZzogMXJlbTsgLyogcC00ICovXHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBBbGxvdyBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4vKiA9PT0gSGFiaXQgTGlzdCBDb250YWluZXIgPT09ICovXHJcbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XHJcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBcdTVDMEZcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMC41cmVtO1xyXG5cdFx0Z2FwOiAwLjc1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU0RTJEXHU3QjQ5XHU1QzRGXHU1RTU1XHU4QkJFXHU1OTA3IH43NjhweCAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdG1heC13aWR0aDogNDAwcHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFx1NTkyN1x1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHR9XHJcbn1cclxuLyogQWRqdXN0IG1heC13aWR0aC9jb2x1bW5zIGJhc2VkIG9uIGRlc2lyZWQgbGF5b3V0ICovXHJcblxyXG4uaGFiaXQtY2FyZC13cmFwcGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLyogPT09IENyZWF0ZSBIYWJpdCBCdXR0b24gPT09ICovXHJcbi5oYWJpdC1jcmVhdGUtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbi8qID09PSBCYXNlIENhcmQgU3R5bGVzID09PSAqL1xyXG4uaGFiaXQtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogU3RhbmRhcmQgbWVkaXVtIHJhZGl1cyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBoZWFkZXIgYW5kIGNvbnRlbnQgKi9cclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xyXG59XHJcblxyXG4uaGFiaXQtY2FyZCAuY2FyZC10aXRsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7IC8qIExhcmdlciBVSSBmb250ICovXHJcblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGl0bGUgdG8gdGFrZSBzcGFjZSAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgbG9uZyBuYW1lcyBicmVha2luZyBsYXlvdXQgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4uaGFiaXQtbmFtZS5oYWJpdC1uYW1lOmhvdmVyIHtcclxuXHQvKiBTcGVjaWZpY2l0eSBmb3IgaG92ZXIgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxcmVtOyAvKiBDb25zaXN0ZW50IHBhZGRpbmcgKi9cclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRlbnQgdG8gZmlsbCBzcGFjZSAqL1xyXG5cdC8qIExheW91dCBzcGVjaWZpY3MgZGVmaW5lZCBwZXIgY2FyZCB0eXBlICovXHJcbn1cclxuXHJcbi8qID09PSBEYWlseSBIYWJpdCBDYXJkID09PSAqL1xyXG4uZGFpbHktaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdC8qIE5vIGJvcmRlciBuZWVkZWQgaWYgY2hlY2tib3ggaXMgbWFpbiBhY3Rpb24gKi9cclxuXHQvKiBib3JkZXItYm90dG9tOiBub25lOyAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveC1jb250YWluZXIge1xyXG5cdC8qIFN0eWxlIGNvbnRhaW5lciBpZiBuZWVkZWQgKi9cclxufVxyXG4uZGFpbHktaGFiaXQtY2FyZCAuaGFiaXQtY2hlY2tib3gge1xyXG5cdC0tY2hlY2tib3gtc2l6ZTogMS4yNXJlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0YWNjZW50LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBTdHlsZSBjaGVja2JveCBjb2xvciAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0LyogQ29udGFpbnMgaGVhdG1hcCAqL1xyXG5cdHBhZGRpbmc6IDByZW0gMXJlbSAwLjc1cmVtOyAvKiBBZGp1c3QgcGFkZGluZyBhcm91bmQgaGVhdG1hcCAqL1xyXG59XHJcblxyXG4vKiA9PT0gQ291bnQgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLmNvdW50LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIERlZmF1bHQgbW9iaWxlIGxheW91dCAqL1xyXG5cdGdhcDogMC43NXJlbTsgLyogQWRqdXN0ZWQgZ2FwICovXHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcclxuXHQtLWljb24tc2l6ZTogMnJlbTtcclxuXHRoZWlnaHQ6IDRyZW07IC8qIFNsaWdodGx5IHNtYWxsZXIgdGhhbiBoLTE2ICovXHJcblx0d2lkdGg6IDRyZW07XHJcblx0YXNwZWN0LXJhdGlvOiAxO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGxlciByYWRpdXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjVyZW07IC8qIEZvciBpY29uICovXHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLWljb24tY29sb3IpO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWNhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtYWN0aXZlLWRheSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdGV4dCBvbiBtb2JpbGUgKi9cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ZmxleC1ncm93OiAxO1xyXG59XHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pbmZvIGgzIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBDb3VudCBDYXJkICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xyXG5cdC8qIHNtIGJyZWFrcG9pbnQgKi9cclxuXHQuY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cclxuXHRcdGdhcDogMXJlbTtcclxuXHR9XHJcblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xyXG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGl0IHRvIHNocmluayAqL1xyXG5cdFx0bWluLXdpZHRoOiAxNTBweDsgLyogRW5zdXJlIG1pbmltdW0gd2lkdGggZm9yIGhlYXRtYXAvcHJvZ3Jlc3MgKi9cclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpZ24gcHJvZ3Jlc3MgdG8gdGhlIHJpZ2h0ICovXHJcblx0fVxyXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLXNtYWxsIHtcclxuXHRcdHdpZHRoOiAxMDAlOyAvKiBBbGxvdyBoZWF0bWFwIHRvIGRlZmluZSBpdHMgb3duIHdpZHRoICovXHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gU2NoZWR1bGVkIEhhYml0IENhcmQgPT09ICovXHJcbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cclxufVxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXHJcblx0Z2FwOiAwLjc1cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBjb250cm9scyBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1ldmVudC1kcm9wZG93biB7XHJcblx0d2lkdGg6IGF1dG87IC8qIEF1dG8gd2lkdGggZHJvcGRvd24gKi9cclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgU2NoZWR1bGVkIENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8qIEFsaWduIHRvcCAqL1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHNocmluayAqL1xyXG5cdFx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHRha2UgYXZhaWxhYmxlIHNwYWNlICovXHJcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07IC8qIFNwYWNlIGJldHdlZW4gaGVhdG1hcCBhbmQgY29udHJvbHMgKi9cclxuXHR9XHJcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0XHR3aWR0aDogYXV0bzsgLyogU2hyaW5rIGNvbnRyb2xzICovXHJcblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBNaW5pbXVtIHdpZHRoICovXHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gY29udHJvbHMgbGVmdCAqL1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09IE1hcHBpbmcgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBNb2JpbGUgZGVmYXVsdCAqL1xyXG5cdGdhcDogMC43NXJlbTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMS43NXJlbTsgLyogTGFyZ2VyIGVtb2ppL3RleHQgKi9cclxuXHRwYWRkaW5nOiAwLjVyZW07XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAxMDBweDsgLyogTGltaXQgYnV0dG9uIHdpZHRoICovXHJcblx0aGVpZ2h0OiAzLjVyZW07IC8qIGgtMTYgZXF1aXZhbGVudCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJnKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgZW1vamkgdmlzaWJpbGl0eSAqL1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmcpO1xyXG59XHJcblxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyBmdWxsIHdpZHRoICovXHJcblx0bWF4LXdpZHRoOiAyMDBweDsgLyogTGltaXQgc2xpZGVyIHdpZHRoICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIHNsaWRlciBsYWJlbCAqL1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2Ugc2xpZGVyIGNvbnRyb2wgdGFrZSBmdWxsIHdpZHRoICovXHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgTWFwcGluZyBDYXJkICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgaXRlbXMgdmVydGljYWxseSAqL1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHR9XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtaW4td2lkdGg6IDgwcHg7IC8qIFdpZHRoIGZvciBidXR0b24gKyBzbGlkZXIgKi9cclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEtlZXAgYnV0dG9uIGFib3ZlIHNsaWRlciAqL1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGdhcDogMC43NXJlbTtcclxuXHR9XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDRyZW07IC8qIEZpeGVkIHdpZHRoIGJ1dHRvbiAqL1xyXG5cdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XHJcblx0XHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIHdpZHRoIG9mIGNvbnRyb2wgYXJlYSAqL1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09IFByb2dyZXNzIEJhciAoQ29tbW9uIGZvciBDb3VudC9TY2hlZHVsZWQpID09PSAqL1xyXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDAuNzVyZW07IC8qIFNsaWdodGx5IHRoaWNrZXIgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWwpOyAvKiBQaWxsIHNoYXBlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIEZvciB0ZXh0IG92ZXJsYXkgKi9cclxufVxyXG4uaGFiaXQtcHJvZ3Jlc3MtYmFyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XHJcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyLmZpbGxlZCAuaGFiaXQtcHJvZ3Jlc3MtdGV4dCB7XHJcblx0bWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuNnJlbTsgLyogVGlueSB0ZXh0ICovXHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBjb2xvciBvbiBmaWxsZWQgcGFydCAqL1xyXG5cdG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyAvKiBUcnkgdG8gbWFrZSB0ZXh0IHZpc2libGUgKi9cclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiA9PT0gSGVhdG1hcCBTdHlsZXMgPT09ICovXHJcbi50Zy1oZWF0bWFwLXJvb3Qge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xyXG59XHJcbi5oZWF0bWFwLXNtIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cclxufVxyXG5cclxuLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cclxuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oZWF0bWFwLWNlbGwge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGwgcmFkaXVzICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjZWxscyBmcm9tIHNocmlua2luZyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcclxuXHQpOyAvKiBEZWZhdWx0IGJhY2tncm91bmQgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogQm9yZGVyIGZvciBibGFuay9jdXN0b20gKi9cclxufVxyXG5cclxuLyogSGVhdG1hcCBTaGFwZXMgKi9cclxuLmhlYXRtYXAtY2VsbC1zcXVhcmUge1xyXG5cdC8qIERlZmluZWQgYnkgc2l6ZSAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwtZG90IHtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi8qIEhlYXRtYXAgU2l6ZXMgKi9cclxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY2VsbCB7XHJcblx0d2lkdGg6IDAuNzVyZW07XHJcblx0aGVpZ2h0OiAwLjc1cmVtO1xyXG59XHJcbi5oYWJpdC1oZWF0bWFwLW1lZGl1bSAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMS40cmVtO1xyXG5cdGhlaWdodDogMS40cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43cmVtO1xyXG59XHJcblxyXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMS4xcmVtO1xyXG5cdGhlaWdodDogMS4xcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43cmVtO1xyXG59IC8qIE1hcHBpbmcvU2NoZWR1bGVkICovXHJcbi5oZWF0bWFwLWxnIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjI1cmVtO1xyXG5cdGhlaWdodDogMS4yNXJlbTtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcbn0gLyogRGFpbHkgKi9cclxuXHJcbi8qIEhlYXRtYXAgVmFyaWFudHMgKi9cclxuLmhlYXRtYXAtY2VsbC5kZWZhdWx0IHtcclxuXHQvKiBEZWZhdWx0IHN0eWxlcyBhbHJlYWR5IHNldCAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwuZmlsbGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7IC8qIFRleHQgb24gZmlsbGVkIChlLmcuLCBlbW9qaSkgKi9cclxufVxyXG5cclxuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQ6aGFzKC5waWUtZG90LWNvbnRhaW5lcikge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcbn1cclxuXHJcbi8qIFN0eWxlIGZvciBjZWxscyB3aXRoIGN1c3RvbSBjb250ZW50IGxpa2UgUGllRG90IG9yIEVtb2ppICovXHJcbi5oZWF0bWFwLWNlbGwuaGFzLWN1c3RvbS1jb250ZW50LFxyXG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogVXNlIGNhcmQgYmFja2dyb3VuZCAqL1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgYm9yZGVyICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogRW5zdXJlIHRleHQvZW1vamkgaXMgdmlzaWJsZSAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XHJcblx0bGluZS1oZWlnaHQ6IDE7IC8qIENlbnRlciBlbW9qaSB2ZXJ0aWNhbGx5ICovXHJcbn1cclxuXHJcbi8qIFBpZURvdCBDb250YWluZXIgKi9cclxuLnBpZS1kb3QtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5waWUtZG90LWNvbnRhaW5lciBzdmcge1xyXG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBSZW1vdmUgZXh0cmEgc3BhY2UgYmVsb3cgU1ZHICovXHJcbn1cclxuXHJcbi8qID09PSBFbXB0eSBTdGF0ZSA9PT0gKi9cclxuLmhhYml0LWVtcHR5LXN0YXRlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbSAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuLmhhYml0LWVtcHR5LXN0YXRlIHAge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1ub3JtYWwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxufVxyXG5cclxuLyogPT09IEljb25zIFBsYWNlaG9sZGVyID09PSAqL1xyXG4uaGFiaXQtaWNvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8qIHdpZHRoOiAxZW07ICovXHJcblx0aGVpZ2h0OiAxZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XHJcblx0LS1pY29uLXNpemU6IDEuNXJlbTtcclxufVxyXG5cclxuLyogPT09IEhhYml0IENoYXJ0IE1vZGFsID09PSAqL1xyXG4uaGFiaXQtY2hhcnQtY29udHJvbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG59XHJcbi5oYWJpdC1jaGFydC1maWx0ZXJzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtY2hhcnQtZmlsdGVycyAuZmlsdGVyLWJ0biB7XHJcblx0cGFkZGluZzogMC4yNXJlbSAwLjZyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmhhYml0LWNoYXJ0LWZpbHRlcnMgLmZpbHRlci1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1sYWJlbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuLmhhYml0LWNoYXJ0LXllYXJzIC55ZWFycy1iYXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiBub3dyYXA7XHJcblx0Z2FwOiAwLjRyZW07XHJcblx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG59XHJcbi5oYWJpdC1jaGFydC15ZWFycyAueWVhci1idG4ge1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi5oYWJpdC1jaGFydC15ZWFycyAueWVhci1idG4uc2VsZWN0ZWQsXHJcbi5oYWJpdC1jaGFydC15ZWFycyAueWVhci1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuLmhhYml0LWNoYXJ0LWhlYXRtYXAge1xyXG5cdC8qIFJldXNlIHRoZSBoZWF0bWFwIGdyaWQgc3R5bGVzOyBhbGxvdyBvdmVyZmxvdyAqL1xyXG5cdG1heC1oZWlnaHQ6IDYwdmg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuIiwgIi8qIERlZmluZSB0aGVtZSB2YXJpYWJsZXMgKi9cclxuOnJvb3Qge1xyXG5cdC8qIFRhc2sgc3RhdHVzIGNvbG9ycyAqL1xyXG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XHJcblx0LS10YXNrLWRvaW5nLWNvbG9yOiAjODBkZWU1O1xyXG5cdC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcjogI2Y5ZDkyMztcclxuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZWI1MzUzO1xyXG5cdC0tdGFzay1wbGFubmVkLWNvbG9yOiAjOWMyN2IwOyAvKiBQbGFubmVkIHRhc2sgY29sb3IgKi9cclxuXHQtLXRhc2stcXVlc3Rpb24tY29sb3I6ICMyMTk2ZjM7IC8qIFF1ZXN0aW9uIHRhc2tzICovXHJcblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2Y0NDMzNjsgLyogSW1wb3J0YW50IHRhc2tzICovXHJcblx0LS10YXNrLXN0YXItY29sb3I6ICNmZmMxMDc7IC8qIFN0YXIgdGFza3MgKi9cclxuXHQtLXRhc2stcXVvdGUtY29sb3I6ICM2MDdkOGI7IC8qIFF1b3RlIHRhc2tzICovXHJcblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjNzk1NTQ4OyAvKiBMb2NhdGlvbiB0YXNrcyAqL1xyXG5cdC0tdGFzay1ib29rbWFyay1jb2xvcjogI2ZmOTgwMDsgLyogQm9va21hcmsgdGFza3MgKi9cclxuXHQtLXRhc2staW5mb3JtYXRpb24tY29sb3I6ICMwMGJjZDQ7IC8qIEluZm9ybWF0aW9uIHRhc2tzICovXHJcblx0LS10YXNrLWlkZWEtY29sb3I6ICM5YzI3YjA7IC8qIElkZWEgdGFza3MgKi9cclxuXHQtLXRhc2stcHJvcy1jb2xvcjogIzRjYWY1MDsgLyogUHJvcyB0YXNrcyAqL1xyXG5cdC0tdGFzay1jb25zLWNvbG9yOiAjZjQ0MzM2OyAvKiBDb25zIHRhc2tzICovXHJcblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjU3MjI7IC8qIEZpcmUgdGFza3MgKi9cclxuXHQtLXRhc2sta2V5LWNvbG9yOiAjZmZkNzAwOyAvKiBLZXkgdGFza3MgKi9cclxuXHQtLXRhc2std2luLWNvbG9yOiAjNjZiYjZhOyAvKiBXaW4gdGFza3MgKi9cclxuXHQtLXRhc2stdXAtY29sb3I6ICM0Y2FmNTA7IC8qIFVwIHRhc2tzICovXHJcblx0LS10YXNrLWRvd24tY29sb3I6ICNmNDQzMzY7IC8qIERvd24gdGFza3MgKi9cclxuXHQtLXRhc2stbm90ZS1jb2xvcjogIzllOWU5ZTsgLyogTm90ZSB0YXNrcyAqL1xyXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICM4YmMzNGE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzICovXHJcblx0LS10YXNrLXNwZWVjaC1jb2xvcjogIzAzYTlmNDsgLyogU3BlZWNoIGJ1YmJsZSB0YXNrcyAqL1xyXG5cclxuXHQvKiBQcm9ncmVzcyBiYXIgZ3JhZGllbnQgY29sb3JzIC0gbGlnaHQgdGhlbWUgKi9cclxuXHQtLXByb2dyZXNzLTAtY29sb3I6ICNhZTQzMWU7XHJcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcclxuXHQtLXByb2dyZXNzLTUwLWNvbG9yOiAjYjRjNmE2O1xyXG5cdC0tcHJvZ3Jlc3MtNzUtY29sb3I6ICM2YmNiNzc7XHJcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XHJcblxyXG5cdC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufVxyXG5cclxuLyogRGFyayB0aGVtZSBjb2xvciBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayB7XHJcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcclxuXHQtLXRhc2stZG9pbmctY29sb3I6ICMzNzlmYTc7XHJcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZmZjMTA3O1xyXG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNmNDQzMzY7XHJcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICNjZTkzZDg7IC8qIFBsYW5uZWQgdGFzayBjb2xvciBmb3IgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzQyYTVmNTsgLyogUXVlc3Rpb24gdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNlZjUzNTA7IC8qIEltcG9ydGFudCB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXN0YXItY29sb3I6ICNmZmQ1NGY7IC8qIFN0YXIgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzkwYTRhZTsgLyogUXVvdGUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzhkNmU2MzsgLyogTG9jYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1ib29rbWFyay1jb2xvcjogI2ZmYjc0ZDsgLyogQm9va21hcmsgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzI2YzZkYTsgLyogSW5mb3JtYXRpb24gdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjY2U5M2Q4OyAvKiBJZGVhIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stcHJvcy1jb2xvcjogIzY2YmI2YTsgLyogUHJvcyB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWNvbnMtY29sb3I6ICNlZjUzNTA7IC8qIENvbnMgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY3MDQzOyAvKiBGaXJlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2sta2V5LWNvbG9yOiAjZmZkNzAwOyAvKiBLZXkgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay13aW4tY29sb3I6ICM4MWM3ODQ7IC8qIFdpbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXVwLWNvbG9yOiAjNjZiYjZhOyAvKiBVcCB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWRvd24tY29sb3I6ICNlZjUzNTA7IC8qIERvd24gdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjYmRiZGJkOyAvKiBOb3RlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjYWVkNTgxOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXNwZWVjaC1jb2xvcjogIzI5YjZmNjsgLyogU3BlZWNoIGJ1YmJsZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblxyXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcclxuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xyXG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XHJcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3NztcclxuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcclxuXHJcblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcbiIsICIudGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwge1xuXHR3aWR0aDogbWF4KDcwJSwgNTAwcHgpO1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBDb25maWd1cmF0aW9uIE1vZGFsICovXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbSB7XG5cdC8qIEFkZCBzb21lIHNwYWNpbmcgYmV0d2VlbiBzZXR0aW5ncyBpbiB0aGUgbW9kYWwgKi9cblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsXG5cdC5zZXR0aW5nLWl0ZW06bm90KC5zZXR0aW5nLWl0ZW0taGVhZGluZylcblx0LnNldHRpbmctaXRlbS1pbmZvIHtcblx0LyogRW5zdXJlIGxhYmVscyBhcmUgYWxpZ25lZCB3ZWxsICovXG5cdHdpZHRoOiAxMjBweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdC8qIEVuc3VyZSB0ZXh0IGlucHV0cyB0YWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xuXHQvKiBTdHlsZSBkZXNjcmlwdGlvbnMgKi9cblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIFZpZXcgTWFuYWdlbWVudCBMaXN0IGluIFNldHRpbmdzIFRhYiAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4IGZvciBiZXR0ZXIgY29udHJvbCAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBBbGlnbiBpdGVtcyB2ZXJ0aWNhbGx5ICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWluZm8ge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IG5hbWUvZGVzY3JpcHRpb24gdG8gdGFrZSB1cCBzcGFjZSAqL1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xuXHQvKiBLZWVwIGNvbnRyb2xzIHRvZ2V0aGVyICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvZ2dsZXMvYnV0dG9ucyAqL1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5idXR0b24tY29tcG9uZW50IHtcblx0cGFkZGluZzogNXB4OyAvKiBTbWFsbGVyIHBhZGRpbmcgZm9yIGljb24gYnV0dG9ucyAqL1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1vcmRlci1idXR0b24sXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnZpZXctZGVsZXRlLWJ1dHRvbiB7XG5cdC8qIFN0eWxlIGFjdGlvbiBidXR0b25zICovXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBTcGVjaWZpYyBzdHlsaW5nIGZvciB0b2dnbGVzIGluIHRoZSBsaXN0ICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIC5jaGVja2JveC1jb250YWluZXIge1xuXHRtYXJnaW46IDA7IC8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbnMgaWYgYW55ICovXG59XG5cbi8qIEljb24gUGlja2VyIE1lbnUgU3R5bGVzIChTY29wZWQpICovXG4udGctaWNvbi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0cGFkZGluZzogOHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgb3ZlcmFsbCBtZW51IGhlaWdodCAqL1xuXHR3aWR0aDogMjUwcHg7XG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94ICovXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8qIFByZXZlbnQgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBtYXgtaGVpZ2h0IGNhbGN1bGF0aW9uIGZvciBmbGV4IGNoaWxkcmVuICovXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBpbnRlcm1lZGlhdGUgY29udGFpbmVyICovXG4vKiAuYm0tcGx1Z2luLWljb24tbWVudSAuYm0tbWVudS1jb250ZW50IHsgXG5cdGZsZXgtZ3JvdzogMTsgXG5cdG92ZXJmbG93LXk6IGF1dG87IFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAwOyBcbn0gKi9cblxuLnRnLWljb24tbWVudSAudGctbWVudS1zZWFyY2gge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgc2VhcmNoIGJhciBmcm9tIHNocmlua2luZyAqL1xufVxuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LWljb25zIHtcblx0ZmxleC1ncm93OiAxOyAvKiBJY29uIGxpc3QgdGFrZXMgcmVtYWluaW5nIHZlcnRpY2FsIHNwYWNlICovXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIE1ha2UgdGhlIGljb24gbGlzdCBzY3JvbGxhYmxlICovXG5cdG1pbi1oZWlnaHQ6IDA7IC8qIENydWNpYWwgZm9yIGFsbG93aW5nIGZsZXggY2hpbGQgdG8gc2hyaW5rIGFuZCBzY3JvbGwgKi9cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzJweCwgMWZyKSk7XG5cdGdhcDogNHB4O1xuXHQvKiBSZW1vdmUgbWluLWhlaWdodCBwcmV2aW91c2x5IG5lZWRlZCBmb3IgZ3JpZCBpbiBmbGV4ICovXG59XG5cbi8qIFNjb3BlIHRoZSBjbGlja2FibGUgaWNvbiAqd2l0aGluKiB0aGUgbWVudSAqL1xuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiBzdmcge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLyogQ2hlY2tib3ggU3RhdHVzIFN3aXRjaGVyIFN0eWxlcyAqL1xyXG4udGFzay1zdGF0dXMtd2lkZ2V0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcclxufVxyXG5cclxuLnRhc2stc3RhdGUubGl2ZS1wcmV2aWV3LW1vZGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi50YXNrLXN0YXR1cy13aWRnZXQgLmxpc3QtYnVsbGV0OjphZnRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdC1tYXJrZXItY29sb3IpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIFRPRE8gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIiBcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIERPSU5HIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIvXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1kb2luZy1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElOLVBST0dSRVNTIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI+XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcbn1cclxuXHJcbi8qIERPTkUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInhcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIlhcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIENBTkNFTExFRCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiLVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stYWJhbmRvbmVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogU0NIRURVTEVEIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI8XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcclxufVxyXG5cclxuLyogUVVFU1RJT04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIj9cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1ZXN0aW9uLWNvbG9yKTtcclxufVxyXG5cclxuLyogSU1QT1JUQU5UIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIhXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbXBvcnRhbnQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBTVEFSIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIqXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1zdGFyLWNvbG9yKTtcclxufVxyXG5cclxuLyogUVVPVEUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT0nXCInXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcXVvdGUtY29sb3IpO1xyXG59XHJcblxyXG4vKiBMT0NBVElPTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwibFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stbG9jYXRpb24tY29sb3IpO1xyXG59XHJcblxyXG4vKiBCT09LTUFSSyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiYlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stYm9va21hcmstY29sb3IpO1xyXG59XHJcblxyXG4vKiBJTkZPUk1BVElPTiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiaVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW5mb3JtYXRpb24tY29sb3IpO1xyXG59XHJcblxyXG4vKiBJREVBIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJJXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pZGVhLWNvbG9yKTtcclxufVxyXG5cclxuLyogUFJPUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwicFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcHJvcy1jb2xvcik7XHJcbn1cclxuXHJcbi8qIENPTlMgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImNcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbnMtY29sb3IpO1xyXG59XHJcblxyXG4vKiBGSVJFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJmXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1maXJlLWNvbG9yKTtcclxufVxyXG5cclxuLyogS0VZIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJrXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1rZXktY29sb3IpO1xyXG59XHJcblxyXG4vKiBXSU4gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIndcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXdpbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFVQIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ1XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay11cC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIERPV04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImRcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvd24tY29sb3IpO1xyXG59XHJcblxyXG4vKiBOT1RFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJuXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1ub3RlLWNvbG9yKTtcclxufVxyXG5cclxuLyogQU1PVU5UL1NBVklOR1Mgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIlNcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWFtb3VudC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFNQRUVDSCBCVUJCTEUgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjBcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjFcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjJcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjNcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjRcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjVcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjZcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjdcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjhcIl0sXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIjlcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXNwZWVjaC1jb2xvcik7XHJcbn1cclxuXHJcbi50YXNrLWZha2UtYnVsbGV0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6IDVweDtcclxuXHRoZWlnaHQ6IDVweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1yaWdodDogNHB4O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbm9sID4gLnRhc2stbGlzdC1pdGVtIC50YXNrLWZha2UtYnVsbGV0IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1zdGF0ZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbn1cclxuIiwgIi8qIFRhc2sgTXVsdGktU2VsZWN0aW9uIFN0eWxlcyAqL1xyXG5cclxuLyogU2VsZWN0aW9uIG1vZGUgaW5kaWNhdG9yIG92ZXJsYXkgKi9cclxuLnRhc2stdmlldy5zZWxlY3Rpb24tbW9kZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFzay12aWV3LnNlbGVjdGlvbi1tb2RlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjAzKTtcclxuXHR6LWluZGV4OiAwO1xyXG59XHJcblxyXG4vKiBTZWxlY3RlZCB0YXNrIGl0ZW0gc3R5bGluZyAqL1xyXG4udGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xNSkgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0cGFkZGluZy1sZWZ0OiAxM3B4OyAvKiBDb21wZW5zYXRlIGZvciBib3JkZXIgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGlvbiBjb3VudCBiYWRnZSAqL1xyXG4udGFzay1zZWxlY3Rpb24tYmFkZ2Uge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRib3R0b206IDIwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxuXHRhbmltYXRpb246IHNsaWRlSW5VcCAwLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLnRhc2stc2VsZWN0aW9uLWJhZGdlIC5zZWxlY3Rpb24tY291bnQge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBMb25nIHByZXNzIGZlZWRiYWNrIG9uIG1vYmlsZSAqL1xyXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xyXG5cdC50YXNrLWl0ZW0ubG9uZy1wcmVzcy1hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLyogSG92ZXIgZWZmZWN0IHdoZW4gaW4gc2VsZWN0aW9uIG1vZGUgKi9cclxuLnRhc2stdmlldy5zZWxlY3Rpb24tbW9kZSAudGFzay1pdGVtOm5vdCgudGFzay1pdGVtLXNlbGVjdGVkKTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wOCk7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjUpO1xyXG5cdHBhZGRpbmctbGVmdDogMTRweDtcclxufVxyXG5cclxuLyogU2hpZnQga2V5IGluZGljYXRvciAob3B0aW9uYWwgdmlzdWFsIGZlZWRiYWNrKSAqL1xyXG4udGFzay12aWV3LnNoaWZ0LWtleS1hY3RpdmUgLnRhc2staXRlbSB7XHJcblx0Y3Vyc29yOiBjcm9zc2hhaXI7XHJcbn1cclxuXHJcbi8qIEJ1bGsgb3BlcmF0aW9ucyBtZW51IHN0eWxpbmcgKi9cclxuLnRhc2stYnVsay1vcGVyYXRpb25zLW1lbnUge1xyXG5cdG1pbi13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi50YXNrLWJ1bGstb3BlcmF0aW9ucy1tZW51IC5tZW51LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnRhc2stYnVsay1vcGVyYXRpb25zLW1lbnUgLm1lbnUtaXRlbS1pY29uIHtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGlvbiBtb2RlIGV4aXQgYnV0dG9uICovXHJcbi50YXNrLXNlbGVjdGlvbi1leGl0LWhpbnQge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDYwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR6LWluZGV4OiA5OTk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNnB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi50YXNrLXNlbGVjdGlvbi1leGl0LWhpbnQga2JkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxufVxyXG5cclxuLyogVHJlZSB2aWV3IHNlbGVjdGlvbiBzdHlsZXMgKi9cclxuLnRyZWUtaXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMTUpICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udHJlZS1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCAudHJlZS1pdGVtLWlubmVyIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBEaXNhYmxlZCBzdGF0ZSBmb3Igbm9uLXNlbGVjdGFibGUgaXRlbXMgKi9cclxuLnRhc2staXRlbS5zZWxlY3Rpb24tZGlzYWJsZWQge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4udGFzay1pdGVtLnNlbGVjdGlvbi1kaXNhYmxlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIFNlbGVjdGlvbiBjaGVja2JveCB2aXN1YWwgKGlmIGFkZGluZyBleHBsaWNpdCBjaGVja2JveGVzKSAqL1xyXG4udGFzay1pdGVtLXNlbGVjdGlvbi1jaGVja2JveCB7XHJcblx0d2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxOHB4O1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2staXRlbS1zZWxlY3RlZCAudGFzay1pdGVtLXNlbGVjdGlvbi1jaGVja2JveCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0tc2VsZWN0ZWQgLnRhc2staXRlbS1zZWxlY3Rpb24tY2hlY2tib3g6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlx1MjcxM1wiO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBGYWRlIGluL291dCBhbmltYXRpb25zIGZvciBzZWxlY3Rpb24gbW9kZSAqL1xyXG4udGFzay1zZWxlY3Rpb24tbW9kZS1lbnRlciB7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4ycyBlYXNlLW91dDtcclxufVxyXG5cclxuLnRhc2stc2VsZWN0aW9uLW1vZGUtZXhpdCB7XHJcblx0YW5pbWF0aW9uOiBmYWRlT3V0IDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIE1vYmlsZS1zcGVjaWZpYyBhZGp1c3RtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGFzay1zZWxlY3Rpb24tYmFkZ2Uge1xyXG5cdFx0Ym90dG9tOiA3MHB4OyAvKiBBY2NvdW50IGZvciBtb2JpbGUgYm90dG9tIG5hdiAqL1xyXG5cdH1cclxuXHJcblx0LnRhc2staXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQge1xyXG5cdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDRweDsgLyogTW9yZSBwcm9taW5lbnQgb24gbW9iaWxlICovXHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEycHg7XHJcblx0fVxyXG5cclxuXHQudGFzay1zZWxlY3Rpb24tZXhpdC1oaW50IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgRVNDIGhpbnQgb24gbW9iaWxlICovXHJcblx0fVxyXG59XHJcblxyXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIC50YXNrLWl0ZW0udGFzay1pdGVtLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0Ym94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbn1cclxuXHJcbi8qIExpZ2h0IHRoZW1lIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1saWdodCAudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xMikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRoZW1lLWxpZ2h0IC50YXNrLXNlbGVjdGlvbi1iYWRnZSB7XHJcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbi8qIENvbXBhY3QgbW9kZSBhZGp1c3RtZW50cyAqL1xyXG4udGFzay12aWV3LmNvbXBhY3QtbW9kZSAudGFzay1pdGVtLnRhc2staXRlbS1zZWxlY3RlZCB7XHJcblx0cGFkZGluZy10b3A6IDRweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4vKiBBY2Nlc3NpYmlsaXR5OiBIaWdoIGNvbnRyYXN0IG1vZGUgKi9cclxuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XHJcblx0LnRhc2staXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQge1xyXG5cdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDRweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMjUpICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZWR1Y2UgbW90aW9uIGZvciBhY2Nlc3NpYmlsaXR5ICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LnRhc2staXRlbS50YXNrLWl0ZW0tc2VsZWN0ZWQsXHJcblx0LnRhc2stc2VsZWN0aW9uLWJhZGdlLFxyXG5cdC50YXNrLXNlbGVjdGlvbi1leGl0LWhpbnQge1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFRhc2sgR2VuaXVzIE9uYm9hcmRpbmcgU3R5bGVzICovXHJcbi8qIHNoYWRjbiBEZXNpZ24gUHJpbmNpcGxlcyBBcHBsaWVkICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBNYWluIG9uYm9hcmRpbmcgc3R5bGVzIC0gc2hhcmVkIGJ5IG1vZGFsIGFuZCB2aWV3ICovXHJcbi5vbmJvYXJkaW5nLXZpZXcge1xyXG5cdC0tZGlhbG9nLXdpZHRoOiA4MDBweDtcclxuXHQtLWRpYWxvZy1tYXgtd2lkdGg6IDkwdnc7XHJcblx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTB2aDtcclxuXHQtLW9uYm9hcmRpbmctc3BhY2luZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LS1vbmJvYXJkaW5nLXRyYW5zaXRpb246IGFsbCAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cclxuXHQvKiBzaGFkY24gZGVzaWduIHRva2VucyAqL1xyXG5cdC0tc2hhZG93LXNtOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTtcclxuXHQtLXNoYWRvdy1tZDogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHQtLXNoYWRvdy1sZzpcclxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XHJcblx0LS1zaGFkb3cteGw6XHJcblx0XHQwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XHJcbn1cclxuXHJcbi8qIE1vZGFsIHNwZWNpZmljIHN0eWxlcyAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5tb2RhbC1jb250ZW50IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2RhbC1iYWNrZ3JvdW5kKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1tb2RhbC1yYWRpdXMpO1xyXG5cdG1heC13aWR0aDogdmFyKC0tZGlhbG9nLW1heC13aWR0aCk7XHJcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xyXG5cdGhlaWdodDogOTB2aDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4vKiBWaWV3IHNwZWNpZmljIHN0eWxlcyAqL1xyXG4ub25ib2FyZGluZy12aWV3IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctY29udGVudCB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLyogSGlkZSBvbmJvYXJkaW5nLWhlYWRlciBpZiBubyBoZWFkZXIgY29udGVudCAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWhlYWRlcjplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1zdWJ0aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogQ29udGVudCBzZWN0aW9uICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWluLWhlaWdodDogMDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRm9vdGVyIHNlY3Rpb24gLSBNb2Rlcm4gZGVzaWduICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci10b3A6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAtMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLyogR2xhc3MgbW9ycGhpc20gZWZmZWN0IGZvciBtb2Rlcm4gbG9vayAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3Rlcjo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KSwgdHJhbnNwYXJlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBCdXR0b24gZ3JvdXBzIC0gbGVmdCBhbmQgcmlnaHQgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuYnV0dG9ucy1sZWZ0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmJ1dHRvbnMtcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLyogRW5oYW5jZWQgYnV0dG9uIHN0eWxlcyAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRtaW4taGVpZ2h0OiAzNnB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbjpub3QoLm1vZC1jdGEpOmhvdmVyIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi8qIFJpcHBsZSBlZmZlY3Qgb24gYnV0dG9uIGNsaWNrICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyBidXR0b246OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0d2lkdGg6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0dHJhbnNpdGlvbjpcclxuXHRcdHdpZHRoIDAuNnMsXHJcblx0XHRoZWlnaHQgMC42cztcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbjphY3RpdmU6OmFmdGVyIHtcclxuXHR3aWR0aDogMjAwcHg7XHJcblx0aGVpZ2h0OiAyMDBweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFNldHRpbmdzIENoZWNrIFN0ZXAgKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuMmZyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLyogQ3VycmVudCBjb25maWd1cmF0aW9uIGNhcmQgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY3VycmVudC1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLWNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2staGVhZGVyLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2staGVhZGVyLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2staGVhZGVyLXRpdGxlIGgzIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jYXJkLWJvZHkge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hlY2stY2FyZC1kZXNjIHtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2hhbmdlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stY2hhbmdlcy1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtY2hlY2staWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLyogQWN0aW9ucyBjb250YWluZXIgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4vKiBBY3Rpb24gY2FyZHMgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIFNlbGVjdGVkIGNhcmQgc3RhdGUgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQuaXMtc2VsZWN0ZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA1KSAwJSxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSkgMTAwJVxyXG5cdCk7XHJcblx0Ym94LXNoYWRvdzpcclxuXHRcdHZhcigtLXNoYWRvdy1tZCksXHJcblx0XHQwIDAgMCAzcHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQ6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIFdpemFyZCBjYXJkIChwcmltYXJ5KSAqL1xyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24td2l6YXJkIHtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDEwMCVcclxuXHQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1hY3Rpb24td2l6YXJkOjpiZWZvcmUge1xyXG5cdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG59XHJcblxyXG4vKiBLZWVwIGNhcmQgKHNlY29uZGFyeSkgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWtlZXAge1xyXG5cdG9wYWNpdHk6IDAuOTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hlY2stYWN0aW9uLWtlZXA6aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIEFjdGlvbiBjYXJkIGNvbnRlbnQgKi9cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1pY29uIHtcclxuXHRmb250LXNpemU6IDJlbTtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtY29udGVudCBoMyB7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWNvbnRlbnQgPiBwIHtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMykgMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1mZWF0dXJlcyB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDAgMCAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuYWN0aW9uLWNhcmQtZmVhdHVyZXMgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLWZlYXR1cmVzIC5mZWF0dXJlLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5hY3Rpb24tY2FyZC1ub3RlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKSB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmFjdGlvbi1jYXJkLW5vdGUgLm5vdGUtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGVjay1jb250ZW50IHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFdlbGNvbWUgU3RlcCAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLndlbGNvbWUtc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtbm90ZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFVzZXIgTGV2ZWwgU2VsZWN0aW9uICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkcyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5jYXJkLWhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjEpO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1pY29uIHtcclxuXHRmb250LXNpemU6IDEuOGVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLXRpdGxlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB1bCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1MjAyMlwiO1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTMpKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnVzZXItbGV2ZWwtY2FyZCAucmVjb21tZW5kYXRpb24tYmFkZ2Uge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQ29uZmlndXJhdGlvbiBQcmV2aWV3ICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW92ZXJ2aWV3IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm1vZGUtaWNvbiB7XHJcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXNldHRpbmdzIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1mZWF0dXJlcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctdmlld3Mge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWF0dXJlLWNoZWNrIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTIwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmlldy1pY29uIHtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAudmlldy1uYW1lIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGk6bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy1sYWJlbCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5nLXZhbHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1vcHRpb25zIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmN1c3RvbWl6YXRpb24tbm90ZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5ub3RlLXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbjogMDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyBQcmV2aWV3ICovXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1jaGFuZ2VzLXN1bW1hcnkge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIDA7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtNC0yKSAwO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucHJlc2VydmVkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucHJlc2VydmVkLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC51cGRhdGVkLXZpZXdzLFxyXG4ub25ib2FyZGluZy1tb2RhbCAudXBkYXRlZC12aWV3cyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMSk7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMCAwIHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktbm90ZSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWJsdWUtcmdiKSwgMC4xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogVGFzayBDcmVhdGlvbiBHdWlkZSAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnRhc2stZ3VpZGUtaW50cm8ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmd1aWRlLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1zZWN0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtZXhhbXBsZSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWV4YW1wbGUgY29kZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1sZWdlbmQgc21hbGwge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAubWV0YWRhdGEtc3ltYm9scyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBsaSxcclxuLm9uYm9hcmRpbmctdmlldyAuc3ltYm9scy1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxyXG4ub25ib2FyZGluZy12aWV3IC5zeW1ib2xzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGF0dXMtbGlzdCBjb2RlIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtaW4td2lkdGg6IDQwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5kZW1vLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnByYWN0aWNlLWZlZWRiYWNrIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tbWVzc2FnZSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tc3VjY2VzcyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWVycm9yIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLXJlZC1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24td2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1vcmFuZ2UtcmdiKSwgMC4xKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLWluZm8ge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBsaSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgY29kZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1pbi13aWR0aDogMTAwcHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIENvbXBsZXRpb24gUGFnZSAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbXBsZXRpb24tc3VjY2VzcyB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAzZW07XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdWNjZXNzLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1zdW1tYXJ5LWNhcmQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS41ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1uYW1lIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXBzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXAge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLW51bWJlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jb250ZW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAubmV4dC1zdGVwcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5uZXh0LXN0ZXBzLWxpc3QgbGkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jaGVjayB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtY2xpY2thYmxlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAucmVzb3VyY2UtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stcG9zaXRpdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLW5lZ2F0aXZlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYSB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYTpob3ZlciB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2Uge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2UtdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmJvYXJkaW5nLXZpZXcge1xyXG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XHJcblx0XHQtLWRpYWxvZy1tYXgtd2lkdGg6IDk1dnc7XHJcblx0XHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5NXZoO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkcyB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcblxyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAudmlld3MtZ3JpZCB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEwMHB4LCAxZnIpKTtcclxuXHR9XHJcblxyXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LyogTW9kZSBhbmQgUGxhY2VtZW50IFNlbGVjdGlvbiAtIE1vYmlsZSBMYXlvdXQgKi9cclxuXHQubW9kZS1vcHRpb25zLFxyXG5cdC5wbGFjZW1lbnQtb3B0aW9ucyB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcblxyXG5cdC5tb2RlLWNhcmQtcHJldmlldyB7XHJcblx0XHRoZWlnaHQ6IDEwMHB4O1xyXG5cdH1cclxuXHJcblx0LnBsYWNlbWVudC1jYXJkLXByZXZpZXcge1xyXG5cdFx0aGVpZ2h0OiA4MHB4O1xyXG5cdH1cclxuXHJcblx0Lm1vZGUtY2FyZCxcclxuXHQucGxhY2VtZW50LWNhcmQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0LyogSW50cm8gbW9kZSBzZWxlY3Rpb24gLSBNb2JpbGUgYWRqdXN0bWVudHMgKi9cclxuXHQuaW50cm8tbW9kZS1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTEpO1xyXG5cdH1cclxuXHJcblx0LmludHJvLXR5cGluZyB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0LyogRm9vdGVyIGFkanVzdG1lbnRzIGZvciBtb2JpbGUgKi9cclxuXHQub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWZvb3RlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIHtcclxuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0Lm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1idXR0b25zIGJ1dHRvbiB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdFx0Zm9udC1zaXplOiAwLjllbTtcclxuXHR9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBEYXJrIFRoZW1lIEFkanVzdG1lbnRzICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyBmb3IgZm9vdGVyICovXHJcbi50aGVtZS1kYXJrIC50aGVtZS1kYXJrIC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyIHtcclxuXHRib3gtc2hhZG93OiAwIC0ycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50aGVtZS1kYXJrIC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctZm9vdGVyOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yKSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQW5pbWF0aW9uIGFuZCBUcmFuc2l0aW9ucyAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW5VcCAwLjNzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuc2VsZWN0ZWQge1xyXG5cdGFuaW1hdGlvbjogY2FyZFNlbGVjdCAwLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGNhcmRTZWxlY3Qge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogTW9kZSBTZWxlY3Rpb24gLSBGbHVlbnQgdnMgTGVnYWN5ICovXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm1vZGUtc2VsZWN0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ubW9kZS1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLm1vZGUtY2FyZC5pcy1zZWxlY3RlZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLWhlYWRlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tb2RlLWNhcmQtYm9keSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAzZW07XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tb2RlLWZsdWVudCAubW9kZS1jYXJkLXByZXZpZXcge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAwJSxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpIDEwMCVcclxuXHQpO1xyXG59XHJcblxyXG4ubW9kZS1sZWdhY3kgLm1vZGUtY2FyZC1wcmV2aWV3IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ubW9kZS1jYXJkLWRlc2Mge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWluLWhlaWdodDogM2VtO1xyXG59XHJcblxyXG4vKiBTZWN0aW9uIHNoYXJlZCBzdHlsZXMgKi9cclxuLm9uYm9hcmRpbmctc2VjdGlvbi10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxLjI1ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWRlc2Mge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5tb2RlLXRpcHMsXHJcbi5wbGFjZW1lbnQtdGlwcyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ubW9kZS10aXBzIHAsXHJcbi5wbGFjZW1lbnQtdGlwcyBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIFBsYWNlbWVudCBTZWxlY3Rpb24gLSBTaWRlbGVhdmVzIHZzIElubGluZSAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wbGFjZW1lbnQtc2VsZWN0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LW9wdGlvbnMge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xyXG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNhcmQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC5pcy1zZWxlY3RlZCB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNhcmQtaGVhZGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNhcmQtYm9keSB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XHJcblx0aGVpZ2h0OiAxMDBweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogVmlzdWFsIHJlcHJlc2VudGF0aW9ucyBmb3IgcGxhY2VtZW50IG1vZGVzICovXHJcbi5wbGFjZW1lbnQtc2lkZWxlYXZlcyAucGxhY2VtZW50LWNhcmQtcHJldmlldyB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnIgMWZyO1xyXG5cdGdhcDogNHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnBsYWNlbWVudC1wcmV2aWV3LWNvbCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtcHJldmlldy1jb2wucGxhY2VtZW50LXByZXZpZXctbWFpbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtaW5saW5lIC5wbGFjZW1lbnQtY2FyZC1wcmV2aWV3IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtcHJldmlldy1zaW5nbGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5wbGFjZW1lbnQtY2FyZC1kZXNjIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdG1pbi1oZWlnaHQ6IDNlbTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIEFJLVN0eWxlIEludHJvIFR5cGluZyBBbmltYXRpb24gKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBXcmFwcGVyIHRvIHByZXZlbnQgbGF5b3V0IHNoaWZ0ICovXHJcbi5pbnRyby10eXBpbmctd3JhcHBlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAzKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiAzKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1jb250ZW50LmludHJvLXR5cGluZy13cmFwcGVyIHtcclxuXHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAqIDMpO1xyXG59XHJcblxyXG4uaW50cm8tdHlwaW5nIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNjtcclxufVxyXG5cclxuLmludHJvLWxpbmUtMSB7XHJcblx0LyogXCJIaSxcIiAtIExhcmdlIHJlc3BvbnNpdmUgZ3JlZXRpbmcgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDNyZW0sIDZ2dywgNXJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcblxyXG4uaW50cm8tbGluZS0yIHtcclxuXHQvKiBcIlRoYW5rIHlvdSBmb3IgdXNpbmcgVGFzayBHZW5pdXNcIiAtIFNlY29uZGFyeSBncmVldGluZyAqL1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAzdncsIDIuNXJlbSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC02KTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4uaW50cm8tbGluZS0zLFxyXG4uaW50cm8tbGluZS00IHtcclxuXHQvKiBEZXNjcmlwdGlvbiB0ZXh0IC0gUmVzcG9uc2l2ZSBib2R5IHRleHQgKi9cclxuXHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDJ2dywgMS40cmVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5pbnRyby1saW5lLTQge1xyXG5cdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgKiA0KTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctaGVhZGVyID4gLmludHJvLWxpbmUtNCB7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi8qIEFJLXN0eWxlIHN0cmVhbWluZyBjaGFyYWN0ZXJzICovXHJcbi5pbnRyby1jaGFyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0b3BhY2l0eTogMDtcclxuXHRmaWx0ZXI6IGJsdXIoNHB4KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcblx0dHJhbnNpdGlvbjpcclxuXHRcdG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxyXG5cdFx0ZmlsdGVyIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcclxuXHRcdHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uaW50cm8tY2hhci12aXNpYmxlIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdGZpbHRlcjogYmx1cigwcHgpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLyogU3BhY2UgY2hhcmFjdGVyIGhhbmRsaW5nICovXHJcbi5pbnRyby1jaGFyLXNwYWNlIHtcclxuXHR3aWR0aDogMC4yNWVtO1xyXG59XHJcblxyXG4vKiBTdHJlYW1pbmcgY3Vyc29yIHRoYXQgZm9sbG93cyBjaGFyYWN0ZXJzICovXHJcbi5pbnRyby1jdXJzb3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogMXB4O1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHRhbmltYXRpb246IGN1cnNvckJsaW5rIDFzIGluZmluaXRlO1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGN1cnNvckJsaW5rIHtcclxuXHQwJSxcclxuXHQ0OSUge1xyXG5cdFx0b3BhY2l0eTogMC43O1xyXG5cdH1cclxuXHQ1MCUsXHJcblx0MTAwJSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyogQ29tcGxldGVkIHN0cmVhbSBsaW5lICovXHJcbi5zdHJlYW0tY29tcGxldGUge1xyXG5cdGFuaW1hdGlvbjogc3RyZWFtQ29tcGxldGUgMC4zcyBlYXNlLW91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzdHJlYW1Db21wbGV0ZSB7XHJcblx0MCUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdG9wYWNpdHk6IDAuOTU7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEZhZGUgb3V0IGFuaW1hdGlvbiBmb3IgcmVtb3ZpbmcgbGluZXMgKi9cclxuLmludHJvLWxpbmUtZmFkZW91dCB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG5cdHRyYW5zaXRpb246XHJcblx0XHRvcGFjaXR5IDAuNXMgZWFzZS1vdXQsXHJcblx0XHR0cmFuc2Zvcm0gMC41cyBlYXNlLW91dDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyogTW9kZSBzZWxlY3Rpb24gY29udGFpbmVyIHRoYXQgYXBwZWFycyBhZnRlciBpbnRybyB0eXBpbmcgKi9cclxuLmludHJvLW1vZGUtc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW5Gcm9tQm90dG9tIDAuNnMgZWFzZS1vdXQ7XHJcblx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5Gcm9tQm90dG9tIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBFbmhhbmNlZCByZWFkYWJpbGl0eSBvbiBkaWZmZXJlbnQgdGhlbWVzICovXHJcbi50aGVtZS1kYXJrIC5pbnRyby1saW5lLTEge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0dGV4dC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5pbnRyby1jaGFyLXZpc2libGUge1xyXG5cdC8qIFN1YnRsZSBnbG93IGVmZmVjdCBmb3IgZGFyayB0aGVtZSAqL1xyXG5cdHRleHQtc2hhZG93OiAwIDAgOHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpO1xyXG59XHJcblxyXG4vKiBTbW9vdGggYXBwZWFyYW5jZSBmb3Igd2hvbGUgdHlwaW5nIGNvbnRhaW5lciAqL1xyXG4uaW50cm8tdHlwaW5nIHtcclxuXHRhbmltYXRpb246IGZhZGVJblR5cGluZyAwLjVzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblR5cGluZyB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuLyogVHJhbnNpdGlvbiBtZXNzYWdlIGNvbnRhaW5lciAqL1xyXG4uaW50cm8tdHJhbnNpdGlvbi1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtaW4taGVpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4uaW50cm8tdHJhbnNpdGlvbi1tZXNzYWdlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHRyZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjA4KSAwJSxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDMpIDEwMCVcclxuXHQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG59XHJcblxyXG4uaW50cm8tdHJhbnNpdGlvbi1tZXNzYWdlIC50cmFuc2l0aW9uLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0YW5pbWF0aW9uOiBzcGFya2xlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5pbnRyby10cmFuc2l0aW9uLW1lc3NhZ2UgLnRyYW5zaXRpb24tdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOTVlbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwYXJrbGUge1xyXG5cdDAlLFxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcblx0XHRvcGFjaXR5OiAwLjg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBDb25maWcgY2hlY2sgdHlwaW5nIGFuaW1hdGlvbiAqL1xyXG4uY29uZmlnLWNoZWNrLXR5cGluZyB7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY29uZmlnLWNoZWNrLXR5cGluZyAuY2hlY2stbGluZSB7XHJcblx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtMSB7XHJcblx0LyogRmlyc3QgbGluZSAtIGF0dGVudGlvbiBncmFiYmVyICovXHJcblx0Zm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDIuNXZ3LCAxLjhyZW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLTIsXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLTMge1xyXG5cdC8qIFByb2dyZXNzIG1lc3NhZ2VzICovXHJcblx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuM3JlbSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLXJlc3VsdCB7XHJcblx0LyogUmVzdWx0IG1lc3NhZ2UgLSBoaWdobGlnaHRlZCBjYXJkICovXHJcblx0Zm9udC1zaXplOiBjbGFtcCgxLjFyZW0sIDIuMnZ3LCAxLjZyZW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KSB2YXIoLS1zaXplLTQtNSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdDEzNWRlZyxcclxuXHRcdHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMDUpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4wMikgMTAwJVxyXG5cdCk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5jb25maWctY2hlY2stdHlwaW5nIC5jaGVjay1saW5lLXN1Y2Nlc3Mge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHRyZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMDgpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjAyKSAxMDAlXHJcblx0KTtcclxufVxyXG5cclxuLmNvbmZpZy1jaGVjay10eXBpbmcgLmNoZWNrLWxpbmUtZnJlc2gge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIE5ldyBVSSBDb21wb25lbnRzIChzaGFkY24gRGVzaWduKSAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qID09PT09IFNlbGVjdGFibGUgQ2FyZCBDb21wb25lbnQgPT09PT0gKi9cclxuLnNlbGVjdGFibGUtY2FyZHMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTQpIDA7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmRzLWNvbnRhaW5lci51c2VyLWxldmVsLWNhcmRzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMsIHZhcigtLXJhZGl1cy1tKSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLmlzLXNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMSk7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWljb24ge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXRpdGxlLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC10aXRsZSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLXN1YnRpdGxlIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5zZWxlY3RhYmxlLWNhcmQtYmFkZ2Uge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IDAuN2VtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWJvZHkge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1wcmV2aWV3IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1mZWF0dXJlcyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uc2VsZWN0YWJsZS1jYXJkLWZlYXR1cmVzIHVsIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1mZWF0dXJlcyBsaSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnNlbGVjdGFibGUtY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyMDIyXCI7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiA9PT09PSBGZWF0dXJlIExpc3QgQ29tcG9uZW50ID09PT09ICovXHJcbi5mZWF0dXJlLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uZmVhdHVyZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uZmVhdHVyZS1pdGVtLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmZlYXR1cmUtaXRlbS10ZXh0IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4vKiA9PT09PSBCYWRnZSBDb21wb25lbnQgPT09PT0gKi9cclxuLm9uYm9hcmRpbmctYmFkZ2Uge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiAwLjc1ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWJhZGdlLWRlZmF1bHQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2Utc3VjY2VzcyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ncmVlbi1yZ2IpLCAwLjEpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1iYWRnZS13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWJhZGdlLWluZm8ge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYmFkZ2UtYWNjZW50IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4vKiA9PT09PSBBbGVydCBDb21wb25lbnQgPT09PT0gKi9cclxuLm9uYm9hcmRpbmctYWxlcnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogdmFyKC0tb25ib2FyZGluZy10cmFuc2l0aW9uKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtaW5mbyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWluZm8gLm9uYm9hcmRpbmctYWxlcnQtdGl0bGUsXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWluZm8gLm9uYm9hcmRpbmctYWxlcnQtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWdyZWVuLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LXN1Y2Nlc3MgLm9uYm9hcmRpbmctYWxlcnQtaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtc3VjY2VzcyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLW9yYW5nZS1yZ2IpLCAwLjEpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtd2FybmluZyAub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtd2FybmluZyAub25ib2FyZGluZy1hbGVydC10aXRsZSxcclxuLm9uYm9hcmRpbmctYWxlcnQtd2FybmluZyAub25ib2FyZGluZy1hbGVydC1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3Ige1xyXG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcmVkLXJnYiksIDAuMSk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4ub25ib2FyZGluZy1hbGVydC1lcnJvciAub25ib2FyZGluZy1hbGVydC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLm9uYm9hcmRpbmctYWxlcnQtZXJyb3IgLm9uYm9hcmRpbmctYWxlcnQtdGl0bGUsXHJcbi5vbmJvYXJkaW5nLWFsZXJ0LWVycm9yIC5vbmJvYXJkaW5nLWFsZXJ0LW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4vKiA9PT09PSBQcm9ncmVzcyBEb3RzIENvbXBvbmVudCA9PT09PSAqL1xyXG4ucHJvZ3Jlc3MtZG90cyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTMpIDA7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1kb3Qtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1kb3Qge1xyXG5cdHdpZHRoOiA4cHg7XHJcblx0aGVpZ2h0OiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MtZG90LmlzLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1kb3QuaXMtY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnByb2dyZXNzLWRvdC1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4iLCAiLyogTm9pc2UgTGF5ZXIgRWZmZWN0ICovXHJcbi50Zy1ub2lzZS1sYXllciB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnRnLW5vaXNlLWxheWVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvcGFjaXR5OiAwLjI1O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiB2aWV3Qm94PVwiMCAwIDE5MDEgOTYxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgb3BhY2l0eT1cIjAuMjVcIiBmaWx0ZXI9XCJ1cmwoJTIzZmlsdGVyMF9uXzFfMilcIj48cmVjdCB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiBmaWxsPVwiJTIzRUZFRkVGXCIvPjwvZz48ZGVmcz48ZmlsdGVyIGlkPVwiZmlsdGVyMF9uXzFfMlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjE5MDFcIiBoZWlnaHQ9XCI5NjFcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPjxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPjxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJzaGFwZVwiLz48ZmVUdXJidWxlbmNlIHR5cGU9XCJmcmFjdGFsTm9pc2VcIiBiYXNlRnJlcXVlbmN5PVwiMS4yNSAxLjI1XCIgc3RpdGNoVGlsZXM9XCJzdGl0Y2hcIiBudW1PY3RhdmVzPVwiM1wiIHJlc3VsdD1cIm5vaXNlXCIgc2VlZD1cIjUzMzlcIiAvPjxmZUNvbG9yTWF0cml4IGluPVwibm9pc2VcIiB0eXBlPVwibHVtaW5hbmNlVG9BbHBoYVwiIHJlc3VsdD1cImFscGhhTm9pc2VcIiAvPjxmZUNvbXBvbmVudFRyYW5zZmVyIGluPVwiYWxwaGFOb2lzZVwiIHJlc3VsdD1cImNvbG9yZWROb2lzZTFcIj48ZmVGdW5jQSB0eXBlPVwiZGlzY3JldGVcIiB0YWJsZVZhbHVlcz1cIjEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgXCIvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj48ZmVDb21wb3NpdGUgb3BlcmF0b3I9XCJpblwiIGluMj1cInNoYXBlXCIgaW49XCJjb2xvcmVkTm9pc2UxXCIgcmVzdWx0PVwibm9pc2UxQ2xpcHBlZFwiIC8+PGZlRmxvb2QgZmxvb2QtY29sb3I9XCJyZ2JhKDAsIDAsIDAsIDAuMjUpXCIgcmVzdWx0PVwiY29sb3IxRmxvb2RcIiAvPjxmZUNvbXBvc2l0ZSBvcGVyYXRvcj1cImluXCIgaW4yPVwibm9pc2UxQ2xpcHBlZFwiIGluPVwiY29sb3IxRmxvb2RcIiByZXN1bHQ9XCJjb2xvcjFcIiAvPjxmZU1lcmdlIHJlc3VsdD1cImVmZmVjdDFfbm9pc2VfMV8yXCI+PGZlTWVyZ2VOb2RlIGluPVwic2hhcGVcIiAvPjxmZU1lcmdlTm9kZSBpbj1cImNvbG9yMVwiIC8+PC9mZU1lcmdlPjwvZmlsdGVyPjwvZGVmcz48L3N2Zz4nKTtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50Zy1ub2lzZS1sYXllciA+ICoge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcbiIsICIudGctY2hhbmdlbG9nLXZpZXcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC02KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTIpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWhlYWRlciBoMiB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1tZXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLW1ldGEgYSB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLW1ldGEgYTpob3ZlciB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1lcnJvciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMSxcclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgyLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDMge1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSwgaW5oZXJpdCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMSB7XHJcblx0Zm9udC1zaXplOiAxLjY1cmVtO1xyXG59XHJcblxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDIge1xyXG5cdGZvbnQtc2l6ZTogMS4zNXJlbTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtOCk7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMyB7XHJcblx0Zm9udC1zaXplOiAxLjE1cmVtO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMik7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBoMzo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMXJlbTtcclxuXHRoZWlnaHQ6IDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRmbGV4OiAwIDAgYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJCdWcgRml4ZXNcIl06OmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmVkLCAjZTA2Yzc1KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJGZWF0dXJlc1wiXTo6YmVmb3JlLFxyXG4udGctY2hhbmdlbG9nLWJvZHkgaDNbZGF0YS1oZWFkaW5nXj1cIk5ld1wiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jeWFuLCAjNTZiNmMyKTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJJbXByb3ZlbWVudHNcIl06OmJlZm9yZSxcclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJFbmhhbmNlbWVudHNcIl06OmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IteWVsbG93LCAjZDE5YTY2KTtcclxufVxyXG5cclxuLnRnLWNoYW5nZWxvZy1ib2R5IGgzW2RhdGEtaGVhZGluZ149XCJQZXJmb3JtYW5jZVwiXTo6YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbiwgIzk4YzM3OSk7XHJcbn1cclxuXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBwICsgaDEsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBwICsgaDIsXHJcbi50Zy1jaGFuZ2Vsb2ctYm9keSBwICsgaDMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC02KTtcclxufVxyXG4iLCAiLyogVGltZWxpbmUgU2lkZWJhciBWaWV3IFN0eWxlcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtc2lkZWJhci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBIZWFkZXIgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxyXG5cdCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOCk7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtOCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bi5pcy1hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogVGltZWxpbmUgQ29udGVudCAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxyXG4udGltZWxpbmUtZGF0ZS1ncm91cDpub3QoLmlzLXRvZGF5KSB7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZW1wdHkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTgpO1xyXG59XHJcblxyXG4vKiBEYXRlIEdyb3VwcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1ncm91cCB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdHRvcDogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5XHJcbi50aW1lbGluZS1kYXRlLWhlYWRlciB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1yZWxhdGl2ZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKiBFdmVudHMgTGlzdCAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcclxufVxyXG5cclxuLyogVGltZWxpbmUgRXZlbnRzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudDpob3ZlcjpoYXMoLnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94OmhvdmVyKSB7XHJcblx0dHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQuaXMtY29tcGxldGVkIHtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWRcclxuLnRpbWVsaW5lLWV2ZW50LXRleHQge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRXZlbnQgVGltZSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdG1pbi13aWR0aDogNDVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgdGltZSBkaXNwbGF5IHN0eWxlcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZS50aW1lbGluZS1ldmVudC10aW1lLXNpbmdsZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2Uge1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCkgMCUsIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3ZlcikgMTAwJSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YW5pbWF0aW9uOiBzdWJ0bGUtcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtcmFuZ2U6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlx1MjNGMVwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC02cHg7XHJcblx0cmlnaHQ6IC02cHg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XHJcblx0bWluLXdpZHRoOiAxOHB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRwYWRkaW5nOiAwIDRweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vKiBXaGVuIGR1cmF0aW9uIGlzIHByb3ZpZGVkLCBzaG93IGl0IGluc3RlYWQgb2YgdGhlIGljb24gKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1yYW5nZVtkYXRhLWR1cmF0aW9uXTo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1kdXJhdGlvbik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGVmYXVsdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LXRpbWUudGltZWxpbmUtZXZlbnQtdGltZS1ncm91cCB7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGV4dC1hY2NlbnQpIDAlLCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpIDEwMCUpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRtaW4td2lkdGg6IDYwcHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10aW1lLnRpbWVsaW5lLWV2ZW50LXRpbWUtZGF0ZS1vbmx5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1pbi13aWR0aDogNjBweDtcclxufVxyXG5cclxuLyogVGltZSBHcm91cCBTdHlsZXMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXRpbWUtZ3JvdXAge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGltZS1ncm91cC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWNvdW50IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS10aW1lLWdyb3VwLWV2ZW50cyB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQudGltZWxpbmUtZXZlbnQtZ3JvdXBlZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC50aW1lbGluZS1ldmVudC1ncm91cGVkOmxhc3QtY2hpbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIERhdGUtb25seSBFdmVudHMgU2VjdGlvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1vbmx5LXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlci10b3A6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG5cclxuLyogSGlkZSBwZXItZXZlbnQgdGltZSBsYWJlbHMgaW5zaWRlIEFsbCBkYXkgc2VjdGlvbiBhcyBzYWZldHkgbmV0ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktc2VjdGlvbiAudGltZWxpbmUtZXZlbnQgLnRpbWVsaW5lLWV2ZW50LXRpbWUge1xyXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtb25seS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLW9ubHktdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKiBFdmVudCBDb250ZW50ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY2hlY2tib3gge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jaGVja2JveFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdG1hcmdpbjogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC10ZXh0IHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtaWNvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0bWFyZ2luLXRvcDogMXB4O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi8qIEV2ZW50IEFjdGlvbnMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50OmhvdmVyXHJcbi50aW1lbGluZS1ldmVudC1hY3Rpb25zIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtYWN0aW9uOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogUXVpY2sgSW5wdXQgQXJlYSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQge1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xMik7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBzdGF0ZSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGdhcDogMDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWRcclxuLnF1aWNrLWlucHV0LWhlYWRlcixcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxyXG4ucXVpY2staW5wdXQtZWRpdG9yLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcbi5xdWljay1pbnB1dC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb24gc3RhdGVzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzaW5nIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtcXVpY2staW5wdXQuaXMtZXhwYW5kaW5nIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBDb2xsYXBzZWQgaGVhZGVyICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItY29sbGFwc2VkIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLWV4cGFuZC1idG4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLWV4cGFuZC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXRpdGxlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNyk7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlcixcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1tb3JlLW9wdGlvbnM6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmU6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBFeHBhbmRlZCBoZWFkZXIgd2l0aCBjb2xsYXBzZSBidXR0b24gKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWxlZnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBSb3RhdGUgY29sbGFwc2UgYnV0dG9uIGljb24gKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0biBzdmcge1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcbi5xdWljay1pbnB1dC1jb2xsYXBzZS1idG5cclxuc3ZnIHtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtdGFyZ2V0LWluZm8ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogODBweDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRleHQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yOmZvY3VzLXdpdGhpbiB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4ucXVpY2staW5wdXQtZWRpdG9yXHJcbi5jbS1lZGl0b3IuY20tZm9jdXNlZCB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcclxuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XHJcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xyXG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWVkaXRvciB7XHJcblx0XHRtaW4taGVpZ2h0OiA2MHB4O1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZSxcclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9ucyB7XHJcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XHJcblx0fVxyXG59XHJcblxyXG4vKiBTY3JvbGxiYXIgU3R5bGluZyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiA2cHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3VidGxlLXB1bHNlIHtcclxuXHQwJSwgMTAwJSB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuNCk7XHJcblx0fVxyXG5cdDUwJSB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtcmdiKSwgMC4xKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEZvY3VzIE1vZGUgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHR0byBib3R0b20sXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC43KSA1MCUsXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDEwMCVcclxuXHQpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGVcclxuLnRpbWVsaW5lLWRhdGUtZ3JvdXAuaXMtdG9kYXkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4vKiBNYXJrZG93biByZW5kZXJlciBzdHlsZXMgaW4gdGltZWxpbmUgZXZlbnRzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbnAge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxuc3Ryb25nLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5lbSxcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxuY29kZSB7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5hIHtcclxuXHRjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG4udGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcbi5tYXJrZG93bi1ibG9ja1xyXG5hOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG4ubWFya2Rvd24tYmxvY2tcclxudWwsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbm9sIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcbi50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuLm1hcmtkb3duLWJsb2NrXHJcbmxpIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG4iLCAiLyogU3R5bGVzIGZvciB0aGUgUmV3YXJkIE1vZGFsICovXHJcbi5yZXdhcmQtbW9kYWwtY29udGVudCB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50ZXIgYWxpZ24gY29udGVudCAqL1xyXG59XHJcblxyXG4ucmV3YXJkLW1vZGFsIC5tb2RhbC10aXRsZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucmV3YXJkLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnJld2FyZC1pbWFnZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggZm9yIGNlbnRlcmluZyAqL1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgaG9yaXpvbnRhbGx5ICovXHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIHZlcnRpY2FsbHkgKi9cclxufVxyXG5cclxuLnJld2FyZC1pbWFnZSB7XHJcblx0bWF4LXdpZHRoOiA4MCU7IC8qIExpbWl0IGltYWdlIHdpZHRoICovXHJcblx0bWF4LWhlaWdodDogMzAwcHg7IC8qIExpbWl0IGltYWdlIGhlaWdodCAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDsgLyogT3B0aW9uYWw6IGFkZCByb3VuZGVkIGNvcm5lcnMgKi9cclxuXHRib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBPcHRpb25hbDogYWRkIHN1YnRsZSBzaGFkb3cgKi9cclxufVxyXG5cclxuLnJld2FyZC1pbWFnZS1lcnJvciB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgLyogVXNlIE9ic2lkaWFuJ3MgbXV0ZWQgdGV4dCBjb2xvciAqL1xyXG59XHJcblxyXG4ucmV3YXJkLXNwYWNlciB7XHJcblx0aGVpZ2h0OiAyMHB4OyAvKiBBZGQgc29tZSBzcGFjZSBiZWZvcmUgdGhlIGJ1dHRvbnMgKi9cclxufVxyXG5cclxuLyogU3R5bGUgdGhlIGJ1dHRvbnMgd2l0aGluIHRoZSBtb2RhbCAqL1xyXG4udGFzay1nZW5pdXMtcmV3YXJkLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogQ2VudGVyIGJ1dHRvbnMgKi9cclxuXHRnYXA6IDEwcHg7IC8qIEFkZCBzcGFjZSBiZXR3ZWVuIGJ1dHRvbnMgKi9cclxufVxyXG4iLCAiLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmlsZS1mb2xkaW5nLW9mZnNldCk7XHJcbn1cclxuXHJcbi5pcy1tb2JpbGUgLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWd1dHRlcnMudGFzay1ndXR0ZXIge1xyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyLnRnLW1lbnUge1xyXG5cdHotaW5kZXg6IDIwO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyIHtcclxuXHR3aWR0aDogMjZweDtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyLW1hcmtlciB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbWFsbGVyKTtcclxuXHRvcGFjaXR5OiAwLjE7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWd1dHRlci1tYXJrZXI6aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50YXNrLXBvcG92ZXItY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0bWF4LWhlaWdodDogNDAwcHg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi50YXNrLW1ldGFkYXRhLWVkaXRvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5maWVsZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5maWVsZC1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmFjdGlvbi1idXR0b24ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXN0KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXItbWFya2VyLmNsaWNrYWJsZS1pY29uIHtcclxuXHR3aWR0aDogMjRweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBUYWJiZWQgSW50ZXJmYWNlIFN0eWxlcyAqL1xyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYnMtbWFpbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR3aWR0aDogMTAwJTsgLyogRW5zdXJlIGl0IHRha2VzIGF2YWlsYWJsZSB3aWR0aCAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYnMtbmF2aWdhdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTsgLyogQWRqdXN0ZWQgZm9yIGNvbnNpc3RlbmN5ICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IC0xcHg7IC8qIEFsaWduIHdpdGggcGFyZW50IGJvcmRlciAqL1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b24uYWN0aXZlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLXBhbmUge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgaW5hY3RpdmUgcGFuZXMgYnkgZGVmYXVsdCAqL1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEVuc3VyZSBjb250ZW50IHdpdGhpbiBwYW5lIGZsb3dzIHZlcnRpY2FsbHkgKi9cclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogQWRkIHNvbWUgZ2FwIGJldHdlZW4gZWxlbWVudHMgaW4gdGhlIHBhbmUgKi9cclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZS5hY3RpdmUge1xyXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFNob3cgYWN0aXZlIHBhbmUgKi9cclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvcixcclxuLnRhc2stc3RhdHVzLWVkaXRvciAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3IsXHJcbi50YXNrLXN0YXR1cy1lZGl0b3IgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCxcclxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3ItbGFiZWwge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50LnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ubWV0YWRhdGEtZnVsbC1jb250YWluZXIgLmRhdGVzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcbiIsICIvKiBmbHVlbnQgVmlldyBNYWluIExheW91dCAqL1xuLnRhc2stZ2VuaXVzLWZsdWVudC12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4udGctZmx1ZW50LWNvbnRhaW5lciB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnZpZXctY29udGVudC50YXNrLWdlbml1cy1mbHVlbnQtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi50Zy1mbHVlbnQtbGF5b3V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogU2lkZWJhciBTdHlsZXMgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIge1xuXHR3aWR0aDogMjYwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmx1ZW50LXNpZGViYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbHVlbnQtc2lkZWJhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3Jrc3BhY2UgU2VsZWN0b3IgKi9cbi53b3Jrc3BhY2Utc2VsZWN0b3ItYnV0dG9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLndvcmtzcGFjZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLndvcmtzcGFjZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4ud29ya3NwYWNlLWljb24ge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi53b3Jrc3BhY2UtaWNvbiBzdmcge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4ud29ya3NwYWNlLWRldGFpbHMge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud29ya3NwYWNlLW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ud29ya3NwYWNlLWxhYmVsIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3Jrc3BhY2UtZHJvcGRvd24taWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTmV3IFRhc2sgQnV0dG9uICovXG5idXR0b24uZmx1ZW50LW5ldy10YXNrLWJ0biB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRib3gtc2hhZG93OiB1bnNldDtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG5idXR0b24uZmx1ZW50LW5ldy10YXNrLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmV3LXRhc2staWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFNpZGViYXIgQ29udGVudCAqL1xuLmZsdWVudC1zaWRlYmFyLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0LS1pY29uLXNpemU6IDE2cHg7XG59XG5cbi5mbHVlbnQtc2lkZWJhci1zZWN0aW9uIHtcblx0cGFkZGluZzogOHB4IDA7XG59XG5cbi5mbHVlbnQtc2lkZWJhci1zZWN0aW9uICsgLmZsdWVudC1zaWRlYmFyLXNlY3Rpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nOiA0cHggMTZweDtcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uZmx1ZW50LXNlY3Rpb24taGVhZGVyIHNwYW4ge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWhlYWRlci1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QtYnRuLFxuLmZsdWVudC1zb3J0LXByb2plY3QtYnRuLFxuLmZsdWVudC10cmVlLXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xufVxuXG4uZmx1ZW50LWFkZC1wcm9qZWN0LWJ0bjpob3Zlcixcbi5mbHVlbnQtc29ydC1wcm9qZWN0LWJ0bjpob3Zlcixcbi5mbHVlbnQtdHJlZS10b2dnbGUtYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogTmF2aWdhdGlvbiBJdGVtcyAqL1xuLmZsdWVudC1uYXZpZ2F0aW9uLWxpc3Qge1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcbn1cblxuLmZsdWVudC1uYXZpZ2F0aW9uLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24taXRlbS5pcy1hY3RpdmUgLmZsdWVudC1uYXZpZ2F0aW9uLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW5hdmlnYXRpb24tbGFiZWwge1xuXHRmbGV4OiAxO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtbmF2aWdhdGlvbi1iYWRnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWluLXdpZHRoOiAxOHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFByb2plY3QgTGlzdCAqL1xuLmZsdWVudC1wcm9qZWN0LXNjcm9sbCB7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiAwIDhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS5mbHVlbnQtYWRkLXByb2plY3Qge1xuXHRtYXJnaW46IDAgOHB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS5pcy1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb2xvciB7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb2xvci1kYXNoZWQge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRib3JkZXI6IDEuNXB4IGRhc2hlZCB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mbHVlbnQtYWRkLXByb2plY3QgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBUcmVlIFZpZXcgU3R5bGVzICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW0ge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1jaGV2cm9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24gc3ZnIHtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMTJweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWNoZXZyb24tc3BhY2VyIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBUcmVlIGluZGVudGF0aW9uICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbD1cIjFcIl0ge1xuXHRwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1saXN0LmlzLXRyZWUtdmlldyAuZmx1ZW50LXByb2plY3QtaXRlbVtkYXRhLWxldmVsPVwiMlwiXSB7XG5cdHBhZGRpbmctbGVmdDogNDhweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWxpc3QuaXMtdHJlZS12aWV3IC5mbHVlbnQtcHJvamVjdC1pdGVtW2RhdGEtbGV2ZWw9XCIzXCJdIHtcblx0cGFkZGluZy1sZWZ0OiA2OHB4O1xufVxuXG4vKiBUcmVlIGhpZXJhcmNoeSBsaW5lcyAob3B0aW9uYWwgLSBjYW4gYmUgYWRkZWQgbGF0ZXIpICovXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXcgLmZsdWVudC1wcm9qZWN0LWl0ZW06OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogOHB4O1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDFweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xufVxuXG4uZmx1ZW50LXByb2plY3QtbGlzdC5pcy10cmVlLXZpZXdcblx0LmZsdWVudC1wcm9qZWN0LWl0ZW1bZGF0YS1sZXZlbF06bm90KFtkYXRhLWxldmVsPVwiMFwiXSk6aG92ZXI6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogVmlydHVhbCBwcm9qZWN0IG5vZGVzIChpbnRlcm1lZGlhdGUgZm9sZGVycykgKi9cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWwgLmZsdWVudC1wcm9qZWN0LW5hbWUge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdG9wYWNpdHk6IDAuODU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLmlzLXZpcnR1YWwgLmZsdWVudC1wcm9qZWN0LWNvbG9yIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS5pcy12aXJ0dWFsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIERpc2FibGVkIHByb2plY3QgbGlzdCBzdHlsZXMgLSB1c2VkIHdoZW4gc2hvd2luZyBmdWxsIHByb2plY3RzIG92ZXJ2aWV3ICovXG4udGctcHJvamVjdC1saXN0LWRpc2FibGVkIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdG9wYWNpdHk6IDAuNTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGctcHJvamVjdC1saXN0LWRpc2FibGVkOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC4zO1xuXHR6LWluZGV4OiAxO1xufVxuXG4udGctcHJvamVjdC1saXN0LWRpc2FibGVkIC5mbHVlbnQtcHJvamVjdC1pdGVtIHtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogTWFpbiBDb250YWluZXIgKi9cbi50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBUb3AgTmF2aWdhdGlvbiAqL1xuLnRnLWZsdWVudC10b3AtbmF2IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLmZsdWVudC10b3AtbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0aGVpZ2h0OiA1NnB4O1xuXHRwYWRkaW5nOiAwIDIwcHg7XG5cdGdhcDogMjBweDtcbn1cblxuLmZsdWVudC1uYXYtbGVmdCB7XG5cdGZsZXg6IDAgMSA0MDBweDtcbn1cblxuLmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGZsZXg6IDE7XG59XG5cbi8qIENlbnRlciBOYXZpZ2F0aW9uICovXG4uZmx1ZW50LW5hdi1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi5mbHVlbnQtdmlldy10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDJweDtcbn1cblxuLmZsdWVudC12aWV3LXRhYiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLmZsdWVudC12aWV3LXRhYjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtdmlldy10YWIuaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmZsdWVudC12aWV3LXRhYi1pY29uIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsdWVudC1uYXYtc2VwYXJhdG9yIHtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi5mbHVlbnQtbmF2LWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdi1idXR0b24taWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJpZ2h0IE5hdmlnYXRpb24gKi9cbi5mbHVlbnQtbmF2LXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4vKiBDdXN0b20gYnV0dG9ucyBjb250YWluZXIgKGZvciBkeW5hbWljIGJ1dHRvbnMgZnJvbSB2aWV3cykgKi9cbi5mbHVlbnQtbmF2LWN1c3RvbS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7XG59XG5cbi5mbHVlbnQtbmF2LWN1c3RvbS1idXR0b24td3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEN5Y2xlIHNlbGVjdG9yIHN0eWxlcyAqL1xuLmZsdWVudC1uYXYtY3ljbGUtc2VsZWN0b3Itd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uZmx1ZW50LW5hdi1jeWNsZS1idXR0b24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsXG5cdFx0Ym9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZsdWVudC1uYXYtY3ljbGUtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdi1jeWNsZS1idXR0b246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4uZmx1ZW50LW5hdi1jeWNsZS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5mbHVlbnQtbmF2LWN5Y2xlLWxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWF4LXdpZHRoOiAxMjBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mbHVlbnQtbmF2LWljb24tYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4uZmx1ZW50LW5hdi1pY29uLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW5vdGlmaWNhdGlvbi1iYWRnZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMnB4O1xuXHRyaWdodDogLTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiAycHggNXB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRtaW4td2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29udGVudCBBcmVhICovXG4udGctZmx1ZW50LWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmJhc2VzLXZpZXcgLnRnLWthbmJhbi1maWx0ZXJzLFxuLnRnLWZsdWVudC1jb250ZW50IC5jb250ZW50LWhlYWRlcixcbi50Zy1mbHVlbnQtbWFpbi1jb250YWluZXI6aGFzKC5mbHVlbnQtdG9wLW5hdmlnYXRpb246bm90KC5vdGhlci12aWV3KSlcblx0LnRnLWZsdWVudC1jb250ZW50XG5cdC50Zy1rYW5iYW4tZmlsdGVycyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFZpZXctc3BlY2lmaWMgc3R5bGVzICovXG4udGctZmx1ZW50LWxpc3Qtdmlldyxcbi50Zy1mbHVlbnQta2FuYmFuLXZpZXcsXG4udGctZmx1ZW50LXRyZWUtdmlldyxcbi50Zy1mbHVlbnQtY2FsZW5kYXItdmlldyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXI6bm90KC5pcy1tb2JpbGUtZHJhd2VyKSB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0LmZsdWVudC1uYXYtY2VudGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmZsdWVudC1zZWFyY2gtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LmZsdWVudC1uYXYtbGVmdCAuc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbi8qIE1vYmlsZS1zcGVjaWZpYyBtZWRpYSBxdWVyeSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG5cdC8qIEVuc3VyZSBkcmF3ZXIgdGFrZXMgYXBwcm9wcmlhdGUgd2lkdGggb24gc21hbGwgc2NyZWVucyAqL1xuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHRcdHdpZHRoOiA3NXZ3ICFpbXBvcnRhbnQ7XG5cdFx0bWF4LXdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LyogTWFrZSBoYW1idXJnZXIgYnV0dG9uIG1vcmUgcHJvbWluZW50IG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LWhhbWJ1cmdlci1idXR0b24ge1xuXHRcdHdpZHRoOiA0NHB4O1xuXHRcdGhlaWdodDogNDRweDtcblx0fVxuXG5cdC8qIEFkanVzdCB0b3AgbmF2aWdhdGlvbiBzcGFjaW5nIG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LXRvcC1uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOiAwIDEycHg7XG5cdH1cblxuXHQvKiBIaWRlIHZpZXcgdGFicyBvbiB2ZXJ5IHNtYWxsIHNjcmVlbnMgKi9cblx0LmZsdWVudC12aWV3LXRhYnMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQvKiBPcHRpbWl6ZSBzZWFyY2ggY29udGFpbmVyIG9uIG1vYmlsZSAqL1xuXHQuZmx1ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTgwcHgpO1xuXHR9XG59XG5cbi8qID09PT09IENvbGxhcHNlZCBTaWRlYmFyIChSYWlsKSA9PT09PSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHRyYW5zaXRpb246XG5cdFx0d2lkdGggMC4ycyBlYXNlLFxuXHRcdG1pbi13aWR0aCAwLjJzIGVhc2UsXG5cdFx0bWF4LXdpZHRoIDAuMnMgZWFzZTtcbn1cblxuLyogV2hlbiB0aGUgc2lkZWJhciBlbGVtZW50IGl0c2VsZiBpcyBjb2xsYXBzZWQgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtY29sbGFwc2VkLFxuXHQvKiBPciB3aGVuIHRoZSByb290IGFkZHMgYSBoZWxwZXIgY2xhc3MgKi9cbi5mbHVlbnQtc2lkZWJhci1jb2xsYXBzZWQgLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiA0NHB4O1xuXHRtaW4td2lkdGg6IDQ0cHg7XG5cdG1heC13aWR0aDogNDRweDtcbn1cblxuLyogUmFpbCBsYXlvdXQgKi9cbi5mbHVlbnQtc2lkZWJhci1yYWlsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogOHB4IDRweDtcbn1cblxuLmZsdWVudC1yYWlsLWJ0biB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRjb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uZmx1ZW50LXJhaWwtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5mbHVlbnQtcmFpbC1idG4gc3ZnIHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLyogQWN0aXZlIHN0YXRlIGZvciByYWlsIGJ1dHRvbnMgKi9cbi5mbHVlbnQtcmFpbC1idG4uaXMtYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGctYmV0YSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRnLWJldGE6OmFmdGVyIHtcblx0Y29udGVudDogXCJiZXRhXCI7XG5cdGZvbnQtc2l6ZTogMC40NGVtO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xuXHRwYWRkaW5nLWxlZnQ6IDJweDtcblx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xcHg7XG5cdHJpZ2h0OiAtMnB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmctdG9wOiAxcHg7XG59XG5cbi8qID09PT09IE1vYmlsZSBEcmF3ZXIgU3R5bGVzID09PT09ICovXG4uZHJhd2VyLW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuXHR6LWluZGV4OiA5OTk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRyYXdlci1vcGVuIC5kcmF3ZXItb3ZlcmxheSB7XG5cdG9wYWNpdHk6IDE7XG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiBNb2JpbGUgZHJhd2VyIHNpZGViYXIgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDg1dncgIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXHRib3gtc2hhZG93OiA0cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFdoZW4gZHJhd2VyIGlzIG9wZW4gKi9cbi5kcmF3ZXItb3BlbiAudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qIEVuc3VyZSBzaWRlYmFyIGNvbnRlbnQgaXMgdmlzaWJsZSBvbiBtb2JpbGUgZXZlbiB3aGVuIFwiY29sbGFwc2VkXCIgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlciAuZmx1ZW50LXNpZGViYXIuaXMtY29sbGFwc2VkIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEhpZGUgcmFpbCBtb2RlIG9uIG1vYmlsZSAqL1xuLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyIC5mbHVlbnQtc2lkZWJhci1yYWlsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogTW9iaWxlLXNwZWNpZmljIHNpZGViYXIgY29udGVudCBhZGp1c3RtZW50cyAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXIge1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhci1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNnB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBFbnN1cmUgYWxsIHNlY3Rpb25zIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNpZGViYXItY29udGVudCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC1oZWlnaHQ6IGNhbGMoXG5cdFx0MTAwdmggLSAxNTBweFxuXHQpOyAvKiBBY2NvdW50IGZvciBoZWFkZXIgYW5kIG5ldyB0YXNrIGJ1dHRvbiAqL1xufVxuXG4uaXMtbW9iaWxlIC5mbHVlbnQtc2lkZWJhci1zZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBFbnN1cmUgc2VjdGlvbiBoZWFkZXJzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLW1vYmlsZSAuZmx1ZW50LXNlY3Rpb24taGVhZGVyIHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uYXZpZ2F0aW9uLWl0ZW0sXG4uaXMtbW9iaWxlIC5mbHVlbnQtcHJvamVjdC1pdGVtIHtcblx0cGFkZGluZzogMTBweCAxNnB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uZXctdGFzay1idG4ge1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cbi5pcy1tb2JpbGUgLmZsdWVudC1uYXZpZ2F0aW9uLWxpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmlzLW1vYmlsZSBzcGFuLmZsdWVudC1uYXZpZ2F0aW9uLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogVG91Y2gtZnJpZW5kbHkgc2l6aW5nICovXG4uaXMtbW9iaWxlIC5mbHVlbnQtbmF2aWdhdGlvbi1pdGVtLFxuLmlzLW1vYmlsZSAuZmx1ZW50LXByb2plY3QtaXRlbSxcbi5pcy1tb2JpbGUgLmZsdWVudC1hZGQtcHJvamVjdCB7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi8qIEFkanVzdCBtYWluIGNvbnRhaW5lciBvbiBtb2JpbGUgd2hlbiBkcmF3ZXIgaXMgb3BlbiAqL1xuLmRyYXdlci1vcGVuIC50Zy1mbHVlbnQtbWFpbi1jb250YWluZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSGFtYnVyZ2VyIG1lbnUgYnV0dG9uIGZvciBtb2JpbGUgKi9cbi5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOlxuXHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcblx0XHRjb2xvciAwLjE1cyBlYXNlO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbHVlbnQtaGFtYnVyZ2VyLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LWhhbWJ1cmdlci1idXR0b24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcbn1cblxuLyogQWRqdXN0IHNlYXJjaCBjb250YWluZXIgb24gbW9iaWxlIHdoZW4gaGFtYnVyZ2VyIGlzIHByZXNlbnQgKi9cbi5mbHVlbnQtbmF2LWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogSGlkZSBzaWRlYmFyIHRvZ2dsZSBvbiBkZXNrdG9wIHdoZW4gaW4gbW9iaWxlIGRyYXdlciBtb2RlICovXG4udGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmlzLW1vYmlsZS1kcmF3ZXJcblx0fiAudGctZmx1ZW50LW1haW4tY29udGFpbmVyXG5cdC5zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogQW5pbWF0aW9uIGZvciBkcmF3ZXIgZnJvbSByaWdodCAob3B0aW9uYWwgLSBjYW4gYmUgY29uZmlndXJlZCkgKi9cbi50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuaXMtbW9iaWxlLWRyYXdlci5kcmF3ZXItcmlnaHQge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4uZHJhd2VyLW9wZW4gLnRnLWZsdWVudC1zaWRlYmFyLWNvbnRhaW5lci5pcy1tb2JpbGUtZHJhd2VyLmRyYXdlci1yaWdodCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnZpZXctY29udGVudDpoYXMoLnRnLXJpZ2h0LWRldGFpbC12aWV3KSB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi50Zy1yaWdodC1kZXRhaWwtdmlldyAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIFNtb290aCBhbmltYXRpb25zIGZvciBhbGwgdHJhbnNpdGlvbnMgKi9cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21SaWdodCB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5vbmJvYXJkaW5nLXNoYWRvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwKTtcblx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0cm90YXRlOiAzNWRlZztcblx0d2lkdGg6IDI2MHB4O1xuXHR0b3A6IDIwMHB4O1xuXHRoZWlnaHQ6IDQwMHB4O1xuXHRmaWx0ZXI6IGJsdXIoMTUwcHgpO1xuXHRhbmltYXRpb246IHNoYWRvdy1zbGlkZSBpbmZpbml0ZSA0cyBsaW5lYXIgYWx0ZXJuYXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBzaGFkb3ctc2xpZGUge1xuXHQwJSB7XG5cdFx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwLjIpO1xuXHRcdHJpZ2h0OiAzNjBweDtcblx0fVxuXHR0byB7XG5cdFx0YmFja2dyb3VuZDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oc2wpLCAwLjgpO1xuXHRcdHJpZ2h0OiAxNjBweDtcblx0fVxufVxuXG4udmlldy1jb250ZW50LnRhc2stZ2VuaXVzLWZsdWVudC12aWV3LnRhc2stZ2VuaXVzLXZpZXcge1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG59XG5cbkBjb250YWluZXIgKHdpZHRoIDwgODAwcHgpIHtcblx0LnRnLWZsdWVudC1tYWluLWNvbnRhaW5lciBidXR0b24uZmx1ZW50LXZpZXctdGFiLmNsaWNrYWJsZS1pY29uIHNwYW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsICIvKiBUYXNrIEdlbml1cyBmbHVlbnQgRW5oYW5jZWQgU3R5bGVzIC0gU2hhZGNuLWluc3BpcmVkICovXHJcblxyXG4vKiA9PT09PT09PT09IEJhc2UgVmFyaWFibGVzID09PT09PT09PT0gKi9cclxuOnJvb3Qge1xyXG5cdC8qIFNoYWRvd3MgKi9cclxuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7XHJcblx0LS10Zy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XHJcblx0LS10Zy1zaGFkb3ctbWQ6XHJcblx0XHQwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tdGctc2hhZG93LWxnOlxyXG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xyXG5cdC0tdGctc2hhZG93LXhsOlxyXG5cdFx0MCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4xKTtcclxuXHJcblx0LyogQW5pbWF0aW9ucyAqL1xyXG5cdC0tdGctdHJhbnNpdGlvbi1mYXN0OiAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdC0tdGctdHJhbnNpdGlvbi1iYXNlOiAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cdC0tdGctdHJhbnNpdGlvbi1zbG93OiAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cclxuXHQvKiBCb3JkZXIgcmFkaXVzICovXHJcblx0LS10Zy1yYWRpdXMtc206IDAuMjVyZW07XHJcblx0LS10Zy1yYWRpdXM6IDAuMzc1cmVtO1xyXG5cdC0tdGctcmFkaXVzLW1kOiAwLjVyZW07XHJcblx0LS10Zy1yYWRpdXMtbGc6IDAuNzVyZW07XHJcblx0LS10Zy1yYWRpdXMtZnVsbDogOTk5OXB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFRhc2sgTGlzdCBWaWV3IFN0eWxlcyA9PT09PT09PT09ICovXHJcbi50YXNrLWxpc3QtY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRhc2stbGlzdC13cmFwcGVyIHtcclxuXHRtYXgtd2lkdGg6IDEyMDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnRnLXRhc2stbGlzdC1pdGVtIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtbWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcblx0cGFkZGluZzogMXJlbSAxLjI1cmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1saXN0LWl0ZW06OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiAzcHg7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctdGFzay1saXN0LWl0ZW06aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXRhc2stbGlzdC1pdGVtOmhvdmVyOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QtaXRlbS5pcy1jb21wbGV0ZWQge1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QtaXRlbS5pcy1vdmVyZHVlOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1saXN0LWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogM3JlbSAxLjVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFRhc2sgVHJlZSBWaWV3IFN0eWxlcyA9PT09PT09PT09ICovXHJcbi50YXNrLXRyZWUtY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gdmFyKC0tdGctdHJhbnNpdGlvbi1iYXNlKTtcclxufVxyXG5cclxuLnRhc2stdHJlZS13cmFwcGVyIHtcclxuXHRtYXgtd2lkdGg6IDEyMDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWxnKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3Q6aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1tZCk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMC45NXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTI1QjZcIjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG59XHJcblxyXG4udGFzay10cmVlLXByb2plY3QuaXMtZXhwYW5kZWQgLnRhc2stdHJlZS1wcm9qZWN0LWhlYWRlcjo6YmVmb3JlIHtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuXHJcbi50YXNrLXRyZWUtdGFza3Mge1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1pdGVtIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0bWFyZ2luOiAwLjI1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctbGVmdDogMnJlbTtcclxufVxyXG5cclxuLnRhc2stdHJlZS1pdGVtOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDFyZW07XHJcblx0dG9wOiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdHdpZHRoOiA0cHg7XHJcblx0aGVpZ2h0OiA0cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG59XHJcblxyXG4udGFzay10cmVlLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay10cmVlLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogM3JlbSAxLjVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IEZpbHRlciBQYW5lbCBTdHlsZXMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWZpbHRlci1wYW5lbCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHJpZ2h0OiAtMzgwcHg7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogMzgwcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cteGwpO1xyXG5cdHRyYW5zaXRpb246IHJpZ2h0IHZhcigtLXRnLXRyYW5zaXRpb24tc2xvdyk7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1maWx0ZXItcGFuZWwuaXMtb3BlbiB7XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5maWx0ZXItcGFuZWwtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiAxLjI1cmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmZpbHRlci1wYW5lbC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAxLjFyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBhbmVsLWNsb3NlIHtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGFuZWwtY2xvc2U6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGFuZWwtY29udGVudCB7XHJcblx0cGFkZGluZzogMS4yNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG59XHJcblxyXG4uZmlsdGVyLW9wdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1vcHRpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItb3B0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmZpbHRlci1vcHRpb24uaXMtc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1jaGVja2JveCB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5maWx0ZXItc2VsZWN0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXItc2VsZWN0OmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItc2VsZWN0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmZpbHRlci10YWdzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0cGFkZGluZzogMC41cmVtIDA7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFnIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItdGFnOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmZpbHRlci10YWcuaXMtc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZGF0ZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNzVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItZGF0ZS1maWVsZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtZmllbGQgc3BhbiB7XHJcblx0bWluLXdpZHRoOiA1MHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtaW5wdXQge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZGF0ZS1pbnB1dDpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRhdGUtaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWFjdGlvbi1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC43NXJlbTtcclxuXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWFjdGlvbi1idXR0b25zIGJ1dHRvbiB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnByaW9yaXR5LWNvbG9yLWRvdCB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PSBMb2FkaW5nIFN0YXRlcyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtbG9hZGluZyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGdhcDogMXJlbTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1zcGlubmVyIHtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0Ym9yZGVyOiAzcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcblx0dG8ge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtbG9hZGluZy10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gRW1wdHkgU3RhdGVzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWljb24ge1xyXG5cdHdpZHRoOiA2NHB4O1xyXG5cdGhlaWdodDogNjRweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0LS1pY29uLXNpemU6IDQ4cHg7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtZW1wdHktdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWVtcHR5LWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtZW1wdHktYWN0aW9uIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtZW1wdHktYWN0aW9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFRvb2x0aXBzID09PT09PT09PT0gKi9cclxuLnRnLWZsdWVudC10b29sdGlwIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0cGFkZGluZzogMC41cmVtIDAuNzVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzKTtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1sZyk7XHJcblx0ei1pbmRleDogOTk5OTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRvb2x0aXAuaXMtdmlzaWJsZSB7XHJcblx0b3BhY2l0eTogMTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gQ2FyZHMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LWNhcmQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1sZyk7XHJcblx0cGFkZGluZzogMS4yNXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS10Zy10cmFuc2l0aW9uLWJhc2UpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWNhcmQ6aG92ZXIge1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdy1tZCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDAuNzVyZW07XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctZmx1ZW50LWNhcmQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLnRnLWZsdWVudC1jYXJkLWFjdGlvbiB7XHJcblx0d2lkdGg6IDI4cHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtY2FyZC1hY3Rpb246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gQnV0dG9ucyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1tZCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdGctdHJhbnNpdGlvbi1mYXN0KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRnLWZsdWVudC1idXR0b246OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS10Zy1yYWRpdXMtZnVsbCk7XHJcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdHRyYW5zaXRpb246XHJcblx0XHR3aWR0aCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpLFxyXG5cdFx0aGVpZ2h0IHZhcigtLXRnLXRyYW5zaXRpb24tc2xvdyk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtYnV0dG9uOmFjdGl2ZTo6YmVmb3JlIHtcclxuXHR3aWR0aDogMzAwcHg7XHJcblx0aGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tcHJpbWFyeSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS10Zy1zaGFkb3cpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnkge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuYnV0dG9uLnRnLWZsdWVudC1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLWdob3N0IHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1naG9zdDpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbmJ1dHRvbi50Zy1mbHVlbnQtYnV0dG9uLWRhbmdlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG5idXR0b24udGctZmx1ZW50LWJ1dHRvbi1kYW5nZXI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6ICNkYzI2MjY7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXRnLXNoYWRvdyk7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gQW5pbWF0aW9ucyA9PT09PT09PT09ICovXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJbiB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVVcCB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG5cdDAlLFxyXG5cdDEwMCUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0NTAlIHtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHR9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gUmVzcG9uc2l2ZSBEZXNpZ24gPT09PT09PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcblx0LnRhc2stbGlzdC1jb250YWluZXIsXHJcblx0LnRhc2stdHJlZS1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMXJlbTtcclxuXHR9XHJcblxyXG5cdC50Zy1mbHVlbnQtZmlsdGVyLXBhbmVsIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cmlnaHQ6IC0xMDAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcblx0LnRnLXRhc2stbGlzdC1pdGVtIHtcclxuXHRcdHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuXHR9XHJcblxyXG5cdC50YXNrLXRyZWUtcHJvamVjdC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xyXG5cdH1cclxuXHJcblx0LnRnLWZsdWVudC1jYXJkIHtcclxuXHRcdHBhZGRpbmc6IDFyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09IERhcmsgTW9kZSBBZGp1c3RtZW50cyA9PT09PT09PT09ICovXHJcbi50aGVtZS1kYXJrIHtcclxuXHQtLXRnLXNoYWRvdy1zbTogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4zKTtcclxuXHQtLXRnLXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC40KSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4zKTtcclxuXHQtLXRnLXNoYWRvdy1tZDpcclxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuNCksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3ctbGc6XHJcblx0XHQwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuNCksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMyk7XHJcblx0LS10Zy1zaGFkb3cteGw6XHJcblx0XHQwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuNCksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAwLjMpO1xyXG59XHJcblxyXG4udGhlbWUtZGFyayAudGctZmx1ZW50LWNhcmQ6aG92ZXIsXHJcbi50aGVtZS1kYXJrIC50Zy10YXNrLWxpc3QtaXRlbTpob3ZlcixcclxuLnRoZW1lLWRhcmsgLnRhc2stdHJlZS1wcm9qZWN0OmhvdmVyIHtcclxuXHRib3gtc2hhZG93OlxyXG5cdFx0MCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCksXHJcblx0XHR2YXIoLS10Zy1zaGFkb3ctbWQpO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09IFByb2dyZXNzIEJhcnMgPT09PT09PT09PSAqL1xyXG4udGctZmx1ZW50LXByb2dyZXNzIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luOiAwLjVyZW0gMDtcclxufVxyXG5cclxuLnRnLWZsdWVudC1wcm9ncmVzcy1iYXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXRnLXJhZGl1cy1mdWxsKTtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCB2YXIoLS10Zy10cmFuc2l0aW9uLXNsb3cpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXByb2dyZXNzLWJhcjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQ5MGRlZyxcclxuXHRcdHRyYW5zcGFyZW50LFxyXG5cdFx0cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxyXG5cdFx0dHJhbnNwYXJlbnRcclxuXHQpO1xyXG5cdGFuaW1hdGlvbjogc2hpbW1lciAycyBpbmZpbml0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzaGltbWVyIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT0gVGFncyA9PT09PT09PT09ICovXHJcbi50Zy1mbHVlbnQtdGFnIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tdGctcmFkaXVzLWZ1bGwpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXRnLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtdGFnOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtdGFnLXByaW1hcnkge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1mbHVlbnQtdGFnLXN1Y2Nlc3Mge1xyXG5cdGJhY2tncm91bmQ6ICMxMGI5ODE7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogIzEwYjk4MTtcclxufVxyXG5cclxuLnRnLWZsdWVudC10YWctd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogI2Y1OWUwYjtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiAjZjU5ZTBiO1xyXG59XHJcblxyXG4udGctZmx1ZW50LXRhZy1kYW5nZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4ud29ya3NwYWNlLW5hbWUtd2l0aC1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcbiIsICIvKiBUYXNrIEdlbml1cyBmbHVlbnQgQ29udGVudCBIZWFkZXIgU3R5bGVzICovXHJcblxyXG4vKiA9PT0gQ29udGVudCBXcmFwcGVyID09PSAqL1xyXG4udGctZmx1ZW50LWNvbnRlbnQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiA9PT0gQ29udGVudCBIZWFkZXIgPT09ICovXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogMTJweCAyMHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtaW4taGVpZ2h0OiA1NnB4O1xyXG5cdGdhcDogMTZweDtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWxlZnQtc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTJweDtcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnRhc2stY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDJweCA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItY2VudGVyLXNlY3Rpb24ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXgtd2lkdGg6IDUwMHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LWZpbHRlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1yZ2IpLCAwLjIpO1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5oZWFkZXItcmlnaHQtc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC52aWV3LXRvZ2dsZS1idG4sXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uLFxyXG4uZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5maWx0ZXItYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bjpob3ZlcixcclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuc29ydC1idXR0b246aG92ZXIsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLmZpbHRlci1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0bjphY3RpdmUsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uOmFjdGl2ZSxcclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbjphY3RpdmUge1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XHJcbn1cclxuXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnZpZXctdG9nZ2xlLWJ0biBzdmcsXHJcbi5mbHVlbnQtY29udGVudC1oZWFkZXIgLnNvcnQtYnV0dG9uIHN2ZyxcclxuLmZsdWVudC1jb250ZW50LWhlYWRlciAuZmlsdGVyLWJ1dHRvbiBzdmcge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLyogPT09IENvbnRlbnQgQXJlYSAod2l0aCBoZWFkZXIpID09PSAqL1xyXG4udGctZmx1ZW50LWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4vKiA9PT0gUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyA9PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LmZsdWVudC1jb250ZW50LWhlYWRlciB7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHR9XHJcblxyXG5cdC5mbHVlbnQtY29udGVudC1oZWFkZXIgLmhlYWRlci1sZWZ0LXNlY3Rpb24ge1xyXG5cdFx0bWluLXdpZHRoOiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LmZsdWVudC1jb250ZW50LWhlYWRlciAuaGVhZGVyLWNlbnRlci1zZWN0aW9uIHtcclxuXHRcdG9yZGVyOiAzO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0fVxyXG5cclxuXHQuZmx1ZW50LWNvbnRlbnQtaGVhZGVyIC5jb250ZW50LXRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdH1cclxufVxyXG4iLCAiLyogUHJvamVjdCBQb3BvdmVyIFN0eWxlcyAqL1xuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXItY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdG1pbi13aWR0aDogMzIwcHg7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdGFuaW1hdGlvbjogcG9wb3Zlci1mYWRlLWluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgcG9wb3Zlci1mYWRlLWluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hcnJvdyxcbi5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTBweDtcblx0aGVpZ2h0OiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG4uZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0Y29udGVudDogXCJcIjtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi8qIEFycm93IHBvc2l0aW9uaW5nIGZvciBkaWZmZXJlbnQgcGxhY2VtZW50cyAqL1xuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHRib3R0b206IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuZmx1ZW50LXBvcG92ZXItYXJyb3cge1xuXHR0b3A6IC01cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl1cblx0LmZsdWVudC1wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIC5mbHVlbnQtcG9wb3Zlci1hcnJvdyB7XG5cdHJpZ2h0OiAtNXB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXVxuXHQuZmx1ZW50LXBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4uZmx1ZW50LXByb2plY3QtcG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmZsdWVudC1wb3BvdmVyLWFycm93IHtcblx0bGVmdDogLTVweDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LXBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdXG5cdC5mbHVlbnQtcG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWhlYWRlciBoMyB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LXBvcG92ZXItc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5mbHVlbnQtcG9wb3Zlci1zZWN0aW9uIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWlucHV0LmlzLWVycm9yIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0YW5pbWF0aW9uOiBzaGFrZSAwLjNzO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHQyNSUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcblx0fVxuXHQ3NSUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuXHR9XG59XG5cbi5mbHVlbnQtY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdGdhcDogOHB4O1xufVxuXG4uZmx1ZW50LWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b246aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mbHVlbnQtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmZsdWVudC1wb3BvdmVyLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0cGFkZGluZy10b3A6IDE2cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDE2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5mbHVlbnQtYnV0dG9uLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1idXR0b24tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uZmx1ZW50LWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogTW9kYWwgU3R5bGVzIHVzaW5nIE9ic2lkaWFuIG5hdGl2ZSBNb2RhbCAqL1xuLmZsdWVudC1wcm9qZWN0LW1vZGFsIHtcblx0LyogTW9kYWwgd2lsbCB1c2UgT2JzaWRpYW4ncyBkZWZhdWx0IHN0eWxpbmcgKi9cbn1cblxuLmZsdWVudC1wcm9qZWN0LW1vZGFsIC5tb2RhbC1jb250ZW50IGgyIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmx1ZW50LW1vZGFsLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uZmx1ZW50LW1vZGFsLXNlY3Rpb24gbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uZmx1ZW50LW1vZGFsLWlucHV0OmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1tb2RhbC1pbnB1dC5pcy1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGFuaW1hdGlvbjogc2hha2UgMC4zcztcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcblx0Z2FwOiAxMnB4O1xufVxuXG4uZmx1ZW50LW1vZGFsLWNvbG9yLWJ1dHRvbiB7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b246aG92ZXIge1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mbHVlbnQtbW9kYWwtY29sb3ItYnV0dG9uLmlzLXNlbGVjdGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLmZsdWVudC1tb2RhbC1jb2xvci1idXR0b24uaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcblx0Y29udGVudDogXCJcdTI3MTNcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLmZsdWVudC1tb2RhbC1wcmV2aWV3IHtcblx0cGFkZGluZzogMTJweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5mbHVlbnQtcHJvamVjdC1pdGVtLXByZXZpZXcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uZmx1ZW50LXByb2plY3QtaXRlbS1wcmV2aWV3IC5mbHVlbnQtcHJvamVjdC1jb2xvciB7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmZsdWVudC1wcm9qZWN0LWl0ZW0tcHJldmlldyAuZmx1ZW50LXByb2plY3QtbmFtZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmZsdWVudC1tb2RhbC1mb290ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5mbHVlbnQtbW9kYWwtZm9vdGVyIC5mbHVlbnQtYnV0dG9uIHtcblx0cGFkZGluZzogMTBweCAyNHB4O1xuXHRmb250LXNpemU6IDE1cHg7XG59XG4iLCAiLyogXHU3M0IwXHU0RUUzIEZsdWVudCBcdTRGQTdcdThGQjlcdTY4MEZcdTkxNERcdTgyNzJcdTU0OENcdTVFMDNcdTVDNDBcdTUzRDhcdTkxQ0YgKi9cbi5mbHVlbnQtbW9kZXJuIHtcblx0LS1tb2Rlcm4tYmFja2dyb3VuZC1zZWNvbmRhcnk6IHZhcigtLWNvbG9yLWJhc2UtMjUpO1xuXHQtLW1vZGVybi1iYWNrZ3JvdW5kLXByaW1hcnk6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG4udGhlbWUtZGFyayAuZmx1ZW50LW1vZGVybiB7XG5cdC0tbW9kZXJuLWJhY2tncm91bmQtc2Vjb25kYXJ5OiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHQtLW1vZGVybi1iYWNrZ3JvdW5kLXByaW1hcnk6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLyogXHUyMDE0XHUyMDE0IEZsdWVudCBcdTRGQTdcdThGQjlcdTY4MEZcdTUzQ0FcdTUxNzZcdTUxODVcdTVCQjlcdTUzM0FcdTU3REYgXHUyMDE0XHUyMDE0ICovXG4uZmx1ZW50LW1vZGVybiB7XG5cdC50Zy1mbHVlbnQtc2lkZWJhci1jb250YWluZXIuZmx1ZW50LXNpZGViYXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcblx0fVxuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2Rlcm4tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0XHRib3JkZXItcmlnaHQ6IHVuc2V0O1xuXHR9XG5cdC5mbHVlbnQtc2lkZWJhci1jb250ZW50IHtcblx0XHRmbGV4OiAxO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0cGFkZGluZzogOHB4IDAgMCAwO1xuXHRcdC0taWNvbi1zaXplOiAxNnB4O1xuXHR9XG5cblx0LyogXHU0RTNCXHU1MTg1XHU1QkI5XHU1RTAzXHU1QzQwICovXG5cdC50Zy1mbHVlbnQtbGF5b3V0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdH1cblx0LnRnLWZsdWVudC1tYWluLWNvbnRhaW5lciB7XG5cdFx0ZmxleDogMTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC8qIFx1NTE4NVx1NUJCOVx1NTMwNVx1ODhGOSAqL1xuXHQudGctZmx1ZW50LWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0fVxuXHQudGctZmx1ZW50LWNvbnRlbnQge1xuXHRcdGZsZXg6IDE7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1tb2Rlcm4tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0fVxuXG5cdC8qIFx1NjQxQ1x1N0QyMlx1NjgwRiAqL1xuXHQuZmx1ZW50LXNlYXJjaC1jb250YWluZXIgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtOCk7XG5cdFx0Ym9yZGVyOiB1bnNldDtcblx0fVxuXHQuc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQvKiBcdTUyMTdcdTg4NjhcdTU0OENcdTRFRkJcdTUyQTFcdTk4NzlcdTY4MzdcdTVGMEYgKi9cblx0LnRhc2stbGlzdCB7XG5cdFx0ZmxleDogMTtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXHQudGFzay1saXN0ID4gLnRhc2staXRlbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cdC50YXNrLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0cGFkZGluZzogOHB4IDE2cHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdH1cblx0LnRhc2staXRlbSxcblx0LnRhc2staXRlbTpob3ZlciB7XG5cdFx0LyogaG92ZXJcdTY4MzdcdTVGMEZcdTRFNUZcdTU0MDhcdTVFNzZcdTdCODBcdTUzMTYgKi9cblx0XHRnYXA6IDA7XG5cdH1cblx0LnRhc2staXRlbTpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcblx0fVxuXHQudHJlZS10YXNrLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0cGFkZGluZzogOHB4IDE2cHg7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0fVxuXG5cdC8qIFx1OTg3Nlx1OTBFOFx1NUJGQ1x1ODIyQVx1Njc2MSAqL1xuXHQuZmx1ZW50LXRvcC1uYXZpZ2F0aW9uIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGhlaWdodDogNTZweDtcblx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0Z2FwOiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0XHRib3JkZXItYm90dG9tOiB1bnNldDtcblx0XHQvKiBcdTUxNzZcdTRFRDZcdTUzRUZcdTkwMDlcdThGQjlcdTY4NDYvXHU5NjM0XHU1RjcxXHU1REYyXHU2Q0U4XHU5MUNBICovXG5cdH1cblxuXHQvKiBcdTg5QzZcdTU2RkVcdTY4MDdcdTk4OThcdTY4MEZcdTU0OENcdTVCQjlcdTU2NjhcdTY4MzdcdTVGMEYgKi9cblx0LndvcmtzcGFjZS1sZWFmLWNvbnRlbnRbZGF0YS10eXBlXj1cImZsdWVudC10YXNrLWdlbml1cy12aWV3XCJdIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbW9kZXJuLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0fVxuXG5cdC53b3Jrc3BhY2UtbGVhZi1jb250ZW50W2RhdGEtdHlwZV49XCJmbHVlbnQtdGFzay1nZW5pdXMtdmlld1wiXSAudmlldy1oZWFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0XHRoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMyk7XG5cdH1cbn1cblxuLmlzLW1vYmlsZSAuZmx1ZW50LW1vZGVybiB7XG5cdC53b3Jrc3BhY2UtbGVhZi1jb250ZW50W2RhdGEtdHlwZV49XCJmbHVlbnQtdGFzay1nZW5pdXMtdmlld1wiXSB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdH1cblxuXHQud29ya3NwYWNlLWxlYWYtY29udGVudFtkYXRhLXR5cGVePVwiZmx1ZW50LXRhc2stZ2VuaXVzLXZpZXdcIl0gLnZpZXctaGVhZGVyIHtcblx0XHRoZWlnaHQ6IHZhcigtLXZpZXctaGVhZGVyLWhlaWdodCk7XG5cdH1cblxuXHQudGctZmx1ZW50LXNpZGViYXItY29udGFpbmVyLmZsdWVudC1zaWRlYmFyOm5vdCguaXMtY29sbGFwc2VkKSB7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0fVxufVxuXG4vKiBcdTRFRkJcdTUyQTFcdThCRTZcdTYwQzVcdTRGQTdcdTY4MEZcdUZGMDhcdTRFQzVcdTY4NENcdTk3NjJcdTdBRUZcdUZGMDkgKi9cbjp3aGVyZShib2R5Om5vdCguaXMtbW9iaWxlKSkgLmZsdWVudC1tb2Rlcm4ge1xuXHQudGFzay1kZXRhaWxzLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdFx0b3JkZXI6IDE7XG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0yKTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdH1cblx0LnRhc2stZGV0YWlscyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4td2lkdGg6IDI1MHB4O1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdH1cblx0LnRnLWZsdWVudC1jb250YWluZXIge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLW1vZGVybi1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxDQUFDO0FBQ0EsV0FBUztBQUNULFlBQVU7QUFDVixlQUFhO0FBQ2IsaUJBQWU7QUFDaEI7QUFFQSxDQUFDLGdCQUFnQixDQVBoQjtBQVFBLFdBQVM7QUFDVjtBQUVBLENBQUMsZUFBZSxDQVhmO0FBWUEsV0FBUztBQUNULFlBQVU7QUFDVixlQUFhO0FBQ2IsaUJBQWU7QUFDaEI7QUFFQSxDQUFDO0FBQ0EsVUFBUTtBQUNSLFlBQVU7QUFDWDtBQUdBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUVBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN2QjtBQUdBLENBQUM7QUFDQSxvQkFBa0IsSUFBSTtBQUN0QixXQUFTO0FBQ1Y7QUFFQSxDQUFDO0FBQ0Esb0JBQWtCLElBQUk7QUFDdEIsV0FBUztBQUNULFlBQVU7QUFDVixPQUFLO0FBQ0wsVUFBUTtBQUNUO0FBRUEsQ0FBQztBQUNB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 */
|