From 6f3d0a78545bbeb65010d50b36ad5391d0e43f35 Mon Sep 17 00:00:00 2001 From: Quorafind Date: Mon, 28 Jul 2025 10:11:12 +0800 Subject: [PATCH 1/2] feat(task-view): implement dynamic metadata positioning Add intelligent layout system that positions task metadata inline with short content or below with multi-line content. Includes: - New contentMetadataContainer with flex-wrap layout - Dynamic height detection using line-height comparison - CSS classes for single-line and multi-line content modes - Smooth transitions using Obsidian's toggleClass API - Responsive design for both list and tree view components The layout automatically adapts based on content length, improving readability while maintaining compact display for short tasks. --- src/components/task-view/listItem.ts | 43 ++++++++++++++++++++++++---- src/components/task-view/treeItem.ts | 39 +++++++++++++++++++++++-- src/styles/task-list.css | 39 +++++++++++++++++++++++++ src/styles/tree-view.css | 39 +++++++++++++++++++++++++ 4 files changed, 153 insertions(+), 7 deletions(-) diff --git a/src/components/task-view/listItem.ts b/src/components/task-view/listItem.ts index 72b795a4..21e7df74 100644 --- a/src/components/task-view/listItem.ts +++ b/src/components/task-view/listItem.ts @@ -23,6 +23,7 @@ export class TaskListItemComponent extends Component { private markdownRenderer: MarkdownRendererComponent; private containerEl: HTMLElement; private contentEl: HTMLElement; + private contentMetadataContainer: HTMLElement; private metadataEl: HTMLElement; @@ -183,19 +184,22 @@ export class TaskListItemComponent extends Component { cls: "task-item-container", }); - // Task content - this.contentEl = createDiv({ - cls: "task-item-content", + // Create content-metadata container for dynamic layout + this.contentMetadataContainer = this.containerEl.createDiv({ + cls: "task-content-metadata-container", }); - this.containerEl.appendChild(this.contentEl); + // Task content + this.contentEl = this.contentMetadataContainer.createDiv({ + cls: "task-item-content", + }); // Make content clickable for editing this.registerContentClickHandler(); this.renderMarkdown(); - this.metadataEl = this.containerEl.createDiv({ + this.metadataEl = this.contentMetadataContainer.createDiv({ cls: "task-item-metadata", }); @@ -746,6 +750,35 @@ export class TaskListItemComponent extends Component { // Re-register the click event for editing after rendering this.registerContentClickHandler(); + + // Update layout mode after content is rendered + // Use requestAnimationFrame to ensure the content is fully rendered + requestAnimationFrame(() => { + this.updateLayoutMode(); + }); + } + + /** + * Detect content height and update layout mode + */ + private updateLayoutMode() { + if (!this.contentEl || !this.contentMetadataContainer) { + return; + } + + // Get the line height of the content element + const computedStyle = window.getComputedStyle(this.contentEl); + const lineHeight = parseFloat(computedStyle.lineHeight) || parseFloat(computedStyle.fontSize) * 1.4; + + // Get actual content height + const contentHeight = this.contentEl.scrollHeight; + + // Check if content is multi-line (with some tolerance) + const isMultiLine = contentHeight > lineHeight * 1.2; + + // Apply appropriate layout class using Obsidian's toggleClass method + this.contentMetadataContainer.toggleClass("multi-line-content", isMultiLine); + this.contentMetadataContainer.toggleClass("single-line-content", !isMultiLine); } /** diff --git a/src/components/task-view/treeItem.ts b/src/components/task-view/treeItem.ts index 4933027c..f7d33b33 100644 --- a/src/components/task-view/treeItem.ts +++ b/src/components/task-view/treeItem.ts @@ -38,6 +38,7 @@ export class TaskTreeItemComponent extends Component { private markdownRenderer: MarkdownRendererComponent; private contentEl: HTMLElement; + private contentMetadataContainer: HTMLElement; private taskMap: Map; // Use shared editor manager instead of individual editors @@ -267,8 +268,13 @@ export class TaskTreeItemComponent extends Component { cls: "task-item-container", }); + // Create content-metadata container for dynamic layout + this.contentMetadataContainer = taskItemContainer.createDiv({ + cls: "task-content-metadata-container", + }); + // Task content with markdown rendering - this.contentEl = taskItemContainer.createDiv({ + this.contentEl = this.contentMetadataContainer.createDiv({ cls: "task-item-content", }); @@ -278,7 +284,7 @@ export class TaskTreeItemComponent extends Component { this.renderMarkdown(); // Metadata container - const metadataEl = taskItemContainer.createDiv({ + const metadataEl = this.contentMetadataContainer.createDiv({ cls: "task-metadata", }); @@ -823,6 +829,35 @@ export class TaskTreeItemComponent extends Component { // Re-register the click event for editing after rendering this.registerContentClickHandler(); + + // Update layout mode after content is rendered + // Use requestAnimationFrame to ensure the content is fully rendered + requestAnimationFrame(() => { + this.updateLayoutMode(); + }); + } + + /** + * Detect content height and update layout mode + */ + private updateLayoutMode() { + if (!this.contentEl || !this.contentMetadataContainer) { + return; + } + + // Get the line height of the content element + const computedStyle = window.getComputedStyle(this.contentEl); + const lineHeight = parseFloat(computedStyle.lineHeight) || parseFloat(computedStyle.fontSize) * 1.4; + + // Get actual content height + const contentHeight = this.contentEl.scrollHeight; + + // Check if content is multi-line (with some tolerance) + const isMultiLine = contentHeight > lineHeight * 1.2; + + // Apply appropriate layout class using Obsidian's toggleClass method + this.contentMetadataContainer.toggleClass("multi-line-content", isMultiLine); + this.contentMetadataContainer.toggleClass("single-line-content", !isMultiLine); } /** diff --git a/src/styles/task-list.css b/src/styles/task-list.css index 0d54d249..50c3fc59 100644 --- a/src/styles/task-list.css +++ b/src/styles/task-list.css @@ -68,6 +68,45 @@ text-overflow: ellipsis; } +/* Dynamic content-metadata container */ +.task-content-metadata-container { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: var(--size-2-2); + transition: all 0.2s ease; +} + +/* Single line content layout - horizontal */ +.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; /* Allow content to shrink */ +} + +.task-content-metadata-container.single-line-content .task-item-metadata { + flex-shrink: 0; + margin-top: 0; +} + +/* Multi-line content layout - vertical */ +.task-content-metadata-container.multi-line-content { + flex-direction: column; + align-items: flex-start; +} + +.task-content-metadata-container.multi-line-content .task-item-content { + width: 100%; +} + +.task-content-metadata-container.multi-line-content .task-item-metadata { + margin-top: var(--size-2-2); +} + .task-item-metadata { display: flex; align-items: center; diff --git a/src/styles/tree-view.css b/src/styles/tree-view.css index d857e309..f939748a 100644 --- a/src/styles/tree-view.css +++ b/src/styles/tree-view.css @@ -100,6 +100,45 @@ color: var(--text-muted); } +/* Dynamic content-metadata container for tree view */ +.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; +} + +/* Single line content layout - horizontal */ +.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; /* Allow content to shrink */ +} + +.tree-task-item .task-content-metadata-container.single-line-content .task-metadata { + flex-shrink: 0; + margin-top: 0; +} + +/* Multi-line content layout - vertical */ +.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 */ .task-metadata { display: flex; From c20402d794406661791e06bef39b52bd87868848 Mon Sep 17 00:00:00 2001 From: quorafind <951011105@qq.com> Date: Mon, 28 Jul 2025 16:41:00 +0800 Subject: [PATCH 2/2] chore: styles conflict --- styles.css | 12167 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 12166 insertions(+), 1 deletion(-) diff --git a/styles.css b/styles.css index 09872c70..beffe7a0 100644 --- a/styles.css +++ b/styles.css @@ -247,4 +247,12169 @@ settings: default-dark: '#f1f1f1' */ -.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}.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-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:.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 .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:rotate(-15deg);z-index:0;opacity:.7;transition:all .3s ease;border-radius:var(--radius-m)}.task-genius-settings .settings-tab:hover:after{transform:rotate(-10deg);opacity:.9}.task-genius-settings .settings-tab-active:after{background-color:var(--interactive-accent);opacity:.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;align-items:center;justify-content:flex-end;margin-top:var(--size-4-2);margin-bottom:var(--size-4-2)}.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:.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:.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 .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 .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:#fff}@keyframes fadeIn{0%{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 #0000000d}.workflow-row{margin-bottom:15px;padding:12px;border-radius:6px;background-color:var(--background-secondary-alt);box-shadow:0 1px 3px #00000014;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;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 #0000001a}.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-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 #0000001a;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;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 #0000001a;transition:all .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 #00000026;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 .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-management-list{margin:10px 0;border:1px solid var(--background-modifier-border);border-radius:5px;padding:10px}.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),.5);border:1px solid hsl(var(--accent-h),var(--accent-s),var(--accent-l),.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:.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:.8em}.project-readonly{opacity:.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}.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)}.beta-test-warning-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:20px;background-color:var(--background-modifier-warning);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)}.task-details .panel-toggle-container{left:10px}.task-details{width:300px;flex-shrink:0;border-left:1px solid var(--background-modifier-border);height:100%;overflow-y:auto;display:flex;flex-direction:column;transition:all .3s ease-in-out;position:relative;min-width:250px;max-width:400px;background-color:var(--background-secondary);order:1}.task-genius-container.details-hidden .task-details{width:0;opacity:0;margin-right:-300px;overflow:hidden}.task-genius-container.details-visible .task-details{width:350px;opacity:1;margin-right:0}.is-phone .task-details{position:absolute;right:0;top:0;height:100%;width:100%;max-width:100%;z-index:10;transform:translate(100%)}.is-phone .task-genius-container.details-hidden .task-details{width:100%;margin-right:0;transform:translate(100%)}.is-phone .task-genius-container.details-visible .task-details{width:calc(100% - var(--size-4-12));transform:translate(0)}.is-phone .task-genius-container.details-visible:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-modifier-cover);opacity:.5;z-index:5;transition:opacity .3s ease-in-out}.is-phone .details-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.is-phone .details-header{padding:var(--size-4-4)}.details-empty{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);padding:20px}.details-header{padding:var(--size-4-4);padding-bottom:var(--size-4-3);padding-top:var(--size-4-3);font-weight:600;border-bottom:1px solid var(--background-modifier-border);display:flex;justify-content:space-between;align-items:center;font-size:1.1em}.details-content{padding:var(--size-4-4);display:flex;flex-direction:column;gap:var(--size-4-2);overflow-y:auto;padding-bottom:max(var(--safe-area-inset-bottom),var(--size-4-8))}.details-name{margin:0 0 8px;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),.3);outline-style:dashed}.status-option:not(.current){opacity:.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:.8em;color:var(--text-muted)}.metadata-value{word-break:break-word;font-size:.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:.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:.7em;color:var(--text-muted);margin-top:2px}.details-form-buttons{display:flex;justify-content:space-between;margin-top:16px;gap:8px}.details-form-buttons button{flex:1;justify-content:center}.details-form-error{color:var(--text-error);font-size:.8em;margin-top:8px;padding:8px;background-color:var(--background-modifier-error);border-radius:4px}.details-edit-file-btn{background-color:var(--interactive-normal);border:1px solid var(--background-modifier-border);border-radius:4px;padding:6px 12px;color:var(--text-normal);cursor:pointer;font-size:var(--font-ui-small)}.details-edit-file-btn:hover{background-color:var(--interactive-hover)}@media screen and (max-width: 768px){.task-omnifocus-container{flex-direction:column}.task-sidebar{width:100%;max-width:100%;height:auto;border-right:none;border-bottom:1px solid var(--background-modifier-border)}.task-content{width:100%;flex:1}.task-details{width:100%;max-width:100%;border-left:none}}.project-source-indicator{display:flex;align-items:center;gap:4px;margin-top:4px;padding:4px 8px;border-radius:4px;font-size:.85em;line-height:1.2}.project-source-indicator .indicator-icon{font-size:.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:.8em;margin-top:4px;font-style:italic}.field-description.override-description{color:var(--text-accent);font-size:.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:.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:.7em;border-radius:2px;z-index:5}.project-source-indicator.table-indicator .indicator-icon{font-size:.8em}.task-table-cell.readonly-cell{background-color:var(--background-modifier-error-hover);opacity:.8}.project-container.project-readonly{position:relative}.project-container.project-readonly .project-source-indicator{margin-top:8px}.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:.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:.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:.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:.8em;color:var(--text-muted);margin-top:2px}.action-type-suggestion{font-weight:600;color:var(--text-accent)}.action-description{font-size:.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:.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);background-color:var(--background-modifier-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 .2s ease-in-out}.oncompletion-field{opacity:1;transform:translateY(0);transition:opacity .2s ease-in-out,transform .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 .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(.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}}.universal-suggest-item{display:flex;align-items:center;cursor:pointer;border-radius:4px;transition:background-color .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:.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)}}.confirm-modal-buttons{display:flex;gap:var(--size-4-3);justify-content:flex-end;margin-top:var(--size-4-3)}.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 .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:.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:.9em}.habit-edit-dialog .habit-mapping-arrow{margin:0 10px;color:var(--text-muted)}.habit-edit-dialog .habit-mapping-value{flex:1;font-size:.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:.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:.9em}.habit-edit-dialog .habit-event-details{flex:1;font-size:.9em}.habit-edit-dialog .habit-event-property{width:120px;font-size:.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:.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)}.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;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 .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}.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:.5rem 1rem;border-radius:6px;cursor:pointer;margin-bottom:1rem;font-size:.9em;transition:all .2s ease}.ics-back-button:hover{background:var(--interactive-accent-hover);transform:translateY(-1px)}.ics-description{color:var(--text-muted);margin-top:.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 .2s ease}.ics-source-item:hover{border-color:var(--interactive-accent);box-shadow:0 2px 8px #0000001a}.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:.3rem .8rem;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-enabled{background:var(--color-green);color:#fff}.status-disabled{background:var(--color-red);color:#fff}.ics-source-details{margin-bottom:1.5rem;font-size:.9em;color:var(--text-muted);line-height:1.4}.ics-source-details div{margin-bottom:.4rem}.ics-source-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.primary-actions,.secondary-actions{display:flex;gap:.5rem}.ics-source-actions button{padding:.5rem 1rem;border:1px solid var(--background-modifier-border);border-radius:6px;background:var(--background-secondary);color:var(--text-normal);font-size:.85em;cursor:pointer;transition:all .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:#fff;border-color:var(--color-red)}.ics-source-actions button.mod-warning:hover{background:var(--color-red);opacity:.8}.ics-source-actions button:disabled{opacity:.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:#fff;border-color:var(--color-green)}.ics-source-actions button.error{background:var(--color-red);color:#fff;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 .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:.8rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.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:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9em}.ics-test-button:hover{background:var(--color-orange);opacity:.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:.5rem}.modal-button-container{display:flex;gap:.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:.5rem 1rem;border-radius:6px;font-size:.9em;min-width:80px}@media (max-width: 768px){.ics-source-header{flex-direction:column;align-items:flex-start;gap:.5rem}.ics-source-actions{flex-direction:column;gap:.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:.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 .2s ease}.text-replacement-rule:hover{border-color:var(--interactive-accent);box-shadow:0 2px 4px #0000001a}.text-replacement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.text-replacement-header strong{color:var(--text-normal);font-size:1em}.text-replacement-status{padding:.2rem .6rem;border-radius:10px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.text-replacement-status.enabled{background:var(--color-green);color:#fff}.text-replacement-status.disabled{background:var(--color-red);color:#fff}.text-replacement-details{margin-bottom:1rem;font-size:.85em;color:var(--text-muted);line-height:1.4}.text-replacement-details div{margin-bottom:.3rem}.text-replacement-pattern{font-family:var(--font-monospace);background:var(--background-modifier-form-field);padding:.2rem .4rem;border-radius:3px;display:inline-block;margin-left:.5rem}.text-replacement-replacement{font-family:var(--font-monospace);background:var(--background-modifier-form-field);padding:.2rem .4rem;border-radius:3px;display:inline-block;margin-left:.5rem}.text-replacement-actions{display:flex;gap:.5rem;flex-wrap:wrap}.text-replacement-actions button{padding:.4rem .8rem;border:1px solid var(--background-modifier-border);border-radius:4px;background:var(--background-secondary);color:var(--text-normal);font-size:.8em;cursor:pointer;transition:all .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:#fff;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:.6rem 1.2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .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:.5rem;padding:.8rem;background:var(--background-modifier-form-field);border-radius:4px;border:1px solid var(--background-modifier-border);font-family:var(--font-monospace);font-size:.9em}.test-result{font-weight:500}.text-replacement-modal ul{margin:.5rem 0;padding-left:1.5rem}.text-replacement-modal li{margin-bottom:.5rem;line-height:1.4}.text-replacement-modal code{background:var(--background-modifier-form-field);padding:.1rem .3rem;border-radius:3px;font-family:var(--font-monospace);font-size:.85em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ics-source-actions button.syncing:before{content:"";display:inline-block;margin-right:.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)}.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)}.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;justify-content:center;-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:.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:.75rem}.root-condition-section{display:flex;align-items:center;gap:.5rem;padding:.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:.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:.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:.375rem;margin-top:.375rem}.add-filter-btn-icon{display:flex;align-items:center;justify-content:center}.filter-item{display:flex;align-items:center;gap:var(--size-2-2);padding:var(--size-4-2);padding-top:0;padding-bottom:0}.filter-item .filter-conjunction{font-size:var(--font-ui-smaller);font-weight:600;color:var(--text-faint);align-self:center}.filter-item .filter-property-select.compact-select{flex-basis:30%;flex-grow:0;flex-shrink:0;border:1px solid var(--input-border-color, var(--background-modifier-border));box-shadow:none}.filter-item .filter-property-select.compact-select:focus{border-color:var(--interactive-accent);box-shadow:0 0 0 1px var(--interactive-accent)}.filter-item .filter-condition-select.compact-select{width:auto;border:1px solid var(--input-border-color, var(--background-modifier-border));box-shadow:none}.filter-item .filter-condition-select.compact-select:focus{border-color:var(--interactive-accent);box-shadow:0 0 0 1px var(--interactive-accent)}.filter-item .filter-value-input.compact-input{flex-grow:1;border:1px solid var(--input-border-color, var(--background-modifier-border));width:100%}.filter-item .filter-value-input.compact-input:focus{border-color:var(--interactive-accent);box-shadow:0 0 0 1px var(--interactive-accent)}.filter-item .remove-filter-btn.compact-icon-btn .svg-icon{color:var(--text-muted)}.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon{color:var(--text-error)}.filter-item .remove-filter-btn.compact-icon-btn:hover{background-color:var( --background-error-hover, var(--background-modifier-error-hover) )}.add-group-section{margin-top:var(--size-2-1);margin-bottom:var(--size-2-1);margin-left:var(--size-2-1);display:flex;justify-content:space-between}.add-filter-group-btn-icon{display:flex;align-items:center;justify-content:center}.filter-config-section{display:flex;gap:var(--size-4-2)}.save-filter-config-btn,.load-filter-config-btn{flex:1}.save-filter-config-btn-icon,.load-filter-config-btn-icon{display:flex;align-items:center;justify-content:center}.save-filter-config-btn:hover{background-color:var(--interactive-accent-hover);color:var(--text-on-accent)}.load-filter-config-btn:hover{background-color:var(--background-modifier-hover)}.filter-config-details{margin-top:var(--size-4-3);padding:var(--size-4-3);border:1px solid var(--background-modifier-border);border-radius:var(--radius-l);background:linear-gradient(135deg,var(--background-secondary) 0%,var(--background-primary-alt) 100%);box-shadow:0 2px 8px #0000001a;transition:all .2s ease-in-out}.filter-config-details:hover{box-shadow:0 4px 12px #00000026;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:.125rem .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}.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:.75rem;margin-bottom:.5rem;border:1px solid var(--background-modifier-border);border-radius:4px;background:var(--background-primary)}.file-filter-rule:last-child{margin-bottom:0}.file-filter-rule-type,.file-filter-rule-path,.file-filter-rule-enabled{display:flex;flex-direction:column;gap:.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:.8rem;font-weight:500;color:var(--text-muted)}.file-filter-rule input[type=text]{padding:.25rem .5rem;border:1px solid var(--background-modifier-border);border-radius:3px;background:var(--background-primary);color:var(--text-normal);font-size:.9rem}.file-filter-rule input[type=checkbox]{width:16px;height:16px}.file-filter-rule-delete{padding:.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:.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:.25rem 0}.file-filter-stat:not(:last-child){border-bottom:1px solid var(--background-modifier-border);margin-bottom:.25rem;padding-bottom:.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 .2s ease}.setting-item .setting-item-control button[aria-label*=refresh]:hover{transform:rotate(90deg)}@keyframes refresh-spin{0%{transform:rotate(0)}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:.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:.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:.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 .2s ease}.file-filter-preset-container button:disabled{opacity:.6;cursor:not-allowed;background:var(--background-modifier-border);color:var(--text-muted)}.file-filter-preset-container button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.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:.8}.cm-workflow-stage-indicator{display:inline-block;margin-left:4px;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .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)}.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 .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 .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 .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)}.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-modal.minimal{max-width:600px;min-width:500px;max-height:200px}.quick-capture-minimal-editor-container{padding:var(--size-4-2);min-height:50px}.quick-capture-minimal-editor-container .cm-editor{font-size:var(--font-text-size);min-height:40px;border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);padding:var(--size-2-1)}.quick-capture-minimal-editor-container .cm-editor.cm-focused{border-color:var(--interactive-accent);box-shadow:0 0 0 2px var(--interactive-accent-alpha)}.quick-capture-minimal-buttons{display:flex;justify-content:space-between;align-items:center;padding:var(--size-4-2)}.quick-actions-left{display:flex;gap:var(--size-2-1)}.quick-actions-right{display:flex;gap:var(--size-2-1)}.quick-action-button.active{background-color:var(--interactive-accent);color:var(--text-on-accent);border-color:var(--interactive-accent)}.quick-action-save{padding:var(--size-2-1) var(--size-4-2);min-width:80px;height:32px;border-radius:var(--radius-s)}.quick-capture-tag-input{position:absolute;bottom:60px;left:50%;transform:translate(-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 .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:.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)}.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}.quick-capture-target:focus{outline:none}.quick-capture-hint{font-size:12px;color:var(--text-muted);margin-bottom:8px;margin-top:-4px;text-align:right}.quick-capture-editor{min-height:200px;background-color:var(--background-primary)}.quick-capture-file-suggest{max-width:500px}.quick-capture-buttons{display:flex;justify-content:flex-end;gap:8px}.quick-capture-submit,.quick-capture-cancel{padding:6px 12px;border-radius:4px;cursor:pointer}.quick-capture-submit{background-color:var(--interactive-accent);color:var(--text-on-accent)}.quick-capture-cancel{background-color:var(--background-modifier-border);color:var(--text-normal)}.quick-capture-modal .modal-title{display:flex;align-items:center;flex-direction:row;gap:10px;font-size:var(--font-ui-medium);font-weight:bold}.quick-capture-modal-editor{min-height:150px;margin-bottom:20px}.quick-capture-modal-buttons{display:flex;justify-content:flex-end;gap:10px}.quick-capture-modal.full{width:80vw;max-width:900px}.quick-capture-layout{display:flex;height:100%;gap:16px;margin-bottom:16px}.quick-capture-config-panel{flex:1;border-right:1px solid var(--background-modifier-border);padding-right:16px;overflow-y:auto;max-width:40%}.quick-capture-editor-panel{flex:1.5;display:flex;flex-direction:column}.quick-capture-section-title{font-weight:bold;margin-bottom:8px;font-size:var(--font-ui-medium);color:var(--text-normal)}.quick-capture-target-container{margin-bottom:16px}.quick-capture-modal.full .quick-capture-modal-editor{min-height:200px;flex:1;overflow-y:auto;border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);padding:8px;margin-top:8px}@media (max-width: 768px){.quick-capture-modal.full{width:95vw}.quick-capture-layout{flex-direction:column}.quick-capture-config-panel{max-width:100%;border-right:none;border-bottom:1px solid var(--background-modifier-border);padding-right:0;padding-bottom:16px;margin-bottom:16px;max-height:40%}}.quick-capture-config-panel .details-status-selector{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:var(--size-4-2);margin-top:var(--size-4-2)}.quick-capture-config-panel .quick-capture-status-selector{display:flex;flex-direction:row;justify-content:space-between;gap:var(--size-4-3)}.task-list{flex:1;overflow-y:auto;padding:0}.task-item{display:flex;align-items:flex-start;padding:8px 16px;border-bottom:1px solid var(--background-modifier-border);cursor:pointer;gap:var(--size-2-3)}.task-item:hover{background-color:var(--background-secondary-alt)}.task-children-container .task-item:hover{background-color:var(--background-secondary)}.task-item.selected{background-color:var(--background-secondary-alt)}.task-item.task-completed .task-item-content{text-decoration:line-through;color:var(--text-muted)}.task-item .markdown-block.markdown-renderer>p:only-child{padding:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-checkbox{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-normal);cursor:pointer;flex-shrink:0}.task-item.task-completed .task-checkbox{color:var(--text-on-accent)}.task-item-content{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item-container{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-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:.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:.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:.9em;white-space:nowrap}.task-priority.priority-5{color:var(--text-error);font-weight:600}.task-priority.priority-4{color:var(--text-warning);font-weight:600}.task-priority.priority-3{color:var(--text-warning);font-weight:600}.task-priority.priority-2{color:var(--text-warning)}.task-priority.priority-1{color:var(--text-accent)}.task-oncompletion{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;border-radius:3px;font-size:var(--font-ui-small);color:var(--text-muted);white-space:nowrap}.task-oncompletion:hover{color:var(--text-normal)}.task-dependson{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background-color:var(--background-modifier-error);border-radius:3px;font-size:var(--font-ui-small);color:var(--text-error);white-space:nowrap}.task-dependson:hover{background-color:var(--background-modifier-error-hover);color:var(--text-error)}.task-id{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background-color:var(--background-modifier-accent);border-radius:3px;font-size:var(--font-ui-small);color:var(--text-accent);white-space:nowrap}.task-id:hover{background-color:var(--background-modifier-accent-hover);color:var(--text-accent-hover)}.task-tags-container{display:flex;flex-wrap:wrap;gap:var(--size-2-2)}.task-tags-container:empty{display:none}.task-tag{font-size:var(--font-ui-small);color:var(--text-normal);background-color:var(--background-modifier-hover);border-radius:var(--radius-s);padding:var(--size-2-1) var(--size-2-3);white-space:nowrap;opacity:.75}.task-item:hover .task-tag{opacity:1}.task-item-content p:has(img) img{display:block;width:min(50%,200px)}.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 .15s ease,background-color .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 #0000001a;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 .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 .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(.95)}.add-metadata-btn svg{width:10px;height:10px}.inline-editor *{transition:border-color .15s ease,background-color .15s ease,box-shadow .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 .15s ease,transform .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 .15s ease}.inline-metadata-editor{animation:fadeInScale .15s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.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 .15s ease,box-shadow .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)}.tree-task-item{position:relative;display:flex;flex-direction:column;padding:8px 16px;transition:background-color .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:.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)}.task-metadata{display:flex;gap:8px;margin-top:4px;font-size:.85em;color:var(--text-muted)}.task-metadata:empty{display:none}.task-due-date.overdue{color:var(--text-error);font-weight:bold}.task-item.tree-task-item .task-project{display:inline-block;padding:1px 6px;border-radius:4px}.task-priority.priority-3{color:var(--text-error)}.task-priority.priority-2{color:var(--text-warning)}.task-priority.priority-1{color:var(--text-accent)}.tree-task-item .task-oncompletion{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background-color:var(--background-modifier-border);border-radius:3px;font-size:var(--font-ui-small);color:var(--text-muted);white-space:nowrap}.tree-task-item .task-oncompletion:hover{color:var(--text-normal)}.tree-task-item .task-dependson{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background-color:var(--background-modifier-error);border-radius:3px;font-size:var(--font-ui-small);color:var(--text-error);white-space:nowrap}.tree-task-item .task-dependson:hover{background-color:var(--background-modifier-error-hover);color:var(--text-error)}.tree-task-item .task-id{display:inline-flex;align-items:center;padding:2px 6px;margin-left:4px;background-color:var(--background-modifier-accent);border-radius:3px;font-size:var(--font-ui-small);color:var(--text-accent);white-space:nowrap}.tree-task-item .task-id:hover{background-color:var(--background-modifier-accent-hover);color:var(--text-accent-hover)}.task-children-container{margin-top:4px;width:100%}.view-toggle-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-muted);border-radius:4px}.view-toggle-btn:hover{background-color:var(--background-modifier-hover);color:var(--text-normal)}.task-children-container:empty{display:none!important}.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:.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:.7;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.forecast-settings:hover{opacity:1}.forecast-focus-bar{display:flex;padding:10px 15px;border-bottom:1px solid var(--background-modifier-border);gap:10px;align-items:center}.focus-input{flex:1;padding:6px 12px;border-radius:4px;border:1px solid var(--interactive-accent);background-color:var(--background-primary);color:var(--text-normal)}.unfocus-button{padding:6px 12px;border-radius:4px;background-color:var(--interactive-accent);color:var(--text-on-accent);cursor:pointer;border:none}.unfocus-button:hover{background-color:var(--interactive-accent-hover)}.forecast-content{display:flex;flex:1;overflow:hidden}.forecast-left-column{width:360px;min-width:360px;border-right:1px solid var(--background-modifier-border);display:flex;flex-direction:column;overflow-y:auto;background-color:var(--background-secondary-alt)}.forecast-right-column{flex:1;display:flex;flex-direction:column;background-color:var(--background-primary)}.forecast-task-list{overflow-y:auto}.forecast-calendar-section{padding:10px 0;margin-top:var(--size-4-4);flex-shrink:0;border-top:1px solid var(--background-modifier-border)}.forecast-stats{display:flex}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px;cursor:pointer;transition:background-color .2s ease;position:relative}.stat-item:after{content:"";position:absolute;bottom:0;left:10%;width:80%;height:3px;background-color:transparent;transition:background-color .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:.7}to{background-color:var(--color-accent-2)!important;opacity:1}}.stat-item.tg-past-due:after{background-color:var(--text-error);opacity:.7}.stat-item.tg-today:after{background-color:var(--interactive-accent);opacity:.7}.stat-item.tg-future:after{background-color:var(--text-accent);opacity:.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:.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:.8em;font-weight:600;padding:5px 15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.due-soon-item{display:flex;justify-content:space-between;padding:8px 15px;cursor:pointer;border-left:3px solid transparent;transition:background-color .2s ease}.due-soon-item:hover{background-color:var(--background-modifier-hover);border-left-color:var(--interactive-accent)}.due-soon-date{font-size:.9em}.due-soon-count{font-size:.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:.9em}.date-section-header{display:flex;align-items:center;padding:8px 15px;cursor:pointer;border-bottom:1px solid var(--background-modifier-border);background-color:var(--background-secondary-alt)}.date-section-header .section-toggle{margin-right:8px;display:flex;align-items:center;justify-content:center}.date-section-header .section-title{flex:1;font-weight:500}.date-section-header .section-count{font-size:.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:#fff}.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:translate(-100%);transition:transform .3s ease-in-out;border-right:1px solid var(--background-modifier-border)}.is-phone .forecast-left-column.is-visible{transform:translate(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 #0000001a}.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:.5;z-index:5;transition:opacity .3s ease-in-out}.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:.7;transition:opacity .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:.8em;transition:background-color .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:.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 .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:.5}.task-genius-view .mini-calendar-container .calendar-day-number{text-align:center;font-size:.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:.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}}.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:.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:.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:translate(-100%);transition:transform .3s ease-in-out;border-right:1px solid var(--background-modifier-border)}.is-phone .tags-left-column.is-visible{transform:translate(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:.5;z-index:5;transition:opacity .3s ease-in-out}.is-phone .tags-sidebar-header:has(.tags-sidebar-close){padding-right:var(--size-4-12)}.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;border-right:1px solid var(--background-modifier-border);overflow:hidden}.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}.multi-select-mode .projects-multi-select-btn{color:var(--color-accent)}.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)}.project-list-item{display:flex;align-items:center;padding:4px 12px;cursor:pointer;border-radius:var(--radius-s)}.project-list-item:hover{background-color:var(--background-modifier-hover)}.project-list-item.selected{background-color:var(--background-modifier-active)}.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:.8em;color:var(--text-muted);background-color:var(--background-modifier-border);border-radius:10px;padding:1px 6px}.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);height:var(--size-4-10)}.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:translate(-100%);transition:transform .3s ease-in-out;border-right:1px solid var(--background-modifier-border)}.is-phone .projects-left-column.is-visible{transform:translate(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:.5;z-index:5;transition:opacity .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)}.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;margin-top:12px;letter-spacing:.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;padding:0}.review-info{display:flex;align-items:center;color:var(--text-muted);font-size:.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:.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:.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:.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:translate(-100%);transition:transform .3s ease-in-out;border-right:1px solid var(--background-modifier-border)}.is-phone .review-left-column.is-visible{transform:translate(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:.5;z-index:5;transition:opacity .3s ease-in-out}.task-sidebar.collapsed{width:48px;overflow:hidden}.panel-toggle-btn{display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .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;gap:5px}.sidebar-nav-spacer{height:1px;background-color:var(--background-modifier-border);margin:auto 15px 8px;opacity:.7}.sidebar-nav-item{display:flex;align-items:center;padding:8px 15px;cursor:pointer;border-radius:4px;margin:0 5px;transition:background-color .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 .3s ease-in-out,flex-shrink .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 .3s ease}.task-sidebar.collapsed .task-content{margin-left:-200px;transition:margin .3s ease}.task-genius-view .project-tree{padding:10px 0;transition:opacity .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 .2s ease;border-radius:4px;margin:0 5px}.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:.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:.8em;color:var(--text-muted);margin-right:10px}.focus-filter{margin-left:10px}.workspace-leaf-content .task-genius-view{padding:0}.task-genius-container{display:flex;flex-direction:row;height:100%;width:100%;background-color:var(--background-primary);border-top:1px solid var(--background-modifier-border);color:var(--text-normal);position:relative;overflow:hidden}.task-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--background-modifier-border);background-color:var(--background-secondary);overflow-y:auto;width:240px;transition:width .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:.8em;color:var(--text-muted);background-color:var(--background-modifier-hover);border-radius:10px;padding:2px 6px;min-width:16px;text-align:center}.task-genius-view .tree-item.expanded>.tree-item-children{display:flex}.task-genius-view .tree-item-children{display:none;flex-direction:column;margin-left:16px;width:100%}.task-genius-view .content-header{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--background-modifier-border);min-height:50px}.task-genius-view .content-title{font-size:1.2em;font-weight:600;margin-right:12px;flex:1}@media screen and (max-width: 768px){.task-genius-view .content-title{display:none}.task-genius-view .task-count{flex:1}.task-genius-view .focus-filter{flex:1}}.task-genius-view .content-filter{display:flex;align-items:center;margin-right:12px}.task-genius-view .filter-input{border:1px solid var(--background-modifier-border);border-radius:4px;padding:4px 8px;width:200px;background-color:var(--background-primary)}.task-genius-view .focus-button{background-color:var(--interactive-normal);border:1px solid var(--background-modifier-border);border-radius:4px;padding:4px 10px;color:var(--text-normal);cursor:pointer}.task-genius-view .focus-button:hover{background-color:var(--interactive-hover)}.task-genius-view .focus-button.focused{background-color:var(--interactive-accent);color:var(--text-on-accent)}.mod-root .task-genius-action-btn{--icon-size: 16px}.mod-left-split .task-genius-action-btn{display:none}.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn){display:none}.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn){display:none}.task-genius-view .task-empty-state{width:100%;height:100%;flex:1;display:flex;align-items:center;justify-content:center}.mod-root .task-genius-tab-header{container-type:inline-size!important}@container (max-width: 120px){.mod-root .task-genius-action-btn {display: none;}}.quick-workflow-modal{max-width:600px;min-height:400px}.workflow-template-section{margin-bottom:20px;padding:15px;border:1px solid var(--background-modifier-border);border-radius:8px}.template-description{margin-top:10px}.template-desc-text{font-style:italic;color:var(--text-muted);margin:0}.workflow-form-section{margin-bottom:20px}.workflow-stages-preview{margin-top:15px}.stages-preview-list{margin-top:10px}.stage-preview-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin:4px 0;background:var(--background-secondary);border-radius:6px;border:1px solid var(--background-modifier-border)}.stage-info{display:flex;align-items:center;gap:8px}.stage-name{font-weight:500}.stage-type{color:var(--text-muted);font-size:.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:.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 .3s ease}.workflow-progress-percentage{font-size:.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 .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:.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:.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:.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:.9em;color:var(--text-muted)}.full-calendar-container{container-type:inline-size;display:flex;flex-direction:column;height:100%;overflow:hidden;flex-grow:1}.full-calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--size-2-3) var(--size-4-4);border-bottom:1px solid var(--background-modifier-border);flex-shrink:0;margin-bottom:0}.full-calendar-container .calendar-header button{margin:0 var(--size-4-1)}.full-calendar-container .calendar-nav,.full-calendar-container .calendar-view-switcher{display:flex;gap:var(--size-2-2)}.full-calendar-container .calendar-nav button{border-radius:var(--radius-s);text-transform:uppercase}.full-calendar-container .calendar-view-switcher button{border-radius:var(--radius-s);text-transform:uppercase}.full-calendar-container .calendar-view-switcher button:not(.is-active),.full-calendar-container .calendar-nav button:not(.is-active){box-shadow:var(--shadow-xs);border:1px solid var(--background-modifier-border)}.full-calendar-container .calendar-current-date{font-weight:var(--font-semibold);font-size:var(--font-ui-large);text-align:center;flex-grow:1;max-width:max(120px,40%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-calendar-container .calendar-view-switcher button.is-active{background-color:var(--interactive-accent);color:var(--text-on-accent);border-color:var(--interactive-accent-hover)}.full-calendar-container .calendar-view-container{flex-grow:1;overflow-y:auto;padding:var(--size-4-2);position:relative;display:flex;flex-direction:column}.full-calendar-container .calendar-weekday-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:var(--font-ui-small);color:var(--text-muted);padding:var(--size-4-1) 0;border-bottom:1px solid var(--background-modifier-border);margin-bottom:-1px;background-color:var(--background-secondary)}.full-calendar-container .calendar-weekday{padding:var(--size-4-1)}.full-calendar-container .calendar-view-container.view-month{padding:0}.full-calendar-container .calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(100px,auto);gap:1px;background-color:var(--background-modifier-border);height:100%}.full-calendar-container .calendar-day-cell{background-color:var(--background-primary);padding:var(--size-4-1);position:relative;display:flex;flex-direction:column;min-width:0}.full-calendar-container .calendar-day-cell:hover{background-color:hsl(var(--color-accent-h),var(--color-accent-s),var(--color-accent-l),.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),.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:.7}.full-calendar-container .calendar-day-cell.is-other-month{background-color:var(--background-secondary);opacity:.7}.full-calendar-container .calendar-day-cell.is-weekend{background-color:var( --background-secondary )}.full-calendar-container .calendar-day-number{font-size:var(--font-ui-small);text-align:center;margin-bottom:var(--size-4-1);flex-shrink:0;align-self:flex-end}.full-calendar-container .calendar-events-container{flex-grow:1;overflow:hidden;position:relative}.full-calendar-container .calendar-event{background-color:var(--interactive-accent);color:var(--text-on-accent);border-radius:var(--radius-s);padding:2px 4px;font-size:var(--font-ui-smaller);margin-bottom: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:.8}.full-calendar-container .calendar-event.is-completed{background-color:var( --background-modifier-success-hover );text-decoration:line-through;opacity:.7}.full-calendar-container .calendar-event.calendar-event-month{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;width:100%;box-sizing:border-box}.full-calendar-container .calendar-view-container.view-day{display:flex;flex-direction:column;padding:0}.full-calendar-container .calendar-timeline-section{flex-grow:1;border-top:1px solid var(--background-modifier-border);overflow-y:auto;padding:var(--size-4-4)}.full-calendar-container .calendar-timeline-events-container{display:flex;flex-direction:column;gap:var(--size-4-2)}.full-calendar-container .calendar-event-timed{border:1px solid var(--background-modifier-border);overflow:hidden;display:flex;flex-direction:column;width:100%}.full-calendar-container .calendar-event-time{font-size:var(--font-ui-smaller);font-weight:bold;padding:1px 3px;background-color:#0000001a}.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;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.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:.6}.full-calendar-container .mini-day-cell.is-today{font-weight:bold;background-color:var(--interactive-accent-hover);color:var(--text-on-accent)}.full-calendar-container .mini-day-cell.has-events{font-weight:bold}.agenda-day-section{display:flex;width:100%;border:1px solid var(--background-modifier-border);padding-top:var(--size-4-2);padding-bottom:var(--size-4-2);padding-left:var(--size-4-2);padding-right:var(--size-4-2)}.agenda-day-date-column{width:20%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.agenda-day-events-column{flex:1}.full-calendar-container input.task-list-item-checkbox{scale:.9}.full-calendar-container .calendar-view-switcher-selector{display:none}.calendar-event-ghost{background-color:var(--background-secondary-alt)!important;border:2px dashed var(--background-modifier-border)!important;opacity:.5!important;box-shadow:none!important}.calendar-event-dragging{opacity:.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 .2s ease,box-shadow .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 .2s ease}@container (max-width: 600px){.full-calendar-container .calendar-view-switcher button {display: none;} .calendar-nav .prev-button {display: none;} .calendar-nav .next-button {display: none;} .full-calendar-container .calendar-view-switcher-selector {display: block;}}.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}.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}.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:0 8px}.tg-kanban-controls-container{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tg-kanban-sort-container{display:flex;align-items:center;gap:4px}.tg-kanban-sort-button{padding:4px 8px;border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);background-color:var(--background-primary);color:var(--text-normal);cursor:pointer;display:flex;align-items:center;gap:4px;font-size:var(--font-ui-small)}.tg-kanban-sort-button:hover{background-color:var(--background-modifier-hover);border-color:var(--background-modifier-border-hover)}.tg-kanban-toggle-container{display:flex;align-items:center;gap:4px}.tg-kanban-toggle-label{display:flex;align-items:center;gap:6px;font-size:var(--font-ui-small);color:var(--text-normal);cursor:pointer}.tg-kanban-toggle-checkbox{margin:0}.tg-kanban-filter-input{flex-grow:1;padding:6px 10px;font-size:var(--font-ui-small);border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);background-color:var(--background-primary);margin-right:10px}.tg-kanban-filter-input:focus{outline:none;border-color:var(--interactive-accent);box-shadow:0 0 0 1px var(--interactive-accent)}.tg-kanban-column-container{display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;padding:10px;gap:10px;height:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth}@media (hover: hover) and (pointer: fine){.tg-kanban-column-container{overscroll-behavior-x:none;scroll-snap-type:none}}.tg-kanban-column{flex:0 0 280px;display:flex;flex-direction:column;background-color:var(--background-secondary);border-radius:var(--radius-m);height:100%;max-height:100%;overflow:hidden;border:1px solid var(--background-modifier-border);scroll-snap-align:start}@media (hover: hover) and (pointer: fine){.tg-kanban-column{scroll-snap-align:none}}.tg-kanban-column-header{padding:8px 12px;font-size:var(--font-ui-mediumn);font-weight:600;border-bottom:1px solid var(--background-modifier-border);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;display:flex;align-items:center}.tg-kanban-column-content{flex-grow:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;background-color:var(--background-secondary-alt);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}@media (hover: hover) and (pointer: fine){.tg-kanban-column-content{overscroll-behavior:none}}.tg-kanban-card{background-color:var(--background-primary);border-radius:var(--radius-s);padding:10px 12px;border:1px solid var(--background-modifier-border);font-size:var(--font-ui-small);cursor:grab;transition:box-shadow .2s ease-in-out,background-color .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:.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) * .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 .1s ease-out,border-top .1s ease-out}.tg-kanban-card--drop-indicator-after{margin-bottom:10px;border-bottom:2px dashed var(--interactive-accent);transition:margin-bottom .1s ease-out,border-bottom .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 .1s ease-out,padding .1s ease-out,border .1s ease-out,transform .2s ease-out,box-shadow .2s ease-in-out,background-color .2s ease-in-out}.drop-target-active{background-color:#00800033;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 .2s ease-in-out,color .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:.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:.5}.tg-kanban-column-header{cursor:grab}.tg-kanban-column-header:active{cursor:grabbing}.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 .2s 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{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.filter-pill-removing{opacity:0;transform:scale(.9);transition:opacity .15s ease-out,transform .15s ease-out}.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 .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) * .9);pointer-events:none;white-space:pre}.gantt-task-bar.status-completed{fill:var(--color-green);stroke:var(--color-green-border)}.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 .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:.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:.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:.5;transition:fill .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 .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:.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:.6;text-decoration:line-through}.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:#80808099;border-radius:50%;z-index:10;pointer-events:none;display:none;transition:opacity .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}.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:.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:translate(-100%);transition:transform .3s ease-in-out;border-right:1px solid var(--background-modifier-border)}.is-phone .task-property-left-column.is-visible{transform:translate(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:.5;z-index:5;transition:opacity .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)}.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:.5;transition:opacity .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 .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 .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 .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 .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 .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 #00000026;z-index:1000;min-width:120px}.task-table-context-menu-item{padding:6px 12px;cursor:pointer;transition:background-color .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:.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 .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 .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 .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 .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 .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:.7;transition:opacity .2s,background-color .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}.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 .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 .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:.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:.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:.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:.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:.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 .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 .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 .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:.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 .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:.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:.7;transition:opacity .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:.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--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:.8}.tg-quadrant-empty-icon{width:32px;height:32px;margin-bottom:var(--size-2-3);opacity:.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)}to{transform:scale(1)}}.tg-quadrant-card--completed{animation:cardComplete .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:.9rem;opacity:.7}.tg-quadrant-dragging{cursor:grabbing!important}.tg-quadrant-dragging *{pointer-events:none}.tg-quadrant-card--ghost{opacity:.4;background:var(--background-modifier-border);border:2px dashed var(--color-accent)}.tg-quadrant-card--chosen{box-shadow:0 8px 25px #00000026;transform:scale(1.02);z-index:1000;background:var(--background-primary);border:2px solid var(--color-accent)}.tg-quadrant-card--drag{opacity:.8;box-shadow:0 12px 30px #0003}.tg-quadrant-card--fallback{opacity:.9;background:var(--background-primary);border:2px solid var(--color-accent);border-radius:var(--radius-m);box-shadow:0 8px 25px #00000026}.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:.9rem;font-weight:500;opacity:.7;pointer-events:none;z-index:1}.tg-quadrant-update-feedback{position:fixed;top:20px;right:20px;z-index:10000;opacity:0;transform:translate(100%);transition:all .3s ease;pointer-events:none}.tg-quadrant-feedback--show{opacity:1;transform:translate(0)}.tg-quadrant-feedback--hide{opacity:0;transform:translate(100%)}.tg-quadrant-feedback-content{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--background-primary);border:1px solid var(--background-modifier-border);border-radius:var(--radius-m);box-shadow:0 4px 12px #0000001a;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:.9rem;font-weight:500}.tg-quadrant-card{transition:all .2s ease;cursor:grab}.tg-quadrant-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.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:.5rem 0}.tg-quadrant-empty-icon{margin-bottom:.75rem;opacity:.5}.tg-quadrant-empty-message{font-size:.9rem;line-height:1.4;max-width:200px}@keyframes spin{0%{transform:rotate(0)}to{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 #0000004d}.theme-dark .tg-quadrant-card--fallback{background:var(--background-primary-alt);box-shadow:0 8px 25px #0000004d}.theme-dark .tg-quadrant-feedback-content{box-shadow:0 4px 12px #0000004d}@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:flex;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:.5rem}.tg-quadrant-load-more-spinner{margin-bottom:.5rem}.tg-quadrant-load-more-message{font-size:.8rem;opacity:.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:.5rem;padding:.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 .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}.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:.5rem;gap:.75rem}}@media screen and (min-width: 768px){.habit-list-container{margin-left:auto;margin-right:auto;max-width:400px;display:flex;flex-direction:column}}@media screen and (min-width: 1024px){.habit-list-container{max-width:500px}}.habit-card-wrapper{width:100%;min-height:fit-content}.habit-card{border:1px solid var(--background-modifier-border);border-radius:var(--radius-m);background-color:var(--background-secondary);color:var(--text-normal);overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%;min-height:fit-content}.habit-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;gap:.5rem}.habit-card .card-title{display:flex;align-items:center;gap:.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:.75rem 1rem;flex-grow:1}.daily-habit-card .habit-checkbox{--checkbox-size: 1.25rem;cursor:pointer;accent-color:var(--interactive-accent)}.daily-habit-card .card-content-wrapper{padding:0 1rem .75rem}.count-habit-card .card-content-wrapper{display:flex;flex-direction:column;gap:.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:.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:.5rem}.scheduled-habit-card .card-content-wrapper{display:flex;flex-direction:column;gap:.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:.5rem;align-items:center}.scheduled-habit-card .habit-event-dropdown{width:auto;margin-bottom:.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:.5rem}.mapping-habit-card .card-content-wrapper{display:flex;flex-direction:column;gap:.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:.5rem}.mapping-habit-card .habit-mapping-button{display:flex;justify-content:center;align-items:center;font-size:1.75rem;padding:.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:.5rem}@media (min-width: 640px){.mapping-habit-card .card-content-wrapper{flex-direction:row;align-items:center;justify-content:space-between}.mapping-habit-card .habit-heatmap-medium{width:auto;flex-grow:1;margin-right:1rem}.mapping-habit-card .habit-controls{width:auto;min-width:80px;flex-direction:column;align-items:center;gap:.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:.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 .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:.6rem;line-height:1;color:var(--text-on-accent);mix-blend-mode:difference;font-weight:500}.tg-heatmap-root{width:100%}.heatmap-sm .heatmap-container-simple{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;overflow-x:auto;padding-bottom:2px}.heatmap-md .heatmap-container-simple{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;overflow-x:auto;padding-bottom:2px;justify-items:center}.heatmap-lg .heatmap-container-simple{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--size-4-2);overflow-x:auto;padding-bottom:2px;justify-items:center}.heatmap-cell{border-radius:var(--radius-s);display:flex;justify-content:center;align-items:center;cursor:pointer;flex-shrink:0;background-color:var( --background-modifier-border );border:1px solid transparent}.heatmap-cell-dot{border-radius:50%}.heatmap-sm .heatmap-cell{width:.75rem;height:.75rem}.habit-heatmap-medium .heatmap-md .heatmap-cell{width:1.4rem;height:1.4rem;font-size:.7rem}.heatmap-md .heatmap-cell{width:1.1rem;height:1.1rem;font-size:.7rem}.heatmap-lg .heatmap-cell{width:1.25rem;height:1.25rem;font-size:.75rem}.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:.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:.25em;--icon-size: 1.5rem}: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}.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 .1s ease-in-out,border-color .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)}.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}.onboarding-modal,.onboarding-view{--dialog-width: 800px;--dialog-max-width: 90vw;--dialog-max-height: 90vh;--onboarding-spacing: var(--size-4-4);--onboarding-border-radius: var(--radius-m);--onboarding-transition: all .2s ease-in-out}.onboarding-modal .modal-content,.onboarding-view .modal-content{background-color:var(--modal-background);border-radius:var(--modal-radius);max-width:var(--dialog-max-width);max-height:var(--dialog-max-height);height:90vh;display:flex;flex-direction:column;overflow:auto;position:relative;min-height:100px}.onboarding-view{height:100%;display:flex;flex-direction:column;background-color:var(--background-primary)}.onboarding-view .view-content{height:100%;display:flex;flex-direction:column}.onboarding-modal .onboarding-header,.onboarding-view .onboarding-header{padding:var(--onboarding-spacing) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing);text-align:center}.onboarding-modal .onboarding-subtitle,.onboarding-view .onboarding-subtitle{color:var(--text-muted);font-size:.95em;margin:0}.onboarding-modal .onboarding-content,.onboarding-view .onboarding-content{flex:1;padding:var(--onboarding-spacing);overflow-y:auto;min-height:0}.onboarding-modal .onboarding-footer,.onboarding-view .onboarding-footer{padding:var(--size-4-2) var(--onboarding-spacing) var(--onboarding-spacing) var(--onboarding-spacing);border-top:var(--modal-border-width) solid var(--background-modifier-border);flex-shrink:0}.onboarding-modal .onboarding-buttons,.onboarding-view .onboarding-buttons{display:flex;gap:var(--size-4-2);justify-content:space-between;align-items:center}.onboarding-modal .settings-check-section,.onboarding-view .settings-check-section{margin:var(--onboarding-spacing) 0}.onboarding-modal .changes-summary-list,.onboarding-view .changes-summary-list{list-style:none;padding:0;margin:var(--size-4-2) 0;background:var(--background-secondary);border-radius:var(--onboarding-border-radius);padding:var(--size-4-2)}.onboarding-modal .changes-summary-list li,.onboarding-view .changes-summary-list li{display:flex;align-items:center;gap:var(--size-4-2);padding:var(--size-2-1) 0;color:var(--text-normal);font-size:.9em}.onboarding-modal .change-check,.onboarding-view .change-check{color:var(--color-green);font-size:1.1em;display:flex}.onboarding-modal .change-text,.onboarding-view .change-text{flex:1}.onboarding-modal .onboarding-question,.onboarding-view .onboarding-question{margin:var(--onboarding-spacing) 0;text-align:center}.onboarding-modal .question-options,.onboarding-view .question-options{display:flex;gap:var(--size-4-3);justify-content:center;margin-top:var(--size-4-3)}.onboarding-modal .question-button,.onboarding-view .question-button{padding:var(--size-4-3) var(--size-4-4);border-radius:var(--button-radius);border:none;cursor:pointer;font-size:.9em;font-weight:500;transition:var(--onboarding-transition)}.onboarding-modal .question-options .mod-cta,.onboarding-view .question-options .mod-cta{background:var(--interactive-accent);color:var(--text-on-accent)}.onboarding-modal .question-options .mod-cta:hover,.onboarding-view .question-options .mod-cta:hover{background:var(--interactive-accent-hover)}.onboarding-modal .question-button:not(.mod-cta),.onboarding-view .question-button:not(.mod-cta){background:var(--background-secondary);color:var(--text-normal);border:1px solid var(--background-modifier-border)}.onboarding-modal .question-button:not(.mod-cta):hover,.onboarding-view .question-button:not(.mod-cta):hover{background:var(--background-modifier-hover)}.onboarding-modal .welcome-section,.onboarding-view .welcome-section{display:flex;flex-direction:column;gap:var(--onboarding-spacing)}.onboarding-modal .features-overview,.onboarding-view .features-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--size-4-3);margin:var(--onboarding-spacing) 0}.onboarding-modal .feature-item,.onboarding-view .feature-item{display:flex;gap:var(--size-4-2);padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .feature-icon,.onboarding-view .feature-icon{font-size:1.5em;flex-shrink:0;line-height:1}.onboarding-modal .setup-note,.onboarding-view .setup-note{text-align:center;padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .setup-description,.onboarding-view .setup-description{color:var(--text-muted);font-size:.95em;line-height:1.5;margin:0}.onboarding-modal .user-level-cards,.onboarding-view .user-level-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--onboarding-spacing);margin:var(--onboarding-spacing) 0}.onboarding-modal .user-level-card,.onboarding-view .user-level-card{border:1px solid var(--background-modifier-border);border-radius:var(--onboarding-border-radius);padding:var(--onboarding-spacing);cursor:pointer;transition:var(--onboarding-transition);background:var(--background-primary);position:relative;overflow:hidden}.onboarding-modal .user-level-card:hover,.onboarding-modal .user-level-card.card-hover,.onboarding-view .user-level-card.card-hover{border-color:var(--interactive-accent)}.onboarding-modal .user-level-card.selected,.onboarding-view .user-level-card.selected{border-color:var(--interactive-accent);background:var(--background-modifier-hover)}.user-level-card .card-header{display:flex;align-items:center;gap:var(--size-4-2);margin-bottom:var(--size-4-2)}.user-level-card .card-icon{font-size:1.8em;line-height:1;flex-shrink:0}.user-level-card .card-title{margin:0;color:var(--text-normal);font-size:1.2em;font-weight:600}.user-level-card .card-description{color:var(--text-muted);font-size:.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:.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:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.onboarding-modal .config-overview,.onboarding-view .config-overview{margin-bottom:var(--onboarding-spacing)}.onboarding-modal .mode-card,.onboarding-view .mode-card{display:flex;align-items:center;gap:var(--size-4-3);padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .mode-icon,.onboarding-view .mode-icon{--icon-size: var(--size-4-4);flex-shrink:0}.onboarding-modal .config-features,.onboarding-modal .config-views,.onboarding-modal .config-settings,.onboarding-view .config-settings{margin-bottom:var(--onboarding-spacing)}.onboarding-modal .enabled-features-list,.onboarding-view .enabled-features-list{list-style:none;padding:0;margin:0;background:var(--background-secondary);border-radius:var(--onboarding-border-radius);padding:var(--size-4-2)}.onboarding-modal .enabled-features-list li,.onboarding-view .enabled-features-list li{display:flex;align-items:center;gap:var(--size-4-2);padding:var(--size-2-1) 0;color:var(--text-normal);font-size:.9em}.onboarding-modal .feature-check,.onboarding-view .feature-check{color:var(--color-green);font-weight:bold}.onboarding-modal .views-grid,.onboarding-view .views-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--size-4-2)}.onboarding-modal .view-item,.onboarding-view .view-item{display:flex;flex-direction:column;align-items:center;padding:var(--size-4-2);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .view-icon,.onboarding-view .view-icon{font-size:1.2em;margin-bottom:var(--size-2-1)}.onboarding-modal .view-name,.onboarding-view .view-name{font-size:.8em;color:var(--text-muted);text-align:center}.onboarding-modal .settings-summary-list,.onboarding-view .settings-summary-list{list-style:none;padding:0;margin:0;background:var(--background-secondary);border-radius:var(--onboarding-border-radius);padding:var(--size-4-2)}.onboarding-modal .settings-summary-list li,.onboarding-view .settings-summary-list li{display:flex;justify-content:space-between;padding:var(--size-2-1) 0;font-size:.9em;border-bottom:1px solid var(--background-modifier-border)}.onboarding-modal .settings-summary-list li:last-child,.onboarding-view .settings-summary-list li:last-child{border-bottom:none}.onboarding-modal .setting-label,.onboarding-view .setting-label{color:var(--text-normal);font-weight:500}.onboarding-modal .setting-value,.onboarding-view .setting-value{color:var(--text-muted)}.onboarding-modal .config-options,.onboarding-view .config-options{margin-top:var(--onboarding-spacing)}.onboarding-modal .customization-note,.onboarding-view .customization-note{text-align:center;padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .note-text,.onboarding-view .note-text{color:var(--text-muted);font-size:.9em;margin:0;font-style:italic}.onboarding-modal .config-changes-summary,.onboarding-view .config-changes-summary{margin:var(--onboarding-spacing) 0;padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .preserved-views,.onboarding-modal .added-views,.onboarding-modal .updated-views,.onboarding-modal .settings-changes,.onboarding-view .settings-changes{margin:var(--size-4-2) 0;padding:var(--size-4-2);background:var(--background-primary);border-radius:var(--radius-s)}.onboarding-modal .preserved-header,.onboarding-view .preserved-header{display:flex;align-items:center;gap:var(--size-4-1);margin-bottom:var(--size-4-1)}.onboarding-modal .preserved-icon,.onboarding-view .preserved-icon{color:var(--color-green);font-size:1.1em}.onboarding-modal .preserved-text,.onboarding-modal .change-text,.onboarding-view .change-text{color:var(--text-normal);font-size:.9em;font-weight:500}.onboarding-view .updated-views,.onboarding-modal .updated-views{display:flex}.onboarding-modal .change-icon,.onboarding-view .change-icon{color:var(--interactive-accent);font-size:1.1em;margin-right:var(--size-4-1);display:flex}.onboarding-modal .preserved-views-list,.onboarding-modal .settings-changes-list,.onboarding-view .settings-changes-list{list-style:none;padding:0;margin:var(--size-4-1) 0 0 var(--size-4-4)}.onboarding-modal .preserved-views-list li,.onboarding-modal .settings-changes-list li,.onboarding-view .settings-changes-list li{display:flex;align-items:center;padding:var(--size-2-1) 0;color:var(--text-muted);font-size:.85em}.onboarding-modal .safety-note,.onboarding-view .safety-note{margin-top:var(--size-4-3);padding:var(--size-4-2);background:rgba(var(--color-blue-rgb),.1);border-radius:var(--radius-s);display:flex;align-items:center;gap:var(--size-4-1)}.onboarding-modal .safety-icon,.onboarding-view .safety-icon{color:var(--color-blue);font-size:1.1em;display:flex;justify-content:center;align-items:center}.onboarding-modal .safety-text,.onboarding-view .safety-text{color:var(--color-blue);font-size:var(--font-ui-smaller);font-weight:500}.onboarding-modal .task-guide-intro,.onboarding-view .task-guide-intro{margin-bottom:var(--onboarding-spacing)}.onboarding-modal .guide-description,.onboarding-view .guide-description{color:var(--text-muted);font-size:.95em;line-height:1.5;margin:0}.onboarding-modal .task-formats-section,.onboarding-modal .quick-capture-section,.onboarding-modal .practice-section,.onboarding-modal .shortcuts-section,.onboarding-view .shortcuts-section{margin-bottom:var(--onboarding-spacing)}.onboarding-modal .format-example,.onboarding-view .format-example{margin-top:var(--size-4-4);margin-bottom:var(--size-4-4)}.onboarding-modal .format-example code,.onboarding-view .format-example code{background:var(--background-primary);padding:var(--size-2-1) var(--size-4-1);border-radius:var(--radius-s);font-family:var(--font-monospace);font-size:.85em;color:var(--text-accent);border:1px solid var(--background-modifier-border);display:block;margin:var(--size-2-1) 0}.onboarding-modal .format-legend,.onboarding-modal .format-legend small,.onboarding-view .format-legend small{color:var(--text-faint);font-size:.8em;margin-top:var(--size-2-1);display:block}.onboarding-modal .status-markers,.onboarding-modal .metadata-symbols,.onboarding-view .metadata-symbols{margin-top:var(--size-4-2)}.onboarding-modal .status-list,.onboarding-view .status-list li,.onboarding-modal .symbols-list,.onboarding-view .symbols-list{list-style:none;margin:0;background:var(--background-primary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .status-list li,.onboarding-view .status-list li,.onboarding-modal .symbols-list li,.onboarding-view .symbols-list li{display:flex;align-items:center;padding:var(--size-2-1) 0;font-size:.85em;color:var(--text-normal)}.onboarding-modal .status-list code,.onboarding-view .status-list code{background:var(--background-secondary);padding:var(--size-2-1) var(--size-4-1);border-radius:var(--radius-s);font-family:var(--font-monospace);margin-right:var(--size-4-2);min-width:40px;text-align:center}.onboarding-modal .demo-content,.onboarding-view .demo-content{padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .demo-button,.onboarding-view .demo-button{background:var(--interactive-accent);color:var(--text-on-accent);border:none;padding:var(--size-4-2) var(--size-4-4);border-radius:var(--button-radius);cursor:pointer;font-weight:500;transition:var(--onboarding-transition);margin-top:var(--size-4-2)}.onboarding-modal .demo-button:hover,.onboarding-view .demo-button:hover{background:var(--interactive-accent-hover)}.onboarding-modal .practice-feedback,.onboarding-view .practice-feedback{margin-top:var(--size-4-2)}.onboarding-modal .validation-message,.onboarding-view .validation-message{padding:var(--size-4-2);border-radius:var(--onboarding-border-radius);font-size:.9em;margin-bottom:var(--size-2-1)}.onboarding-modal .validation-success,.onboarding-view .validation-success{background:rgba(var(--color-green-rgb),.1);border:1px solid var(--color-green);color:var(--color-green)}.onboarding-modal .validation-error,.onboarding-view .validation-error{background:rgba(var(--color-red-rgb),.1);border:1px solid var(--color-red);color:var(--color-red)}.onboarding-modal .validation-warning,.onboarding-view .validation-warning{background:rgba(var(--color-orange-rgb),.1);border:1px solid var(--color-orange);color:var(--color-orange)}.onboarding-modal .validation-info,.onboarding-view .validation-info{background:rgba(var(--color-blue-rgb),.1);border:1px solid var(--color-blue);color:var(--color-blue)}.onboarding-modal .shortcuts-list,.onboarding-view .shortcuts-list{list-style:none;padding:0;margin:0;background:var(--background-secondary);border-radius:var(--onboarding-border-radius);padding:var(--size-4-2)}.onboarding-modal .shortcuts-list li,.onboarding-view .shortcuts-list li{display:flex;align-items:center;padding:var(--size-2-1) 0;font-size:.9em;color:var(--text-normal)}.onboarding-modal .shortcuts-list code,.onboarding-view .shortcuts-list code{background:var(--background-primary);padding:var(--size-2-1) var(--size-4-2);border-radius:var(--radius-s);font-family:var(--font-monospace);margin-right:var(--size-4-3);min-width:100px;font-size:.8em}.onboarding-modal .completion-success,.onboarding-view .completion-success{text-align:center;margin-bottom:var(--onboarding-spacing)}.onboarding-modal .success-icon,.onboarding-view .success-icon{font-size:3em;margin-bottom:var(--size-4-2)}.onboarding-modal .success-message,.onboarding-view .success-message{color:var(--text-muted);font-size:.95em;margin:0}.onboarding-modal .completion-summary,.onboarding-modal .quick-start-section,.onboarding-modal .next-steps-section,.onboarding-modal .resources-section,.onboarding-modal .feedback-section,.onboarding-view .feedback-section{margin-bottom:var(--onboarding-spacing)}.onboarding-modal .config-summary-card,.onboarding-view .config-summary-card{padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .config-header,.onboarding-view .config-header{display:flex;align-items:center;gap:var(--size-4-2);margin-bottom:var(--size-2-1)}.onboarding-modal .config-icon,.onboarding-view .config-icon{font-size:1.5em}.onboarding-modal .config-name,.onboarding-view .config-name{font-size:1.1em;font-weight:600;color:var(--text-normal)}.onboarding-modal .config-description,.onboarding-view .config-description{color:var(--text-muted);font-size:.9em;margin:0}.onboarding-modal .quick-start-steps,.onboarding-view .quick-start-steps{display:flex;flex-direction:column;gap:var(--size-4-2)}.onboarding-modal .quick-start-step,.onboarding-view .quick-start-step{display:flex;align-items:flex-start;gap:var(--size-4-3);padding:var(--size-4-2);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .step-number,.onboarding-view .step-number{background:var(--interactive-accent);color:var(--text-on-accent);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:600;flex-shrink:0}.onboarding-modal .step-content,.onboarding-view .step-content{color:var(--text-normal);font-size:.9em;line-height:1.4}.onboarding-modal .next-steps-list,.onboarding-view .next-steps-list{list-style:none;padding:0;margin:0}.onboarding-modal .next-steps-list li,.onboarding-view .next-steps-list li{display:flex;align-items:flex-start;gap:var(--size-4-2);padding:var(--size-4-2);background:var(--background-secondary);border-radius:var(--onboarding-border-radius);margin-bottom:var(--size-2-1)}.onboarding-modal .step-check,.onboarding-view .step-check{color:var(--interactive-accent);font-weight:bold;flex-shrink:0}.onboarding-modal .step-text,.onboarding-view .step-text{color:var(--text-normal);font-size:.9em;line-height:1.4}.onboarding-modal .resources-list,.onboarding-view .resources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--size-4-2)}.onboarding-modal .resource-item,.onboarding-view .resource-item{display:flex;gap:var(--size-4-2);padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius);transition:var(--onboarding-transition)}.onboarding-modal .resource-clickable,.onboarding-view .resource-clickable{cursor:pointer}.onboarding-modal .resource-clickable:hover,.onboarding-view .resource-clickable:hover{background:var(--background-modifier-hover)}.onboarding-modal .resource-icon,.onboarding-view .resource-icon{font-size:1.5em;flex-shrink:0}.onboarding-modal .feedback-description,.onboarding-view .feedback-description{color:var(--text-muted);font-size:.9em;line-height:1.5;margin:0 0 var(--size-4-2) 0}.onboarding-modal .feedback-buttons,.onboarding-view .feedback-buttons{display:flex;gap:var(--size-4-2);justify-content:center}.onboarding-modal .feedback-button,.onboarding-view .feedback-button{background:var(--background-secondary);border:none;color:var(--text-normal);padding:var(--size-4-2) var(--size-4-4);border-radius:var(--button-radius);cursor:pointer;font-size:.9em;transition:var(--onboarding-transition)}.onboarding-modal .feedback-positive:hover,.onboarding-view .feedback-positive:hover{background:var(--color-green);color:#fff}.onboarding-modal .feedback-negative:hover,.onboarding-view .feedback-negative:hover{background:var(--color-red);color:#fff}.onboarding-modal .feedback-thanks,.onboarding-view .feedback-thanks{text-align:center;padding:var(--size-4-3);background:var(--background-secondary);border-radius:var(--onboarding-border-radius)}.onboarding-modal .feedback-thanks-message,.onboarding-view .feedback-thanks-message{color:var(--text-normal);font-size:.9em;margin:0 0 var(--size-4-2) 0}.onboarding-modal .feedback-thanks a,.onboarding-view .feedback-thanks a{color:var(--interactive-accent);text-decoration:none}.onboarding-modal .feedback-thanks a:hover,.onboarding-view .feedback-thanks a:hover{text-decoration:underline}.onboarding-modal .final-message,.onboarding-view .final-message{text-align:center;padding:var(--size-4-4)}.onboarding-modal .final-message-text,.onboarding-view .final-message-text{color:var(--text-muted);font-size:1em;font-style:italic;margin:0}@media (max-width: 768px){.onboarding-modal,.onboarding-view{--dialog-width: 95vw;--dialog-max-width: 95vw;--dialog-max-height: 95vh}.onboarding-modal .user-level-cards,.onboarding-view .user-level-cards{grid-template-columns:1fr}.onboarding-modal .features-overview,.onboarding-view .features-overview{grid-template-columns:1fr}.onboarding-modal .views-grid,.onboarding-view .views-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.onboarding-modal .resources-list,.onboarding-view .resources-list{grid-template-columns:1fr}.onboarding-modal .feedback-buttons,.onboarding-view .feedback-buttons{flex-direction:column}.onboarding-modal .onboarding-buttons,.onboarding-view .onboarding-buttons{flex-wrap:wrap;justify-content:center}}.onboarding-modal .onboarding-content,.onboarding-view .onboarding-content{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-modal .user-level-card.selected,.onboarding-view .user-level-card.selected{animation:cardSelect .2s ease-out}@keyframes cardSelect{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}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 .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:.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 .3s ease}div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today{background-color:var(--background-secondary);border-radius:var(--radius-m);margin:0 var(--size-4-2) var(--size-4-2);padding:var(--size-4-2);box-shadow:0 2px 8px #0000001a;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 #0000000d;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:.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}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 .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 .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 .3s cubic-bezier(.4,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 .2s 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 .2s 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 .2s 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 .2s 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 .2s 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 .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),.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 .3s ease;box-shadow:0 2px 4px #0000001a}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 #00000026}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 #00000026}@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{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}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),.9) 0%,rgba(var(--background-primary-rgb),.7) 50%,rgba(var(--background-primary-rgb),.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}.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 #0000001a}.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}.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:.1;transition:opacity .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 .2s ease,border-color .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)}.internal-embed .task-genius-container{max-height:800px}.internal-embed .task-genius-container .task-sidebar{width:44px;min-width:44px;overflow:hidden}.internal-embed .task-genius-container .task-sidebar .sidebar-nav{align-items:center}.internal-embed .task-genius-container .task-sidebar .sidebar-nav-item{padding:8px 10px;justify-content:center;width:var(--size-4-9);flex-shrink:0;transition:width .3s ease-in-out,flex-shrink .3s ease-in-out}.internal-embed .task-genius-container .task-sidebar .nav-item-icon{margin-right:0}.internal-embed .task-genius-container .task-list{max-height:800px}.internal-embed .projects-container{flex:1;height:auto}.internal-embed .forecast-left-column{width:240px}.internal-embed .forecast-left-column .mini-calendar-container .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:0 5px}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header{text-align:center;font-size:.7em;color:var(--text-muted);padding:3px 0;border-bottom:1px solid var(--background-modifier-border);margin-bottom:3px}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header.calendar-weekend{color:var(--text-accent)}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day{aspect-ratio:1;border-radius:3px;padding:1px;cursor:pointer;position:relative;display:flex;flex-direction:column;transition:background-color .2s ease}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day:hover{background-color:var(--background-modifier-hover)}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.selected{background-color:var(--background-modifier-border-hover)}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.today{background-color:var(--interactive-accent-hover);color:var(--text-on-accent)}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.past-due{color:var(--text-error)}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.other-month{opacity:.5}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-number{text-align:center;font-size:.75em;font-weight:500;padding:1px}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count{background-color:var(--background-modifier-border);color:var(--text-normal);border-radius:8px;font-size:.6em;padding:1px 3px;margin:1px auto;text-align:center;width:fit-content}.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count.has-priority{background-color:var(--text-accent);color:var(--text-on-accent)}.internal-embed .tags-container{height:auto;max-height:100%}.internal-embed .task-genius-container:has(.task-details.visible) .tags-left-column{display:none}.internal-embed .task-genius-container:has(.task-details.visible) .projects-left-column{display:none}.internal-embed .full-calendar-container{height:auto}.internal-embed .tg-kanban-view{height:auto}.bases-view.task-genius-container{border-top:unset}.bases-update-error-notification{position:fixed;top:20px;right:20px;background:var(--background-modifier-error);border:1px solid var(--background-modifier-border);border-radius:6px;padding:12px 16px;max-width:400px;box-shadow:var(--shadow-s);z-index:1000;cursor:pointer;animation:slideInRight .3s ease-out}.bases-update-error-notification:hover{opacity:.8}.bases-update-error-notification .error-icon{font-size:16px;margin-bottom:8px}.bases-update-error-notification .error-message .error-title{font-weight:600;color:var(--text-error);margin-bottom:4px}.bases-update-error-notification .error-message .error-details{font-size:12px;color:var(--text-muted);line-height:1.4}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}} +/* 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/setting.css */ +.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-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; + align-items: center; + justify-content: flex-end; + margin-top: var(--size-4-2); + margin-bottom: var(--size-4-2); +} +.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-management-list { + margin: 10px 0; + border: 1px solid var(--background-modifier-border); + border-radius: 5px; + padding: 10px; +} +.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; +} + +/* 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); +} + +/* src/styles/beta-warning.css */ +.beta-test-warning-banner { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 16px; + margin-bottom: 20px; + background-color: var(--background-modifier-warning); + 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/task-details.css */ +.task-details .panel-toggle-container { + left: 10px; +} +.task-details { + width: 300px; + flex-shrink: 0; + border-left: 1px solid var(--background-modifier-border); + height: 100%; + overflow-y: auto; + display: flex; + flex-direction: column; + transition: all 0.3s ease-in-out; + position: relative; + min-width: 250px; + max-width: 400px; + background-color: var(--background-secondary); + order: 1; +} +.task-genius-container.details-hidden .task-details { + width: 0; + opacity: 0; + margin-right: -300px; + overflow: hidden; +} +.task-genius-container.details-visible .task-details { + width: 350px; + opacity: 1; + margin-right: 0; +} +.is-phone .task-details { + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; + max-width: 100%; + z-index: 10; + transform: translateX(100%); +} +.is-phone .task-genius-container.details-hidden .task-details { + width: 100%; + margin-right: 0; + transform: translateX(100%); +} +.is-phone .task-genius-container.details-visible .task-details { + width: calc(100% - var(--size-4-12)); + transform: translateX(0); +} +.is-phone .task-genius-container.details-visible::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} +.is-phone .details-close-btn { + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; +} +.is-phone .details-header { + padding: var(--size-4-4); +} +.details-empty { + display: flex; + height: 100%; + align-items: center; + justify-content: center; + text-align: center; + color: var(--text-muted); + padding: 20px; +} +.details-header { + padding: var(--size-4-4); + padding-bottom: var(--size-4-3); + padding-top: var(--size-4-3); + font-weight: 600; + border-bottom: 1px solid var(--background-modifier-border); + display: flex; + justify-content: space-between; + align-items: center; + font-size: 1.1em; +} +.details-content { + padding: var(--size-4-4); + display: flex; + flex-direction: column; + gap: var(--size-4-2); + overflow-y: auto; + padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8)); +} +.details-name { + margin: 0 0 8px 0; + padding: 0; + font-size: 1.3em; + line-height: 1.3; +} +.details-status-container { + display: flex; + justify-content: space-between; + align-items: center; +} +.details-status-label { + text-transform: uppercase; + font-size: var(--font-ui-small); +} +.details-status { + display: inline-block; + padding: 4px 8px; + border-radius: 4px; + background-color: var(--color-accent); + color: var(--text-on-accent); + font-size: var(--font-ui-small); +} +.details-status-selector { + display: flex; + justify-content: space-evenly; + align-items: center; +} +.menu-item-title:has(.status-option) { + display: flex; + align-items: center; + gap: 4px; +} +.menu-item:has(.status-option-checkbox) .menu-item-icon { + display: none; +} +.menu-item:has(.status-option-icon) .menu-item-icon { + display: none; +} +.status-option-icon { + display: flex; + align-items: center; + justify-content: center; + margin-right: var(--size-2-2); +} +.status-option-checkbox { + display: flex; + align-items: center; + justify-content: center; +} +.status-option { + display: flex; + justify-content: center; + text-transform: uppercase; +} +.status-option.current { + outline-offset: 2px; + outline: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.3); + outline-style: dashed; +} +.status-option:not(.current) { + opacity: 0.8; +} +.status-option:not(.current):hover { + opacity: 1; +} +.status-option input.task-list-item-checkbox { + margin-inline-end: 0; +} +.details-metadata { + display: flex; + flex-direction: column; + gap: var(--size-4-2); + margin-top: var(--size-4-2); + margin-bottom: var(--size-4-2); +} +.metadata-field { + display: flex; + flex-direction: column; + gap: 2px; +} +.metadata-label { + font-size: 0.8em; + color: var(--text-muted); +} +.metadata-value { + word-break: break-word; + font-size: 0.95em; +} +.details-actions { + display: flex; + align-items: center; + justify-content: flex-start; + gap: 8px; + margin-bottom: var(--size-4-4); +} +.details-edit-btn, +.details-toggle-btn { + background-color: var(--interactive-normal); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + padding: 6px 12px; + color: var(--text-normal); + cursor: pointer; + font-size: var(--font-ui-small); +} +.details-edit-btn:hover, +.details-toggle-btn:hover { + background-color: var(--interactive-hover); +} +.details-toggle-btn { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.details-edit-form { + display: flex; + flex-direction: column; + gap: 12px; +} +.details-form-field { + display: flex; + flex-direction: column; + gap: 4px; +} +.details-form-label { + font-size: 0.8em; + color: var(--text-muted); + font-weight: 500; +} +.details-form-input { + width: 100%; +} +.details-edit-content { + font-weight: 500; +} +.details-form-input input, +.details-form-input select { + width: 100%; + padding: 6px 8px; + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + background-color: var(--background-primary); +} +.date-input { + width: 100%; + padding: 6px 8px; + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + background-color: var(--background-primary); + color: var(--text-normal); +} +.field-description { + font-size: 0.7em; + color: var(--text-muted); + margin-top: 2px; +} +.details-form-buttons { + display: flex; + justify-content: space-between; + margin-top: 16px; + gap: 8px; +} +.details-form-buttons button { + flex: 1; + justify-content: center; +} +.details-form-error { + color: var(--text-error); + font-size: 0.8em; + margin-top: 8px; + padding: 8px; + background-color: var(--background-modifier-error); + border-radius: 4px; +} +.details-edit-file-btn { + background-color: var(--interactive-normal); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + padding: 6px 12px; + color: var(--text-normal); + cursor: pointer; + font-size: var(--font-ui-small); +} +.details-edit-file-btn:hover { + background-color: var(--interactive-hover); +} +@media screen and (max-width: 768px) { + .task-omnifocus-container { + flex-direction: column; + } + .task-sidebar { + width: 100%; + max-width: 100%; + height: auto; + border-right: none; + border-bottom: 1px solid var(--background-modifier-border); + } + .task-content { + width: 100%; + flex: 1; + } + .task-details { + width: 100%; + max-width: 100%; + border-left: none; + } +} +.project-source-indicator { + display: flex; + align-items: center; + gap: 4px; + margin-top: 4px; + padding: 4px 8px; + border-radius: 4px; + font-size: 0.85em; + line-height: 1.2; +} +.project-source-indicator .indicator-icon { + font-size: 0.9em; +} +.project-source-indicator .indicator-text { + color: var(--text-muted); +} +.project-source-indicator.readonly-indicator { + border: 1px solid var(--background-modifier-error); +} +.project-source-indicator.readonly-indicator .indicator-text { + color: var(--text-error); + font-weight: 500; +} +.project-source-indicator.override-indicator { + border: 1px solid var(--background-modifier-accent); +} +.project-source-indicator.override-indicator .indicator-text { + color: var(--text-accent); +} +.field-description.readonly-description { + color: var(--text-error); + font-size: 0.8em; + margin-top: 4px; + font-style: italic; +} +.field-description.override-description { + color: var(--text-accent); + font-size: 0.8em; + margin-top: 4px; + font-style: italic; +} +.project-source-indicator.inline-indicator { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 10; + margin-top: 2px; + padding: 2px 6px; + font-size: 0.75em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.project-source-indicator.table-indicator { + position: absolute; + top: 2px; + right: 2px; + padding: 1px 3px; + font-size: 0.7em; + border-radius: 2px; + z-index: 5; +} +.project-source-indicator.table-indicator .indicator-icon { + font-size: 0.8em; +} +.task-table-cell.readonly-cell { + background-color: var(--background-modifier-error-hover); + opacity: 0.8; +} +.project-container.project-readonly { + position: relative; +} +.project-container.project-readonly .project-source-indicator { + margin-top: 8px; +} + +/* src/styles/onCompletion.css */ +.oncompletion-configurator { + display: flex; + flex-direction: column; + gap: 12px; + padding: 12px; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + background-color: var(--background-secondary); +} +.oncompletion-action-type { + display: flex; + flex-direction: column; + gap: 6px; +} +.oncompletion-label { + font-weight: 600; + color: var(--text-normal); + font-size: 0.9em; +} +.oncompletion-config { + display: flex; + flex-direction: column; + gap: 10px; + margin-top: 8px; + padding-top: 8px; + border-top: 1px solid var(--background-modifier-border-hover); +} +.oncompletion-field { + display: flex; + flex-direction: column; + gap: 4px; +} +.oncompletion-description { + font-size: 0.8em; + color: var(--text-muted); + font-style: italic; + margin-top: 2px; +} +.oncompletion-action-type .dropdown { + width: 100%; +} +.oncompletion-field .text-input { + width: 100%; + padding: 6px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background-color: var(--background-primary); + color: var(--text-normal); +} +.oncompletion-field .text-input:focus { + border-color: var(--interactive-accent); + outline: none; + box-shadow: 0 0 0 2px var(--interactive-accent-hover); +} +.oncompletion-field .checkbox-container { + display: flex; + align-items: center; + gap: 8px; +} +.task-id-suggestion { + font-weight: 600; + color: var(--text-accent); +} +.task-content-preview { + font-size: 0.85em; + color: var(--text-muted); + margin-top: 2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 300px; +} +.file-name { + font-weight: 500; + color: var(--text-normal); +} +.file-path { + font-size: 0.8em; + color: var(--text-muted); + margin-top: 2px; +} +.action-type-suggestion { + font-weight: 600; + color: var(--text-accent); +} +.action-description { + font-size: 0.8em; + color: var(--text-muted); + margin-top: 2px; +} +.oncompletion-configurator.invalid { + border-color: var(--text-error); + background-color: var(--background-modifier-error); +} +.oncompletion-configurator.valid { + border-color: var(--text-success); +} +.oncompletion-validation-message { + font-size: 0.8em; + margin-top: 4px; + padding: 4px 6px; + border-radius: 3px; +} +.oncompletion-validation-message.error { + color: var(--text-error); + background-color: var(--background-modifier-error); +} +.oncompletion-validation-message.success { + color: var(--text-success); + background-color: var(--background-modifier-success); +} +.task-details .oncompletion-configurator { + margin-top: 8px; + border: none; + background-color: transparent; + padding: 0; +} +.task-details .oncompletion-field { + margin-bottom: 8px; +} +@media (max-width: 768px) { + .oncompletion-configurator { + padding: 8px; + gap: 8px; + } + .oncompletion-config { + gap: 8px; + } + .task-content-preview { + max-width: 200px; + } +} +.theme-dark .oncompletion-configurator { + background-color: var(--background-primary-alt); +} +.theme-dark .oncompletion-field .text-input { + background-color: var(--background-secondary); + border-color: var(--background-modifier-border-hover); +} +@media (prefers-contrast: high) { + .oncompletion-configurator { + border-width: 2px; + } + .oncompletion-field .text-input { + border-width: 2px; + } + .oncompletion-field .text-input:focus { + box-shadow: 0 0 0 3px var(--interactive-accent-hover); + } +} +.oncompletion-config { + transition: all 0.2s ease-in-out; +} +.oncompletion-field { + opacity: 1; + transform: translateY(0); + transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out; +} +.oncompletion-field.entering { + opacity: 0; + transform: translateY(-10px); +} +.oncompletion-field.exiting { + opacity: 0; + transform: translateY(10px); +} +.oncompletion-modal { + --dialog-width: 600px; + --dialog-max-width: 90vw; + --dialog-max-height: 80vh; +} +.oncompletion-modal .modal-content { + padding: 0; + max-height: var(--dialog-max-height); + overflow-y: auto; +} +.oncompletion-modal-content { + padding: 20px; + max-height: 60vh; + overflow-y: auto; +} +.oncompletion-modal-buttons { + display: flex; + justify-content: flex-end; + gap: 8px; + padding: 16px 20px; + border-top: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); +} +.oncompletion-modal-buttons button { + min-width: 80px; +} +.inline-oncompletion-button-container { + display: inline-flex; + align-items: center; +} +.inline-oncompletion-config-button { + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background-color: var(--background-primary); + color: var(--text-normal); + font-family: inherit; + font-size: var(--font-ui-small); + cursor: pointer; + transition: all 0.15s ease; + min-width: 100px; + text-align: left; +} +.inline-oncompletion-config-button:hover { + background-color: var(--background-modifier-hover); + border-color: var(--interactive-accent); +} +.inline-oncompletion-config-button:focus { + outline: none; + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--interactive-accent-hover); +} +.inline-oncompletion-config-button:active { + background-color: var(--background-modifier-active); + transform: scale(0.98); +} +@media (max-width: 768px) { + .oncompletion-modal { + --dialog-width: 95vw; + --dialog-max-height: 85vh; + } + .oncompletion-modal-content { + padding: 16px; + max-height: 65vh; + } + .oncompletion-modal-buttons { + padding: 12px 16px; + flex-direction: column-reverse; + } + .oncompletion-modal-buttons button { + width: 100%; + min-width: unset; + } +} + +/* src/styles/universal-suggest.css */ +.universal-suggest-item { + display: flex; + align-items: center; + cursor: pointer; + border-radius: 4px; + transition: background-color 0.1s ease; +} +.universal-suggest-item:hover { + background-color: var(--background-modifier-hover); +} +.universal-suggest-item.is-selected { + background-color: var(--background-modifier-active-hover); +} +.universal-suggest-container { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + overflow: hidden; +} +.universal-suggest-icon { + display: flex; + align-items: center; + justify-content: center; + width: 20px; + height: 20px; + margin-right: 12px; + color: var(--text-muted); + flex-shrink: 0; +} +.universal-suggest-content { + flex: 1; + min-width: 0; +} +.universal-suggest-label { + font-weight: 500; + color: var(--text-normal); + margin-bottom: 2px; +} +.universal-suggest-description { + font-size: 0.85em; + color: var(--text-muted); + line-height: 1.3; +} +.cm-editor .cm-line .universal-suggest-trigger { + background-color: var(--background-modifier-accent); + color: var(--text-accent); + border-radius: 2px; + padding: 1px 2px; +} +.suggestion-container .universal-suggest-item { + border-bottom: 1px solid var(--background-modifier-border); +} +.suggestion-container .universal-suggest-item:last-child { + border-bottom: none; +} +.theme-dark .universal-suggest-item:hover { + background-color: var(--background-modifier-hover); +} +.theme-dark .universal-suggest-item.is-selected { + background-color: var(--background-modifier-active-hover); +} +@media (prefers-contrast: high) { + .universal-suggest-item { + border: 1px solid var(--background-modifier-border); + margin-bottom: 2px; + } + .universal-suggest-item:hover, + .universal-suggest-item.is-selected { + border-color: var(--text-accent); + } +} + +/* src/styles/modal.css */ +.confirm-modal-buttons { + display: flex; + gap: var(--size-4-3); + justify-content: flex-end; + margin-top: var(--size-4-3); +} + +/* src/styles/habit-edit-dialog.css */ +.habit-edit-dialog { + max-width: 600px; + width: 100%; +} +.habit-edit-dialog .modal-content { + padding: 20px; +} +.habit-edit-dialog .habit-type-selector { + margin-bottom: 20px; +} +.habit-edit-dialog .habit-type-description { + font-weight: 600; + margin-bottom: 10px; +} +.habit-edit-dialog .habit-type-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 10px; +} +@media (max-width: 500px) { + .habit-edit-dialog .habit-type-grid { + grid-template-columns: 1fr; + } +} +.habit-edit-dialog .habit-type-item { + display: flex; + padding: 12px; + border-radius: var(--radius-m); + border: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); + cursor: pointer; + transition: all 0.2s ease; +} +.habit-edit-dialog .habit-type-item:hover { + background-color: var(--background-modifier-hover); +} +.habit-edit-dialog .habit-type-item.selected { + border-color: var(--interactive-accent); + background-color: var(--interactive-accent-hover); +} +.habit-edit-dialog .habit-type-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border-radius: 50%; + background-color: var(--background-primary); + margin-right: 10px; +} +.habit-edit-dialog .habit-type-icon svg { + width: 20px; + height: 20px; + color: var(--text-normal); +} +.habit-edit-dialog .habit-type-text { + flex: 1; + display: flex; + flex-direction: column; +} +.habit-edit-dialog .habit-type-name { + font-weight: 600; + margin-bottom: 4px; +} +.habit-edit-dialog .habit-type-desc { + font-size: 0.85em; + color: var(--text-muted); +} +.habit-edit-dialog .habit-common-form, +.habit-edit-dialog .habit-type-form { + margin-bottom: 20px; +} +.habit-edit-dialog .habit-icon-preview { + display: flex; + align-items: center; + justify-content: center; + width: 30px; + height: 30px; + margin-left: 10px; + background-color: var(--background-primary); + border-radius: 50%; +} +.habit-edit-dialog .habit-icon-preview svg { + width: 18px; + height: 18px; +} +.habit-edit-dialog .habit-mapping-container { + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: 10px; + margin-bottom: 10px; + margin-top: 5px; +} +.habit-edit-dialog .habit-mapping-row { + display: flex; + align-items: center; + margin-bottom: 8px; +} +.habit-edit-dialog .habit-mapping-key { + width: 80px; + margin-right: 5px; + font-size: 0.9em; +} +.habit-edit-dialog .habit-mapping-arrow { + margin: 0 10px; + color: var(--text-muted); +} +.habit-edit-dialog .habit-mapping-value { + flex: 1; + font-size: 0.9em; + margin-right: var(--size-4-4); +} +.habit-edit-dialog .habit-mapping-delete { + background: none; + border: none; + color: var(--text-error); + cursor: pointer; + font-size: 1.2em; + padding: 0 8px; +} +.habit-edit-dialog .habit-add-mapping-button { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: var(--radius-s); + padding: 6px 12px; + cursor: pointer; + font-size: 0.9em; +} +.habit-edit-dialog .habit-events-container { + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: 10px; + margin-bottom: 10px; + margin-top: 5px; +} +.habit-edit-dialog .habit-event-row { + display: flex; + margin-bottom: 8px; + gap: 5px; +} +.habit-edit-dialog .habit-event-name { + width: 120px; + font-size: 0.9em; +} +.habit-edit-dialog .habit-event-details { + flex: 1; + font-size: 0.9em; +} +.habit-edit-dialog .habit-event-property { + width: 120px; + font-size: 0.9em; +} +.habit-edit-dialog .habit-event-delete { + background: none; + border: none; + color: var(--text-error); + cursor: pointer; + font-size: 1.2em; + padding: 0 8px; +} +.habit-edit-dialog .habit-add-event-button { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: var(--radius-s); + padding: 6px 12px; + cursor: pointer; + font-size: 0.9em; +} +.habit-edit-dialog .habit-edit-buttons { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 20px; +} +.habit-edit-dialog .habit-cancel-button { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: 8px 16px; + cursor: pointer; +} +.habit-edit-dialog .habit-save-button { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + border-radius: var(--radius-s); + padding: 8px 16px; + cursor: pointer; +} +.habit-edit-dialog input[type=text], +.habit-edit-dialog input[type=number] { + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: 6px; + color: var(--text-normal); +} +.habit-edit-dialog .habit-type-item.selected .habit-type-desc, +.habit-edit-dialog .habit-type-item.selected .habit-type-name { + color: var(--text-on-accent); +} + +/* src/styles/habit-list.css */ +.habit-list-container { + padding: 12px; + width: 100%; +} +.habit-settings-container { + padding-top: 12px; + border-top: 1px solid var(--background-modifier-border); +} +.habit-add-button-container { + display: flex; + justify-content: flex-end; + margin-bottom: 16px; +} +.habit-add-button { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-radius: var(--radius-s); + cursor: pointer; + font-size: 14px; +} +.habit-add-button svg { + width: 16px; + height: 16px; +} +.habit-empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 200px; + text-align: center; + padding: 20px; + border: 1px dashed var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-secondary); +} +.habit-empty-state h2 { + margin: 0 0 10px 0; + font-size: 1.2em; + color: var(--text-normal); +} +.habit-empty-state p { + margin: 0; + color: var(--text-muted); +} +.habit-items-container { + display: flex; + flex-direction: column; + gap: 10px; +} +.habit-item { + display: flex; + align-items: center; + padding: 12px; + border-radius: var(--radius-m); + background-color: var(--background-secondary); + border: 1px solid var(--background-modifier-border); + transition: background-color 0.2s ease; + cursor: pointer; + height: 7.5rem; +} +.habit-item:hover { + background-color: var(--background-modifier-hover); +} +.habit-item-icon { + --icon-size: 20px; + display: flex; + align-items: center; + justify-content: center; + width: 48px; + height: 48px; + border-radius: 50%; + background-color: var(--background-primary); + margin-right: 12px; +} +.habit-item-icon svg { + color: var(--text-normal); +} +.habit-item-info { + flex: 1; + min-width: 0; +} +.habit-item-name { + font-weight: 600; + margin-bottom: 4px; + font-size: 16px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.habit-item-description { + color: var(--text-muted); + font-size: 12px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 4px; +} +.habit-item-type { + display: inline-block; + font-size: 11px; + padding: 2px 6px; + border-radius: var(--radius-s); + background-color: var(--background-modifier-border); + color: var(--text-muted); +} +.habit-item-actions { + display: flex; + gap: 8px; + margin-left: 12px; +} +.habit-edit-button, +.habit-delete-button { + display: flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + border-radius: 50%; + background-color: var(--background-primary); + cursor: pointer; + padding: 0; + border: 1px solid var(--background-modifier-border); +} +.habit-edit-button:hover, +.habit-delete-button:hover { + background-color: var(--background-modifier-hover); +} +.habit-edit-button svg, +.habit-delete-button svg { + width: 16px; + height: 16px; + color: var(--text-muted); +} +.habit-delete-button:hover svg { + color: var(--text-error); +} +.habit-delete-modal-buttons { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 20px; +} +.habit-delete-button-confirm { + background-color: var(--text-error); + color: #fff; + border: none; + border-radius: var(--radius-s); + padding: 8px 16px; + cursor: pointer; +} + +/* src/styles/ics-settings.css */ +.ics-settings-container { + max-width: 800px; + margin: 0 auto; +} +.ics-header-container { + margin-bottom: 2rem; + border-bottom: 1px solid var(--background-modifier-border); + padding-bottom: 1rem; +} +.ics-back-button { + background: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + padding: 0.5rem 1rem; + border-radius: 6px; + cursor: pointer; + margin-bottom: 1rem; + font-size: 0.9em; + transition: all 0.2s ease; +} +.ics-back-button:hover { + background: var(--interactive-accent-hover); + transform: translateY(-1px); +} +.ics-description { + color: var(--text-muted); + margin-top: 0.5rem; + line-height: 1.5; +} +.ics-global-settings { + margin-bottom: 2rem; + padding: 1.5rem; + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + background: var(--background-secondary); +} +.ics-sources-list { + margin-top: 1.5rem; +} +.ics-sources-list h3 { + margin-bottom: 1rem; + color: var(--text-normal); +} +.ics-source-item { + margin-bottom: 1rem; + padding: 1.5rem; + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + background: var(--background-primary); + transition: all 0.2s ease; +} +.ics-source-item:hover { + border-color: var(--interactive-accent); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} +.ics-source-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1rem; +} +.ics-source-title strong { + font-size: 1.1em; + color: var(--text-normal); +} +.ics-source-status { + padding: 0.3rem 0.8rem; + border-radius: 12px; + font-size: 0.75em; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; +} +.status-enabled { + background: var(--color-green); + color: white; +} +.status-disabled { + background: var(--color-red); + color: white; +} +.ics-source-details { + margin-bottom: 1.5rem; + font-size: 0.9em; + color: var(--text-muted); + line-height: 1.4; +} +.ics-source-details div { + margin-bottom: 0.4rem; +} +.ics-source-actions { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; +} +.primary-actions, +.secondary-actions { + display: flex; + gap: 0.5rem; +} +.ics-source-actions button { + padding: 0.5rem 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + background: var(--background-secondary); + color: var(--text-normal); + font-size: 0.85em; + cursor: pointer; + transition: all 0.2s ease; + min-width: 80px; + white-space: nowrap; +} +.ics-source-actions button:hover { + background: var(--background-modifier-hover); + border-color: var(--interactive-accent); + transform: translateY(-1px); +} +.ics-source-actions button.mod-cta { + background: var(--interactive-accent); + color: var(--text-on-accent); + border-color: var(--interactive-accent); +} +.ics-source-actions button.mod-cta:hover { + background: var(--interactive-accent-hover); +} +.ics-source-actions button.mod-warning { + background: var(--color-red); + color: white; + border-color: var(--color-red); +} +.ics-source-actions button.mod-warning:hover { + background: var(--color-red); + opacity: 0.8; +} +.ics-source-actions button:disabled { + opacity: 0.5; + cursor: not-allowed; + transform: none; +} +.ics-source-actions button.syncing { + color: var(--interactive-accent); +} +.ics-source-actions button.success { + background: var(--color-green); + color: white; + border-color: var(--color-green); +} +.ics-source-actions button.error { + background: var(--color-red); + color: white; + border-color: var(--color-red); +} +.ics-add-source-container { + margin-top: 2rem; + text-align: center; + padding: 2rem; + border: 2px dashed var(--background-modifier-border); + border-radius: 8px; + background: var(--background-secondary); + transition: all 0.2s ease; +} +.ics-add-source-container:hover { + border-color: var(--interactive-accent); + background: var(--background-modifier-hover); +} +.ics-add-source-container button { + background: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + padding: 0.8rem 1.5rem; + border-radius: 6px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + font-size: 0.95em; +} +.ics-add-source-container button:hover { + background: var(--interactive-accent-hover); + transform: translateY(-2px); +} +.ics-test-container { + margin-top: 1rem; + text-align: center; + padding: 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + background: var(--background-modifier-form-field); +} +.ics-test-button { + background: var(--color-orange); + color: white; + border: none; + padding: 0.6rem 1.2rem; + border-radius: 6px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + font-size: 0.9em; +} +.ics-test-button:hover { + background: var(--color-orange); + opacity: 0.8; + transform: translateY(-1px); +} +.ics-empty-state { + text-align: center; + padding: 3rem 2rem; + color: var(--text-muted); + font-style: italic; + background: var(--background-secondary); + border-radius: 8px; + border: 1px solid var(--background-modifier-border); +} +.ics-source-modal .modal-content { + max-width: 600px; + max-height: 80vh; + overflow-y: auto; +} +.auth-field { + margin-top: 0.5rem; +} +.modal-button-container { + display: flex; + gap: 0.5rem; + justify-content: flex-end; + margin-top: 1.5rem; + padding-top: 1rem; + border-top: 1px solid var(--background-modifier-border); +} +.modal-button-container button { + padding: 0.5rem 1rem; + border-radius: 6px; + font-size: 0.9em; + min-width: 80px; +} +@media (max-width: 768px) { + .ics-source-header { + flex-direction: column; + align-items: flex-start; + gap: 0.5rem; + } + .ics-source-actions { + flex-direction: column; + gap: 0.5rem; + } + .primary-actions, + .secondary-actions { + width: 100%; + justify-content: space-between; + } + .ics-source-actions button { + flex: 1; + min-width: auto; + } +} +@media (max-width: 480px) { + .ics-source-item { + padding: 1rem; + } + .primary-actions, + .secondary-actions { + flex-direction: column; + } + .ics-source-actions button { + width: 100%; + margin-bottom: 0.3rem; + } + .modal-button-container { + flex-direction: column; + } + .modal-button-container button { + width: 100%; + } +} +.text-replacements-list { + margin: 1rem 0; +} +.text-replacements-empty { + text-align: center; + padding: 2rem; + color: var(--text-muted); + font-style: italic; + background: var(--background-secondary); + border-radius: 6px; + border: 1px dashed var(--background-modifier-border); +} +.text-replacement-rule { + margin-bottom: 1rem; + padding: 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + background: var(--background-primary); + transition: all 0.2s ease; +} +.text-replacement-rule:hover { + border-color: var(--interactive-accent); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} +.text-replacement-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.8rem; +} +.text-replacement-header strong { + color: var(--text-normal); + font-size: 1em; +} +.text-replacement-status { + padding: 0.2rem 0.6rem; + border-radius: 10px; + font-size: 0.7em; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; +} +.text-replacement-status.enabled { + background: var(--color-green); + color: white; +} +.text-replacement-status.disabled { + background: var(--color-red); + color: white; +} +.text-replacement-details { + margin-bottom: 1rem; + font-size: 0.85em; + color: var(--text-muted); + line-height: 1.4; +} +.text-replacement-details div { + margin-bottom: 0.3rem; +} +.text-replacement-pattern { + font-family: var(--font-monospace); + background: var(--background-modifier-form-field); + padding: 0.2rem 0.4rem; + border-radius: 3px; + display: inline-block; + margin-left: 0.5rem; +} +.text-replacement-replacement { + font-family: var(--font-monospace); + background: var(--background-modifier-form-field); + padding: 0.2rem 0.4rem; + border-radius: 3px; + display: inline-block; + margin-left: 0.5rem; +} +.text-replacement-actions { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; +} +.text-replacement-actions button { + padding: 0.4rem 0.8rem; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background: var(--background-secondary); + color: var(--text-normal); + font-size: 0.8em; + cursor: pointer; + transition: all 0.2s ease; +} +.text-replacement-actions button:hover { + background: var(--background-modifier-hover); + border-color: var(--interactive-accent); +} +.text-replacement-actions button.mod-cta { + background: var(--interactive-accent); + color: var(--text-on-accent); + border-color: var(--interactive-accent); +} +.text-replacement-actions button.mod-warning { + background: var(--color-red); + color: white; + border-color: var(--color-red); +} +.text-replacement-add { + margin-top: 1rem; + text-align: center; +} +.text-replacement-add button { + background: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + padding: 0.6rem 1.2rem; + border-radius: 6px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; +} +.text-replacement-add button:hover { + background: var(--interactive-accent-hover); + transform: translateY(-1px); +} +.text-replacement-modal .modal-content { + max-width: 700px; + max-height: 85vh; + overflow-y: auto; +} +.test-output { + margin-top: 0.5rem; + padding: 0.8rem; + background: var(--background-modifier-form-field); + border-radius: 4px; + border: 1px solid var(--background-modifier-border); + font-family: var(--font-monospace); + font-size: 0.9em; +} +.test-result { + font-weight: 500; +} +.text-replacement-modal ul { + margin: 0.5rem 0; + padding-left: 1.5rem; +} +.text-replacement-modal li { + margin-bottom: 0.5rem; + line-height: 1.4; +} +.text-replacement-modal code { + background: var(--background-modifier-form-field); + padding: 0.1rem 0.3rem; + border-radius: 3px; + font-family: var(--font-monospace); + font-size: 0.85em; +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.ics-source-actions button.syncing::before { + content: ""; + display: inline-block; + margin-right: 0.3rem; + animation: spin 1s linear infinite; +} +.ics-text-replacement-modal, +.ics-source-modal { + max-width: 1000px; + max-height: 90vh; + padding-right: 0; +} +.ics-text-replacement-modal .modal-content, +.ics-source-modal .modal-content { + padding-right: var(--size-4-2); +} + +/* src/styles/task-filter.css */ +.task-filter-panel { + padding: var(--size-4-4) var(--size-4-4); + padding-bottom: var(--size-2-2); + padding-left: var(--size-4-8); + background-color: var(--background-primary); + border-top: 1px solid var(--background-modifier-border); + display: flex; + flex-direction: column; + max-height: 300px; + overflow-y: auto; +} +.task-filter-active { + color: var(--color-accent-2); + font-weight: bold; +} +.task-filter-panel > .setting-item { + border-top: unset; +} +.task-filter-header-container { + display: flex; + align-items: center; + justify-content: flex-end; +} +.task-filter-title { + font-size: var(--font-ui-small); + color: var(--text-normal); +} +.task-filter-options { + display: flex; + flex-direction: column; + gap: 10px; +} +.task-filter-section { + display: flex; + flex-direction: column; +} +.task-filter-section h3 { + font-size: 14px; + margin: 5px 0; + color: var(--text-muted); +} +.task-filter-section:last-child { + border-bottom: unset; +} +.task-filter-option { + display: flex; + align-items: center; + gap: 6px; +} +.task-filter-option input[type=checkbox] { + margin: 0; +} +.task-filter-option label { + font-size: 13px; + color: var(--text-normal); +} +.task-filter-buttons { + display: flex; + justify-content: flex-end; + gap: 8px; + margin-top: 8px; + padding-top: 8px; + border-top: 1px solid var(--background-modifier-border); +} +.task-filter-apply, +.task-filter-close { + padding: 6px 12px; + border-radius: 4px; + font-size: 12px; + cursor: pointer; +} +.task-filter-apply { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.task-filter-reset { + background-color: var(--background-modifier-border); + color: var(--text-normal); +} +.task-filter-close { + background-color: var(--background-secondary); + color: var(--text-normal); +} +.task-filter-query-input { + width: 100%; + min-width: 250px; + border-radius: 4px; + padding: 8px 12px; + font-family: var(--font-monospace); + font-size: 14px; +} +.task-filter-query-input:focus { + box-shadow: 0 0 0 2px var(--interactive-accent); + outline: none; +} +.task-filter-section .setting-item-description { + margin-top: 5px; + margin-bottom: 10px; + font-size: 12px; + color: var(--text-muted); + line-height: 1.4; +} +.task-filter-options { + max-height: 70vh; + overflow-y: auto; + padding-right: 5px; +} +.task-filter-options { + margin-bottom: 10px; + padding-top: var(--size-4-4); +} + +/* src/styles/global-filter.css */ +.filter-group-separator { + display: flex; + align-items: center; + justify-content: center; + margin: var(--size-2-2) 0; + color: var(--text-muted); + font-size: var(--font-ui-smaller); +} +.filter-group-separator::before, +.filter-group-separator::after { + content: ""; + flex-grow: 1; + height: 1px; + background-color: var( --background-modifier-border ); + margin: 0 var(--size-2-1); +} +.drag-handle { + cursor: grab; + display: flex; + align-items: center; + justify-content: center; +} +.compact-btn { + padding: var(--size-2-1) var(--size-2-2); + box-shadow: unset !important; + border: unset !important; + --icon-size: var(--size-4-4); + display: flex; + align-items: center; + justify-content: center; + gap: var(--size-2-2); + -webkit-app-region: no-drag; + display: inline-flex; + overflow: hidden; + align-items: center; + color: var(--text-muted); + font-size: var(--font-ui-small); + border-radius: var(--button-radius); + padding: var(--size-2-2); + font-weight: var(--input-font-weight); + cursor: var(--cursor); + font-family: inherit; + gap: var(--size-2-2); + min-height: 30px; +} +.compact-btn:hover { + box-shadow: none; + opacity: var(--icon-opacity-hover); + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.compact-input, +.compact-select { + font-size: var(--font-ui-smaller); + height: var(--input-height); + border: 1px solid var(--background-modifier-border); + box-shadow: none; +} +.compact-select:hover { + box-shadow: none; +} +.compact-text { + font-size: var(--font-ui-smaller); +} +.dragging-placeholder { + opacity: 0.5; + background-color: var( --background-modifier-hover ); +} +.task-filter-root-container.task-popover-content { + padding: var(--size-2-2); + max-width: 100%; + max-height: 100%; +} +.task-filter-main-panel { + max-width: 100%; + padding: var(--size-2-2); + border-radius: var(--radius-m); +} +.filter-menu { + z-index: 50; + min-width: 600px; + background-color: var(--background-primary); + border-radius: var(--radius-m); + box-shadow: var(--shadow-s); + border: 1px solid var(--background-modifier-border); +} +.root-filter-setup-section { + display: flex; + flex-direction: column; + gap: 0.75rem; +} +.root-condition-section { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem; + background-color: var( --background-secondary-alt, var(--background-modifier-hover) ); + border-radius: var(--radius-m); + border: 1px solid var(--background-modifier-border); +} +.root-condition-label { + font-weight: 500; + color: var(--text-normal); +} +.root-condition-select { + width: auto; + border: 1px solid var(--input-border-color, var(--background-modifier-border)); +} +.root-condition-select:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.root-condition-span { + color: var(--text-normal); +} +.filter-groups-container { + display: flex; + flex-direction: column; + gap: var(--size-2-3); + max-height: 50vh; + overflow: auto; +} +.filter-group { + padding: var(--size-2-3); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-primary); + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.filter-group-header { + display: flex; + align-items: center; + justify-content: space-between; +} +.filter-group-header-left { + display: flex; + align-items: center; + gap: 0.375rem; +} +.filter-group-header-left .drag-handle-container .svg-icon { + color: var(--text-faint); +} +.filter-group-header-left .drag-handle-container:hover .svg-icon { + color: var(--text-muted); +} +.filter-group-header-left .drag-handle-container { + padding-right: var(--size-2-1); +} +.filter-group-header-left > .compact-text, +.filter-group-header-left > span.compact-text { + font-weight: 500; + color: var(--text-normal); +} +.filter-group-header-left .group-condition-select.compact-select { + border: 1px solid var(--input-border-color, var(--background-modifier-border)); +} +.filter-group-header-left .group-condition-select.compact-select:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.filter-group-header-right { + display: flex; + align-items: center; + gap: 0.25rem; +} +.filter-group-header-right .duplicate-group-btn.compact-icon-btn, +.filter-group-header-right .remove-group-btn.compact-icon-btn { + border-radius: var(--radius-s); +} +.filter-group-header-right .duplicate-group-btn.compact-icon-btn .svg-icon { + color: var(--text-muted); +} +.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover .svg-icon { + color: var(--interactive-accent); +} +.filter-group-header-right .duplicate-group-btn.compact-icon-btn:hover { + background-color: var(--background-modifier-hover); +} +.filter-group-header-right .remove-group-btn.compact-icon-btn .svg-icon { + color: var(--text-muted); +} +.filter-group-header-right .remove-group-btn.compact-icon-btn:hover .svg-icon { + color: var(--text-error); +} +.filter-group-header-right .remove-group-btn.compact-icon-btn:hover { + background-color: var( --background-error-hover, var(--background-modifier-error-hover) ); +} +.filters-list { + display: flex; + flex-direction: column; + gap: var(--size-2-2); + padding-left: 1rem; + border-left: 2px solid var(--background-modifier-border); + margin-left: var(--size-4-2); +} +.filters-list:empty { + display: none; +} +.group-footer { + padding-left: 0.375rem; + margin-top: 0.375rem; +} +.add-filter-btn-icon { + display: flex; + align-items: center; + justify-content: center; +} +.filter-item { + display: flex; + align-items: center; + gap: var(--size-2-2); + padding: var(--size-4-2); + padding-top: 0; + padding-bottom: 0; +} +.filter-item .filter-conjunction { + font-size: var(--font-ui-smaller); + font-weight: 600; + color: var(--text-faint); + align-self: center; +} +.filter-item .filter-property-select.compact-select { + flex-basis: 30%; + flex-grow: 0; + flex-shrink: 0; + border: 1px solid var(--input-border-color, var(--background-modifier-border)); + box-shadow: none; +} +.filter-item .filter-property-select.compact-select:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.filter-item .filter-condition-select.compact-select { + width: auto; + border: 1px solid var(--input-border-color, var(--background-modifier-border)); + box-shadow: none; +} +.filter-item .filter-condition-select.compact-select:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.filter-item .filter-value-input.compact-input { + flex-grow: 1; + border: 1px solid var(--input-border-color, var(--background-modifier-border)); + width: 100%; +} +.filter-item .filter-value-input.compact-input:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.filter-item .remove-filter-btn.compact-icon-btn .svg-icon { + color: var(--text-muted); +} +.filter-item .remove-filter-btn.compact-icon-btn:hover .svg-icon { + color: var(--text-error); +} +.filter-item .remove-filter-btn.compact-icon-btn:hover { + background-color: var( --background-error-hover, var(--background-modifier-error-hover) ); +} +.add-group-section { + margin-top: var(--size-2-1); + margin-bottom: var(--size-2-1); + margin-left: var(--size-2-1); + display: flex; + justify-content: space-between; +} +.add-filter-group-btn-icon { + display: flex; + align-items: center; + justify-content: center; +} +.filter-config-section { + display: flex; + gap: var(--size-4-2); +} +.save-filter-config-btn, +.load-filter-config-btn { + flex: 1; +} +.save-filter-config-btn-icon, +.load-filter-config-btn-icon { + display: flex; + align-items: center; + justify-content: center; +} +.save-filter-config-btn:hover { + background-color: var(--interactive-accent-hover); + color: var(--text-on-accent); +} +.load-filter-config-btn:hover { + background-color: var(--background-modifier-hover); +} +.filter-config-details { + margin-top: var(--size-4-3); + padding: var(--size-4-3); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-l); + background: linear-gradient(135deg, var(--background-secondary) 0%, var(--background-primary-alt) 100%); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + transition: all 0.2s ease-in-out; +} +.filter-config-details:hover { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + transform: translateY(-1px); +} +.filter-config-details h3 { + margin: 0 0 var(--size-4-2) 0; + font-size: var(--font-ui-medium); + font-weight: 600; + color: var(--text-accent); + display: flex; + align-items: center; + gap: var(--size-2-2); +} +.filter-config-details p { + margin: var(--size-2-2) 0; + line-height: 1.5; + color: var(--text-normal); +} +.filter-config-meta { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + margin: var(--size-2-1) 0; + padding: var(--size-2-1) var(--size-2-2); + background-color: var(--background-modifier-form-field); + border-radius: var(--radius-s); + border-left: 3px solid var(--interactive-accent); +} +.filter-config-summary { + margin-top: var(--size-4-3); + padding: var(--size-4-2) 0 0 0; + border-top: 2px solid var(--background-modifier-border); +} +.filter-config-summary h4 { + margin: 0 0 var(--size-2-3) 0; + font-size: var(--font-ui-small); + font-weight: 600; + color: var(--text-normal); + display: flex; + align-items: center; + gap: var(--size-2-1); +} +.filter-config-summary p { + margin: var(--size-2-1) 0; + font-size: var(--font-ui-smaller); + color: var(--text-muted); + padding: var(--size-2-1) var(--size-2-2); + background-color: var(--background-primary-alt); + border-radius: var(--radius-s); +} +.filter-config-buttons { + margin-top: var(--size-4-3); + padding-top: var(--size-4-2); +} +.filter-config-name-highlight { + background-color: var(--text-accent); + color: var(--text-on-accent); + padding: 0.125rem 0.25rem; + border-radius: var(--radius-s); + font-weight: 500; +} +.advanced-filter-container { + margin-top: var(--size-4-2); + padding: var(--size-4-3); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-secondary); +} +.advanced-filter-container .task-filter-root-container { + background-color: transparent; + border: none; + padding: 0; +} +.advanced-filter-container .task-filter-main-panel { + background-color: transparent; + border: none; + padding: 0; +} +.task-genius-view-config-modal .advanced-filter-container .filter-group { + padding: var(--size-4-2); + margin-bottom: var(--size-4-2); +} +.task-genius-view-config-modal .advanced-filter-container .filter-item { + padding: var(--size-2-2); + gap: var(--size-2-2); +} +.task-genius-view-config-modal .advanced-filter-container .compact-btn { + padding: var(--size-2-1) var(--size-2-2); + min-height: 26px; +} +.task-genius-view-config-modal .advanced-filter-container .compact-select, +.task-genius-view-config-modal .advanced-filter-container .compact-input { + font-size: var(--font-ui-smaller); + height: 28px; +} + +/* src/styles/file-filter-settings.css */ +.file-filter-rules-container { + margin-top: 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + padding: 1rem; + background: var(--background-secondary); +} +.file-filter-rule { + display: flex; + align-items: center; + gap: 1rem; + padding: 0.75rem; + margin-bottom: 0.5rem; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background: var(--background-primary); +} +.file-filter-rule:last-child { + margin-bottom: 0; +} +.file-filter-rule-type, +.file-filter-rule-path, +.file-filter-rule-enabled { + display: flex; + flex-direction: column; + gap: 0.25rem; +} +.file-filter-rule-type { + min-width: 80px; +} +.file-filter-rule-path { + flex: 1; +} +.file-filter-rule-enabled { + min-width: 60px; +} +.file-filter-rule label { + font-size: 0.8rem; + font-weight: 500; + color: var(--text-muted); +} +.file-filter-rule input[type=text] { + padding: 0.25rem 0.5rem; + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + background: var(--background-primary); + color: var(--text-normal); + font-size: 0.9rem; +} +.file-filter-rule input[type=checkbox] { + width: 16px; + height: 16px; +} +.file-filter-rule-delete { + padding: 0.25rem; + border: none; + border-radius: 3px; + background: var(--interactive-accent); + color: var(--text-on-accent); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + min-width: 28px; + height: 28px; +} +.file-filter-add-rule { + margin-top: 1rem; +} +.file-filter-add-rule .setting-item { + border: none; + padding: 0; +} +.file-filter-add-rule .setting-item-control { + gap: 0.5rem; +} +.file-filter-add-rule + .setting-item { + border-top: none; +} +.file-filter-stats { + margin-top: 1.5rem; + padding: 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + background: var(--background-secondary); +} +.file-filter-stat { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0.25rem 0; +} +.file-filter-stat:not(:last-child) { + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: 0.25rem; + padding-bottom: 0.5rem; +} +.stat-label { + font-weight: 500; + color: var(--text-normal); +} +.stat-value { + font-weight: 600; + color: var(--interactive-accent); +} +.file-filter-stat.error { + background-color: var(--background-modifier-error); + border-left: 3px solid var(--text-error); +} +.file-filter-stat.error .stat-label { + color: var(--text-error); +} +.setting-item .setting-item-control button[aria-label*=refresh] { + transition: transform 0.2s ease; +} +.setting-item .setting-item-control button[aria-label*=refresh]:hover { + transform: rotate(90deg); +} +@keyframes refresh-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} +.setting-item .setting-item-control button[disabled] .lucide-refresh-cw { + animation: refresh-spin 1s linear infinite; +} +@media (max-width: 768px) { + .file-filter-rule { + flex-direction: column; + align-items: stretch; + gap: 0.5rem; + } + .file-filter-rule-type, + .file-filter-rule-path, + .file-filter-rule-enabled { + min-width: auto; + } + .file-filter-rule-delete { + align-self: flex-end; + margin-top: 0.5rem; + } +} +.theme-dark .file-filter-rule input[type=text] { + background: var(--background-primary-alt); + border-color: var(--background-modifier-border-hover); +} +.theme-dark .file-filter-rule input[type=text]:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--interactive-accent-hover); +} +.file-filter-rules-container:empty::before { + content: "No filter rules configured. Add rules below to start filtering files and folders."; + display: block; + text-align: center; + color: var(--text-muted); + font-style: italic; + padding: 2rem; +} +.file-filter-preset-container { + margin-top: 1rem; + padding: 1rem; + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + background: var(--background-secondary); +} +.file-filter-preset-container .setting-item { + border: none; + padding: 0.5rem 0; +} +.file-filter-preset-container .setting-item:not(:last-child) { + border-bottom: 1px solid var(--background-modifier-border); +} +.file-filter-preset-container button { + position: relative; + transition: all 0.2s ease; +} +.file-filter-preset-container button:disabled { + opacity: 0.6; + cursor: not-allowed; + background: var(--background-modifier-border); + color: var(--text-muted); +} +.file-filter-preset-container button:not(:disabled):hover { + transform: translateY(-1px); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} +.file-filter-preset-container button[disabled] { + background: var(--color-green); + color: var(--text-on-accent); + border-color: var(--color-green); +} +.theme-dark .file-filter-preset-container button[disabled] { + background: var(--color-green-rgb); + opacity: 0.8; +} + +/* src/styles/workflow.css */ +.cm-workflow-stage-indicator { + display: inline-block; + margin-left: 4px; + font-size: 12px; + cursor: pointer; + opacity: 0.7; + transition: opacity 0.2s ease; + user-select: none; + align-items: center; + vertical-align: middle; +} +.cm-workflow-stage-indicator span { + display: inline-flex; + justify-content: center; + align-items: center; +} +.cm-workflow-stage-indicator:hover { + opacity: 1; +} +.cm-workflow-stage-indicator[data-stage-type=linear] { + color: var(--text-accent); +} +.cm-workflow-stage-indicator[data-stage-type=cycle] { + color: var(--task-in-progress-color); +} +.cm-workflow-stage-indicator[data-stage-type=terminal] { + color: var(--task-completed-color); +} +.theme-dark .cm-workflow-stage-indicator[data-stage-type=linear] { + color: var(--text-accent); +} +.theme-dark .cm-workflow-stage-indicator[data-stage-type=cycle] { + color: var(--task-in-progress-color); +} +.theme-dark .cm-workflow-stage-indicator[data-stage-type=terminal] { + color: var(--task-completed-color); +} + +/* src/styles/date-picker.css */ +.date-picker-root-container { + display: flex; + flex-direction: column; + width: 100%; + min-width: 500px; + max-width: 600px; +} +.date-picker-root-container .date-picker-main-panel { + display: flex; + gap: var(--size-2-3); + padding: var(--size-2-3); +} +.date-picker-root-container .date-picker-left-panel { + flex: 1; + min-width: 200px; + border-right: 1px solid var(--background-modifier-border); +} +.date-picker-root-container .date-picker-right-panel { + flex: 1; + min-width: 250px; +} +.date-picker-root-container .date-picker-section-title { + font-size: var(--font-ui-medium); + font-weight: var(--font-bold); + margin-bottom: var(--size-4-2); + color: var(--text-normal); +} +.date-picker-root-container .quick-options-container { + display: flex; + flex-direction: column; + gap: var(--size-2-1); + max-height: 195px; + overflow: auto; + overflow-x: hidden; +} +.date-picker-root-container .quick-option-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-2-2) var(--size-4-2); + cursor: pointer; + transition: background-color 0.2s ease; +} +.date-picker-root-container .quick-option-item:hover { + background-color: var(--background-modifier-hover); +} +.date-picker-root-container .quick-option-item.selected { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.date-picker-root-container .quick-option-item.clear-option { + border-top: 1px solid var(--background-modifier-border); + margin-top: var(--size-2-2); + padding-top: var(--size-2-3); + color: var(--text-error); +} +.date-picker-root-container .quick-option-item.clear-option:hover { + color: var(--text-on-accent); + background-color: var(--background-modifier-error-hover); +} +.date-picker-root-container .quick-option-label { + font-size: var(--font-ui-small); + font-weight: var(--font-medium); +} +.date-picker-root-container .quick-option-date { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + font-family: var(--font-monospace); +} +.date-picker-root-container .quick-option-item.selected .quick-option-date { + color: var(--text-on-accent); +} +.date-picker-root-container .calendar-container { + display: flex; + flex-direction: column; +} +.date-picker-root-container .calendar-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: var(--size-4-2); + padding: 0 var(--size-2-2); +} +.date-picker-root-container .calendar-nav-btn { + display: flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + border-radius: var(--radius-s); + cursor: pointer; + transition: background-color 0.2s ease; +} +.date-picker-root-container .calendar-nav-btn:hover { + background-color: var(--background-modifier-hover); +} +.date-picker-root-container .calendar-month-year { + font-size: var(--font-ui-medium); + font-weight: var(--font-bold); + color: var(--text-normal); +} +.date-picker-root-container .calendar-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 1px; + background-color: var(--background-modifier-border); + border-radius: var(--radius-s); + overflow: hidden; +} +.date-picker-root-container .calendar-day-header { + background-color: var(--background-secondary); + padding: var(--size-2-2); + text-align: center; + font-size: var(--font-ui-smaller); + font-weight: var(--font-bold); + color: var(--text-muted); +} +.date-picker-root-container .calendar-day { + background-color: var(--background-primary); + padding: var(--size-2-2); + text-align: center; + font-size: var(--font-ui-small); + cursor: pointer; + transition: background-color 0.2s ease; + min-height: 32px; + display: flex; + align-items: center; + justify-content: center; +} +.date-picker-root-container .calendar-day:hover { + background-color: var(--background-modifier-hover); +} +.date-picker-root-container .calendar-day.other-month { + color: var(--text-faint); + background-color: var(--background-secondary); +} +.date-picker-root-container .calendar-day.today { + background-color: var(--interactive-accent-hover); + color: var(--text-on-accent); + font-weight: var(--font-bold); +} +.date-picker-root-container .calendar-day.selected { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + font-weight: var(--font-bold); +} +.date-picker-root-container .calendar-day.today.selected { + background-color: var(--interactive-accent); + box-shadow: inset 0 0 0 2px var(--text-on-accent); +} +.date-picker-popover.tg-menu { + z-index: 20; + position: fixed; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + box-shadow: var(--shadow-l); + max-height: 80vh; + overflow: auto; +} +.date-picker-popover.tg-menu .date-picker-popover-content { + padding: 0; +} +@media (max-width: 768px) { + .date-picker-root-container .date-picker-main-panel { + flex-direction: column; + gap: var(--size-4-2); + } + .date-picker-root-container .date-picker-left-panel { + border-right: none; + border-bottom: 1px solid var(--background-modifier-border); + padding-right: 0; + padding-bottom: var(--size-4-2); + } + .date-picker-root-container { + min-width: 300px; + max-width: 400px; + } + .date-picker-root-container .calendar-day { + min-height: 40px; + font-size: var(--font-ui-medium); + } +} +.date-picker-root-container .date-picker-widget-error { + color: var(--text-error); + background-color: var(--background-modifier-error); + padding: var(--size-2-1) var(--size-2-2); + border-radius: var(--radius-s); + font-size: var(--font-ui-smaller); +} + +/* src/styles/quick-capture.css */ +.quick-capture-panel { + padding: var(--size-4-2); + background-color: var(--background-primary); + border-top: 1px solid var(--background-modifier-border); + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.quick-capture-modal.minimal { + max-width: 600px; + min-width: 500px; + max-height: 200px; +} +.quick-capture-minimal-editor-container { + padding: var(--size-4-2); + min-height: 50px; +} +.quick-capture-minimal-editor-container .cm-editor { + font-size: var(--font-text-size); + min-height: 40px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: var(--size-2-1); +} +.quick-capture-minimal-editor-container .cm-editor.cm-focused { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--interactive-accent-alpha); +} +.quick-capture-minimal-buttons { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2); +} +.quick-actions-left { + display: flex; + gap: var(--size-2-1); +} +.quick-actions-right { + display: flex; + gap: var(--size-2-1); +} +.quick-action-button.active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-color: var(--interactive-accent); +} +.quick-action-save { + padding: var(--size-2-1) var(--size-4-2); + min-width: 80px; + height: 32px; + border-radius: var(--radius-s); +} +.quick-capture-tag-input { + position: absolute; + bottom: 60px; + left: 50%; + transform: translateX(-50%); + width: 300px; + padding: var(--size-2-1); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background-color: var(--background-primary); + color: var(--text-normal); + font-size: var(--font-text-size); + z-index: 1000; +} +.minimal-quick-capture-suggestion { + padding: var(--size-2-1) var(--size-4-2); + border-radius: var(--radius-s); + cursor: pointer; + transition: background-color 0.2s ease; + min-height: 40px; + display: flex; + align-items: center; +} +.minimal-quick-capture-suggestion:hover { + background-color: var(--background-modifier-hover); +} +.minimal-quick-capture-suggestion.is-selected { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.minimal-quick-capture-suggestion.is-selected .suggestion-label { + color: var(--text-on-accent); +} +.minimal-quick-capture-suggestion.is-selected .suggestion-description { + color: var(--text-on-accent); + opacity: 0.8; +} +.suggestion-icon { + font-size: 16px; + min-width: 20px; + text-align: center; +} +.suggestion-content { + flex: 1; +} +.suggestion-label { + font-size: var(--font-text-size); + font-weight: 500; + color: var(--text-normal); +} +.suggestion-description { + font-size: var(--font-ui-small); + color: var(--text-muted); + margin-top: 2px; +} +.quick-capture-header-container { + display: flex; + align-items: center; + margin-bottom: var(--size-4-2); + gap: var(--size-4-2); + font-size: var(--font-ui-medium); + font-weight: bold; + color: var(--text-normal); + padding: var(--size-2-1) var(--size-4-2); +} +.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; +} +.quick-capture-target:focus { + outline: none; +} +.quick-capture-hint { + font-size: 12px; + color: var(--text-muted); + margin-bottom: 8px; + margin-top: -4px; + text-align: right; +} +.quick-capture-editor { + min-height: 200px; + background-color: var(--background-primary); +} +.quick-capture-file-suggest { + max-width: 500px; +} +.quick-capture-buttons { + display: flex; + justify-content: flex-end; + gap: 8px; +} +.quick-capture-submit, +.quick-capture-cancel { + padding: 6px 12px; + border-radius: 4px; + cursor: pointer; +} +.quick-capture-submit { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.quick-capture-cancel { + background-color: var(--background-modifier-border); + color: var(--text-normal); +} +.quick-capture-modal .modal-title { + display: flex; + align-items: center; + flex-direction: row; + gap: 10px; + font-size: var(--font-ui-medium); + font-weight: bold; +} +.quick-capture-modal-editor { + min-height: 150px; + margin-bottom: 20px; +} +.quick-capture-modal-buttons { + display: flex; + justify-content: flex-end; + gap: 10px; +} +.quick-capture-modal.full { + width: 80vw; + max-width: 900px; +} +.quick-capture-layout { + display: flex; + height: 100%; + gap: 16px; + margin-bottom: 16px; +} +.quick-capture-config-panel { + flex: 1; + border-right: 1px solid var(--background-modifier-border); + padding-right: 16px; + overflow-y: auto; + max-width: 40%; +} +.quick-capture-editor-panel { + flex: 1.5; + display: flex; + flex-direction: column; +} +.quick-capture-section-title { + font-weight: bold; + margin-bottom: 8px; + font-size: var(--font-ui-medium); + color: var(--text-normal); +} +.quick-capture-target-container { + margin-bottom: 16px; +} +.quick-capture-modal.full .quick-capture-modal-editor { + min-height: 200px; + flex: 1; + overflow-y: auto; + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: 8px; + margin-top: 8px; +} +@media (max-width: 768px) { + .quick-capture-modal.full { + width: 95vw; + } + .quick-capture-layout { + flex-direction: column; + } + .quick-capture-config-panel { + max-width: 100%; + border-right: none; + border-bottom: 1px solid var(--background-modifier-border); + padding-right: 0; + padding-bottom: 16px; + margin-bottom: 16px; + max-height: 40%; + } +} +.quick-capture-config-panel .details-status-selector { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-bottom: var(--size-4-2); + margin-top: var(--size-4-2); +} +.quick-capture-config-panel .quick-capture-status-selector { + display: flex; + flex-direction: row; + justify-content: space-between; + gap: var(--size-4-3); +} + +/* src/styles/task-list.css */ +.task-list { + flex: 1; + overflow-y: auto; + padding: 0; +} +.task-item { + display: flex; + align-items: flex-start; + padding: 8px 16px; + border-bottom: 1px solid var(--background-modifier-border); + cursor: pointer; + gap: var(--size-2-3); +} +.task-item:hover { + background-color: var(--background-secondary-alt); +} +.task-children-container .task-item:hover { + background-color: var(--background-secondary); +} +.task-item.selected { + background-color: var(--background-secondary-alt); +} +.task-item.task-completed .task-item-content { + text-decoration: line-through; + color: var(--text-muted); +} +.task-item .markdown-block.markdown-renderer > p:only-child { + padding: 0; + margin: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.task-checkbox { + width: 16px; + height: 16px; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-normal); + cursor: pointer; + flex-shrink: 0; +} +.task-item.task-completed .task-checkbox { + color: var(--text-on-accent); +} +.task-item-content { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.task-item-container { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.task-content-metadata-container { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: var(--size-2-2); + transition: all 0.2s ease; +} +.task-content-metadata-container.single-line-content { + flex-direction: row; + align-items: center; +} +.task-content-metadata-container.single-line-content .task-item-content { + flex: 1; + min-width: 0; +} +.task-content-metadata-container.single-line-content .task-item-metadata { + flex-shrink: 0; + margin-top: 0; +} +.task-content-metadata-container.multi-line-content { + flex-direction: column; + align-items: flex-start; +} +.task-content-metadata-container.multi-line-content .task-item-content { + width: 100%; +} +.task-content-metadata-container.multi-line-content .task-item-metadata { + margin-top: var(--size-2-2); +} +.task-item-metadata { + display: flex; + align-items: center; + gap: var(--size-4-2); + margin-top: var(--size-2-2); +} +.task-item-metadata:empty { + display: none; +} +.task-date { + font-size: var(--font-ui-small); + color: var(--text-faint); + white-space: nowrap; + background-color: var(--background-modifier-active-hover); + padding: var(--size-2-1) var(--size-2-3); + border-radius: var(--radius-s); + opacity: 0.8; +} +.task-item:hover .task-date { + opacity: 1; +} +.task-date::before { + display: inline-block; + margin-right: var(--size-2-2); + font-size: xx-small; + display: inline-flex; + transform: translateY(-1px); +} +.tg-kanban-view .task-date::before { + transform: translateY(0); +} +.task-date.task-due-date::before { + content: "\1f4c5"; +} +.task-date.task-overdue { + color: var(--text-error); + font-weight: 600; +} +.task-date.task-due-today { + color: var(--task-doing-color); + font-weight: 600; +} +.task-date.task-due-soon { + color: var(--text-warning); + font-weight: 600; +} +.task-date.task-start-date::before { + content: "\1f6eb"; +} +.task-date.task-created-date::before { + content: "\2795"; +} +.task-date.task-scheduled-date::before { + content: "\23f3"; +} +.task-date.task-done-date::before { + content: "\2705"; +} +.task-date.task-cancelled-date::before { + content: "\274c"; +} +.task-date.task-recurrence::before { + content: "\1f501"; +} +.task-date.task-on-completion::before { + content: "\1f3c1"; +} +.task-project { + font-size: var(--font-ui-small); + color: var(--text-on-accent); + background-color: var(--color-accent); + border-radius: var(--radius-s); + padding: var(--size-2-1) var(--size-2-3); + white-space: nowrap; + opacity: 0.5; +} +.task-project:has(input) { + background-color: var(--background-modifier-active-hover); + color: var(--text-normal); +} +.task-item:hover .task-project { + opacity: 1; +} +.task-project::before { + content: "\1f5c2\fe0f"; + margin-right: var(--size-4-2); + display: inline-flex; + align-items: center; + justify-content: center; + font-size: var(--font-ui-small); +} +.task-project:hover { + background-color: var(--background-modifier-active-hover); + color: var(--text-accent-hover); +} +.task-priority { + margin-left: 8px; + font-size: 0.9em; + white-space: nowrap; +} +.task-priority.priority-5 { + color: var(--text-error); + font-weight: 600; +} +.task-priority.priority-4 { + color: var(--text-warning); + font-weight: 600; +} +.task-priority.priority-3 { + color: var(--text-warning); + font-weight: 600; +} +.task-priority.priority-2 { + color: var(--text-warning); +} +.task-priority.priority-1 { + color: var(--text-accent); +} +.task-oncompletion { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-muted); + white-space: nowrap; +} +.task-oncompletion:hover { + color: var(--text-normal); +} +.task-dependson { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + background-color: var(--background-modifier-error); + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-error); + white-space: nowrap; +} +.task-dependson:hover { + background-color: var(--background-modifier-error-hover); + color: var(--text-error); +} +.task-id { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + background-color: var(--background-modifier-accent); + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-accent); + white-space: nowrap; +} +.task-id:hover { + background-color: var(--background-modifier-accent-hover); + color: var(--text-accent-hover); +} +.task-tags-container { + display: flex; + flex-wrap: wrap; + gap: var(--size-2-2); +} +.task-tags-container:empty { + display: none; +} +.task-tag { + font-size: var(--font-ui-small); + color: var(--text-normal); + background-color: var(--background-modifier-hover); + border-radius: var(--radius-s); + padding: var(--size-2-1) var(--size-2-3); + white-space: nowrap; + opacity: 0.75; +} +.task-item:hover .task-tag { + opacity: 1; +} +.task-item-content p:has(img) img { + display: block; + width: min(50%, 200px); +} + +/* src/styles/inline-editor.css */ +.inline-editor { + position: relative; + display: inline-block; + width: 100%; +} +.inline-content-editor { + width: 100%; + min-height: 18px; + border: none; + border-bottom: 1px solid var(--interactive-accent); + border-radius: 0; + padding: 2px 4px; + background-color: transparent; + color: var(--text-normal); + font-family: inherit; + font-size: inherit; + line-height: inherit; + resize: none; + outline: none; + transition: border-color 0.15s ease, background-color 0.15s ease; +} +.inline-content-editor:focus { + border-bottom-color: var(--interactive-accent-hover); + background-color: var(--background-primary-alt); + box-shadow: 0 1px 0 0 var(--interactive-accent-hover); +} +.inline-embedded-editor-container { + width: 100%; + min-height: 18px; + border: none; + border-radius: 0; + background-color: transparent; +} +.inline-embedded-editor { + width: 100%; + min-height: 18px; + background-color: transparent; +} +.inline-embedded-editor .cm-editor { + border: none !important; + outline: none !important; + background-color: transparent !important; + border-bottom: 1px solid var(--interactive-accent) !important; +} +.inline-embedded-editor .cm-focused { + outline: none !important; + border-bottom-color: var(--interactive-accent-hover) !important; + background-color: var(--background-primary-alt) !important; +} +.inline-embedded-editor .cm-content { + padding: 2px 4px; + min-height: 18px; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +.inline-embedded-editor .cm-line { + padding: 0; +} +.inline-metadata-editor { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 6px; + background-color: var(--background-primary-alt); + border: 1px solid var(--interactive-accent); + border-radius: var(--radius-s); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + min-width: 120px; + max-width: 300px; + position: relative; + z-index: 100; +} +.inline-metadata-editor input { + border: unset; + outline: unset; + padding: 0; + height: var(--line-height); + background-color: transparent; + background: transparent; + border-radius: var(--radius-s); +} +.inline-metadata-editor input:focus { + outline: unset; + padding: 0; + background-color: transparent; +} +.inline-metadata-editor:has(input) { + outline: unset; + border: 0; + padding: 0; + background-color: transparent; + border-radius: unset; +} +.inline-project-input, +.inline-tags-input, +.inline-context-input, +.inline-date-input, +.inline-recurrence-input { + flex: 1; + padding: 2px 4px; + border: none; + border-radius: 2px; + background-color: transparent; + color: var(--text-normal); + font-family: inherit; + font-size: var(--font-ui-small); + outline: none; + min-width: 80px; + transition: background-color 0.15s ease; +} +.inline-project-input:focus, +.inline-tags-input:focus, +.inline-context-input:focus, +.inline-date-input:focus, +.inline-recurrence-input:focus { + background-color: var(--background-primary); + box-shadow: inset 0 0 0 1px var(--interactive-accent); +} +.inline-priority-select { + padding: 2px 4px; + border: none; + border-radius: 2px; + background-color: transparent; + color: var(--text-normal); + font-family: inherit; + font-size: var(--font-ui-small); + outline: none; + cursor: pointer; + min-width: 80px; +} +.inline-priority-select:focus { + background-color: var(--background-primary); + box-shadow: inset 0 0 0 1px var(--interactive-accent); +} +.add-metadata-container { + display: inline-flex; + align-items: center; + margin-left: 4px; +} +.task-list .task-item:not(.tree-task-item):hover .add-metadata-btn { + opacity: 1; +} +.tree-task-item .task-item-container:hover .add-metadata-btn { + opacity: 1; +} +.add-metadata-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 22px; + height: 22px; + border: none; + border-radius: 2px; + background-color: var(--background-secondary); + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s ease; + --icon-size: 10px; + opacity: 0; + padding: 0; + margin: 0; +} +.add-metadata-btn:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); + opacity: 1; +} +.add-metadata-btn:active { + background-color: var(--background-modifier-active); + transform: scale(0.95); +} +.add-metadata-btn svg { + width: 10px; + height: 10px; +} +.inline-editor * { + transition: + border-color 0.15s ease, + background-color 0.15s ease, + box-shadow 0.15s ease; +} +.inline-editor input:focus, +.inline-editor textarea:focus, +.inline-editor select:focus { + outline: none; +} +.task-item-metadata .task-date, +.task-item-metadata .task-project, +.task-item-metadata .task-tag { + cursor: pointer; + transition: background-color 0.15s ease, transform 0.15s ease; + position: relative; +} +.task-item-metadata .task-date:hover, +.task-item-metadata .task-project:hover, +.task-item-metadata .task-tag:hover { + background-color: var(--background-modifier-hover); + transform: none; +} +.task-item-metadata .task-date:hover::after, +.task-item-metadata .task-project:hover::after, +.task-item-metadata .task-tag:hover::after { + display: none; +} +.task-item-content { + cursor: pointer; + transition: background-color 0.15s ease; +} +.inline-metadata-editor { + animation: fadeInScale 0.15s ease-out; +} +@keyframes fadeInScale { + from { + opacity: 0; + transform: scale(0.95); + } + to { + opacity: 1; + transform: scale(1); + } +} +.inline-editor-placeholder { + min-height: 1em; + display: inline-block; +} +@media (max-width: 768px) { + .inline-project-input, + .inline-tags-input, + .inline-context-input, + .inline-recurrence-input { + min-width: 100px; + font-size: var(--font-ui-smaller); + } + .inline-metadata-editor { + max-width: 250px; + } +} +@media (prefers-contrast: high) { + .inline-content-editor, + .inline-embedded-editor .cm-editor { + border-bottom-width: 2px; + } + .inline-metadata-editor { + border-width: 2px; + } +} +@media (prefers-reduced-motion: reduce) { + .inline-editor *, + .task-item-metadata .task-date, + .task-item-metadata .task-project, + .task-item-metadata .task-tag, + .task-item-content, + .add-metadata-btn { + transition: none; + } + .inline-metadata-editor { + animation: none; + } +} +.inline-dependson-input, +.inline-id-input { + width: 100%; + min-width: 200px; + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + background-color: var(--background-primary); + color: var(--text-normal); + font-family: inherit; + font-size: var(--font-ui-small); + outline: none; + transition: border-color 0.15s ease, box-shadow 0.15s ease; +} +.inline-dependson-input:focus, +.inline-id-input:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--interactive-accent-hover); +} +.inline-dependson-input::placeholder, +.inline-id-input::placeholder { + color: var(--text-faint); +} + +/* src/styles/tree-view.css */ +.tree-task-item { + position: relative; + display: flex; + flex-direction: column; + padding: 8px 16px; + transition: background-color 0.2s ease; +} +.task-children-container .task-item.tree-task-item { + border-bottom: unset; + padding-top: var(--size-2-2); + padding-bottom: var(--size-2-2); + gap: 0; +} +.task-item.tree-task-item { + gap: 0; +} +.tree-task-item:hover { + background-color: var(--background-secondary-alt); +} +.tree-task-item.selected { + background-color: var(--background-modifier-active); +} +.tree-task-item.completed { + opacity: 0.7; +} +.tree-task-item > div:first-of-type { + width: 100%; + display: flex; + align-items: flex-start; + gap: 6px; +} +.task-indent { + flex-shrink: 0; +} +.task-item.tree-task-item .task-expand-toggle { + padding-top: var(--size-2-2); +} +.task-item .task-checkbox { + padding-top: var(--size-2-2); +} +.task-expand-toggle { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + flex-shrink: 0; + color: var(--text-muted); +} +.task-expand-toggle:hover { + color: var(--text-normal); +} +.task-item.tree-task-item .task-checkbox { + cursor: pointer; + flex-shrink: 0; + color: var(--text-muted); + width: 16px; + height: 16px; + display: flex; + align-items: center; + justify-content: center; +} +.task-item.tree-task-item .task-checkbox:hover { + color: var(--text-accent); +} +.task-item.tree-task-item .task-checkbox.checked { + color: var(--text-accent); +} +.task-content { + flex-grow: 1; + line-height: 1.4; +} +.tree-task-item.completed .task-content { + text-decoration: line-through; + color: var(--text-muted); +} +.tree-task-item .task-content-metadata-container { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: var(--size-2-2); + transition: all 0.2s ease; +} +.tree-task-item .task-content-metadata-container.single-line-content { + flex-direction: row; + align-items: center; +} +.tree-task-item .task-content-metadata-container.single-line-content .task-item-content { + flex: 1; + min-width: 0; +} +.tree-task-item .task-content-metadata-container.single-line-content .task-metadata { + flex-shrink: 0; + margin-top: 0; +} +.tree-task-item .task-content-metadata-container.multi-line-content { + flex-direction: column; + align-items: flex-start; +} +.tree-task-item .task-content-metadata-container.multi-line-content .task-item-content { + width: 100%; +} +.tree-task-item .task-content-metadata-container.multi-line-content .task-metadata { + margin-top: 4px; +} +.task-metadata { + display: flex; + gap: 8px; + margin-top: 4px; + font-size: 0.85em; + color: var(--text-muted); +} +.task-metadata:empty { + display: none; +} +.task-due-date.overdue { + color: var(--text-error); + font-weight: bold; +} +.task-item.tree-task-item .task-project { + display: inline-block; + padding: 1px 6px; + border-radius: 4px; +} +.task-priority.priority-3 { + color: var(--text-error); +} +.task-priority.priority-2 { + color: var(--text-warning); +} +.task-priority.priority-1 { + color: var(--text-accent); +} +.tree-task-item .task-oncompletion { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + background-color: var(--background-modifier-border); + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-muted); + white-space: nowrap; +} +.tree-task-item .task-oncompletion:hover { + color: var(--text-normal); +} +.tree-task-item .task-dependson { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + background-color: var(--background-modifier-error); + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-error); + white-space: nowrap; +} +.tree-task-item .task-dependson:hover { + background-color: var(--background-modifier-error-hover); + color: var(--text-error); +} +.tree-task-item .task-id { + display: inline-flex; + align-items: center; + padding: 2px 6px; + margin-left: 4px; + background-color: var(--background-modifier-accent); + border-radius: 3px; + font-size: var(--font-ui-small); + color: var(--text-accent); + white-space: nowrap; +} +.tree-task-item .task-id:hover { + background-color: var(--background-modifier-accent-hover); + color: var(--text-accent-hover); +} +.task-children-container { + margin-top: 4px; + width: 100%; +} +.view-toggle-btn { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; + color: var(--text-muted); + border-radius: 4px; +} +.view-toggle-btn:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.task-children-container:empty { + display: none !important; +} + +/* src/styles/forecast.css */ +.forecast-container { + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + flex: 1; +} +.forecast-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 15px; + border-bottom: 1px solid var(--background-modifier-border); +} +.forecast-title-container { + display: flex; + flex-direction: column; +} +.forecast-title { + font-weight: 600; + font-size: 1.2em; +} +.forecast-count { + font-size: 0.8em; + color: var(--text-muted); + margin-top: 4px; +} +.forecast-actions { + display: flex; + gap: var(--size-4-2); + align-items: center; + justify-content: center; +} +.forecast-settings { + cursor: pointer; + opacity: 0.7; + transition: opacity 0.2s ease; + display: flex; + align-items: center; + justify-content: center; +} +.forecast-settings:hover { + opacity: 1; +} +.forecast-focus-bar { + display: flex; + padding: 10px 15px; + border-bottom: 1px solid var(--background-modifier-border); + gap: 10px; + align-items: center; +} +.focus-input { + flex: 1; + padding: 6px 12px; + border-radius: 4px; + border: 1px solid var(--interactive-accent); + background-color: var(--background-primary); + color: var(--text-normal); +} +.unfocus-button { + padding: 6px 12px; + border-radius: 4px; + background-color: var(--interactive-accent); + color: var(--text-on-accent); + cursor: pointer; + border: none; +} +.unfocus-button:hover { + background-color: var(--interactive-accent-hover); +} +.forecast-content { + display: flex; + flex: 1; + overflow: hidden; +} +.forecast-left-column { + width: 360px; + min-width: 360px; + border-right: 1px solid var(--background-modifier-border); + display: flex; + flex-direction: column; + overflow-y: auto; + background-color: var(--background-secondary-alt); +} +.forecast-right-column { + flex: 1; + display: flex; + flex-direction: column; + background-color: var(--background-primary); +} +.forecast-task-list { + overflow-y: auto; +} +.forecast-calendar-section { + padding: 10px 0; + margin-top: var(--size-4-4); + flex-shrink: 0; + border-top: 1px solid var(--background-modifier-border); +} +.forecast-stats { + display: flex; +} +.stat-item { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + padding: 10px; + cursor: pointer; + transition: background-color 0.2s ease; + position: relative; +} +.stat-item::after { + content: ""; + position: absolute; + bottom: 0; + left: 10%; + width: 80%; + height: 3px; + background-color: transparent; + transition: background-color 0.2s ease; +} +.stat-item:hover { + background-color: var(--background-modifier-hover); +} +.stat-item.active::after { + background-color: var(--interactive-accent); + animation: color-pulse 1.5s infinite alternate; +} +@keyframes color-pulse { + 0% { + background-color: var(--color-accent-1) !important; + opacity: 0.7; + } + 100% { + background-color: var(--color-accent-2) !important; + opacity: 1; + } +} +.stat-item.tg-past-due::after { + background-color: var(--text-error); + opacity: 0.7; +} +.stat-item.tg-today::after { + background-color: var(--interactive-accent); + opacity: 0.7; +} +.stat-item.tg-future::after { + background-color: var(--text-accent); + opacity: 0.7; +} +.stat-count { + font-size: 1.5em; + font-weight: 600; +} +.stat-item.tg-past-due .stat-count { + color: var(--text-error); +} +.stat-label { + font-size: 0.8em; + color: var(--text-muted); +} +.forecast-due-soon-section { + display: flex; + flex-direction: column; + padding-bottom: var(--size-4-3); +} +.due-soon-header { + font-size: 0.8em; + font-weight: 600; + padding: 5px 15px; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.05em; +} +.due-soon-item { + display: flex; + justify-content: space-between; + padding: 8px 15px; + cursor: pointer; + border-left: 3px solid transparent; + transition: background-color 0.2s ease; +} +.due-soon-item:hover { + background-color: var(--background-modifier-hover); + border-left-color: var(--interactive-accent); +} +.due-soon-date { + font-size: 0.9em; +} +.due-soon-count { + font-size: 0.8em; + background-color: var(--background-modifier-border); + padding: 2px 6px; + border-radius: 10px; + color: var(--text-muted); +} +.due-soon-empty { + text-align: center; + padding: 15px; + color: var(--text-muted); + font-style: italic; + font-size: 0.9em; +} +.date-section-header { + display: flex; + align-items: center; + padding: 8px 15px; + cursor: pointer; + border-bottom: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary-alt); +} +.date-section-header .section-toggle { + margin-right: 8px; + display: flex; + align-items: center; + justify-content: center; +} +.date-section-header .section-title { + flex: 1; + font-weight: 500; +} +.date-section-header .section-count { + font-size: 0.8em; + color: var(--text-muted); + background-color: var(--background-modifier-border); + border-radius: 10px; + height: var(--size-4-5); + width: var(--size-4-5); + display: inline-flex; + align-items: center; + justify-content: center; +} +.task-date-section.overdue .date-section-header { + border-left: 3px solid var(--text-error); +} +.task-date-section.overdue .section-title { + color: var(--text-error); +} +.task-date-section.overdue .section-count { + background-color: var(--text-error); + color: white; +} +.section-tasks { + display: flex; + flex-direction: column; +} +.forecast-empty-state { + display: flex; + height: 100px; + align-items: center; + justify-content: center; + color: var(--text-muted); + font-style: italic; +} +.forecast-sidebar-toggle { + position: absolute; +} +.is-phone .forecast-header:has(.forecast-sidebar-toggle) .forecast-title-container { + padding-left: var(--size-4-10); +} +.is-phone .forecast-container { + position: relative; + overflow: hidden; +} +.is-phone .forecast-left-column { + position: absolute; + left: 0; + top: 0; + height: 100%; + z-index: 10; + background-color: var(--background-secondary); + width: 100%; + transform: translateX(-100%); + transition: transform 0.3s ease-in-out; + border-right: 1px solid var(--background-modifier-border); +} +.is-phone .forecast-left-column.is-visible { + transform: translateX(0); +} +.is-phone .forecast-sidebar-toggle { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; +} +.is-phone .forecast-sidebar-close { + position: absolute; + top: 10px; + right: 10px; + z-index: 15; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + background-color: var(--background-primary); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} +.is-phone .task-genius-container:has(.forecast-left-column.is-visible)::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} + +/* src/styles/calendar.css */ +.task-genius-view .mini-calendar-container { + display: flex; + flex-direction: column; + width: 100%; + border-bottom: 1px solid var(--background-modifier-border); + padding-bottom: 10px; +} +.task-genius-view .mini-calendar-container .calendar-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 15px; + margin-bottom: 8px; +} +.task-genius-view .mini-calendar-container .calendar-title { + font-weight: 600; + display: flex; + gap: 5px; +} +.task-genius-view .mini-calendar-container .calendar-month { + margin-right: 5px; +} +.task-genius-view .mini-calendar-container .calendar-year { + color: var(--text-muted); +} +.task-genius-view .mini-calendar-container .calendar-nav { + display: flex; + align-items: center; + gap: 8px; +} +.task-genius-view .mini-calendar-container .calendar-nav-btn { + display: flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; + border-radius: 4px; + background-color: var(--background-modifier-hover); + cursor: pointer; + opacity: 0.7; + transition: opacity 0.2s ease; +} +.task-genius-view .mini-calendar-container .calendar-nav-btn:hover { + opacity: 1; + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .mini-calendar-container .calendar-today-btn { + padding: 2px 8px; + border-radius: 4px; + background-color: var(--background-modifier-hover); + cursor: pointer; + font-size: 0.8em; + transition: background-color 0.2s ease; +} +.task-genius-view .mini-calendar-container .calendar-today-btn:hover { + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .mini-calendar-container .calendar-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 1px; + padding: 0 10px; +} +.task-genius-view .mini-calendar-container .calendar-day-header { + text-align: center; + font-size: 0.8em; + color: var(--text-muted); + padding: 3px 0; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: 3px; +} +.task-genius-view .mini-calendar-container .calendar-day-header.calendar-weekend { + color: var(--text-accent); +} +.task-genius-view .mini-calendar-container.hide-weekends .calendar-grid { + grid-template-columns: repeat(5, 1fr); +} +.task-genius-view .mini-calendar-container .calendar-day { + border-radius: 4px; + padding: 1px; + cursor: pointer; + position: relative; + display: flex; + flex-direction: column; + transition: background-color 0.2s ease; + height: auto; + min-height: var(--size-4-12); +} +.task-genius-view .mini-calendar-container .calendar-day:hover { + background-color: var(--background-modifier-hover); +} +.task-genius-view .mini-calendar-container .calendar-day.selected { + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .mini-calendar-container .calendar-day.today { + background-color: var(--interactive-accent-hover); + color: var(--text-on-accent); +} +.task-genius-view .mini-calendar-container .calendar-day.past-due { + color: var(--text-error); +} +.task-genius-view .mini-calendar-container .calendar-day.other-month { + opacity: 0.5; +} +.task-genius-view .mini-calendar-container .calendar-day-number { + text-align: center; + font-size: 0.9em; + font-weight: 500; + padding: 1px; +} +.task-genius-view .mini-calendar-container .calendar-day-count { + background-color: var(--background-modifier-border); + color: var(--text-normal); + border-radius: 8px; + font-size: 0.7em; + padding: 1px 4px; + margin: 1px auto 0; + text-align: center; + width: fit-content; +} +.task-genius-view .mini-calendar-container .calendar-day-count.has-priority { + background-color: var(--text-accent); + color: var(--text-on-accent); +} +@media (max-width: 1400px) { + .task-genius-container:has(.task-details.visible) .mini-calendar-container .forecast-left-column { + display: none; + } +} + +/* src/styles/tag-view.css */ +.tags-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + overflow: hidden; + flex: 1; +} +.task-genius-view:has(.task-details.visible) .tags-left-column { + display: none; +} +.tags-content { + display: flex; + flex-direction: row; + flex: 1; + overflow: hidden; +} +.multi-select-mode .tags-multi-select-btn { + color: var(--color-accent); +} +.tags-left-column { + width: max(120px, 30%); + min-width: min(120px, 30%); + max-width: 400px; + display: flex; + flex-direction: column; + border-right: 1px solid var(--background-modifier-border); + overflow: hidden; +} +.tags-right-column { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; +} +.tags-sidebar-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + height: var(--size-4-10); +} +.tags-sidebar-title { + font-weight: 600; + font-size: 14px; +} +.tags-multi-select-btn { + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} +.tags-multi-select-btn:hover { + color: var(--text-normal); +} +.tags-sidebar-list { + flex: 1; + overflow-y: auto; + padding: var(--size-4-2); + display: flex; + flex-direction: column; + gap: var(--size-2-1); +} +.tag-list-item { + display: flex; + align-items: center; + padding: 4px 12px; + cursor: pointer; + position: relative; + border-radius: var(--radius-s); +} +.tag-list-item:hover { + background-color: var(--background-modifier-hover); +} +.tag-list-item.selected { + background-color: var(--background-modifier-active); +} +.tag-indent { + flex-shrink: 0; +} +.tag-icon { + margin-right: var(--size-2-2); + color: var(--text-muted); + display: flex; + --icon-size: var(--size-4-4); +} +.tag-name { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.tag-count { + margin-left: 8px; + font-size: 0.8em; + color: var(--text-muted); + background-color: var(--background-modifier-border); + border-radius: 10px; + padding: 1px 6px; +} +.tag-children { + width: 100%; +} +.tags-task-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + height: var(--size-4-10); +} +.tags-task-title { + font-weight: 600; + font-size: 16px; +} +.tags-task-count { + color: var(--text-muted); +} +.tags-task-list { + flex: 1; + overflow-y: auto; +} +.tags-empty-state { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); + font-style: italic; + padding: 16px; +} +.tag-section-header { + display: flex; + align-items: center; + padding: 8px 15px; + cursor: pointer; + border-bottom: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary-alt); +} +.tag-section-header .section-toggle { + margin-right: 8px; + display: flex; + align-items: center; + justify-content: center; +} +.tag-section-header .section-title { + flex: 1; + font-weight: 500; +} +.tag-section-header .section-count { + font-size: 0.8em; + color: var(--text-muted); + background-color: var(--background-modifier-border); + padding: 2px 6px; + border-radius: 10px; + height: var(--size-4-5); + width: var(--size-4-5); +} +.is-phone .tags-container { + position: relative; + overflow: hidden; +} +.is-phone .tags-left-column { + position: absolute; + left: 0; + top: 0; + height: 100%; + z-index: 10; + background-color: var(--background-secondary); + width: 100%; + transform: translateX(-100%); + transition: transform 0.3s ease-in-out; + border-right: 1px solid var(--background-modifier-border); +} +.is-phone .tags-left-column.is-visible { + transform: translateX(0); +} +.is-phone .tags-sidebar-toggle { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; +} +.is-phone .tags-sidebar-close { + --icon-size: var(--size-4-4); + position: absolute; + top: var(--size-4-2); + right: 10px; + z-index: 15; + display: flex; + align-items: center; + justify-content: center; +} +.is-phone .tags-container:has(.tags-left-column.is-visible)::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} +.is-phone .tags-sidebar-header:has(.tags-sidebar-close) { + padding-right: var(--size-4-12); +} + +/* src/styles/project-view.css */ +.projects-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + overflow: hidden; +} +.projects-content { + display: flex; + flex-direction: row; + flex: 1; + overflow: hidden; +} +.projects-left-column { + width: max(120px, 30%); + min-width: min(120px, 30%); + max-width: 300px; + display: flex; + flex-direction: column; + border-right: 1px solid var(--background-modifier-border); + overflow: hidden; +} +.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; +} +.multi-select-mode .projects-multi-select-btn { + color: var(--color-accent); +} +.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); +} +.project-list-item { + display: flex; + align-items: center; + padding: 4px 12px; + cursor: pointer; + border-radius: var(--radius-s); +} +.project-list-item:hover { + background-color: var(--background-modifier-hover); +} +.project-list-item.selected { + background-color: var(--background-modifier-active); +} +.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; +} +.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); + height: var(--size-4-10); +} +.projects-task-title { + font-weight: 600; + font-size: 16px; +} +.projects-task-count { + color: var(--text-muted); +} +.projects-task-list { + flex: 1; + overflow-y: auto; +} +.projects-empty-state { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); + font-style: italic; + padding: 16px; +} +.is-phone .projects-left-column { + position: absolute; + left: 0; + top: 0; + height: 100%; + z-index: 10; + background-color: var(--background-secondary); + width: 100%; + transform: translateX(-100%); + transition: transform 0.3s ease-in-out; + border-right: 1px solid var(--background-modifier-border); +} +.is-phone .projects-left-column.is-visible { + transform: translateX(0); +} +.is-phone .projects-sidebar-toggle { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; +} +.is-phone .projects-sidebar-close { + --icon-size: var(--size-4-4); + position: absolute; + top: var(--size-4-2); + right: 10px; + z-index: 15; + display: flex; + align-items: center; + justify-content: center; +} +.is-phone .projects-container:has(.projects-left-column.is-visible)::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} +.is-phone .projects-container { + position: relative; + overflow: hidden; +} +.is-phone .projects-sidebar-header:has(.projects-sidebar-close) { + padding-right: var(--size-4-12); +} + +/* src/styles/review-view.css */ +.review-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + overflow: hidden; +} +.review-content { + display: flex; + flex-direction: row; + flex: 1; + overflow: hidden; +} +.review-left-column { + width: 250px; + min-width: 200px; + max-width: 300px; + display: flex; + flex-direction: column; + border-right: 1px solid var(--background-modifier-border); + overflow: hidden; +} +.is-phone .review-left-column { + max-width: 100%; +} +.review-right-column { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; +} +.review-sidebar-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + height: var(--size-4-10); +} +.review-sidebar-title { + font-weight: 600; + font-size: 14px; +} +.review-multi-select-btn { + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} +.review-multi-select-btn:hover { + color: var(--text-normal); +} +.review-sidebar-list { + flex: 1; + overflow-y: auto; + padding: var(--size-4-2); +} +.review-projects-group-header { + font-size: 10px; + font-weight: 600; + color: var(--text-faint); + text-transform: uppercase; + padding: 4px 8px 4px; + margin-top: 12px; + letter-spacing: 0.5px; +} +.review-projects-group-header:first-child { + margin-top: 4px; +} +.review-project-item { + --icon-size: var(--size-4-4); + display: flex; + align-items: center; + padding: 4px 8px; + cursor: pointer; + border-radius: var(--radius-s); + margin-bottom: 2px; +} +.review-project-item:hover { + background-color: var(--background-modifier-hover); +} +.review-project-item.selected { + background-color: var(--background-modifier-active); +} +.review-project-item.has-review-settings .review-project-icon { + color: var(--text-accent); +} +.review-project-item.has-review-settings .review-project-name { + font-weight: 500; +} +.review-project-item:not(.has-review-settings) .review-project-icon { + color: var(--text-muted); +} +.review-project-icon { + margin-right: 8px; + display: flex; + align-items: center; + justify-content: center; +} +.review-project-name { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.review-task-header { + display: flex; + flex-direction: column; + padding: var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); +} +.is-phone .review-task-header { + flex-direction: row; + align-items: flex-start; +} +.review-header-content h3 { + margin: 0 0 8px 0; + padding: 0; +} +.review-info { + display: flex; + align-items: center; + color: var(--text-muted); + font-size: 0.9em; +} +.review-separator { + margin: 0 8px; +} +.review-frequency { + color: var(--text-accent); +} +.review-frequency:hover { + color: var(--text-normal); + text-decoration: underline; +} +.review-last-date { + color: var(--text-normal); +} +.review-no-settings { + font-style: italic; +} +.review-filter-info { + margin-top: 10px; + padding: 6px 10px; + background-color: var(--background-secondary); + border-radius: var(--radius-s); + font-size: 0.85em; + color: var(--text-muted); + border-left: 3px solid var(--text-accent); +} +.review-filter-toggle { + cursor: pointer; + text-decoration: underline; + color: var(--text-accent); + margin-left: 5px; +} +.review-filter-toggle:hover { + color: var(--text-accent-hover); +} +.review-task-list { + flex: 1; + overflow-y: auto; + padding: var(--size-4-2); +} +.review-empty-state { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); + font-style: italic; + padding: 16px; + text-align: center; +} +.review-button-container { + margin-top: 12px; + display: flex; + justify-content: flex-start; +} +.review-complete-btn, +.review-configure-btn { + padding: 6px 12px; + border-radius: var(--radius-s); + cursor: pointer; + font-size: 0.9em; + border: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); +} +.review-complete-btn { + color: var(--text-accent); +} +.review-complete-btn:hover { + background-color: var(--background-modifier-hover); + color: var(--text-accent); +} +.review-configure-btn { + color: var(--text-muted); +} +.review-configure-btn:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.review-edit-btn { + color: var(--text-accent-hover); + margin-left: 8px; +} +.review-edit-btn:hover { + background-color: var(--background-modifier-hover); + color: var(--text-accent-hover); +} +.review-modal-title { + margin-top: 0; + margin-bottom: 20px; + font-size: 1.5em; + color: var(--text-normal); + border-bottom: 1px solid var(--background-modifier-border); + padding-bottom: 10px; +} +.review-modal-form { + margin-bottom: 20px; +} +.review-modal-field { + margin-bottom: 16px; +} +.review-modal-label { + display: block; + font-weight: 600; + margin-bottom: 4px; + color: var(--text-normal); +} +.review-modal-description { + font-size: 0.9em; + color: var(--text-muted); + margin-bottom: 8px; +} +.review-modal-select { + width: 100%; + border-radius: var(--radius-s); + border: 1px solid var(--background-modifier-border); + background-color: var(--background-primary); + color: var(--text-normal); + font-size: 14px; +} +.review-modal-custom-frequency { + margin-top: 8px; +} +.review-modal-input { + width: 100%; + padding: 8px; + border-radius: var(--radius-s); + border: 1px solid var(--background-modifier-border); + background-color: var(--background-primary); + color: var(--text-normal); + font-size: 14px; +} +.review-modal-last-reviewed { + padding: 8px; + font-size: 14px; + color: var(--text-normal); + background-color: var(--background-secondary); + border-radius: var(--radius-s); +} +.review-modal-buttons { + display: flex; + justify-content: flex-end; + margin-top: 24px; + border-top: 1px solid var(--background-modifier-border); + padding-top: 16px; +} +.review-modal-button { + padding: 8px 16px; + border-radius: var(--radius-s); + font-size: 14px; + cursor: pointer; + border: 1px solid var(--background-modifier-border); +} +.review-modal-button-cancel { + background-color: var(--background-secondary); + color: var(--text-muted); + margin-right: 8px; +} +.review-modal-button-cancel:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.review-modal-button-save { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.review-modal-button-save:hover { + background-color: var(--interactive-accent-hover); +} +.is-phone .review-container { + position: relative; + overflow: hidden; +} +.is-phone .review-left-column { + position: absolute; + left: 0; + top: 0; + height: 100%; + z-index: 10; + background-color: var(--background-secondary); + width: 100%; + transform: translateX(-100%); + transition: transform 0.3s ease-in-out; + border-right: 1px solid var(--background-modifier-border); +} +.is-phone .review-left-column.is-visible { + transform: translateX(0); +} +.is-phone .review-sidebar-toggle { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; +} +.is-phone .review-sidebar-close { + position: absolute; + top: var(--size-2-2); + right: 10px; + z-index: 15; + display: flex; + align-items: center; + justify-content: center; +} +.is-phone .review-container:has(.review-left-column.is-visible)::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} + +/* src/styles/view.css */ +.task-sidebar.collapsed { + width: 48px; + overflow: hidden; +} +.panel-toggle-btn { + display: flex; + align-items: center; + justify-content: center; + border-radius: 4px; + cursor: pointer; + opacity: 0.6; + transition: opacity 0.2s ease; +} +.panel-toggle-btn:hover { + opacity: 1; +} +.task-sidebar.collapsed .sidebar-nav { + align-items: center; +} +.sidebar-nav { + display: flex; + flex-direction: column; + padding: 20px 0 10px 0; + gap: 5px; +} +.sidebar-nav-spacer { + height: 1px; + background-color: var(--background-modifier-border); + margin: 8px 15px; + opacity: 0.7; + margin-top: auto; +} +.sidebar-nav-item { + display: flex; + align-items: center; + padding: 8px 15px; + cursor: pointer; + border-radius: 4px; + margin: 0 5px; + transition: background-color 0.2s ease; +} +.sidebar-nav-item:hover { + background-color: var(--background-modifier-active); +} +.sidebar-nav-item.is-active { + font-weight: 600; + --background-modifier-hover: var(--interactive-accent); + --icon-color: var(--text-on-accent); + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.nav-item-icon { + --icon-size: var(--size-4-4); + display: flex; + align-items: center; + justify-content: center; + margin-right: var(--size-4-2); +} +.nav-item-label { + flex: 1; + font-size: var(--font-ui-medium); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.nav-item-label.hidden { + opacity: 0; + width: 0; + overflow: hidden; + margin: 0; +} +.task-sidebar.collapsed .sidebar-nav-item { + padding: 8px 10px; + justify-content: center; + width: var(--size-4-9); + flex-shrink: 0; + transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out; +} +.task-sidebar.collapsed .nav-item-icon { + margin-right: 0; +} +.task-content { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + min-width: 0; + transition: margin 0.3s ease; +} +.task-sidebar.collapsed .task-content { + margin-left: -200px; + transition: margin 0.3s ease; +} +.task-genius-view .project-tree { + padding: 10px 0; + transition: opacity 0.3s ease; +} +.task-genius-view .tree-root { + display: flex; + flex-direction: column; +} +.task-genius-view .task-genius-view .tree-item { + display: flex; + align-items: center; + padding: 6px 8px; + cursor: pointer; + transition: background-color 0.2s ease; + border-radius: 4px; + margin: 0 5px; +} +.task-genius-view .tree-item:hover { + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .tree-item.selected { + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .tree-item-icon { + display: flex; + align-items: center; + justify-content: center; + width: 20px; + height: 20px; + margin-right: 8px; + color: var(--text-muted); +} +.task-genius-view .tree-item-name { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.task-genius-view .tree-item-count { + font-size: 0.8em; + color: var(--text-muted); + margin-left: 5px; + background-color: var(--background-modifier-hover); + padding: 1px 6px; + border-radius: 10px; +} +.task-genius-view .tree-item-toggle, +.task-genius-view .tree-item-indent { + width: 20px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 5px; +} +.task-genius-view .tree-item-toggle { + cursor: pointer; +} +.content-header { + padding: 15px; + border-bottom: 1px solid var(--background-modifier-border); + display: flex; + align-items: center; + flex-shrink: 0; +} +.task-count { + font-size: 0.8em; + color: var(--text-muted); + margin-right: 10px; +} +.focus-filter { + margin-left: 10px; +} +.workspace-leaf-content .task-genius-view { + padding: 0; +} +.task-genius-container { + display: flex; + flex-direction: row; + height: 100%; + width: 100%; + background-color: var(--background-primary); + border-top: 1px solid var(--background-modifier-border); + color: var(--text-normal); + position: relative; + overflow: hidden; +} +.task-sidebar { + display: flex; + flex-direction: column; + border-right: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); + overflow-y: auto; + width: 240px; + transition: width 0.3s ease-in-out; + position: relative; +} +.task-content { + display: flex; + flex-direction: column; + flex: 1; + min-width: 300px; + height: 100%; + overflow: hidden; +} +.task-sidebar .sidebar-nav { + display: flex; + flex-direction: column; + padding: 8px 0; + height: 100%; +} +.project-tree { + display: flex; + flex-direction: column; + padding: 8px 0; + overflow-y: auto; +} +.tree-root { + display: flex; + flex-direction: column; +} +.task-genius-view .tree-item { + display: flex; + align-items: center; + padding: 4px 12px; + cursor: pointer; + border-radius: 4px; + margin: 2px 8px; +} +.task-genius-view .tree-item:hover { + background-color: var(--background-modifier-border-hover); +} +.task-genius-view .tree-item.selected { + background-color: var(--background-modifier-border-hover); + color: var(--text-accent); +} +.task-genius-view .tree-item-toggle { + width: 16px; + height: 16px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 4px; +} +.task-genius-view .tree-item-indent { + width: 16px; + height: 16px; + margin-right: 4px; +} +.task-genius-view .tree-item-icon { + margin-right: 8px; + width: 16px; + height: 16px; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-muted); +} +.task-genius-view .tree-item-name { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.task-genius-view .tree-item-count { + font-size: 0.8em; + color: var(--text-muted); + background-color: var(--background-modifier-hover); + border-radius: 10px; + padding: 2px 6px; + min-width: 16px; + text-align: center; +} +.task-genius-view .tree-item.expanded > .tree-item-children { + display: flex; +} +.task-genius-view .tree-item-children { + display: none; + flex-direction: column; + margin-left: 16px; + width: 100%; +} +.task-genius-view .content-header { + display: flex; + align-items: center; + padding: 10px 16px; + border-bottom: 1px solid var(--background-modifier-border); + min-height: 50px; +} +.task-genius-view .content-title { + font-size: 1.2em; + font-weight: 600; + margin-right: 12px; + flex: 1; +} +@media screen and (max-width: 768px) { + .task-genius-view .content-title { + display: none; + } + .task-genius-view .task-count { + flex: 1; + } + .task-genius-view .focus-filter { + flex: 1; + } +} +.task-genius-view .content-filter { + display: flex; + align-items: center; + margin-right: 12px; +} +.task-genius-view .filter-input { + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + padding: 4px 8px; + width: 200px; + background-color: var(--background-primary); +} +.task-genius-view .focus-button { + background-color: var(--interactive-normal); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + padding: 4px 10px; + color: var(--text-normal); + cursor: pointer; +} +.task-genius-view .focus-button:hover { + background-color: var(--interactive-hover); +} +.task-genius-view .focus-button.focused { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.mod-root .task-genius-action-btn { + --icon-size: 16px; +} +.mod-left-split .task-genius-action-btn { + display: none; +} +.mod-left-split .workspace-tab-header-status-container:has(.task-genius-action-btn) { + display: none; +} +.mod-right-split .workspace-tab-header-status-container:has(.task-genius-action-btn) { + display: none; +} +.task-genius-view .task-empty-state { + width: 100%; + height: 100%; + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} +.mod-root .task-genius-tab-header { + container-type: inline-size !important; +} +@container (max-width: 120px) { .mod-root .task-genius-action-btn { display: none; } } +.quick-workflow-modal { + max-width: 600px; + min-height: 400px; +} +.workflow-template-section { + margin-bottom: 20px; + padding: 15px; + border: 1px solid var(--background-modifier-border); + border-radius: 8px; +} +.template-description { + margin-top: 10px; +} +.template-desc-text { + font-style: italic; + color: var(--text-muted); + margin: 0; +} +.workflow-form-section { + margin-bottom: 20px; +} +.workflow-stages-preview { + margin-top: 15px; +} +.stages-preview-list { + margin-top: 10px; +} +.stage-preview-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 12px; + margin: 4px 0; + background: var(--background-secondary); + border-radius: 6px; + border: 1px solid var(--background-modifier-border); +} +.stage-info { + display: flex; + align-items: center; + gap: 8px; +} +.stage-name { + font-weight: 500; +} +.stage-type { + color: var(--text-muted); + font-size: 0.9em; +} +.stage-actions { + display: flex; + gap: 4px; +} +.no-stages-message { + text-align: center; + color: var(--text-muted); + font-style: italic; + padding: 20px; + border: 2px dashed var(--background-modifier-border); + border-radius: 8px; + margin-top: 10px; +} +.workflow-modal-buttons { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 20px; + padding-top: 15px; + border-top: 1px solid var(--background-modifier-border); +} +.workflow-progress-indicator { + background: var(--background-secondary); + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + padding: 15px; + margin: 10px 0; +} +.workflow-progress-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; +} +.workflow-name { + font-weight: 600; + font-size: 1.1em; +} +.workflow-progress-text { + color: var(--text-muted); + font-size: 0.9em; +} +.workflow-progress-bar-container { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 15px; +} +.workflow-progress-bar { + flex: 1; + height: 8px; + background: var(--background-modifier-border); + border-radius: 4px; + overflow: hidden; +} +.workflow-progress-fill { + height: 100%; + background: var(--interactive-accent); + transition: width 0.3s ease; +} +.workflow-progress-percentage { + font-size: 0.9em; + font-weight: 500; + min-width: 35px; + text-align: right; +} +.workflow-stage-list { + display: flex; + flex-direction: column; + gap: 8px; +} +.workflow-stage-item { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 10px; + border-radius: 6px; + transition: background-color 0.2s ease; +} +.workflow-stage-item.completed { + background: var(--background-modifier-success); +} +.workflow-stage-item.current { + background: var(--background-modifier-accent); + border: 1px solid var(--interactive-accent); +} +.workflow-stage-item.pending { + background: var(--background-primary); + opacity: 0.7; +} +.workflow-stage-icon { + width: 20px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; + margin-top: 2px; +} +.workflow-stage-icon.completed-icon { + color: var(--text-success); +} +.workflow-stage-icon.current-icon { + color: var(--interactive-accent); +} +.workflow-stage-icon.pending-icon { + color: var(--text-muted); +} +.workflow-stage-content { + flex: 1; +} +.workflow-stage-name { + font-weight: 500; + margin-bottom: 2px; +} +.workflow-stage-type { + font-size: 0.8em; + color: var(--text-muted); +} +.workflow-stage-number { + width: 24px; + height: 24px; + border-radius: 50%; + background: var(--background-modifier-border); + display: flex; + align-items: center; + justify-content: center; + font-size: 0.8em; + font-weight: 600; + margin-top: 2px; +} +.workflow-stage-item.completed .workflow-stage-number { + background: var(--text-success); + color: var(--background-primary); +} +.workflow-stage-item.current .workflow-stage-number { + background: var(--interactive-accent); + color: var(--text-on-accent); +} +.workflow-substage-container { + margin-top: 8px; + padding-left: 16px; + border-left: 2px solid var(--background-modifier-border); +} +.workflow-substage-item { + display: flex; + align-items: center; + gap: 8px; + padding: 4px 0; +} +.workflow-substage-icon { + width: 12px; + height: 12px; + color: var(--text-muted); +} +.workflow-substage-name { + font-size: 0.9em; + color: var(--text-muted); +} + +/* src/styles/calendar/view.css */ +.full-calendar-container { + container-type: inline-size; + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + flex-grow: 1; +} +.full-calendar-container .calendar-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-2-3) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + flex-shrink: 0; + margin-bottom: 0; +} +.full-calendar-container .calendar-header button { + margin: 0 var(--size-4-1); +} +.full-calendar-container .calendar-nav, +.full-calendar-container .calendar-view-switcher { + display: flex; + gap: var(--size-2-2); +} +.full-calendar-container .calendar-nav button { + border-radius: var(--radius-s); + text-transform: uppercase; +} +.full-calendar-container .calendar-view-switcher button { + border-radius: var(--radius-s); + text-transform: uppercase; +} +.full-calendar-container .calendar-view-switcher button:not(.is-active), +.full-calendar-container .calendar-nav button:not(.is-active) { + box-shadow: var(--shadow-xs); + border: 1px solid var(--background-modifier-border); +} +.full-calendar-container .calendar-current-date { + font-weight: var(--font-semibold); + font-size: var(--font-ui-large); + text-align: center; + flex-grow: 1; + max-width: max(120px, 40%); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.full-calendar-container .calendar-view-switcher button.is-active { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-color: var(--interactive-accent-hover); +} +.full-calendar-container .calendar-view-container { + flex-grow: 1; + overflow-y: auto; + padding: var(--size-4-2); + position: relative; + display: flex; + flex-direction: column; +} +.full-calendar-container .calendar-weekday-header { + display: grid; + grid-template-columns: repeat(7, 1fr); + text-align: center; + font-size: var(--font-ui-small); + color: var(--text-muted); + padding: var(--size-4-1) 0; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: -1px; + background-color: var(--background-secondary); +} +.full-calendar-container .calendar-weekday { + padding: var(--size-4-1); +} +.full-calendar-container .calendar-view-container.view-month { + padding: 0; +} +.full-calendar-container .calendar-month-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + grid-auto-rows: minmax(100px, auto); + gap: 1px; + background-color: var(--background-modifier-border); + height: 100%; +} +.full-calendar-container .calendar-day-cell { + background-color: var(--background-primary); + padding: var(--size-4-1); + position: relative; + display: flex; + flex-direction: column; + min-width: 0; +} +.full-calendar-container .calendar-day-cell:hover { + background-color: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.8) !important; +} +.full-calendar-container .calendar-day-cell.is-today { + background-color: var(--background-secondary-alt) !important; + border: 1px solid hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5); +} +.full-calendar-container .calendar-day-cell.is-today .calendar-day-number { + color: hsl(var(--accent-h), var(--accent-s), var(--accent-l), 1); +} +.full-calendar-container .calendar-day-header { + width: 100%; + display: flex; + flex-direction: row-reverse; + justify-content: space-between; + align-items: center; + gap: var(--size-4-1); +} +.full-calendar-container .calendar-day-cell:not(.is-today) { + opacity: 0.7; +} +.full-calendar-container .calendar-day-cell.is-other-month { + background-color: var(--background-secondary); + opacity: 0.7; +} +.full-calendar-container .calendar-day-cell.is-weekend { + background-color: var( --background-secondary ); +} +.full-calendar-container .calendar-day-number { + font-size: var(--font-ui-small); + text-align: center; + margin-bottom: var(--size-4-1); + flex-shrink: 0; + align-self: flex-end; +} +.full-calendar-container .calendar-events-container { + flex-grow: 1; + overflow: hidden; + position: relative; +} +.full-calendar-container .calendar-event { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-radius: var(--radius-s); + padding: 2px 4px; + font-size: var(--font-ui-smaller); + margin-bottom: 2px; + margin-bottom: 3px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + display: block; +} +.full-calendar-container .calendar-event:has(.task-list-item-checkbox) { + display: flex; + flex-direction: row; + align-items: center; +} +.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-week-allday { + display: flex; +} +.full-calendar-container .calendar-event:has(.task-list-item-checkbox).calendar-event-month { + display: flex; +} +.full-calendar-container .full-calendar-container .calendar-event:hover { + opacity: 0.8; +} +.full-calendar-container .calendar-event.is-completed { + background-color: var( --background-modifier-success-hover ); + text-decoration: line-through; + opacity: 0.7; +} +.full-calendar-container .calendar-event.is-multi-day { +} +.full-calendar-container .calendar-event.is-multi-day.is-start { +} +.full-calendar-container .calendar-event.is-multi-day.is-end { +} +.full-calendar-container .calendar-event.calendar-event-month { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: block; + width: 100%; + box-sizing: border-box; +} +.full-calendar-container .calendar-view-container.view-day { + display: flex; + flex-direction: column; + padding: 0; +} +.full-calendar-container .calendar-timeline-section { + flex-grow: 1; + border-top: 1px solid var(--background-modifier-border); + overflow-y: auto; + padding: var(--size-4-4); +} +.full-calendar-container .calendar-timeline-events-container { + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.full-calendar-container .calendar-event-timed { + border: 1px solid var(--background-modifier-border); + overflow: hidden; + display: flex; + flex-direction: column; + width: 100%; +} +.full-calendar-container .calendar-event-time { + font-size: var(--font-ui-smaller); + font-weight: bold; + padding: 1px 3px; + background-color: rgba(0, 0, 0, 0.1); +} +.full-calendar-container .calendar-event-title { + font-size: var(--font-ui-small); + padding: 2px 3px; + flex-grow: 1; + white-space: normal; + word-wrap: break-word; + font-size: var(--font-ui-small); + padding: 2px 3px; + flex-grow: 1; + white-space: normal; + word-wrap: break-word; + display: flex; + align-items: center; +} +.full-calendar-container .calendar-view-container.view-week { + display: flex; + flex-direction: column; + padding: 0; +} +.full-calendar-container .calendar-week-header { + display: grid; + grid-template-columns: repeat(7, 1fr); + border-bottom: 1px solid var(--background-modifier-border); + flex-shrink: 0; + text-align: center; + background-color: var(--background-secondary); + font-size: var(--font-ui-medium); +} +.full-calendar-container .calendar-header-cell { + padding: var(--size-4-1) 0; + border-left: 1px solid var(--background-modifier-border-hover); +} +.full-calendar-container .calendar-header-cell:first-child { + border-left: none; +} +.full-calendar-container .calendar-header-cell.is-today .calendar-day-number { + background-color: var(--interactive-accent); + color: var(--text-on-accent); + border-radius: 50%; + display: inline-block; + width: 1.5em; + height: 1.5em; + line-height: 1.5em; + margin: auto; + margin: auto; + display: flex; + align-items: center; + justify-content: center; +} +.full-calendar-container .calendar-weekday { + font-size: var(--font-ui-small); + color: var(--text-muted); +} +.full-calendar-container .calendar-day-number { + font-size: var(--font-ui-medium); +} +.full-calendar-container .calendar-week-grid-section { + flex-grow: 1; + display: flex; + flex-direction: column; + overflow-y: auto; + border-bottom: 1px solid var(--background-modifier-border); +} +.full-calendar-container .calendar-week-grid { + flex-grow: 1; + display: grid; + grid-template-columns: repeat(7, 1fr); + grid-template-rows: 1fr; + gap: 1px; + background-color: var(--background-modifier-border); + border-top: 1px solid var(--background-modifier-border); +} +.full-calendar-container .calendar-day-column { + background-color: var(--background-primary); + padding: var(--size-4-1); + border-left: none; + display: flex; + flex-direction: column; + gap: var(--size-4-1); + overflow: hidden; + min-width: 0; +} +.full-calendar-container .calendar-day-column:first-child { +} +.full-calendar-container .calendar-day-column.is-weekend { + background-color: var(--background-secondary); +} +.full-calendar-container .calendar-view-container.hide-weekends .calendar-weekday-header { + grid-template-columns: repeat(5, 1fr) !important; +} +.full-calendar-container .calendar-view-container.hide-weekends .calendar-month-grid { + grid-template-columns: repeat(5, 1fr) !important; +} +.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-header { + grid-template-columns: repeat(5, 1fr) !important; +} +.full-calendar-container .calendar-view-container.hide-weekends .calendar-week-grid { + grid-template-columns: repeat(5, 1fr) !important; +} +.full-calendar-container .calendar-view-container.hide-weekends .mini-month-grid { + grid-template-columns: repeat(5, 1fr) !important; +} +.full-calendar-container .calendar-day-events-container { + flex-grow: 1; + display: flex; + flex-direction: column; + gap: 3px; +} +.full-calendar-container .calendar-event.calendar-event-week-allday { + display: block; + width: 100%; + position: relative; + left: auto; + top: auto; + height: auto; + margin-bottom: 3px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.full-calendar-container .calendar-view-container.view-year { + padding: var(--size-4-4); +} +.full-calendar-container .calendar-year-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: var(--size-4-4); +} +.full-calendar-container .calendar-mini-month { + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-secondary); + overflow: hidden; +} +.full-calendar-container .mini-month-header { + text-align: center; + font-weight: var(--font-semibold); + padding: var(--size-4-2); + background-color: var(--background-secondary-alt); + border-bottom: 1px solid var(--background-modifier-border); +} +.full-calendar-container .mini-month-body { + padding: var(--size-4-2); +} +.full-calendar-container .mini-month-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 2px; + text-align: center; +} +.full-calendar-container .mini-weekday-header { + display: contents; + font-size: var(--font-ui-smaller); + color: var(--text-faint); + font-weight: bold; +} +.full-calendar-container .mini-weekday { + padding-bottom: var(--size-4-1); +} +.full-calendar-container .mini-day-cell { + font-size: var(--font-ui-small); + padding: 1px; + border-radius: var(--radius-s); + line-height: 1.5em; +} +.full-calendar-container .mini-day-cell.is-other-month { + color: var(--text-faint); + opacity: 0.6; +} +.full-calendar-container .mini-day-cell.is-today { + font-weight: bold; + background-color: var(--interactive-accent-hover); + color: var(--text-on-accent); +} +.full-calendar-container .mini-day-cell.has-events { + font-weight: bold; +} +.agenda-day-section { + display: flex; + width: 100%; + border: 1px solid var(--background-modifier-border); + padding-top: var(--size-4-2); + padding-bottom: var(--size-4-2); + padding-left: var(--size-4-2); + padding-right: var(--size-4-2); +} +.agenda-day-date-column { + width: 20%; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: center; +} +.agenda-day-events-column { + flex: 1; +} +.full-calendar-container input.task-list-item-checkbox { + scale: 0.9; +} +.full-calendar-container .calendar-view-switcher-selector { + display: none; +} +.calendar-event-ghost { + background-color: var(--background-secondary-alt) !important; + border: 2px dashed var(--background-modifier-border) !important; + opacity: 0.5 !important; + box-shadow: none !important; +} +.calendar-event-dragging { + opacity: 0.9 !important; + box-shadow: var(--shadow-l) !important; + transform: rotate(2deg) !important; + z-index: 1000 !important; +} +.calendar-events-container .calendar-event { + cursor: grab; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} +.calendar-events-container .calendar-event:hover { + transform: translateY(-1px); + box-shadow: var(--shadow-s); +} +.calendar-events-container .calendar-event:active { + cursor: grabbing; +} +.calendar-events-container, +.calendar-day-events-container { + min-height: 20px; + border-radius: var(--radius-s); + transition: background-color 0.2s ease; +} +@container (max-width: 600px) { .full-calendar-container .calendar-view-switcher button { display: none; } .calendar-nav .prev-button { display: none; } .calendar-nav .next-button { display: none; } .full-calendar-container .calendar-view-switcher-selector { display: block; } } + +/* src/styles/calendar/event.css */ +.full-calendar-container .calendar-event-title-container p { + padding-inline-start: 0; + padding-inline-end: 0; + margin-block-start: 0; + margin-block-end: 0; +} +.full-calendar-container .calendar-event-title-container { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 100%; +} +.full-calendar-container .calendar-event-title p { + margin-block-start: 0; + margin-block-end: 0; +} + +/* src/styles/calendar/badge.css */ +.calendar-badges-container { + display: flex; + flex-direction: row; + gap: 4px; + pointer-events: none; + z-index: 10; +} +.calendar-badge { + color: var(--text-muted); + display: flex; + font-size: 10px; + padding: var(--size-2-1); + border-radius: var(--radius-s); + max-width: 80px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.calendar-day-cell { + position: relative; +} + +/* src/styles/kanban/kanban.css */ +.tg-kanban-view { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + overflow: hidden; +} +.tg-kanban-filters { + border-bottom: 1px solid var(--background-modifier-border); + flex-shrink: 0; + display: flex; + flex-direction: row-reverse; + gap: 8px; + padding: 8px; + padding-bottom: 0; + padding-top: 0; +} +.tg-kanban-controls-container { + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; +} +.tg-kanban-sort-container { + display: flex; + align-items: center; + gap: 4px; +} +.tg-kanban-sort-button { + padding: 4px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background-color: var(--background-primary); + color: var(--text-normal); + cursor: pointer; + display: flex; + align-items: center; + gap: 4px; + font-size: var(--font-ui-small); +} +.tg-kanban-sort-button:hover { + background-color: var(--background-modifier-hover); + border-color: var(--background-modifier-border-hover); +} +.tg-kanban-toggle-container { + display: flex; + align-items: center; + gap: 4px; +} +.tg-kanban-toggle-label { + display: flex; + align-items: center; + gap: 6px; + font-size: var(--font-ui-small); + color: var(--text-normal); + cursor: pointer; +} +.tg-kanban-toggle-checkbox { + margin: 0; +} +.tg-kanban-filter-input { + flex-grow: 1; + padding: 6px 10px; + font-size: var(--font-ui-small); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background-color: var(--background-primary); + margin-right: 10px; +} +.tg-kanban-filter-input:focus { + outline: none; + border-color: var(--interactive-accent); + box-shadow: 0 0 0 1px var(--interactive-accent); +} +.tg-kanban-column-container { + display: flex; + flex-grow: 1; + overflow-x: auto; + overflow-y: hidden; + padding: 10px; + gap: 10px; + height: 100%; + -webkit-overflow-scrolling: touch; + overscroll-behavior-x: auto; + scroll-snap-type: x proximity; + scroll-behavior: smooth; +} +@media (hover: hover) and (pointer: fine) { + .tg-kanban-column-container { + overscroll-behavior-x: none; + scroll-snap-type: none; + } +} +.tg-kanban-column { + flex: 0 0 280px; + display: flex; + flex-direction: column; + background-color: var(--background-secondary); + border-radius: var(--radius-m); + height: 100%; + max-height: 100%; + overflow: hidden; + border: 1px solid var(--background-modifier-border); + scroll-snap-align: start; +} +@media (hover: hover) and (pointer: fine) { + .tg-kanban-column { + scroll-snap-align: none; + } +} +.tg-kanban-column-header { + padding: 8px 12px; + font-size: var(--font-ui-mediumn); + font-weight: 600; + border-bottom: 1px solid var(--background-modifier-border); + flex-shrink: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-transform: uppercase; + display: flex; + align-items: center; +} +.tg-kanban-column-content { + flex-grow: 1; + overflow-y: auto; + padding: 8px; + display: flex; + flex-direction: column; + gap: 8px; + background-color: var(--background-secondary-alt); + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; + scroll-behavior: smooth; +} +@media (hover: hover) and (pointer: fine) { + .tg-kanban-column-content { + overscroll-behavior: none; + } +} +.tg-kanban-card { + background-color: var(--background-primary); + border-radius: var(--radius-s); + padding: 10px 12px; + border: 1px solid var(--background-modifier-border); + font-size: var(--font-ui-small); + cursor: grab; + transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + max-width: 100%; + box-sizing: border-box; + white-space: nowrap; + text-overflow: ellipsis; + touch-action: manipulation; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} +.tg-kanban-card .tg-kanban-card-content { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 100%; +} +.tg-kanban-card:hover { + border-color: var(--background-modifier-border-hover); + box-shadow: var(--shadow-m); +} +.tg-kanban-card.task-completed { + background-color: var(--background-secondary); + opacity: 0.7; +} +.tg-kanban-card.task-completed .tg-kanban-card-content { + text-decoration: line-through; + color: var(--text-muted); +} +.tg-kanban-card-container { + display: flex; + align-items: flex-start; + margin-bottom: 6px; +} +.tg-kanban-card-content p:last-child { + margin-bottom: 0; + margin-block-end: 0; + margin-block-start: 0; +} +.tg-kanban-card-metadata { + display: flex; + flex-wrap: wrap; + gap: 4px 8px; + font-size: var(--font-ui-small); + color: var(--text-muted); +} +.tg-kanban-card-metadata .task-date, +.tg-kanban-card-metadata .task-tags-container, +.tg-kanban-card-metadata .task-priority { + display: flex; + align-items: center; + gap: 4px; + padding: 2px 5px; + background-color: var(--background-secondary); + border-radius: var(--radius-s); + margin-inline-start: 0; + margin-inline-end: 0; + margin-left: 0; + margin-right: 0; +} +.tg-kanban-card-metadata .task-tag { + background-color: var( --background-modifier-accent-hover ); + color: var(--text-accent); + padding: 1px 4px; + border-radius: var(--radius-s); + font-size: calc(var(--font-ui-small) * 0.9); +} +.tg-kanban-card-metadata .task-due-date.task-overdue { + color: var(--text-error); + background-color: var(--background-error); +} +.tg-kanban-card-metadata .task-due-date.task-due-today { + color: var(--text-warning); + background-color: var(--background-warning); +} +.tg-kanban-card-metadata .task-priority.priority-1 { + color: var(--text-accent); +} +.tg-kanban-card-metadata .task-priority.priority-2 { + color: var(--text-warning); +} +.tg-kanban-card-metadata .task-priority.priority-3 { + color: var(--text-error); + font-weight: bold; +} +.tg-kanban-card-dragging { + box-shadow: var(--shadow-l); +} +.tg-kanban-card-ghost { + background-color: var(--background-secondary-alt); + border: 1px dashed var(--background-modifier-border); + box-shadow: none; +} +.tg-kanban-column-content.tg-kanban-drop-target-active { + outline: 2px dashed var(--background-modifier-accent-hover); + outline-offset: -2px; +} +.tg-kanban-column-content.tg-kanban-drop-target-hover { + background-color: var(--background-modifier-accent-hover); +} +.tg-kanban-card--drop-indicator-before { + margin-top: 10px; + border-top: 2px dashed var(--interactive-accent); + transition: margin-top 0.1s ease-out, border-top 0.1s ease-out; +} +.tg-kanban-card--drop-indicator-after { + margin-bottom: 10px; + border-bottom: 2px dashed var(--interactive-accent); + transition: margin-bottom 0.1s ease-out, border-bottom 0.1s ease-out; +} +.tg-kanban-column-content--drop-indicator-empty { + border: 2px dashed var(--interactive-accent); + min-height: 50px; + box-sizing: border-box; + margin-top: 5px; + margin-bottom: 5px; +} +.tg-kanban-card { + transition: + margin 0.1s ease-out, + padding 0.1s ease-out, + border 0.1s ease-out, + transform 0.2s ease-out, + box-shadow 0.2s ease-in-out, + background-color 0.2s ease-in-out; +} +.drop-target-active { + background-color: rgba(0, 128, 0, 0.2); + outline: 2px dashed green; +} +.tg-kanban-add-card-container { + padding: 8px; + border-top: 1px solid var(--background-modifier-border); + flex-shrink: 0; +} +.task-genius-add-card-container { + padding: 8px; + margin-top: auto; + text-align: center; +} +.tg-kanban-add-card-button { + --icon-size: 16px; + width: 100%; + padding: 6px 12px; + border: none; + background-color: transparent; + color: var(--text-muted); + border-radius: var(--radius-s); + cursor: pointer; + font-size: var(--font-ui-small); + text-align: left; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; +} +.tg-kanban-add-card-button:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.tg-kanban-column-dragging { + transform: rotate(5deg); + opacity: 0.8; + box-shadow: var(--shadow-xl); + z-index: 1000; +} +.tg-kanban-column-ghost { + background-color: var(--background-modifier-border); + border: 2px dashed var(--background-modifier-accent); + opacity: 0.5; +} +.tg-kanban-column-header { + cursor: grab; +} +.tg-kanban-column-header:active { + cursor: grabbing; +} + +/* src/components/inview-filter/filter.css */ +.filter-component { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: var(--size-4-2); + padding: var(--size-4-2) var(--size-4-3); + background-color: var(--background-primary); + min-height: 48px; + flex: 1; +} +.filter-pills-container { + display: flex; + flex-wrap: wrap; + gap: var(--size-4-2); + flex: 1; +} +.filter-controls { + display: flex; + align-items: center; + gap: var(--size-4-2); + margin-left: auto; +} +.filter-pill { + display: flex; + align-items: center; + gap: var(--size-4-1); + padding: 5px 8px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + font-size: var(--font-ui-small); + animation: filter-pill-appear 200ms ease-out; + transition: background-color var(--duration-fast), transform var(--duration-fast); +} +.filter-pill-remove .clickable-icon:hover { + background-color: unset; +} +.filter-pill:hover { + background-color: var(--background-tertiary); +} +.filter-pill-category { + font-weight: 500; + color: var(--text-muted); +} +.filter-pill-value { + color: var(--text-normal); +} +.filter-pill-remove { + display: flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + border-radius: 50%; + background: transparent; + border: none; + padding: 0; + margin-left: var(--size-4-1); + cursor: pointer; + color: var(--text-faint); + font-size: 14px; + line-height: 1; + transition: background-color var(--duration-fast), color var(--duration-fast); +} +.filter-pill-remove:hover { + background-color: var(--background-modifier-hover); + color: var(--text-normal); +} +.filter-pill-remove-icon { + font-size: 16px; + display: flex; + align-items: center; + justify-content: center; +} +.filter-add-button, +.filter-clear-all-button { + display: flex; + align-items: center; + padding: 6px 10px; + font-size: var(--font-ui-small); + cursor: pointer; +} +.filter-add-button { + gap: var(--size-4-1); + color: var(--text-muted); +} +.filter-add-icon { + font-weight: var(--font-bold); + display: flex; + align-items: center; + justify-content: center; +} +.filter-dropdown { + position: fixed; + width: 220px; + background-color: var(--background-primary); + border-radius: var(--radius-m); + box-shadow: var(--shadow-l); + border: 1px solid var(--background-modifier-border); + z-index: var(--layer-popover); + max-height: 400px; + display: flex; + flex-direction: column; + opacity: 0; + transform: translateY(-8px); + transition: opacity var(--duration-normal), transform var(--duration-normal); + overflow: hidden; +} +.filter-dropdown-visible { + opacity: 1; + transform: translateY(0); +} +.filter-dropdown-header { + padding: var(--size-4-2); + border-bottom: 1px solid var(--background-modifier-border); +} +.filter-dropdown-search { + width: 100%; + padding: var(--size-4-2); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-secondary); + font-size: var(--font-ui-small); + outline: none; +} +.filter-dropdown-search:focus { + border-color: var(--interactive-accent); + box-shadow: 0 0 0 2px var(--focus-ring-color); +} +.filter-dropdown-list { + overflow-y: auto; + max-height: 350px; +} +.filter-dropdown-item { + display: flex; + align-items: center; + padding: var(--size-4-2) var(--size-4-3); + cursor: pointer; + font-size: var(--font-ui-small); + color: var(--text-normal); + transition: background-color var(--duration-fast); +} +.filter-dropdown-item:hover { + background-color: var(--background-secondary); +} +.filter-dropdown-item-label { + flex: 1; +} +.filter-dropdown-item-arrow { + color: var(--text-faint); + font-size: 18px; +} +.filter-dropdown-item-arrow.back { + margin-right: var(--size-4-2); + display: flex; + align-items: center; + justify-content: center; +} +.filter-dropdown-back { + color: var(--text-muted); +} +.filter-dropdown-separator { + height: 1px; + background-color: var(--divider-color); + margin: var(--size-4-1) 0; +} +.filter-dropdown-empty { + padding: var(--size-4-4); + text-align: center; + color: var(--text-faint); + font-size: var(--font-ui-small); +} +.filter-dropdown-value-item { + padding-left: var(--size-4-4); +} +.filter-dropdown-category { + padding: var(--size-4-2) 0; + color: var(--text-muted); + font-weight: 500; +} +.filter-dropdown-value-preview { + padding: var(--size-4-1) var(--size-4-4); + cursor: pointer; + transition: background-color var(--duration-fast); + font-size: var(--font-ui-small); + color: var(--text-normal); +} +.filter-dropdown-value-preview:hover { + background-color: var(--background-secondary); +} +@keyframes filter-pill-appear { + from { + opacity: 0; + transform: scale(0.9); + } + to { + opacity: 1; + transform: scale(1); + } +} +.filter-pill-removing { + opacity: 0; + transform: scale(0.9); + transition: opacity 150ms ease-out, transform 150ms ease-out; +} + +/* src/styles/gantt/gantt.css */ +.gantt-chart-container { + width: 100%; + height: 100%; + overflow: auto; + position: relative; + background-color: var(--background-secondary); + --gantt-header-height: 50px; + --gantt-row-height: 40px; + --gantt-bar-height: 20px; + --gantt-bar-radius: 3px; + --gantt-bg-color: var(--background-secondary); + --gantt-grid-color: var(--background-modifier-border); + --gantt-row-color: var(--background-secondary); + --gantt-bar-color: var(--color-blue); + --gantt-milestone-color: var(--color-purple); + --gantt-progress-color: var(--color-blue); + --gantt-today-color: var(--color-accent); +} +.gantt-svg { + display: block; + font-family: var(--font-interface); + font-size: var(--font-ui-small); + user-select: none; +} +.gantt-header-bg { + fill: var(--background-primary); + stroke: var(--background-modifier-border); + stroke-width: 1px; +} +.gantt-header-text { + fill: var(--text-muted); + font-weight: 500; +} +.gantt-grid-bg { + fill: transparent; + stroke: var(--background-modifier-border); + stroke-width: 0; +} +.gantt-grid-line-vertical { + stroke: var(--background-modifier-border); + stroke-width: 1px; + stroke-dasharray: 2, 2; +} +.gantt-task-item { + cursor: pointer; +} +.gantt-task-bar { + fill: var(--interactive-accent); + stroke: var(--interactive-accent-hover); + stroke-width: 1px; + transition: fill 0.1s ease-in-out; +} +.gantt-task-item:hover .gantt-task-bar { + fill: var(--interactive-accent-hover); +} +.gantt-task-milestone { + fill: var(--color-orange); + stroke: var(--color-orange-border); + stroke-width: 1px; +} +.gantt-task-label { + fill: var(--text-on-accent); + font-size: calc(var(--font-ui-small) * 0.9); + pointer-events: none; + white-space: pre; +} +.gantt-task-bar.status-completed { + fill: var(--color-green); + stroke: var(--color-green-border); +} +.gantt-task-bar.priority-high { +} +.gantt-header { + position: sticky; + top: 0; + left: 0; + right: 0; + z-index: 10; + height: var(--gantt-header-height); + border-bottom: 1px solid var(--gantt-grid-color); + user-select: none; + background-color: var(--gantt-bg-color); + pointer-events: none; + width: 100%; + overflow: hidden; +} +.gantt-header-row { + position: relative; + height: 50%; + width: 100%; +} +.gantt-header-row.primary { + border-bottom: 1px solid var(--gantt-grid-color); + font-weight: 600; +} +.gantt-header-cell { + position: absolute; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + font-size: 12px; + color: var(--text-normal); + border-right: 1px solid var(--gantt-grid-color); + box-sizing: border-box; + background-color: var(--gantt-bg-color); + pointer-events: auto; +} +.gantt-body { + position: relative; + overflow: auto; + height: 100%; + padding-top: var(--gantt-header-height); + margin-top: calc(var(--gantt-header-height) * -1); +} +.gantt-grid { + position: absolute; + top: var(--gantt-header-height); + left: 0; + height: calc(100% - var(--gantt-header-height)); + min-width: 100%; +} +.gantt-grid-column { + position: absolute; + top: 0; + height: 100%; + border-right: 1px solid var(--gantt-grid-color); + box-sizing: border-box; +} +.gantt-grid-column.today { + background-color: var(--gantt-today-color); +} +.gantt-grid-row { + position: absolute; + left: 0; + border-bottom: 1px solid var(--gantt-grid-color); + box-sizing: border-box; + background-color: var(--gantt-row-color); +} +.gantt-grid-row:nth-child(odd) { + background-color: var(--gantt-bg-color); +} +.gantt-bars { + position: absolute; + top: var(--gantt-header-height); + left: 0; + height: calc(100% - var(--gantt-header-height)); + min-width: 100%; + pointer-events: none; +} +.gantt-task-container { + position: absolute; + box-sizing: border-box; + pointer-events: auto; + cursor: pointer; + transition: transform 0.1s ease; +} +.gantt-task-container:hover { + z-index: 10; + transform: translateY(-2px); +} +.gantt-task-bar.milestone { + background-color: var(--gantt-milestone-color); + width: 15px !important; + height: 15px !important; + border-radius: 50%; + transform: rotate(45deg); + top: 50%; + margin-top: -7.5px; + left: 50%; + margin-left: -7.5px; +} +.gantt-task-progress { + position: absolute; + top: 0; + left: 0; + height: 100%; + background-color: var(--gantt-progress-color); + opacity: 0.7; +} +.gantt-task-label { + position: absolute; + left: calc(100% + 8px); + top: 0; + white-space: nowrap; + font-size: 12px; + color: var(--text-normal); + line-height: var(--gantt-bar-height); +} +.gantt-task-container.right-aligned .gantt-task-label { + left: auto; + right: calc(100% + 8px); + text-align: right; +} +@media (max-width: 680px) { + .gantt-header-cell { + font-size: 10px; + } + .gantt-task-label { + font-size: 10px; + } +} +.gantt-chart-container { + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + position: relative; +} +.gantt-header-container { + height: 40px; + flex-shrink: 0; + overflow: hidden; + position: relative; + border-bottom: 1px solid var(--background-modifier-border); + background-color: var(--background-secondary); +} +.gantt-header-svg { + display: block; +} +.gantt-header-tick-major, +.gantt-header-tick-minor, +.gantt-header-tick-day, +.gantt-header-today-marker { + stroke: var(--background-modifier-border); + stroke-width: 1; +} +.gantt-header-tick-major { + stroke-width: 1.5; +} +.gantt-header-today-marker { + stroke: var(--color-orange); + stroke-width: 1.5; + stroke-dasharray: 4, 2; +} +.gantt-header-label-major, +.gantt-header-label-minor, +.gantt-header-label-day { + font-size: var(--font-ui-small); + fill: var(--text-muted); + user-select: none; + pointer-events: none; +} +.gantt-header-label-major { + font-weight: 500; + fill: var(--text-normal); +} +.gantt-scroll-container { + flex-grow: 1; + overflow: auto; + position: relative; +} +.gantt-content-wrapper { + position: relative; + background: var(--background-primary); +} +.gantt-grid-line-major, +.gantt-grid-line-minor { + stroke: var(--background-modifier-border-hover); + stroke-width: 0.5; +} +.gantt-grid-line-major { + stroke-width: 1; +} +.gantt-grid-line-horizontal { + stroke: var(--background-modifier-border); + stroke-width: 1; +} +.gantt-grid-today-marker { + stroke: var(--color-orange); + stroke-width: 1; + stroke-dasharray: 4, 2; +} +.gantt-task-item { + cursor: pointer; +} +.gantt-task-bar { + fill: var(--color-blue); + stroke: var(--color-blue-hover); + stroke-width: 0.5; + transition: fill 0.1s ease; +} +.gantt-task-item:hover .gantt-task-bar { + fill: var(--color-accent); +} +.gantt-task-milestone { + fill: var(--color-purple); + stroke: var(--color-purple); + stroke-width: 1; + transition: fill 0.1s ease; +} +.gantt-task-item:hover .gantt-task-milestone { + fill: var(--color-accent); +} +.gantt-task-item.status-done .gantt-task-bar, +.gantt-task-item.status-done .gantt-task-milestone { + fill: var(--color-green); + stroke: var(--color-green); + opacity: 0.7; +} +.gantt-task-item.status-cancelled .gantt-task-bar, +.gantt-task-item.status-cancelled .gantt-task-milestone { + fill: var(--color-red); + stroke: var(--color-red); + opacity: 0.6; + text-decoration: line-through; +} +.gantt-task-item.status-inprogress .gantt-task-bar { +} +.gantt-task-label-fo { + pointer-events: none; + overflow: hidden; + user-select: none; +} +.gantt-task-label-markdown { + color: var(--text-on-accent); + font-size: var(--font-ui-smaller); + line-height: 1.3; + padding: 0 2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: flex; + align-items: center; + height: 100%; +} +.gantt-task-label-markdown p { + margin: 0 !important; +} +.gantt-milestone-label-container p { + margin-block-start: 0; + margin-block-end: 0; + margin-inline-start: 0; + margin-inline-end: 0; + color: var(--text-normal); + font-size: var(--font-ui-smaller); + line-height: 1.3; + padding: 0 2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: flex; + align-items: center; + height: 100%; +} +.gantt-task-item.status-done .gantt-task-label-markdown { + color: var(--text-on-accent); +} +.gantt-task-item.status-cancelled .gantt-task-label-markdown { + color: var(--text-on-accent); + text-decoration: line-through; +} +.gantt-milestone-label { + fill: var(--text-normal); +} +.gantt-filter-area { + display: flex; + align-items: center; + justify-content: flex-end; + width: 100%; + padding-left: var(--size-2-2); + padding-right: var(--size-4-2); + background-color: var(--background-primary); +} +.gantt-filter-area .filter-component { + flex: 1; +} +.gantt-offscreen-indicator { + position: absolute; + top: calc(50% + 20px); + transform: translateY(-50%); + width: 8px; + height: 8px; + background-color: rgba(128, 128, 128, 0.6); + border-radius: 50%; + z-index: 10; + pointer-events: none; + display: none; + transition: opacity 0.2s ease-in-out; + opacity: 1; +} +.gantt-offscreen-indicator[style*="display: none"] { + opacity: 0; +} +.gantt-offscreen-indicator-left { + left: 5px; +} +.gantt-offscreen-indicator-right { + right: 5px; +} +.gantt-indicator-container { + position: absolute; + top: 0; + bottom: 0; + width: var(--size-4-3); + z-index: 10; + pointer-events: none; + overflow: hidden; +} +.gantt-indicator-container-left { + left: 0; +} +.gantt-indicator-container-right { + right: 0; +} +.gantt-single-indicator { + position: absolute; + left: var(--size-2-1); + width: var(--size-4-2); + height: var(--size-4-2); + border-radius: 50%; + background-color: var(--text-faint); + pointer-events: auto; + cursor: default; +} +.gantt-single-indicator:hover { + background-color: var(--text-accent); +} +.gantt-chart-container .gantt-indicator-container { + top: calc(var(--header-height, 40px) + var(--filter-height, 0px)); + bottom: 15px; +} +.gantt-chart-container .gantt-indicator-container-right { + right: 15px; +} +.gantt-task-label p { + margin: 0; + line-height: var(--gantt-bar-height); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/* src/styles/property-view.css */ +.task-property-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + overflow: hidden; +} +.task-property-content { + display: flex; + flex-direction: row; + flex: 1; + overflow: hidden; +} +.task-property-left-column { + width: max(120px, 30%); + min-width: min(120px, 30%); + max-width: 300px; + display: flex; + flex-direction: column; + border-right: 1px solid var(--background-modifier-border); + overflow: hidden; +} +.is-phone .task-property-left-column { + max-width: 100%; +} +.task-property-right-column { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; +} +.task-property-sidebar-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + height: var(--size-4-10); +} +.task-property-sidebar-title { + font-weight: 600; + font-size: 14px; +} +.multi-select-mode .task-property-multi-select-btn { + color: var(--color-accent); +} +.task-property-multi-select-btn { + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} +.task-property-multi-select-btn:hover { + color: var(--text-normal); +} +.task-property-sidebar-list { + flex: 1; + overflow-y: auto; + padding: var(--size-4-2); +} +.task-property-list-item { + display: flex; + align-items: center; + padding: 4px 12px; + cursor: pointer; + border-radius: var(--radius-s); +} +.task-property-list-item:hover { + background-color: var(--background-modifier-hover); +} +.task-property-list-item.selected { + background-color: var(--background-modifier-active); +} +.task-property-icon { + margin-right: 8px; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; +} +.task-property-name { + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.task-property-count { + margin-left: 8px; + font-size: 0.8em; + color: var(--text-muted); + background-color: var(--background-modifier-border); + border-radius: 10px; + padding: 1px 6px; +} +.task-property-task-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-2) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + height: var(--size-4-10); +} +.task-property-task-title { + font-weight: 600; + font-size: 16px; +} +.task-property-task-count { + color: var(--text-muted); +} +.task-property-task-list { + flex: 1; + overflow-y: auto; +} +.task-property-empty-state { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); + font-style: italic; + padding: 16px; +} +.is-phone .task-property-left-column { + position: absolute; + left: 0; + top: 0; + height: 100%; + z-index: 10; + background-color: var(--background-secondary); + width: 100%; + transform: translateX(-100%); + transition: transform 0.3s ease-in-out; + border-right: 1px solid var(--background-modifier-border); +} +.is-phone .task-property-left-column.is-visible { + transform: translateX(0); +} +.is-phone .task-property-sidebar-toggle { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; +} +.is-phone .task-property-sidebar-close { + --icon-size: var(--size-4-4); + position: absolute; + top: var(--size-4-2); + right: 10px; + z-index: 15; + display: flex; + align-items: center; + justify-content: center; +} +.is-phone .task-property-container:has(.task-property-left-column.is-visible)::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--background-modifier-cover); + opacity: 0.5; + z-index: 5; + transition: opacity 0.3s ease-in-out; +} +.is-phone .task-property-container { + position: relative; + overflow: hidden; +} +.is-phone .task-property-sidebar-header:has(.task-property-sidebar-close) { + padding-right: var(--size-4-12); +} + +/* src/styles/table.css */ +.table-view-adapter { + width: 100%; + display: flex; + flex-direction: column; + gap: 0; + height: 100%; + overflow: hidden; +} +.task-table-container { + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + position: relative; + background-color: var(--background-primary); +} +.task-table { + width: 100%; + border-collapse: collapse; + table-layout: fixed; + font-size: var(--font-ui-small); + flex: 1; + min-height: 0; + min-width: max-content; +} +.task-table-wrapper { + flex: 1; + overflow: auto; + min-height: 0; + position: relative; + overflow-x: auto; + overflow-y: auto; + scroll-behavior: smooth; +} +.task-table-header { + position: sticky; + top: 0; + z-index: 10; + background-color: var(--background-secondary); + border-bottom: 2px solid var(--background-modifier-border); + min-width: max-content; +} +.task-table-header-row { + height: 40px; +} +.task-table-header-cell { + padding: 8px 12px; + text-align: left; + font-weight: 600; + color: var(--text-muted); + border-right: 1px solid var(--background-modifier-border); + position: relative; + user-select: none; + background-color: var(--background-secondary); + white-space: nowrap; +} +.task-table-header-cell:last-child { + border-right: none; +} +.task-table-header-cell.sortable { + cursor: pointer; +} +.task-table-header-cell.sortable:hover { + background-color: var(--background-modifier-hover); +} +.task-table-header-content { + display: flex; + align-items: center; + justify-content: space-between; + gap: 4px; +} +.task-table-header-title { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.task-table-sort-icon { + font-size: 12px; + opacity: 0.5; + transition: opacity 0.2s; + display: flex; + align-items: center; + width: 16px; + height: 16px; +} +.task-table-sort-icon.asc, +.task-table-sort-icon.desc { + opacity: 1; + color: var(--text-accent); +} +.task-table-resize-handle { + position: absolute; + top: 0; + right: 0; + width: 4px; + height: 100%; + cursor: col-resize; + background-color: transparent; + transition: background-color 0.2s; +} +.task-table-resize-handle:hover { + background-color: var(--text-accent); +} +.task-table-body { + background-color: var(--background-primary); +} +.task-table-row { + height: 40px; + border-bottom: 1px solid var(--background-modifier-border); + transition: background-color 0.2s; +} +.task-table-row:hover { + background-color: var(--background-modifier-hover); +} +.task-table-row.selected { + background-color: var(--background-modifier-active-hover); +} +.task-table-row:nth-child(even) { + background-color: var(--background-secondary-alt); +} +.task-table-row:nth-child(even):hover { + background-color: var(--background-modifier-hover); +} +.task-table-row:nth-child(even).selected { + background-color: var(--background-modifier-active-hover); +} +.task-table-cell { + padding: 8px 12px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.task-table-cell:last-child { + border-right: none; +} +.task-table-cell.editing { + padding: 0; +} +.task-table-tree-indent { + display: inline-flex; + align-items: center; + gap: 4px; +} +.task-table-cell:has(.task-table-expand-btn) { + padding-left: 0; +} +.task-table-row.task-table-subtask { + background-color: var(--background-secondary); +} +.task-table-expand-btn { + cursor: pointer; + user-select: none; + width: 20px; + height: 20px; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + border-radius: 2px; + font-size: 10px; + transition: background-color 0.2s; +} +.task-table-expand-btn:hover { + background-color: var(--background-modifier-hover); +} +.task-table-row-level-1 .task-table-cell:first-child { + padding-left: 32px; +} +.task-table-row-level-2 .task-table-cell:first-child { + padding-left: 52px; +} +.task-table-row-level-3 .task-table-cell:first-child { + padding-left: 72px; +} +.task-table-row-level-4 .task-table-cell:first-child { + padding-left: 92px; +} +.task-table-row-level-5 .task-table-cell:first-child { + padding-left: 112px; +} +.task-table-text { + color: var(--text-normal); +} +.task-table-number { + text-align: right; + color: var(--text-muted); + font-variant-numeric: tabular-nums; +} +.task-table-status { + display: flex; + align-items: center; + gap: 6px; +} +.task-table-status-icon { + font-size: 14px; + display: flex; + align-items: center; + width: 16px; + height: 16px; +} +.task-table-status-text { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; +} +.task-table-status.completed .task-table-status-icon { + color: var(--text-success); +} +.task-table-status.in-progress .task-table-status-icon { + color: var(--text-warning); +} +.task-table-status.abandoned .task-table-status-icon { + color: var(--text-error); +} +.task-table-status.planned .task-table-status-icon { + color: var(--text-muted); +} +.task-table-status.not-started .task-table-status-icon { + color: var(--text-faint); +} +.task-table-priority { + display: flex; + align-items: center; + gap: 6px; +} +.task-table-priority.clickable-priority { + cursor: pointer; + padding: 4px; + border-radius: 4px; + transition: background-color 0.2s; +} +.task-table-priority.clickable-priority:hover { + background-color: var(--background-modifier-hover); +} +.task-table-priority-icon { + font-size: 14px; + display: flex; + align-items: center; + width: 16px; + height: 16px; +} +.task-table-priority-icon.high { + color: var(--text-error); +} +.task-table-priority-icon.medium { + color: var(--text-warning); +} +.task-table-priority-icon.low { + color: var(--text-muted); +} +.task-table-priority-text { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; +} +.task-table-priority-empty { + color: var(--text-faint); + font-style: italic; +} +.task-table-date { + display: flex; + flex-direction: column; + gap: 2px; + cursor: pointer; + transition: background-color 0.2s; + padding: 4px; + border-radius: 4px; +} +.task-table-date:hover { + background-color: var(--background-modifier-hover); +} +.task-table-date-text { + font-size: var(--font-ui-small); + color: var(--text-normal); +} +.task-table-date-relative { + font-size: var(--font-ui-smaller); + font-weight: 500; +} +.task-table-date-relative.today { + color: var(--text-success); +} +.task-table-date-relative.tomorrow { + color: var(--text-accent); +} +.task-table-date-relative.yesterday { + color: var(--text-muted); +} +.task-table-date-relative.overdue { + color: var(--text-error); +} +.task-table-date-relative.upcoming { + color: var(--text-warning); +} +.task-table-date-empty { + color: var(--text-faint); + font-style: italic; +} +.task-table-tags { + display: flex; + flex-wrap: wrap; + gap: 4px; + align-items: center; +} +.task-table-tag-chip { + background-color: var(--background-modifier-accent); + color: var(--text-accent); + padding: 2px 6px; + border-radius: 8px; + font-size: var(--font-ui-smaller); + font-weight: 500; + white-space: nowrap; +} +.task-table-tags-empty { + color: var(--text-faint); + font-style: italic; +} +.task-table-text-input, +.task-table-tags-input { + border: none !important; + background: transparent !important; + outline: none !important; + width: 100% !important; + padding: 0 !important; + font: inherit !important; + color: var(--text-normal) !important; +} +.task-table-text-input:focus, +.task-table-tags-input:focus { + background-color: var(--background-modifier-form-field) !important; + border-radius: 3px !important; + padding: 2px 4px !important; +} +.task-count-icon { + font-size: 16px; + display: flex; + align-items: center; + width: 16px; + height: 16px; +} +.task-table-empty-row { + height: 80px; +} +.task-table-empty-cell { + text-align: center; + color: var(--text-muted); + font-style: italic; + vertical-align: middle; +} +.task-table-loading { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + padding: 20px; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 8px; + color: var(--text-muted); + font-size: var(--font-ui-small); + z-index: 100; +} +.task-table.resizing { + user-select: none; +} +.task-table.resizing * { + cursor: col-resize !important; +} +.virtual-scroll-spacer { + pointer-events: none; + visibility: hidden; +} +@media (max-width: 768px) { + .task-table-container { + font-size: var(--font-ui-smaller); + } + .task-table-wrapper { + overflow-x: auto; + } + .task-table { + min-width: 800px; + } + .task-table-header-cell, + .task-table-cell { + padding: 6px 8px; + } + .task-table-row { + height: 36px; + } + .task-table-header-row { + height: 36px; + } +} +.theme-dark .task-table-container { + border-color: var(--background-modifier-border); +} +.theme-dark .task-table-row:nth-child(even) { + background-color: var(--background-primary-alt); +} +@media (prefers-contrast: high) { + .task-table-container { + border-width: 2px; + } + .task-table-header-cell, + .task-table-cell { + border-width: 1px; + } + .task-table-row { + border-bottom-width: 1px; + } +} +@media print { + .task-table-container { + border: none; + overflow: visible; + height: auto; + } + .task-table-header { + position: static; + } + .task-table-resize-handle { + display: none; + } + .task-table-expand-btn { + display: none; + } +} +.virtual-scroll-spacer-top { + pointer-events: none; +} +.virtual-scroll-spacer-top td { + padding: 0 !important; + border: none !important; + background: transparent !important; +} +.task-table-context-menu { + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + z-index: 1000; + min-width: 120px; +} +.task-table-context-menu-item { + padding: 6px 12px; + cursor: pointer; + transition: background-color 0.1s ease; +} +.task-table-context-menu-item:hover { + background-color: var(--background-modifier-hover); +} +.task-table-date-input { + cursor: pointer; + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + padding: 4px 8px; + width: 100%; +} +.task-table-date-input:hover { + border-color: var(--background-modifier-border-hover); +} +.task-table-date-input:focus { + border-color: var(--interactive-accent); + outline: none; +} +.task-table-project-input, +.task-table-context-input, +.task-table-tags-input { + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + padding: 4px 8px; + width: 100%; +} +.task-table-project-input:focus, +.task-table-context-input:focus, +.task-table-tags-input:focus { + border-color: var(--interactive-accent); + outline: none; +} +.task-table-row.selected { + background-color: var(--background-modifier-hover); +} +.task-table-row:hover { + background-color: var(--background-modifier-hover-weak); +} +@media (max-width: 768px) { + .task-table { + font-size: 0.9em; + } + th[data-column-id=rowNumber] { + max-width: 40px !important; + min-width: 40px !important; + width: 40px !important; + } + .task-table-tree-container { + gap: 0 !important; + } + .task-table-expand-btn { + margin-right: 0 !important; + } + td[data-column-id=rowNumber] { + max-width: 40px !important; + min-width: 40px !important; + width: 40px !important; + } + .task-table-header-cell, + .task-table-cell { + padding: 6px 4px; + } +} +.task-table-header-bar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 6px 8px; + background-color: var(--background-secondary); + border-bottom: 1px solid var(--background-modifier-border); + border-radius: 6px 6px 0 0; + margin-bottom: 0; + flex-shrink: 0; + min-height: 40px; +} +.table-header-left { + display: flex; + align-items: center; + gap: 12px; +} +.table-header-right { + display: flex; + align-items: center; + gap: 8px; +} +.task-count-container { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 12px; + background-color: var(--background-primary); + border-radius: 4px; + border: 1px solid var(--background-modifier-border); +} +.task-count-text { + font-size: var(--font-ui-small); + font-weight: 500; + color: var(--text-normal); +} +.table-controls-container { + display: flex; + align-items: center; + gap: 8px; +} +.table-control-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 12px; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + cursor: pointer; + font-size: var(--font-ui-small); + color: var(--text-normal); + transition: all 0.2s ease; + box-shadow: unset !important; +} +.table-control-btn:hover { + background-color: var(--background-modifier-hover); +} +.table-control-btn:active { + background-color: var(--background-modifier-active); +} +.tree-mode-btn.active { + background-color: var(--text-accent); + color: var(--text-on-accent); + border-color: var(--text-accent); +} +.tree-mode-icon, +.refresh-icon, +.column-icon { + font-size: 14px; + display: flex; + align-items: center; + justify-content: center; +} +.tree-mode-text, +.refresh-text, +.column-text { + font-weight: 500; +} +.dropdown-arrow { + font-size: 10px; + transition: transform 0.2s ease; +} +.column-dropdown { + position: relative; +} +.column-dropdown-menu { + position: absolute; + top: 100%; + right: 0; + margin-top: 4px; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + box-shadow: var(--shadow-l); + z-index: 1000; + min-width: 200px; + max-height: 300px; + overflow-y: auto; +} +.column-toggle-item { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + cursor: pointer; + transition: background-color 0.2s ease; +} +.column-toggle-item:hover { + background-color: var(--background-modifier-hover); +} +.column-toggle-checkbox { + margin: 0; + cursor: pointer; +} +.column-toggle-label { + flex: 1; + font-size: var(--font-ui-small); + color: var(--text-normal); + cursor: pointer; + margin: 0; +} +@media (max-width: 768px) { + .task-table-header-bar { + flex-direction: column; + gap: 12px; + align-items: stretch; + } + .table-header-left { + display: none; + } + .table-header-left, + .table-header-right { + justify-content: center; + } + .table-controls-container { + justify-content: center; + flex-wrap: wrap; + } + .table-control-btn { + flex: 1; + min-width: 100px; + justify-content: center; + } + .column-dropdown-menu { + right: auto; + left: 0; + width: 100%; + } +} +.theme-dark .task-table-header-bar { + background-color: var(--background-secondary-alt); +} +.theme-dark .column-dropdown-menu { + background-color: var(--background-primary-alt); + border-color: var(--background-modifier-border-hover); +} +.custom-suggest-dropdown { + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + box-shadow: var(--shadow-l); + z-index: 1000; + position: absolute; + max-height: 200px; + overflow-y: auto; + min-width: 150px; +} +.custom-suggest-dropdown .suggestion-item { + padding: 8px 12px; + cursor: pointer; + border-bottom: 1px solid var(--background-modifier-border); + transition: background-color 0.2s; + font-size: var(--font-ui-small); + color: var(--text-normal); +} +.custom-suggest-dropdown .suggestion-item:last-child { + border-bottom: none; +} +.custom-suggest-dropdown .suggestion-item:hover, +.custom-suggest-dropdown .suggestion-item.selected { + background-color: var(--background-modifier-hover); +} +.custom-suggest-dropdown .suggestion-item.selected { + color: var(--text-accent); +} +.task-table-subtask { + border-left: 2px solid var(--background-modifier-border-hover); +} +.task-table-parent .task-table-cell:first-child { + font-weight: 500; +} +.task-table-subtask-cell { + border-left: 1px solid var(--background-modifier-border-focus); +} +.task-table-tree-container { + display: flex; + align-items: center; + gap: 6px; + width: 100%; +} +.task-table-tree-structure { + display: flex; + align-items: center; + gap: 2px; + flex-shrink: 0; +} +.task-table-tree-line { + font-family: monospace; + font-size: 12px; + color: var(--text-faint); + line-height: 1; + width: 16px; + text-align: center; +} +.task-table-tree-connector { + color: var(--text-muted); +} +.task-table-tree-vertical { + color: var(--text-faint); +} +.task-table-subtask-indicator { + font-size: 10px; + color: var(--text-accent); + margin-right: 6px; + margin-left: 4px; + flex-shrink: 0; + font-weight: bold; +} +.task-table-top-level-expand { + margin-right: 6px; +} +.task-table-content-wrapper { + flex: 1; + min-width: 0; +} +.task-table-child-indicator { + font-size: 10px; + color: var(--text-muted); + margin-left: 6px; + flex-shrink: 0; +} +.task-table-status.clickable-status { + cursor: pointer; + padding: 4px; + border-radius: 4px; + transition: background-color 0.2s; +} +.task-table-status.clickable-status:hover { + background-color: var(--background-modifier-hover); +} +.task-table-priority-icon.highest { + color: var(--text-error); + filter: brightness(1.2); +} +.task-table-priority-icon.lowest { + color: var(--text-faint); +} +.task-table-expand-btn.clickable-icon { + opacity: 0.7; + transition: opacity 0.2s, background-color 0.2s; +} +.task-table-expand-btn.clickable-icon:hover { + opacity: 1; +} +.task-table-row-level-1 .task-table-cell:first-child, +.task-table-row-level-2 .task-table-cell:first-child, +.task-table-row-level-3 .task-table-cell:first-child, +.task-table-row-level-4 .task-table-cell:first-child, +.task-table-row-level-5 .task-table-cell:first-child { + padding-left: 12px; +} + +/* src/styles/quadrant/quadrant.css */ +.tg-quadrant-component-container { + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; + background: var(--background-primary); + width: 100%; +} +.tg-quadrant-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--size-4-3) var(--size-4-4); + background: var(--background-primary); + flex-shrink: 0; +} +.tg-quadrant-title { + font-size: var(--font-ui-medium); + font-weight: var(--font-semibold); + color: var(--text-normal); + margin: 0; +} +.tg-quadrant-controls { + display: flex; + align-items: center; + gap: var(--size-2-3); +} +.tg-quadrant-sort-select { + padding: var(--size-2-2) var(--size-2-3); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background: var(--background-primary); + color: var(--text-normal); + font-size: var(--font-ui-small); + cursor: pointer; + transition: border-color 0.2s ease; +} +.tg-quadrant-sort-select:hover { + border-color: var(--background-modifier-border-hover); +} +.tg-quadrant-sort-select:focus { + border-color: var(--color-accent); + outline: none; +} +.tg-quadrant-toggle-empty { + padding: var(--size-2-2); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background: var(--background-primary); + color: var(--text-muted); + cursor: pointer; + transition: all 0.2s ease; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; +} +.tg-quadrant-toggle-empty:hover { + background: var(--background-modifier-hover); + color: var(--text-normal); + border-color: var(--background-modifier-border-hover); +} +.tg-quadrant-filter-container { + flex-shrink: 0; + border-bottom: 1px solid var(--background-modifier-border); +} +.tg-quadrant-grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 1fr 1fr; + gap: 1px; + flex: 1; + background: var(--background-modifier-border); + overflow: hidden; +} +.tg-quadrant-column { + display: flex; + flex-direction: column; + background: var(--background-primary); + min-height: 0; + overflow: hidden; + position: relative; +} +.tg-quadrant-column--hidden { + display: none; +} +.tg-quadrant-column .tg-quadrant-header { + padding: var(--size-4-2) var(--size-4-3); + background: var(--background-secondary); + border-bottom: 1px solid var(--background-modifier-border); + flex-shrink: 0; + position: relative; + min-height: var(--size-4-12); +} +.tg-quadrant-title-container { + display: flex; + align-items: center; + gap: var(--size-2-2); + margin-bottom: var(--size-2-1); +} +.tg-quadrant-priority { + font-size: var(--font-ui-medium); + line-height: 1; + opacity: 0.8; +} +.tg-quadrant-column .tg-quadrant-title { + font-size: var(--font-ui-small); + font-weight: var(--font-semibold); + color: var(--text-normal); + margin: 0; +} +.tg-quadrant-description { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + margin-bottom: var(--size-2-2); + line-height: 1.3; +} +.tg-quadrant-count { + font-size: var(--font-ui-smaller); + color: var(--text-faint); + background: var(--background-modifier-border); + padding: var(--size-2-1) var(--size-2-2); + border-radius: var(--radius-s); + font-weight: var(--font-medium); +} +.tg-quadrant-column-content { + flex: 1; + overflow-y: auto; + padding: var(--size-2-3); + min-height: 100px; +} +.tg-quadrant-column-content::-webkit-scrollbar { + width: 8px; +} +.tg-quadrant-column-content::-webkit-scrollbar-track { + background: transparent; +} +.tg-quadrant-column-content::-webkit-scrollbar-thumb { + background: var(--background-modifier-border); + border-radius: var(--radius-s); +} +.tg-quadrant-column-content::-webkit-scrollbar-thumb:hover { + background: var(--background-modifier-border-hover); +} +.tg-quadrant-column-content--drop-active { + background: var(--background-modifier-hover); + border: 2px dashed var(--color-accent); + border-radius: var(--radius-m); +} +.quadrant-urgent-important .tg-quadrant-header::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + background: var(--text-error); + opacity: 0.6; +} +.quadrant-not-urgent-important .tg-quadrant-header::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + background: var(--color-accent); + opacity: 0.6; +} +.quadrant-urgent-not-important .tg-quadrant-header::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + background: var(--text-warning); + opacity: 0.6; +} +.quadrant-not-urgent-not-important .tg-quadrant-header::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + background: var(--text-muted); + opacity: 0.4; +} +.tg-quadrant-card { + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + margin-bottom: var(--size-2-3); + padding: var(--size-4-2); + cursor: pointer; + transition: all 0.15s ease; + position: relative; +} +.tg-quadrant-card:hover { + background: var(--background-modifier-hover); + border-color: var(--background-modifier-border-hover); + transform: translateY(-1px); + box-shadow: var(--shadow-s); +} +.tg-quadrant-card:active { + transform: translateY(0); +} +.tg-quadrant-card:last-child { + margin-bottom: 0; +} +.tg-quadrant-card-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: var(--size-2-2); + gap: var(--size-2-2); +} +.tg-quadrant-card-checkbox { + flex-shrink: 0; + margin-top: 2px; +} +.tg-quadrant-card-actions { + flex-shrink: 0; + opacity: 0; + transition: opacity 0.2s ease; +} +.tg-quadrant-card:hover .tg-quadrant-card-actions { + opacity: 1; +} +.tg-quadrant-card-more-btn { + background: none; + border: none; + padding: var(--size-2-1); + border-radius: var(--radius-s); + color: var(--text-muted); + cursor: pointer; + transition: all 0.2s ease; + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; +} +.tg-quadrant-card-more-btn:hover { + background: var(--background-modifier-hover); + color: var(--text-normal); +} +.tg-quadrant-card-content { + margin-bottom: var(--size-2-2); +} +.tg-quadrant-card-title { + font-size: var(--font-ui-small); + line-height: 1.4; + color: var(--text-normal); + margin-bottom: var(--size-2-1); + word-wrap: break-word; + font-weight: var(--font-normal); +} +.tg-quadrant-card-priority { + font-size: var(--font-ui-small); + margin-left: var(--size-2-1); + opacity: 0.8; +} +.tg-quadrant-card-tags { + display: flex; + flex-wrap: wrap; + gap: var(--size-2-1); + margin-top: var(--size-2-2); +} +.tg-quadrant-card-tag { + background: var(--background-modifier-border); + color: var(--text-muted); + padding: var(--size-2-1) var(--size-2-2); + border-radius: var(--radius-s); + font-size: var(--font-ui-smaller); + font-weight: var(--font-medium); + border: 1px solid transparent; + transition: all 0.2s ease; +} +.tg-quadrant-card-tag:hover { + background: var(--background-modifier-hover); + color: var(--text-normal); +} +.tg-quadrant-tag--urgent { + background: var(--background-modifier-error); + color: var(--text-error); + border-color: var(--text-error); +} +.tg-quadrant-tag--important { + background: var(--background-modifier-accent); + color: var(--text-accent); + border-color: var(--color-accent); +} +.tg-quadrant-card-metadata { + display: flex; + align-items: center; + justify-content: space-between; + font-size: var(--font-ui-smaller); + color: var(--text-faint); + gap: var(--size-2-2); +} +.tg-quadrant-card-due-date { + display: flex; + align-items: center; + gap: var(--size-2-1); + background: var(--background-modifier-border); + padding: var(--size-2-1) var(--size-2-2); + border-radius: var(--radius-s); + font-weight: var(--font-medium); +} +.tg-quadrant-card-due-date-icon { + width: 12px; + height: 12px; + opacity: 0.7; +} +.tg-quadrant-card-due-date--urgent { + color: var(--text-warning); +} +.tg-quadrant-card-due-date--overdue { + color: var(--text-error); +} +.tg-quadrant-card-file-info { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--size-4-2); + opacity: 0.7; + transition: opacity 0.2s ease; +} +.tg-quadrant-card:hover .tg-quadrant-card-file-info { + opacity: 1; +} +.tg-quadrant-card-file-icon { + width: 12px; + height: 12px; +} +.tg-quadrant-card-file-name { + font-size: var(--font-ui-smaller); + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tg-quadrant-card-line { + color: var(--text-faint); + font-size: var(--font-ui-smaller); + opacity: 0.6; + font-weight: var(--font-medium); +} +.tg-quadrant-card--priority-highest { + border-left: 3px solid var(--text-error); +} +.tg-quadrant-card--priority-high { + border-left: 3px solid var(--text-warning); +} +.tg-quadrant-card--priority-medium { + border-left: 3px solid var(--color-accent); +} +.tg-quadrant-card--priority-low { + border-left: 3px solid var(--text-success); +} +.tg-quadrant-card--priority-lowest { + border-left: 3px solid var(--text-muted); +} +.tg-quadrant-card--ghost { + opacity: 0.4; + background: var(--background-modifier-border); + border: 2px dashed var(--color-accent); +} +.tg-quadrant-card--dragging { + box-shadow: var(--shadow-l); +} +.tg-quadrant-card--chosen { + background: var(--background-modifier-hover); + border-color: var(--color-accent); + box-shadow: var(--shadow-s); +} +.tg-quadrant-card--drag { + box-shadow: var(--shadow-l); + z-index: 1000; + border-color: var(--color-accent); +} +.tg-quadrant-empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 120px; + color: var(--text-faint); + text-align: center; + padding: var(--size-4-4); + opacity: 0.8; +} +.tg-quadrant-empty-icon { + width: 32px; + height: 32px; + margin-bottom: var(--size-2-3); + opacity: 0.5; + color: var(--text-faint); +} +.tg-quadrant-empty-message { + font-size: var(--font-ui-small); + line-height: 1.4; + font-weight: var(--font-medium); +} +@media (max-width: 768px) { + .tg-quadrant-grid { + grid-template-columns: 1fr; + grid-template-rows: repeat(4, 1fr); + } + .tg-quadrant-header { + padding: var(--size-2-3) var(--size-4-2); + } + .tg-quadrant-column .tg-quadrant-header { + padding: var(--size-2-3) var(--size-4-2); + } + .tg-quadrant-card { + padding: var(--size-2-3); + } + .tg-quadrant-card-title { + font-size: var(--font-ui-smaller); + } + .tg-quadrant-controls { + gap: var(--size-2-2); + } +} +.tg-quadrant-card:focus { + outline: 2px solid var(--color-accent); + outline-offset: 2px; +} +.tg-quadrant-card-more-btn:focus { + outline: 2px solid var(--color-accent); + outline-offset: 2px; +} +@keyframes cardComplete { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.05); + } + 100% { + transform: scale(1); + } +} +.tg-quadrant-card--completed { + animation: cardComplete 0.3s ease-in-out; +} +.tg-quadrant-card:hover .tg-quadrant-card-title { + color: var(--text-normal); +} +.tg-quadrant-card:hover .tg-quadrant-card-priority { + opacity: 1; +} +.tg-quadrant-card-content { + position: relative; +} +.tg-quadrant-loading { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 2rem; + color: var(--text-muted); + min-height: 100px; +} +.tg-quadrant-loading-spinner { + margin-bottom: 1rem; +} +.tg-quadrant-spinner { + width: 24px; + height: 24px; + color: var(--color-accent); +} +.tg-quadrant-loading-message { + font-size: 0.9rem; + opacity: 0.7; +} +.tg-quadrant-dragging { + cursor: grabbing !important; +} +.tg-quadrant-dragging * { + pointer-events: none; +} +.tg-quadrant-card--ghost { + opacity: 0.4; + background: var(--background-modifier-border); + border: 2px dashed var(--color-accent); +} +.tg-quadrant-card--chosen { + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); + transform: scale(1.02); + z-index: 1000; + background: var(--background-primary); + border: 2px solid var(--color-accent); +} +.tg-quadrant-card--drag { + opacity: 0.8; + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2); +} +.tg-quadrant-card--fallback { + opacity: 0.9; + background: var(--background-primary); + border: 2px solid var(--color-accent); + border-radius: var(--radius-m); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); +} +.tg-quadrant-column--drag-target { + background: var(--background-modifier-hover); + border: 2px dashed var(--color-accent); + border-radius: var(--radius-m); +} +.tg-quadrant-column-content--drop-active { + background: var(--background-modifier-active-hover); + border: 2px dashed var(--color-accent); + border-radius: var(--radius-s); + min-height: 60px; + position: relative; +} +.tg-quadrant-column-content--drop-active::before { + content: "Drop task here"; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: var(--color-accent); + font-size: 0.9rem; + font-weight: 500; + opacity: 0.7; + pointer-events: none; + z-index: 1; +} +.tg-quadrant-update-feedback { + position: fixed; + top: 20px; + right: 20px; + z-index: 10000; + opacity: 0; + transform: translateX(100%); + transition: all 0.3s ease; + pointer-events: none; +} +.tg-quadrant-feedback--show { + opacity: 1; + transform: translateX(0); +} +.tg-quadrant-feedback--hide { + opacity: 0; + transform: translateX(100%); +} +.tg-quadrant-feedback-content { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.75rem 1rem; + background: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + min-width: 200px; +} +.tg-quadrant-feedback--error .tg-quadrant-feedback-content { + background: var(--background-modifier-error); + border-color: var(--text-error); + color: var(--text-error); +} +.tg-quadrant-feedback-icon { + font-size: 1.2rem; + flex-shrink: 0; +} +.tg-quadrant-feedback-text { + font-size: 0.9rem; + font-weight: 500; +} +.tg-quadrant-card { + transition: all 0.2s ease; + cursor: grab; +} +.tg-quadrant-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); +} +.tg-quadrant-card:active { + cursor: grabbing; +} +.tg-quadrant-empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 2rem 1rem; + text-align: center; + color: var(--text-muted); + min-height: 120px; + border: 2px dashed var(--background-modifier-border); + border-radius: var(--radius-m); + margin: 0.5rem 0; +} +.tg-quadrant-empty-icon { + margin-bottom: 0.75rem; + opacity: 0.5; +} +.tg-quadrant-empty-message { + font-size: 0.9rem; + line-height: 1.4; + max-width: 200px; +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.tg-quadrant-spinner circle { + animation: spin 2s linear infinite; + transform-origin: center; +} +@media (max-width: 768px) { + .tg-quadrant-update-feedback { + top: 10px; + right: 10px; + left: 10px; + transform: translateY(-100%); + } + .tg-quadrant-feedback--show { + transform: translateY(0); + } + .tg-quadrant-feedback--hide { + transform: translateY(-100%); + } + .tg-quadrant-feedback-content { + min-width: auto; + width: 100%; + } +} +.theme-dark .tg-quadrant-card--chosen { + background: var(--background-primary-alt); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); +} +.theme-dark .tg-quadrant-card--fallback { + background: var(--background-primary-alt); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); +} +.theme-dark .tg-quadrant-feedback-content { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); +} +@media (prefers-reduced-motion: reduce) { + .tg-quadrant-card, + .tg-quadrant-update-feedback, + .tg-quadrant-card--chosen, + .tg-quadrant-card--drag { + transition: none; + animation: none; + } + .tg-quadrant-spinner circle { + animation: none; + } +} +.tg-quadrant-scroll-container { + flex: 1; + overflow-y: auto; + overflow-x: hidden; + max-height: 70vh; + scrollbar-width: thin; + scrollbar-color: var(--background-modifier-border) transparent; +} +.tg-quadrant-scroll-container::-webkit-scrollbar { + width: 6px; +} +.tg-quadrant-scroll-container::-webkit-scrollbar-track { + background: transparent; +} +.tg-quadrant-scroll-container::-webkit-scrollbar-thumb { + background: var(--background-modifier-border); + border-radius: 3px; +} +.tg-quadrant-scroll-container::-webkit-scrollbar-thumb:hover { + background: var(--background-modifier-border-hover); +} +.tg-quadrant-load-more { + display: flex; + 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-spinner { + margin-bottom: 0.5rem; +} +.tg-quadrant-load-more-message { + font-size: 0.8rem; + opacity: 0.7; +} +.tg-quadrant-column { + display: flex; + flex-direction: column; + height: 100%; + min-height: 400px; + max-height: 80vh; +} +.tg-quadrant-column-content { + flex: 1; + display: flex; + flex-direction: column; + gap: 0.5rem; + padding: 0.5rem; +} +.tg-quadrant-scroll-container { + scroll-behavior: smooth; +} +.tg-quadrant-column.loading-more .tg-quadrant-load-more { + opacity: 1; + pointer-events: none; +} +.tg-quadrant-load-more { + min-height: 40px; + transition: opacity 0.2s ease; +} +.tg-quadrant-column-content:empty::before { + content: ""; + display: block; + min-height: 100px; +} +.tg-quadrant-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + height: calc(100vh - 200px); + min-height: 400px; +} +@media (max-width: 1200px) { + .tg-quadrant-scroll-container { + max-height: 60vh; + } + .tg-quadrant-column { + max-height: 70vh; + } +} +@media (max-width: 768px) { + .tg-quadrant-scroll-container { + max-height: 50vh; + } + .tg-quadrant-column { + max-height: 60vh; + min-height: 300px; + } + .tg-quadrant-grid { + grid-template-columns: 1fr; + height: auto; + } +} +.tg-quadrant-column-content { + contain: layout style; + will-change: contents; +} +.tg-quadrant-card { + contain: layout style paint; +} +.tg-quadrant-scroll-container.has-scroll::before { + content: ""; + position: sticky; + top: 0; + height: 1px; + background: linear-gradient(to bottom, var(--background-primary), transparent); + z-index: 1; +} +.tg-quadrant-scroll-container.has-scroll::after { + content: ""; + position: sticky; + bottom: 0; + height: 1px; + background: linear-gradient(to top, var(--background-primary), transparent); + z-index: 1; +} + +/* src/styles/habit.css */ +.tg-habit-component-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1rem; + height: 100%; + overflow-y: auto; +} +.habit-list-container { + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + gap: 1rem; + width: 100%; +} +@media screen and (max-width: 480px) { + .habit-list-container { + padding: 0.5rem; + gap: 0.75rem; + } +} +@media screen and (min-width: 768px) { + .habit-list-container { + margin-left: auto; + margin-right: auto; + max-width: 400px; + display: flex; + flex-direction: column; + } +} +@media screen and (min-width: 1024px) { + .habit-list-container { + max-width: 500px; + } +} +.habit-card-wrapper { + width: 100%; + min-height: fit-content; +} +.habit-card { + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + background-color: var(--background-secondary); + color: var(--text-normal); + overflow: hidden; + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + min-height: fit-content; +} +.habit-card .card-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; + gap: 0.5rem; +} +.habit-card .card-title { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: var(--font-ui-large); + font-weight: 600; + flex-grow: 1; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.habit-name.habit-name:hover { + text-decoration: underline; + cursor: pointer; +} +.habit-card .card-content-wrapper { + padding: 0.75rem 1rem; + flex-grow: 1; +} +.daily-habit-card .card-header { +} +.daily-habit-card .habit-checkbox-container { +} +.daily-habit-card .habit-checkbox { + --checkbox-size: 1.25rem; + cursor: pointer; + accent-color: var(--interactive-accent); +} +.daily-habit-card .card-content-wrapper { + padding: 0rem 1rem 0.75rem; +} +.count-habit-card .card-content-wrapper { + display: flex; + flex-direction: column; + gap: 0.75rem; + align-items: center; +} +.count-habit-card .habit-icon-button { + --icon-size: 2rem; + height: 4rem; + width: 4rem; + aspect-ratio: 1; + padding: 0; + cursor: pointer; + border-radius: var(--radius-s); + display: flex; + justify-content: center; + align-items: center; + font-size: 1.5rem; +} +.count-habit-card .habit-icon-button { + color: var(--icon-color); +} +.count-habit-card .habit-icon-button:hover { + background-color: var(--background-secondary); +} +.count-habit-card .habit-card-name { + font-size: var(--font-ui-large); + font-weight: 600; +} +.count-habit-card .habit-active-day { + font-size: var(--font-ui-small); + color: var(--text-muted); + font-weight: 400; +} +.count-habit-card .habit-info { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + flex-grow: 1; +} +.count-habit-card .habit-info h3 { + font-size: var(--font-ui-large); + font-weight: 600; +} +.count-habit-card .habit-progress-area { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; +} +@media (min-width: 640px) { + .count-habit-card .card-content-wrapper { + flex-direction: row; + align-items: center; + gap: 1rem; + } + .count-habit-card .habit-progress-area { + width: auto; + min-width: 150px; + align-items: flex-end; + } + .count-habit-card .habit-heatmap-small { + width: 100%; + } +} +.scheduled-habit-card .card-header { + padding-bottom: 0.5rem; +} +.scheduled-habit-card .card-content-wrapper { + display: flex; + flex-direction: column; + gap: 0.75rem; + align-items: center; +} +.scheduled-habit-card .habit-heatmap-medium { + width: 100%; +} +.scheduled-habit-card .habit-controls { + width: 100%; + display: flex; + flex-direction: column; + gap: 0.5rem; + align-items: center; +} +.scheduled-habit-card .habit-event-dropdown { + width: auto; + margin-bottom: 0.5rem; + width: 100%; +} +@media (min-width: 640px) { + .scheduled-habit-card .card-content-wrapper { + flex-direction: row; + align-items: flex-start; + justify-content: space-between; + } + .scheduled-habit-card .habit-heatmap-medium { + width: auto; + flex-grow: 1; + margin-right: 1rem; + } + .scheduled-habit-card .habit-controls { + width: auto; + min-width: 150px; + align-items: flex-start; + } +} +.mapping-habit-card .card-header { + padding-bottom: 0.5rem; +} +.mapping-habit-card .card-content-wrapper { + display: flex; + flex-direction: column; + gap: 0.75rem; + align-items: center; + padding-top: 0; + padding-bottom: 1.2rem; +} +.mapping-habit-card .habit-heatmap-medium { + width: 100%; +} +.mapping-habit-card .habit-controls { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; +} +.mapping-habit-card .habit-mapping-button { + display: flex; + justify-content: center; + align-items: center; + font-size: 1.75rem; + padding: 0.5rem; + width: 100%; + max-width: 100px; + height: 3.5rem; + border: 1px solid var(--button-secondary-border-color); + background-color: var(--button-secondary-bg); + color: var(--text-normal); + cursor: pointer; + border-radius: var(--radius-s); +} +.mapping-habit-card .habit-mapping-button:hover { + background-color: var(--button-secondary-hover-bg); +} +.mapping-habit-card .habit-slider-setting { + width: 100%; + max-width: 200px; +} +.mapping-habit-card .habit-slider-setting .setting-item-info { + display: none; +} +.mapping-habit-card .habit-slider-setting .setting-item { + width: 100%; + padding: 0; + border: none; +} +.mapping-habit-card .habit-slider-setting .setting-item-control { + width: 100%; +} +.mapping-habit-card .heatmap-md .heatmap-container-simple { + gap: 0.5rem; +} +@media (min-width: 640px) { + .mapping-habit-card .card-content-wrapper { + flex-direction: row; + align-items: center; + justify-content: space-between; + } + .mapping-habit-card .habit-heatmap-medium { + width: auto; + flex-grow: 1; + margin-right: 1rem; + } + .mapping-habit-card .habit-controls { + width: auto; + min-width: 80px; + flex-direction: column; + align-items: center; + gap: 0.75rem; + } + .mapping-habit-card .habit-mapping-button { + width: 4rem; + height: 4rem; + } + .mapping-habit-card .habit-slider-setting { + width: 100%; + max-width: none; + } +} +.habit-progress-container { + width: 100%; + height: 0.75rem; + background-color: var(--background-modifier-border); + border-radius: var(--radius-l); + overflow: hidden; + position: relative; +} +.habit-progress-bar { + height: 100%; + background-color: var(--interactive-accent); + border-radius: var(--radius-l); + transition: width 0.3s ease-in-out; +} +.habit-progress-container.filled .habit-progress-text { + mix-blend-mode: unset; +} +.habit-progress-text { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.6rem; + line-height: 1; + color: var(--text-on-accent); + mix-blend-mode: difference; + font-weight: 500; +} +.tg-heatmap-root { + width: 100%; +} +.heatmap-sm .heatmap-container-simple { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 3px; + overflow-x: auto; + padding-bottom: 2px; +} +.heatmap-md .heatmap-container-simple { + display: grid; + grid-template-columns: repeat(6, 1fr); + gap: 3px; + overflow-x: auto; + padding-bottom: 2px; + justify-items: center; +} +.heatmap-lg .heatmap-container-simple { + display: grid; + grid-template-columns: repeat(10, 1fr); + gap: var(--size-4-2); + overflow-x: auto; + padding-bottom: 2px; + justify-items: center; +} +.heatmap-cell { + border-radius: var(--radius-s); + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + flex-shrink: 0; + background-color: var( --background-modifier-border ); + border: 1px solid transparent; +} +.heatmap-cell-square { +} +.heatmap-cell-dot { + border-radius: 50%; +} +.heatmap-sm .heatmap-cell { + width: 0.75rem; + height: 0.75rem; +} +.habit-heatmap-medium .heatmap-md .heatmap-cell { + width: 1.4rem; + height: 1.4rem; + font-size: 0.7rem; +} +.heatmap-md .heatmap-cell { + width: 1.1rem; + height: 1.1rem; + font-size: 0.7rem; +} +.heatmap-lg .heatmap-cell { + width: 1.25rem; + height: 1.25rem; + font-size: 0.75rem; +} +.heatmap-cell.default { +} +.heatmap-cell.filled { + background-color: var(--interactive-accent); + color: var(--text-on-accent); +} +.heatmap-cell.has-custom-content:has(.pie-dot-container) { + background: transparent; + border: unset; +} +.heatmap-cell.has-custom-content, +.heatmap-cell.has-text-content { + background-color: var(--background-secondary); + border-color: var(--background-modifier-border); + color: var(--text-normal); +} +.heatmap-cell.has-text-content { + line-height: 1; +} +.pie-dot-container { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +.pie-dot-container svg { + display: block; +} +.habit-empty-state { + text-align: center; + padding: 2rem 1rem; + color: var(--text-muted); +} +.habit-empty-state h2 { + font-size: var(--font-ui-large); + font-weight: 600; + margin-bottom: 0.5rem; +} +.habit-empty-state p { + font-size: var(--font-ui-normal); + color: var(--text-faint); +} +.habit-icon { + display: inline-block; + height: 1em; + line-height: 1; + text-align: center; + color: var(--text-muted); + font-style: italic; + margin-right: 0.25em; + --icon-size: 1.5rem; +} + +/* src/styles/global.css */ +:root { + --task-completed-color: #4caf50; + --task-doing-color: #80dee5; + --task-in-progress-color: #f9d923; + --task-abandoned-color: #eb5353; + --task-planned-color: #9c27b0; + --task-question-color: #2196f3; + --task-important-color: #f44336; + --task-star-color: #ffc107; + --task-quote-color: #607d8b; + --task-location-color: #795548; + --task-bookmark-color: #ff9800; + --task-information-color: #00bcd4; + --task-idea-color: #9c27b0; + --task-pros-color: #4caf50; + --task-cons-color: #f44336; + --task-fire-color: #ff5722; + --task-key-color: #ffd700; + --task-win-color: #66bb6a; + --task-up-color: #4caf50; + --task-down-color: #f44336; + --task-note-color: #9e9e9e; + --task-amount-color: #8bc34a; + --task-speech-color: #03a9f4; + --progress-0-color: #ae431e; + --progress-25-color: #e5890a; + --progress-50-color: #b4c6a6; + --progress-75-color: #6bcb77; + --progress-100-color: #4d96ff; + --progress-background-color: #f1f1f1; +} +.theme-dark { + --task-completed-color: #4caf50; + --task-doing-color: #379fa7; + --task-in-progress-color: #ffc107; + --task-abandoned-color: #f44336; + --task-planned-color: #ce93d8; + --task-question-color: #42a5f5; + --task-important-color: #ef5350; + --task-star-color: #ffd54f; + --task-quote-color: #90a4ae; + --task-location-color: #8d6e63; + --task-bookmark-color: #ffb74d; + --task-information-color: #26c6da; + --task-idea-color: #ce93d8; + --task-pros-color: #66bb6a; + --task-cons-color: #ef5350; + --task-fire-color: #ff7043; + --task-key-color: #ffd700; + --task-win-color: #81c784; + --task-up-color: #66bb6a; + --task-down-color: #ef5350; + --task-note-color: #bdbdbd; + --task-amount-color: #aed581; + --task-speech-color: #29b6f6; + --progress-0-color: #ae431e; + --progress-25-color: #e5890a; + --progress-50-color: #b4c6a6; + --progress-75-color: #6bcb77; + --progress-100-color: #4d96ff; + --progress-background-color: #f1f1f1; +} + +/* src/styles/view-config.css */ +.task-genius-view-config-modal { + width: max(70%, 500px); +} +.task-genius-view-config-modal .setting-item { + margin-bottom: 15px; +} +.task-genius-view-config-modal .setting-item:not(.setting-item-heading) .setting-item-info { + width: 120px; +} +.task-genius-view-config-modal .setting-item-control input[type=text], +.task-genius-view-config-modal .setting-item-control input[type=number] { + width: 100%; +} +.task-genius-view-config-modal .setting-item-description { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + margin-top: 2px; +} +.view-management-list .setting-item { + border-bottom: 1px solid var(--background-modifier-border); + padding: 10px 0; + display: flex; + align-items: center; +} +.view-management-list .setting-item-info { + flex-grow: 1; + margin-right: 10px; +} +.view-management-list .setting-item-control { + display: flex; + align-items: center; + gap: 8px; +} +.view-management-list .setting-item-control .button-component { + padding: 5px; + height: auto; +} +.view-management-list .view-order-button, +.view-management-list .view-delete-button { + margin-left: 5px; +} +.view-management-list .setting-item:last-child { + border-bottom: none; +} +.view-management-list .setting-item-control .checkbox-container { + margin: 0; +} +.tg-icon-menu { + position: absolute; + z-index: 100; + background-color: var(--background-secondary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-m); + box-shadow: var(--shadow-l); + padding: 8px; + max-height: 300px; + width: 250px; + display: flex; + flex-direction: column; + box-sizing: border-box; +} +.tg-icon-menu .tg-menu-search { + width: 100%; + padding: 6px 8px; + margin-bottom: 8px; + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + background-color: var(--background-primary); + color: var(--text-normal); + box-sizing: border-box; + flex-shrink: 0; +} +.tg-icon-menu .tg-menu-icons { + flex-grow: 1; + overflow-y: auto; + min-height: 0; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(32px, 1fr)); + gap: 4px; +} +.tg-icon-menu .clickable-icon { + display: flex; + justify-content: center; + align-items: center; + padding: 6px; + border-radius: var(--radius-s); + cursor: pointer; + background-color: var(--background-primary); + border: 1px solid transparent; + transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out; +} +.tg-icon-menu .clickable-icon:hover { + background-color: var(--background-modifier-hover); + border-color: var(--background-modifier-border-hover); +} +.tg-icon-menu .clickable-icon svg { + width: 20px; + height: 20px; + color: var(--text-muted); +} + +/* src/styles/task-status.css */ +.task-status-widget { + display: inline-flex; + align-items: center; + cursor: pointer; + font-size: var(--font-ui-medium); + font-weight: var(--font-bold); +} +.task-state.live-preview-mode { + padding-inline-start: var(--size-4-2); + padding-inline-end: var(--size-2-1); +} +.task-status-widget .list-bullet::after { + background-color: var(--list-marker-color) !important; +} +.task-state[data-task-state=" "] { + color: var(--text-accent); +} +.task-state[data-task-state="/"] { + color: var(--task-doing-color); +} +.task-state[data-task-state=">"] { + color: var(--task-in-progress-color); +} +.task-state[data-task-state=x], +.task-state[data-task-state=X] { + color: var(--task-completed-color); +} +.task-state[data-task-state="-"] { + color: var(--task-abandoned-color); +} +.task-state[data-task-state="<"] { + color: var(--task-planned-color); +} +.task-state[data-task-state="?"] { + color: var(--task-question-color); +} +.task-state[data-task-state="!"] { + color: var(--task-important-color); +} +.task-state[data-task-state="*"] { + color: var(--task-star-color); +} +.task-state[data-task-state='"'] { + color: var(--task-quote-color); +} +.task-state[data-task-state=l] { + color: var(--task-location-color); +} +.task-state[data-task-state=b] { + color: var(--task-bookmark-color); +} +.task-state[data-task-state=i] { + color: var(--task-information-color); +} +.task-state[data-task-state=I] { + color: var(--task-idea-color); +} +.task-state[data-task-state=p] { + color: var(--task-pros-color); +} +.task-state[data-task-state=c] { + color: var(--task-cons-color); +} +.task-state[data-task-state=f] { + color: var(--task-fire-color); +} +.task-state[data-task-state=k] { + color: var(--task-key-color); +} +.task-state[data-task-state=w] { + color: var(--task-win-color); +} +.task-state[data-task-state=u] { + color: var(--task-up-color); +} +.task-state[data-task-state=d] { + color: var(--task-down-color); +} +.task-state[data-task-state=n] { + color: var(--task-note-color); +} +.task-state[data-task-state=S] { + color: var(--task-amount-color); +} +.task-state[data-task-state="0"], +.task-state[data-task-state="1"], +.task-state[data-task-state="2"], +.task-state[data-task-state="3"], +.task-state[data-task-state="4"], +.task-state[data-task-state="5"], +.task-state[data-task-state="6"], +.task-state[data-task-state="7"], +.task-state[data-task-state="8"], +.task-state[data-task-state="9"] { + color: var(--task-speech-color); +} +.task-fake-bullet { + display: inline-block; + width: 5px; + height: 5px; + border-radius: 50%; + background-color: var(--text-normal); + margin-right: 4px; + vertical-align: middle; +} +ol > .task-list-item .task-fake-bullet { + display: none; +} +ol > .task-list-item .task-state-container { + margin-inline-start: 0; +} + +/* src/styles/onboarding.css */ +.onboarding-modal, +.onboarding-view { + --dialog-width: 800px; + --dialog-max-width: 90vw; + --dialog-max-height: 90vh; + --onboarding-spacing: var(--size-4-4); + --onboarding-border-radius: var(--radius-m); + --onboarding-transition: all 0.2s ease-in-out; +} +.onboarding-modal .modal-content, +.onboarding-view .modal-content { + background-color: var(--modal-background); + border-radius: var(--modal-radius); + max-width: var(--dialog-max-width); + max-height: var(--dialog-max-height); + height: 90vh; + display: flex; + flex-direction: column; + overflow: auto; + position: relative; + min-height: 100px; +} +.onboarding-view { + height: 100%; + display: flex; + flex-direction: column; + background-color: var(--background-primary); +} +.onboarding-view .view-content { + height: 100%; + display: flex; + flex-direction: column; +} +.onboarding-modal .onboarding-header, +.onboarding-view .onboarding-header { + padding: var(--onboarding-spacing) var(--onboarding-spacing) var(--size-4-2) var(--onboarding-spacing); + text-align: center; +} +.onboarding-modal .onboarding-subtitle, +.onboarding-view .onboarding-subtitle { + color: var(--text-muted); + font-size: 0.95em; + margin: 0; +} +.onboarding-modal .onboarding-content, +.onboarding-view .onboarding-content { + flex: 1; + padding: var(--onboarding-spacing); + overflow-y: auto; + min-height: 0; +} +.onboarding-modal .onboarding-footer, +.onboarding-view .onboarding-footer { + padding: var(--size-4-2) var(--onboarding-spacing) var(--onboarding-spacing) var(--onboarding-spacing); + border-top: var(--modal-border-width) solid var(--background-modifier-border); + flex-shrink: 0; +} +.onboarding-modal .onboarding-buttons, +.onboarding-view .onboarding-buttons { + display: flex; + gap: var(--size-4-2); + justify-content: space-between; + align-items: center; +} +.onboarding-modal .settings-check-section, +.onboarding-view .settings-check-section { + margin: var(--onboarding-spacing) 0; +} +.onboarding-modal .changes-summary-list, +.onboarding-view .changes-summary-list { + list-style: none; + padding: 0; + margin: var(--size-4-2) 0; + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + padding: var(--size-4-2); +} +.onboarding-modal .changes-summary-list li, +.onboarding-view .changes-summary-list li { + display: flex; + align-items: center; + gap: var(--size-4-2); + padding: var(--size-2-1) 0; + color: var(--text-normal); + font-size: 0.9em; +} +.onboarding-modal .change-check, +.onboarding-view .change-check { + color: var(--color-green); + font-size: 1.1em; + display: flex; +} +.onboarding-modal .change-text, +.onboarding-view .change-text { + flex: 1; +} +.onboarding-modal .onboarding-question, +.onboarding-view .onboarding-question { + margin: var(--onboarding-spacing) 0; + text-align: center; +} +.onboarding-modal .question-options, +.onboarding-view .question-options { + display: flex; + gap: var(--size-4-3); + justify-content: center; + margin-top: var(--size-4-3); +} +.onboarding-modal .question-button, +.onboarding-view .question-button { + padding: var(--size-4-3) var(--size-4-4); + border-radius: var(--button-radius); + border: none; + cursor: pointer; + font-size: 0.9em; + font-weight: 500; + transition: var(--onboarding-transition); +} +.onboarding-modal .question-options .mod-cta, +.onboarding-view .question-options .mod-cta { + background: var(--interactive-accent); + color: var(--text-on-accent); +} +.onboarding-modal .question-options .mod-cta:hover, +.onboarding-view .question-options .mod-cta:hover { + background: var(--interactive-accent-hover); +} +.onboarding-modal .question-button:not(.mod-cta), +.onboarding-view .question-button:not(.mod-cta) { + background: var(--background-secondary); + color: var(--text-normal); + border: 1px solid var(--background-modifier-border); +} +.onboarding-modal .question-button:not(.mod-cta):hover, +.onboarding-view .question-button:not(.mod-cta):hover { + background: var(--background-modifier-hover); +} +.onboarding-modal .welcome-section, +.onboarding-view .welcome-section { + display: flex; + flex-direction: column; + gap: var(--onboarding-spacing); +} +.onboarding-modal .features-overview, +.onboarding-view .features-overview { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: var(--size-4-3); + margin: var(--onboarding-spacing) 0; +} +.onboarding-modal .feature-item, +.onboarding-view .feature-item { + display: flex; + gap: var(--size-4-2); + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .feature-icon, +.onboarding-view .feature-icon { + font-size: 1.5em; + flex-shrink: 0; + line-height: 1; +} +.onboarding-modal .setup-note, +.onboarding-view .setup-note { + text-align: center; + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .setup-description, +.onboarding-view .setup-description { + color: var(--text-muted); + font-size: 0.95em; + line-height: 1.5; + margin: 0; +} +.onboarding-modal .user-level-cards, +.onboarding-view .user-level-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: var(--onboarding-spacing); + margin: var(--onboarding-spacing) 0; +} +.onboarding-modal .user-level-card, +.onboarding-view .user-level-card { + border: 1px solid var(--background-modifier-border); + border-radius: var(--onboarding-border-radius); + padding: var(--onboarding-spacing); + cursor: pointer; + transition: var(--onboarding-transition); + background: var(--background-primary); + position: relative; + overflow: hidden; +} +.onboarding-modal .user-level-card:hover, +.onboarding-modal .user-level-card.card-hover, +.onboarding-view .user-level-card.card-hover { + border-color: var(--interactive-accent); +} +.onboarding-modal .user-level-card.selected, +.onboarding-view .user-level-card.selected { + border-color: var(--interactive-accent); + background: var(--background-modifier-hover); +} +.user-level-card .card-header { + display: flex; + align-items: center; + gap: var(--size-4-2); + margin-bottom: var(--size-4-2); +} +.user-level-card .card-icon { + font-size: 1.8em; + line-height: 1; + flex-shrink: 0; +} +.user-level-card .card-title { + margin: 0; + color: var(--text-normal); + font-size: 1.2em; + font-weight: 600; +} +.user-level-card .card-description { + color: var(--text-muted); + font-size: 0.9em; + line-height: 1.4; + margin: 0 0 var(--size-4-2) 0; +} +.user-level-card .card-features { + margin-top: var(--size-4-2); +} +.user-level-card .card-features ul { + margin: 0; + padding-left: var(--size-4-3); + list-style: none; +} +.user-level-card .card-features li { + position: relative; + color: var(--text-muted); + font-size: 0.85em; + line-height: 1.4; + margin-bottom: var(--size-2-1); +} +.user-level-card .card-features li:before { + content: "\2022"; + color: var(--interactive-accent); + position: absolute; + left: calc(-1 * var(--size-4-3)); + font-weight: bold; +} +.user-level-card .recommendation-badge { + position: absolute; + top: var(--size-4-2); + right: var(--size-4-2); + background: var(--interactive-accent); + color: var(--text-on-accent); + padding: var(--size-2-1) var(--size-4-1); + border-radius: var(--radius-s); + font-size: 0.7em; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.02em; +} +.onboarding-modal .config-overview, +.onboarding-view .config-overview { + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .mode-card, +.onboarding-view .mode-card { + display: flex; + align-items: center; + gap: var(--size-4-3); + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .mode-icon, +.onboarding-view .mode-icon { + --icon-size: var(--size-4-4); + flex-shrink: 0; +} +.onboarding-modal .config-features, +.onboarding-modal .config-views, +.onboarding-modal .config-settings, +.onboarding-view .config-settings { + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .enabled-features-list, +.onboarding-view .enabled-features-list { + list-style: none; + padding: 0; + margin: 0; + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + padding: var(--size-4-2); +} +.onboarding-modal .enabled-features-list li, +.onboarding-view .enabled-features-list li { + display: flex; + align-items: center; + gap: var(--size-4-2); + padding: var(--size-2-1) 0; + color: var(--text-normal); + font-size: 0.9em; +} +.onboarding-modal .feature-check, +.onboarding-view .feature-check { + color: var(--color-green); + font-weight: bold; +} +.onboarding-modal .views-grid, +.onboarding-view .views-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); + gap: var(--size-4-2); +} +.onboarding-modal .view-item, +.onboarding-view .view-item { + display: flex; + flex-direction: column; + align-items: center; + padding: var(--size-4-2); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .view-icon, +.onboarding-view .view-icon { + font-size: 1.2em; + margin-bottom: var(--size-2-1); +} +.onboarding-modal .view-name, +.onboarding-view .view-name { + font-size: 0.8em; + color: var(--text-muted); + text-align: center; +} +.onboarding-modal .settings-summary-list, +.onboarding-view .settings-summary-list { + list-style: none; + padding: 0; + margin: 0; + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + padding: var(--size-4-2); +} +.onboarding-modal .settings-summary-list li, +.onboarding-view .settings-summary-list li { + display: flex; + justify-content: space-between; + padding: var(--size-2-1) 0; + font-size: 0.9em; + border-bottom: 1px solid var(--background-modifier-border); +} +.onboarding-modal .settings-summary-list li:last-child, +.onboarding-view .settings-summary-list li:last-child { + border-bottom: none; +} +.onboarding-modal .setting-label, +.onboarding-view .setting-label { + color: var(--text-normal); + font-weight: 500; +} +.onboarding-modal .setting-value, +.onboarding-view .setting-value { + color: var(--text-muted); +} +.onboarding-modal .config-options, +.onboarding-view .config-options { + margin-top: var(--onboarding-spacing); +} +.onboarding-modal .customization-note, +.onboarding-view .customization-note { + text-align: center; + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .note-text, +.onboarding-view .note-text { + color: var(--text-muted); + font-size: 0.9em; + margin: 0; + font-style: italic; +} +.onboarding-modal .config-changes-summary, +.onboarding-view .config-changes-summary { + margin: var(--onboarding-spacing) 0; + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .preserved-views, +.onboarding-modal .added-views, +.onboarding-modal .updated-views, +.onboarding-modal .settings-changes, +.onboarding-view .settings-changes { + margin: var(--size-4-2) 0; + padding: var(--size-4-2); + background: var(--background-primary); + border-radius: var(--radius-s); +} +.onboarding-modal .preserved-header, +.onboarding-view .preserved-header { + display: flex; + align-items: center; + gap: var(--size-4-1); + margin-bottom: var(--size-4-1); +} +.onboarding-modal .preserved-icon, +.onboarding-view .preserved-icon { + color: var(--color-green); + font-size: 1.1em; +} +.onboarding-modal .preserved-text, +.onboarding-modal .change-text, +.onboarding-view .change-text { + color: var(--text-normal); + font-size: 0.9em; + font-weight: 500; +} +.onboarding-view .updated-views, +.onboarding-modal .updated-views { + display: flex; +} +.onboarding-modal .change-icon, +.onboarding-view .change-icon { + color: var(--interactive-accent); + font-size: 1.1em; + margin-right: var(--size-4-1); + display: flex; +} +.onboarding-modal .preserved-views-list, +.onboarding-modal .settings-changes-list, +.onboarding-view .settings-changes-list { + list-style: none; + padding: 0; + margin: var(--size-4-1) 0 0 var(--size-4-4); +} +.onboarding-modal .preserved-views-list li, +.onboarding-modal .settings-changes-list li, +.onboarding-view .settings-changes-list li { + display: flex; + align-items: center; + padding: var(--size-2-1) 0; + color: var(--text-muted); + font-size: 0.85em; +} +.onboarding-modal .safety-note, +.onboarding-view .safety-note { + margin-top: var(--size-4-3); + padding: var(--size-4-2); + background: rgba(var(--color-blue-rgb), 0.1); + border-radius: var(--radius-s); + display: flex; + align-items: center; + gap: var(--size-4-1); +} +.onboarding-modal .safety-icon, +.onboarding-view .safety-icon { + color: var(--color-blue); + font-size: 1.1em; + display: flex; + justify-content: center; + align-items: center; +} +.onboarding-modal .safety-text, +.onboarding-view .safety-text { + color: var(--color-blue); + font-size: var(--font-ui-smaller); + font-weight: 500; +} +.onboarding-modal .task-guide-intro, +.onboarding-view .task-guide-intro { + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .guide-description, +.onboarding-view .guide-description { + color: var(--text-muted); + font-size: 0.95em; + line-height: 1.5; + margin: 0; +} +.onboarding-modal .task-formats-section, +.onboarding-modal .quick-capture-section, +.onboarding-modal .practice-section, +.onboarding-modal .shortcuts-section, +.onboarding-view .shortcuts-section { + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .format-example, +.onboarding-view .format-example { + margin-top: var(--size-4-4); + margin-bottom: var(--size-4-4); +} +.onboarding-modal .format-example code, +.onboarding-view .format-example code { + background: var(--background-primary); + padding: var(--size-2-1) var(--size-4-1); + border-radius: var(--radius-s); + font-family: var(--font-monospace); + font-size: 0.85em; + color: var(--text-accent); + border: 1px solid var(--background-modifier-border); + display: block; + margin: var(--size-2-1) 0; +} +.onboarding-modal .format-legend, +.onboarding-modal .format-legend small, +.onboarding-view .format-legend small { + color: var(--text-faint); + font-size: 0.8em; + margin-top: var(--size-2-1); + display: block; +} +.onboarding-modal .status-markers, +.onboarding-modal .metadata-symbols, +.onboarding-view .metadata-symbols { + margin-top: var(--size-4-2); +} +.onboarding-modal .status-list, +.onboarding-view .status-list li, +.onboarding-modal .symbols-list, +.onboarding-view .symbols-list { + list-style: none; + margin: 0; + background: var(--background-primary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .status-list li, +.onboarding-view .status-list li, +.onboarding-modal .symbols-list li, +.onboarding-view .symbols-list li { + display: flex; + align-items: center; + padding: var(--size-2-1) 0; + font-size: 0.85em; + color: var(--text-normal); +} +.onboarding-modal .status-list code, +.onboarding-view .status-list code { + background: var(--background-secondary); + padding: var(--size-2-1) var(--size-4-1); + border-radius: var(--radius-s); + font-family: var(--font-monospace); + margin-right: var(--size-4-2); + min-width: 40px; + text-align: center; +} +.onboarding-modal .demo-content, +.onboarding-view .demo-content { + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .demo-button, +.onboarding-view .demo-button { + background: var(--interactive-accent); + color: var(--text-on-accent); + border: none; + padding: var(--size-4-2) var(--size-4-4); + border-radius: var(--button-radius); + cursor: pointer; + font-weight: 500; + transition: var(--onboarding-transition); + margin-top: var(--size-4-2); +} +.onboarding-modal .demo-button:hover, +.onboarding-view .demo-button:hover { + background: var(--interactive-accent-hover); +} +.onboarding-modal .practice-feedback, +.onboarding-view .practice-feedback { + margin-top: var(--size-4-2); +} +.onboarding-modal .validation-message, +.onboarding-view .validation-message { + padding: var(--size-4-2); + border-radius: var(--onboarding-border-radius); + font-size: 0.9em; + margin-bottom: var(--size-2-1); +} +.onboarding-modal .validation-success, +.onboarding-view .validation-success { + background: rgba(var(--color-green-rgb), 0.1); + border: 1px solid var(--color-green); + color: var(--color-green); +} +.onboarding-modal .validation-error, +.onboarding-view .validation-error { + background: rgba(var(--color-red-rgb), 0.1); + border: 1px solid var(--color-red); + color: var(--color-red); +} +.onboarding-modal .validation-warning, +.onboarding-view .validation-warning { + background: rgba(var(--color-orange-rgb), 0.1); + border: 1px solid var(--color-orange); + color: var(--color-orange); +} +.onboarding-modal .validation-info, +.onboarding-view .validation-info { + background: rgba(var(--color-blue-rgb), 0.1); + border: 1px solid var(--color-blue); + color: var(--color-blue); +} +.onboarding-modal .shortcuts-list, +.onboarding-view .shortcuts-list { + list-style: none; + padding: 0; + margin: 0; + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + padding: var(--size-4-2); +} +.onboarding-modal .shortcuts-list li, +.onboarding-view .shortcuts-list li { + display: flex; + align-items: center; + padding: var(--size-2-1) 0; + font-size: 0.9em; + color: var(--text-normal); +} +.onboarding-modal .shortcuts-list code, +.onboarding-view .shortcuts-list code { + background: var(--background-primary); + padding: var(--size-2-1) var(--size-4-2); + border-radius: var(--radius-s); + font-family: var(--font-monospace); + margin-right: var(--size-4-3); + min-width: 100px; + font-size: 0.8em; +} +.onboarding-modal .completion-success, +.onboarding-view .completion-success { + text-align: center; + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .success-icon, +.onboarding-view .success-icon { + font-size: 3em; + margin-bottom: var(--size-4-2); +} +.onboarding-modal .success-message, +.onboarding-view .success-message { + color: var(--text-muted); + font-size: 0.95em; + margin: 0; +} +.onboarding-modal .completion-summary, +.onboarding-modal .quick-start-section, +.onboarding-modal .next-steps-section, +.onboarding-modal .resources-section, +.onboarding-modal .feedback-section, +.onboarding-view .feedback-section { + margin-bottom: var(--onboarding-spacing); +} +.onboarding-modal .config-summary-card, +.onboarding-view .config-summary-card { + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .config-header, +.onboarding-view .config-header { + display: flex; + align-items: center; + gap: var(--size-4-2); + margin-bottom: var(--size-2-1); +} +.onboarding-modal .config-icon, +.onboarding-view .config-icon { + font-size: 1.5em; +} +.onboarding-modal .config-name, +.onboarding-view .config-name { + font-size: 1.1em; + font-weight: 600; + color: var(--text-normal); +} +.onboarding-modal .config-description, +.onboarding-view .config-description { + color: var(--text-muted); + font-size: 0.9em; + margin: 0; +} +.onboarding-modal .quick-start-steps, +.onboarding-view .quick-start-steps { + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.onboarding-modal .quick-start-step, +.onboarding-view .quick-start-step { + display: flex; + align-items: flex-start; + gap: var(--size-4-3); + padding: var(--size-4-2); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .step-number, +.onboarding-view .step-number { + background: var(--interactive-accent); + color: var(--text-on-accent); + width: 24px; + height: 24px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.8em; + font-weight: 600; + flex-shrink: 0; +} +.onboarding-modal .step-content, +.onboarding-view .step-content { + color: var(--text-normal); + font-size: 0.9em; + line-height: 1.4; +} +.onboarding-modal .next-steps-list, +.onboarding-view .next-steps-list { + list-style: none; + padding: 0; + margin: 0; +} +.onboarding-modal .next-steps-list li, +.onboarding-view .next-steps-list li { + display: flex; + align-items: flex-start; + gap: var(--size-4-2); + padding: var(--size-4-2); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + margin-bottom: var(--size-2-1); +} +.onboarding-modal .step-check, +.onboarding-view .step-check { + color: var(--interactive-accent); + font-weight: bold; + flex-shrink: 0; +} +.onboarding-modal .step-text, +.onboarding-view .step-text { + color: var(--text-normal); + font-size: 0.9em; + line-height: 1.4; +} +.onboarding-modal .resources-list, +.onboarding-view .resources-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: var(--size-4-2); +} +.onboarding-modal .resource-item, +.onboarding-view .resource-item { + display: flex; + gap: var(--size-4-2); + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); + transition: var(--onboarding-transition); +} +.onboarding-modal .resource-clickable, +.onboarding-view .resource-clickable { + cursor: pointer; +} +.onboarding-modal .resource-clickable:hover, +.onboarding-view .resource-clickable:hover { + background: var(--background-modifier-hover); +} +.onboarding-modal .resource-icon, +.onboarding-view .resource-icon { + font-size: 1.5em; + flex-shrink: 0; +} +.onboarding-modal .feedback-description, +.onboarding-view .feedback-description { + color: var(--text-muted); + font-size: 0.9em; + line-height: 1.5; + margin: 0 0 var(--size-4-2) 0; +} +.onboarding-modal .feedback-buttons, +.onboarding-view .feedback-buttons { + display: flex; + gap: var(--size-4-2); + justify-content: center; +} +.onboarding-modal .feedback-button, +.onboarding-view .feedback-button { + background: var(--background-secondary); + border: none; + color: var(--text-normal); + padding: var(--size-4-2) var(--size-4-4); + border-radius: var(--button-radius); + cursor: pointer; + font-size: 0.9em; + transition: var(--onboarding-transition); +} +.onboarding-modal .feedback-positive:hover, +.onboarding-view .feedback-positive:hover { + background: var(--color-green); + color: white; +} +.onboarding-modal .feedback-negative:hover, +.onboarding-view .feedback-negative:hover { + background: var(--color-red); + color: white; +} +.onboarding-modal .feedback-thanks, +.onboarding-view .feedback-thanks { + text-align: center; + padding: var(--size-4-3); + background: var(--background-secondary); + border-radius: var(--onboarding-border-radius); +} +.onboarding-modal .feedback-thanks-message, +.onboarding-view .feedback-thanks-message { + color: var(--text-normal); + font-size: 0.9em; + margin: 0 0 var(--size-4-2) 0; +} +.onboarding-modal .feedback-thanks a, +.onboarding-view .feedback-thanks a { + color: var(--interactive-accent); + text-decoration: none; +} +.onboarding-modal .feedback-thanks a:hover, +.onboarding-view .feedback-thanks a:hover { + text-decoration: underline; +} +.onboarding-modal .final-message, +.onboarding-view .final-message { + text-align: center; + padding: var(--size-4-4); +} +.onboarding-modal .final-message-text, +.onboarding-view .final-message-text { + color: var(--text-muted); + font-size: 1em; + font-style: italic; + margin: 0; +} +@media (max-width: 768px) { + .onboarding-modal, + .onboarding-view { + --dialog-width: 95vw; + --dialog-max-width: 95vw; + --dialog-max-height: 95vh; + } + .onboarding-modal .user-level-cards, + .onboarding-view .user-level-cards { + grid-template-columns: 1fr; + } + .onboarding-modal .features-overview, + .onboarding-view .features-overview { + grid-template-columns: 1fr; + } + .onboarding-modal .views-grid, + .onboarding-view .views-grid { + grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); + } + .onboarding-modal .resources-list, + .onboarding-view .resources-list { + grid-template-columns: 1fr; + } + .onboarding-modal .feedback-buttons, + .onboarding-view .feedback-buttons { + flex-direction: column; + } + .onboarding-modal .onboarding-buttons, + .onboarding-view .onboarding-buttons { + flex-wrap: wrap; + justify-content: center; + } +} +.onboarding-modal .onboarding-content, +.onboarding-view .onboarding-content { + animation: fadeInUp 0.3s ease-out; +} +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} +.onboarding-modal .user-level-card.selected, +.onboarding-view .user-level-card.selected { + animation: cardSelect 0.2s ease-out; +} +@keyframes cardSelect { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.02); + } + 100% { + transform: scale(1); + } +} + +/* src/styles/timeline-sidebar.css */ +div[data-type^=tg-timeline-sidebar-view] .timeline-sidebar-container { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + background-color: var(--background-primary); + overflow: hidden; + font-family: var(--font-interface); + padding: 0 !important; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--size-4-3) var(--size-4-4); + border-bottom: 1px solid var(--background-modifier-border); + background: linear-gradient(135deg, var(--background-secondary) 0%, var(--background-modifier-hover) 100%); + flex-shrink: 0; + backdrop-filter: blur(10px); + -webkit-backdrop-filter: blur(10px); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-title { + font-weight: 600; + font-size: var(--font-ui-medium); + color: var(--text-normal); + display: flex; + align-items: center; + gap: var(--size-4-2); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-controls { + display: flex; + gap: var(--size-4-2); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-btn { + display: flex; + align-items: center; + justify-content: center; + width: var(--size-4-8); + height: var(--size-4-8); + border-radius: var(--radius-s); + cursor: pointer; + color: var(--text-muted); + background-color: transparent; + transition: all 0.2s ease; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-btn:hover { + color: var(--text-normal); + background-color: var(--background-modifier-hover); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-btn.is-active { + color: var(--text-on-accent); + background-color: var(--interactive-accent); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-content { + flex: 1; + overflow-y: auto; + padding: var(--size-4-2) 0; + position: relative; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group:not(.is-today) { + opacity: 0.3; + pointer-events: none; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-empty { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); + font-style: italic; + text-align: center; + padding: var(--size-4-8); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-date-group { + margin-bottom: var(--size-4-2); + position: relative; + border-radius: var(--radius-m); + transition: all 0.3s ease; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today { + background-color: var(--background-secondary); + border-radius: var(--radius-m); + margin: 0 var(--size-4-2) var(--size-4-2); + padding: var(--size-4-2); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + border: 1px solid var(--interactive-accent); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-date-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--size-4-2) var(--size-4-4); + font-weight: 600; + font-size: var(--font-ui-small); + color: var(--text-accent); + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: var(--size-4-2); + position: sticky; + top: 0; + background-color: var(--background-primary); + z-index: 1; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-date-group.is-today .timeline-date-header { + border-radius: var(--radius-s); + margin: 0 0 var(--size-4-2) 0; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-date-relative { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + font-weight: normal; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-events-list { + display: flex; + flex-direction: column; + gap: var(--size-2-1); + padding: 0 var(--size-2-3); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event { + display: flex; + align-items: flex-start; + gap: var(--size-4-3); + padding: var(--size-4-3); + border-radius: var(--radius-m); + cursor: pointer; + position: relative; + border: 1px solid transparent; + margin-bottom: var(--size-4-2); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover { + background-color: var(--background-modifier-hover); + border-color: var(--interactive-accent); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + transform: translateY(-1px); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event:hover:has(.timeline-event-checkbox:hover) { + transform: none; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed { + opacity: 0.6; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event.is-completed .timeline-event-text { + text-decoration: line-through; + color: var(--text-muted); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-time { + font-size: var(--font-ui-smaller); + color: var(--text-muted); + font-family: var(--font-monospace); + min-width: 45px; + text-align: center; + margin-top: 2px; + flex-shrink: 0; + background-color: var(--background-modifier-border); + border-radius: var(--radius-s); + padding: var(--size-4-1) var(--size-4-2); + font-weight: 500; +} +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); + } +} +div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode { + position: relative; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(to bottom, rgba(var(--background-primary-rgb), 0.9) 0%, rgba(var(--background-primary-rgb), 0.7) 50%, rgba(var(--background-primary-rgb), 0.9) 100%); + pointer-events: none; + z-index: 0; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-content.focus-mode .timeline-date-group.is-today { + position: relative; + z-index: 1; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block { + margin: 0; + padding: 0; + font-size: inherit; + line-height: inherit; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block p { + margin: 0; + padding: 0; + font-size: inherit; + line-height: inherit; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block strong, +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block em, +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block code { + font-size: inherit; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a { + color: var(--link-color); + text-decoration: none; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block a:hover { + text-decoration: underline; +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ul, +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block ol { + margin: 0; + padding-left: var(--size-4-4); +} +div[data-type^=tg-timeline-sidebar-view] .timeline-event-content-text .markdown-block li { + margin: 0; + padding: 0; +} + +/* src/styles/reward.css */ +.reward-modal-content { + text-align: center; +} +.reward-modal .modal-title { + text-align: center; +} +.reward-name { + font-size: 1.2em; + font-weight: bold; + margin-bottom: 15px; +} +.reward-image-container { + margin-bottom: 20px; + display: flex; + justify-content: center; + align-items: center; +} +.reward-image { + max-width: 80%; + max-height: 300px; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} +.reward-image-error { + font-style: italic; + color: var(--text-muted); +} +.reward-spacer { + height: 20px; +} +.task-genius-reward-modal .setting-item-control { + display: flex; + justify-content: center; + gap: 10px; +} + +/* src/styles/task-gutter.css */ +.markdown-source-view.mod-cm6 .cm-gutters.task-gutter { + margin-inline-end: 0 !important; + margin-inline-start: var(--file-folding-offset); +} +.is-mobile .markdown-source-view.mod-cm6 .cm-gutters.task-gutter { + margin-inline-start: 0 !important; +} +.task-details-popover.tg-menu { + z-index: 20; + position: fixed; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); + padding: var(--size-4-3); + box-shadow: var(--shadow-l); +} +.task-gutter { + width: 26px; +} +.task-gutter-marker { + cursor: pointer; + font-size: var(--font-smaller); + opacity: 0.1; + transition: opacity 0.2s ease; +} +.task-gutter-marker:hover { + opacity: 1; +} +.task-popover-content { + padding: var(--size-4-3); + max-width: 300px; + max-height: 400px; + overflow: auto; +} +.task-metadata-editor { + display: flex; + flex-direction: column; + gap: var(--size-4-2); + padding: var(--size-2-2); + height: 100%; +} +.field-container { + display: flex; + flex-direction: column; + margin-bottom: var(--size-2-2); +} +.field-label { + font-size: var(--font-smallest); + font-weight: var(--font-bold); + margin-bottom: var(--size-2-1); + color: var(--text-muted); +} +.action-buttons { + display: flex; + justify-content: space-between; + margin-top: var(--size-4-2); + gap: var(--size-4-2); +} +.action-button { + padding: var(--size-2-2) var(--size-4-2); + font-size: var(--font-smallest); + border-radius: var(--radius-s); + cursor: pointer; +} +.task-gutter-marker.clickable-icon { + width: 24px; + padding: var(--size-2-1); + display: flex; + justify-content: center; + align-items: center; +} +.task-details-popover .tabs-main-container { + display: flex; + flex-direction: column; + width: 100%; +} +.task-details-popover .tabs-navigation { + display: flex; + margin-bottom: var(--size-4-2); + gap: var(--size-4-2); +} +.task-details-popover .tab-button { + padding: var(--size-2-2) var(--size-4-2); + cursor: pointer; + border: none; + background: none; + font-size: var(--font-ui-small); + color: var(--text-muted); + margin-bottom: -1px; + transition: color 0.2s ease, border-color 0.2s ease; +} +.task-details-popover .tab-button:hover { + color: var(--text-normal); +} +.task-details-popover .tab-button.active { + color: var(--text-on-accent); + font-weight: var(--font-bold); + background-color: var(--interactive-accent); +} +.task-details-popover .tab-pane { + display: none; + flex-direction: column; + gap: var(--size-4-2); +} +.task-details-popover .tab-pane.active { + display: flex; +} +.task-details-popover .details-status-selector, +.task-status-editor .details-status-selector { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-bottom: var(--size-4-2); + margin-top: var(--size-4-2); +} +.task-details-popover .quick-capture-status-selector, +.task-status-editor .quick-capture-status-selector { + display: flex; + flex-direction: row; + justify-content: space-between; + gap: var(--size-4-3); +} +.task-details-popover .quick-capture-status-selector-label, +.task-status-editor .quick-capture-status-selector-label { + display: none; +} +.modal-content.task-metadata-editor { + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.metadata-full-container { + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} +.metadata-full-container .dates-container { + display: flex; + flex-direction: column; + gap: var(--size-4-2); +} + +/* src/styles/base-view.css */ +.internal-embed .task-genius-container { + max-height: 800px; +} +.internal-embed .task-genius-container .task-sidebar { + width: 44px; + min-width: 44px; + overflow: hidden; +} +.internal-embed .task-genius-container .task-sidebar .sidebar-nav-item { + padding: 8px 10px; + justify-content: center; + width: var(--size-4-9); + flex-shrink: 0; + transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out; +} +.internal-embed .task-genius-container .task-sidebar .sidebar-nav { + align-items: center; +} +.internal-embed .task-genius-container .task-sidebar .sidebar-nav-item { + padding: 8px 10px; + justify-content: center; + width: var(--size-4-9); + flex-shrink: 0; + transition: width 0.3s ease-in-out, flex-shrink 0.3s ease-in-out; +} +.internal-embed .task-genius-container .task-sidebar .nav-item-icon { + margin-right: 0; +} +.internal-embed .task-genius-container .task-list { + max-height: 800px; +} +.internal-embed .projects-container { + flex: 1; + height: auto; +} +.internal-embed .forecast-left-column { + width: 240px; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 1px; + padding: 0 5px; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header { + text-align: center; + font-size: 0.7em; + color: var(--text-muted); + padding: 3px 0; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: 3px; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-header.calendar-weekend { + color: var(--text-accent); +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day { + aspect-ratio: 1; + border-radius: 3px; + padding: 1px; + cursor: pointer; + position: relative; + display: flex; + flex-direction: column; + transition: background-color 0.2s ease; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day:hover { + background-color: var(--background-modifier-hover); +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.selected { + background-color: var(--background-modifier-border-hover); +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.today { + background-color: var(--interactive-accent-hover); + color: var(--text-on-accent); +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.past-due { + color: var(--text-error); +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day.other-month { + opacity: 0.5; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-number { + text-align: center; + font-size: 0.75em; + font-weight: 500; + padding: 1px; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count { + background-color: var(--background-modifier-border); + color: var(--text-normal); + border-radius: 8px; + font-size: 0.6em; + padding: 1px 3px; + margin: 1px auto; + text-align: center; + width: fit-content; +} +.internal-embed .forecast-left-column .mini-calendar-container .calendar-day-count.has-priority { + background-color: var(--text-accent); + color: var(--text-on-accent); +} +.internal-embed .tags-container { + height: auto; + max-height: 100%; +} +.internal-embed .task-genius-container:has(.task-details.visible) .tags-left-column { + display: none; +} +.internal-embed .task-genius-container:has(.task-details.visible) .projects-left-column { + display: none; +} +.internal-embed .full-calendar-container { + height: auto; +} +.internal-embed .tg-kanban-view { + height: auto; +} +.bases-view.task-genius-container { + border-top: unset; +} +.bases-update-error-notification { + position: fixed; + top: 20px; + right: 20px; + background: var(--background-modifier-error); + border: 1px solid var(--background-modifier-border); + border-radius: 6px; + padding: 12px 16px; + max-width: 400px; + box-shadow: var(--shadow-s); + z-index: 1000; + cursor: pointer; + animation: slideInRight 0.3s ease-out; +} +.bases-update-error-notification:hover { + opacity: 0.8; +} +.bases-update-error-notification .error-icon { + font-size: 16px; + margin-bottom: 8px; +} +.bases-update-error-notification .error-message .error-title { + font-weight: 600; + color: var(--text-error); + margin-bottom: 4px; +} +.bases-update-error-notification .error-message .error-details { + font-size: 12px; + color: var(--text-muted); + line-height: 1.4; +} +@keyframes slideInRight { + from { + transform: translateX(100%); + opacity: 0; + } + to { + transform: translateX(0); + opacity: 1; + } +} +/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5nLmNzcyIsICJzcmMvc3R5bGVzL3NldHRpbmctdjIuY3NzIiwgInNyYy9zdHlsZXMvYmV0YS13YXJuaW5nLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stZGV0YWlscy5jc3MiLCAic3JjL3N0eWxlcy9vbkNvbXBsZXRpb24uY3NzIiwgInNyYy9zdHlsZXMvdW5pdmVyc2FsLXN1Z2dlc3QuY3NzIiwgInNyYy9zdHlsZXMvbW9kYWwuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQtZWRpdC1kaWFsb2cuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQtbGlzdC5jc3MiLCAic3JjL3N0eWxlcy9pY3Mtc2V0dGluZ3MuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1maWx0ZXIuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy9maWxlLWZpbHRlci1zZXR0aW5ncy5jc3MiLCAic3JjL3N0eWxlcy93b3JrZmxvdy5jc3MiLCAic3JjL3N0eWxlcy9kYXRlLXBpY2tlci5jc3MiLCAic3JjL3N0eWxlcy9xdWljay1jYXB0dXJlLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stbGlzdC5jc3MiLCAic3JjL3N0eWxlcy9pbmxpbmUtZWRpdG9yLmNzcyIsICJzcmMvc3R5bGVzL3RyZWUtdmlldy5jc3MiLCAic3JjL3N0eWxlcy9mb3JlY2FzdC5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci5jc3MiLCAic3JjL3N0eWxlcy90YWctdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcmV2aWV3LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdmlldy5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci92aWV3LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2V2ZW50LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2JhZGdlLmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ludmlldy1maWx0ZXIvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2dhbnR0L2dhbnR0LmNzcyIsICJzcmMvc3R5bGVzL3Byb3BlcnR5LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdGFibGUuY3NzIiwgInNyYy9zdHlsZXMvcXVhZHJhbnQvcXVhZHJhbnQuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctY29uZmlnLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stc3RhdHVzLmNzcyIsICJzcmMvc3R5bGVzL29uYm9hcmRpbmcuY3NzIiwgInNyYy9zdHlsZXMvdGltZWxpbmUtc2lkZWJhci5jc3MiLCAic3JjL3N0eWxlcy9yZXdhcmQuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1ndXR0ZXIuY3NzIiwgInNyYy9zdHlsZXMvYmFzZS12aWV3LmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi5uby1wcm9ncmVzcy1iYXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUge1xuXHRoZWlnaHQ6IDhweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgY29sb3JzIGZvciBkaWZmZXJlbnQgcGVyY2VudGFnZXMgb2YgY29tcGxldGlvbiAqL1xuLnByb2dyZXNzLWJhci1pbmxpbmUtZW1wdHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0xIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMjUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNTAtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0zIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtNzUtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1jb21wbGV0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLTEwMC1jb2xvcik7XG59XG5cbi8qIENvbG9ycyBmb3IgZGlmZmVyZW50IHRhc2sgc3RhdHVzZXMgKi9cbi5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG5cdHotaW5kZXg6IDM7XG59XG5cbi5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xuXHR6LWluZGV4OiAyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQge1xuXHRjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogODVweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLmhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFN0YXR1cyBpbmRpY2F0b3JzIGluIHRoZSB0YXNrIG51bWJlciBkaXNwbGF5ICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnRhc2stc3RhdHVzLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuY29tcGxldGVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuaW4tcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLmFiYW5kb25lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIgLnBsYW5uZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi8qIFNldCBEZWZhdWx0IFByb2dyZXNzIEJhciBXaXRoIE51bWJlciBGb3IgUGx1Z2luICovXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLkh5cGVyTUQtaGVhZGVyXG5cdC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlclxuXHQucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kLFxuLkh5cGVyTUQtaGVhZGVyIC5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdG1hcmdpbi1ib3R0b206IC0ycHg7XG5cdHdpZHRoOiA0MnB4O1xufVxuXG4uY20tdGFzay1wcm9ncmVzcy1iYXIud2l0aC1udW1iZXIgLnByb2dyZXNzLXN0YXR1cyB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLyogQWRhcHRhdGlvbnMgZm9yIGRhcmsgdGhlbWUgKi9cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1jb21wbGV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1pbi1wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtYWJhbmRvbmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1hYmFuZG9uZWQtY29sb3IpO1xufVxuXG4udGhlbWUtZGFyayAucHJvZ3Jlc3MtcGxhbm5lZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XG59XG5cbi50YXNrLXByb2dyZXNzLWJhci1wb3BvdmVyIHtcblx0d2lkdGg6IDQwMHB4O1xufVxuIiwgIi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXHJcbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIENoZWNrYm94IFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXHJcbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIENhdGVnb3JpemVkIHRhYnMgY29udGFpbmVyICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTYpO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yeSBzZWN0aW9uICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yeSBoZWFkZXIgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1oZWFkZXIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLyogQ2F0ZWdvcnkgdGFicyBjb250YWluZXIgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuXHQudGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHR9XHJcbn1cclxuXHJcbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHRncmlkLWF1dG8tcm93czogdmFyKC0tc2l6ZS00LTE4KTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuXHR9XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1pbi1oZWlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwcHg7XHJcblx0cmlnaHQ6IC04MHB4O1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xNWRlZyk7XHJcblx0ei1pbmRleDogMDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyOjphZnRlciB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGVaKC0xMGRlZyk7XHJcblx0b3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLyogVGFiIGNvbnRlbnQgc3R5bGluZyAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1pY29uLFxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYiBzcGFuLFxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1sYWJlbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIHRhYiBpY29uIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC00KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC00KTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItaWNvbiBzdmcge1xyXG5cdHdpZHRoOiB2YXIoLS1pY29uLXMpO1xyXG5cdGhlaWdodDogdmFyKC0taWNvbi1zKTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgdGFiIGxhYmVsIHN0eWxpbmcgZm9yIGNhdGVnb3JpemVkIGxheW91dCAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuXHRmbGV4OiAxO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBjYXRlZ29yaXplZCB0YWJzICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBMZWdhY3kgdGFiIHN0eWxlcyAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb25zIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1zZWN0aW9uLWhlYWRlciAuaGVhZGVyLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uLWljb24ge1xyXG5cdC0taWNvbi1zaXplOiAxNnB4O1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYiBzZWN0aW9uIGhlYWRlciB2aXNpYmlsaXR5IHJ1bGVzICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogSGlkZSBjYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciB3aGVuIGFueSBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoXHJcblx0XHQuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlOm5vdChbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxyXG5cdClcclxuXHQuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIExlZ2FjeSB0YWJzIGNvbnRhaW5lciB2aXNpYmlsaXR5IChmYWxsYmFjaykgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogU2hvdyBsZWdhY3kgdGFicyB3aGVuIGdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAoZmFsbGJhY2sgYmVoYXZpb3IpICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoLnNldHRpbmdzLXRhYi1hY3RpdmVbZGF0YS10YWItaWQ9XCJnZW5lcmFsXCJdKVxyXG5cdC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuLyogU2V0dGluZ3MgaGVhZGVyIHZpc2liaWxpdHkgLSBoaWRlIHdoZW4gbm9uLWdlbmVyYWwgdGFiIGlzIGFjdGl2ZSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzOmhhcyhcclxuXHRcdC5zZXR0aW5ncy10YWItc2VjdGlvbi1hY3RpdmU6bm90KFtkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl0pXHJcblx0KVxyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncy1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEV4cHJlc3Npb24gZXhhbXBsZXMgaW4gc2V0dGluZ3MgKi9cclxuLmV4cHJlc3Npb24tZXhhbXBsZXMge1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtaXRlbSB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7ICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNnB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1jb2RlIHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0dXNlci1zZWxlY3Q6IHRleHQ7XHJcbn1cclxuXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtdXNlIHtcclxuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXRleHRhcmVhIHtcclxuXHRoZWlnaHQ6IDIwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctbGFiZWwge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXBsYWNlaG9sZGVyLWluZm8ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblxyXG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWVycm9yLFxyXG4uZXhwcmVzc2lvbi1wcmV2aWV3LWVycm9yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi8qIFx1ODg2OFx1OEZCRVx1NUYwRlx1NzkzQVx1NEY4Qlx1OTg4NFx1ODlDOFx1NjgzN1x1NUYwRiAqL1xyXG4uZXhwcmVzc2lvbi1leGFtcGxlLXByZXZpZXcge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5wcmVzZXQtZmlsdGVycy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5wcmVzZXQtZmlsdGVyLXJvdyB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnByZXNldC1maWx0ZXItcm93OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4ubm8tcHJlc2V0cy1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4ucHJlc2V0LXNhdmVkLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDVweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0YW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnRhc2stZmlsdGVyLXNhdmUtcHJlc2V0IHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi50Zy1tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uLm1vZC13YXJuaW5nIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ubW9kYWwtd29ya2Zsb3ctZGVmaW5pdGlvbiB7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHR3aWR0aDogOTB2dztcclxufVxyXG5cclxuLm1vZGFsLXN0YWdlLWRlZmluaXRpb24ge1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0d2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IHNldHRpbmdzIHBhbmVsIGltcHJvdmVtZW50cyAqL1xyXG4ud29ya2Zsb3ctY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0bWF4LWhlaWdodDogNTAwcHg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLndvcmtmbG93LXJvdyAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1pbmZvIHtcclxuXHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDhweCAwIDAgMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWN5Y2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdGVybWluYWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IG1vZGFsIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctZm9ybSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtc2VjdGlvbiBoMiB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdGZvbnQtc2l6ZTogMS4zZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0ZmxleC13cmFwOiB1bnNldDtcclxuXHRnYXA6IHVuc2V0O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbixcclxuLndvcmtmbG93LWNhbmNlbC1idXR0b24sXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4vKiBTdGFnZSBlZGl0aW5nIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZsZXg6IDE7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWVkaXQsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlIHtcclxuXHRwYWRkaW5nOiAzcHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1lZGl0OmhvdmVyLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXR5cGUtbGluZWFyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlLWN5Y2xlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS10ZXJtaW5hbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIFN1YnN0YWdlIHN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xyXG5cdHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpemUtNC02KTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2Utc2V0dGluZ3MtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogU3RhZ2UgZWRpdCBtb2RhbCAqL1xyXG4uc3RhZ2UtdHlwZS1zZXR0aW5ncyB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLnN1YnN0YWdlcy1zZWN0aW9uLFxyXG4uY2FuLXByb2NlZWQtdG8tc2VjdGlvbiB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2VzLWNvbnRhaW5lcixcclxuLmNhbi1wcm9jZWVkLXRvLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnN1YnN0YWdlcy1saXN0LFxyXG4uY2FuLXByb2NlZWQtbGlzdCB7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5leHQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA1cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uLFxyXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtcmVtb3ZlLWJ1dHRvbjpob3ZlcixcclxuLmNhbi1wcm9jZWVkLXJlbW92ZS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5hZGQtc3Vic3RhZ2UtYnV0dG9uLFxyXG4uYWRkLWNhbi1wcm9jZWVkLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDRweCAxMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5hZGQtY2FuLXByb2NlZWQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5hZGQtY2FuLXByb2NlZWQtc2VsZWN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnN0YWdlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3RhZ2Utc2F2ZS1idXR0b24sXHJcbi5zdGFnZS1jYW5jZWwtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnN0YWdlLXNhdmUtYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uc3RhZ2UtZXJyb3ItbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IHRhc2sgaW4gZWRpdG9yL3ByZXZpZXcgbW9kZSBzdHlsZXMgKi9cclxuLnRhc2std29ya2Zsb3ctdGFnIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctc3RhZ2Uge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctc3Vic3RhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogMTFweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LWhpc3Rvcnkge1xyXG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXdvcmtmbG93LXRpbWVzdGFtcCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiBXb3JrZmxvdyBzZXR0aW5ncyBkaXNwbGF5IGVuaGFuY2VtZW50cyAqL1xyXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgc3BhbltjbGFzc149XCJ3b3JrZmxvdy1zdGFnZS1uYW1lLVwiXSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4uc2V0dGluZy1pdGVtLWNvbnRyb2wgLndvcmtmbG93LXN0YWdlLW5hbWUtY3ljbGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS10ZXJtaW5hbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDRweDtcclxufVxyXG5cclxuLyogV29ya2Zsb3dEZWZpbml0aW9uTW9kYWwgaGVhZGVyIGVuaGFuY2VtZW50cyAqL1xyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciAud29ya2Zsb3ctc3RhZ2UtdHlwZS1iYWRnZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN1YnN0YWdlcy1saXN0IHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0cGFkZGluZzogMCAwIDAgMjBweDtcclxuXHRtYXJnaW46IDVweCAwIDEwcHggMDtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogQmV0dGVyIGJ1dHRvbnMgaW4gd29ya2Zsb3cgcGFuZWxzICovXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uLFxyXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSxcclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiA2cHggMTVweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1hZGQtc3RhZ2UtYnV0dG9uOmhvdmVyLFxyXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YTpob3ZlcixcclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLm1vZC1jdGE6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cCxcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bixcclxuLndvcmtmbG93LXN0YWdlLWVkaXQsXHJcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogM3B4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS11cDpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtZG93bjpob3ZlcixcclxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogU3VidGFzayBzdHlsaW5nIGltcHJvdmVtZW50cyAqL1xyXG4uc3Vic3RhZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNnB4IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciBpbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5uby1zdGFnZXMtbWVzc2FnZSxcclxuLm5vLXdvcmtmbG93cy1tZXNzYWdlLFxyXG4ubm8tc3Vic3RhZ2VzLW1lc3NhZ2UsXHJcbi5uby1jYW4tcHJvY2VlZC1tZXNzYWdlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4vKiBTVEFSVDogUmV3YXJkIFNldHRpbmdzIFN0eWxlcyAqL1xyXG4ucmV3YXJkcy1sZXZlbHMtY29udGFpbmVyLFxyXG4ucmV3YXJkcy1pdGVtcy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyxcclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdy5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlci10b3A6IDA7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wsXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7IC8qIEFsbG93IHdyYXBwaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG5cdGdhcDogMTBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMTAwcHg7IC8qIEVuc3VyZSByZWFzb25hYmxlIG1pbmltdW0gd2lkdGggKi9cclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIC5pbnB1dC1jb250YWluZXIge1xyXG5cdC8qIE9ic2lkaWFuIHVzZXMgdGhpcyBjbGFzcyBmb3IgdGV4dC90ZXh0YXJlYSAqL1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAxNTBweDtcclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHRleHRhcmVhIHtcclxuXHR3aWR0aDogMTAwJTsgLyogTWFrZSB0ZXh0YXJlYSB0YWtlIGZ1bGwgd2lkdGggd2l0aGluIGl0cyBjb250YWluZXIgKi9cclxuXHRtaW4taGVpZ2h0OiA0MHB4OyAvKiBFbnN1cmUgaXQncyB0YWxsIGVub3VnaCBmb3IgYSBjb3VwbGUgbGluZXMgKi9cclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmRyb3Bkb3duIHtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbixcclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87IC8qIFB1c2ggZGVsZXRlIGJ1dHRvbiB0byB0aGUgcmlnaHQgKi9cclxufVxyXG5cclxuLnJld2FyZHMtaXRlbS1kaXZpZGVyIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLyogRU5EOiBSZXdhcmQgU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4vKiBTVEFSVDogVGFzayBIYW5kbGVyIFNldHRpbmdzIFN0eWxlcyAqL1xyXG4uc2V0dGluZy1pdGVtLnNvcnQtY3JpdGVyaW9uLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0uc29ydC1jcml0ZXJpb24tcm93IHNlbGVjdC5kcm9wZG93biB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLyogRU5EOiBUYXNrIEhhbmRsZXIgU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4vKiBTVEFSVDogVmlldyBNYW5hZ2VtZW50IFN0eWxlcyAqL1xyXG4udmlldy1tYW5hZ2VtZW50LWxpc3Qge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnZpZXctZWRpdC1idXR0b24sXHJcbi52aWV3LWNvcHktYnV0dG9uLFxyXG4udmlldy1vcmRlci1idXR0b24sXHJcbi52aWV3LWRlbGV0ZS1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udmlldy1jb3B5LWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi52aWV3LWNvcHktYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi52aWV3LWRlbGV0ZS1idXR0b24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnZpZXctZGVsZXRlLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi8qIENvcHkgbW9kZSBpbmZvIHN0eWxlcyAqL1xyXG4uY29weS1tb2RlLWluZm8ge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uY29weS1tb2RlLWluZm8gcCB7XHJcblx0bWFyZ2luOiA0cHggMDtcclxufVxyXG5cclxuLyogRU5EOiBWaWV3IE1hbmFnZW1lbnQgU3R5bGVzICovXHJcblxyXG4vKiBUYXNrcyBQbHVnaW4gQ29tcGF0aWJpbGl0eSBXYXJuaW5nIEJhbm5lciAqL1xyXG4udGFza3MtY29tcGF0aWJpbGl0eS13YXJuaW5nIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxyXG5cdFx0dmFyKC0tYWNjZW50LWgpLFxyXG5cdFx0dmFyKC0tYWNjZW50LXMpLFxyXG5cdFx0dmFyKC0tYWNjZW50LWwpLFxyXG5cdFx0MC41XHJcblx0KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZFxyXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuNSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctdGV4dCBhIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IGE6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMykgMDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3Ryb25nIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW4ge1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1mb3JtYXQtZXhhbXBsZXMgc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtZm9ybWF0LWV4YW1wbGVzIHNwYW46bGFzdC1vZi10eXBlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBQcm9qZWN0IENvbmZpZ3VyYXRpb24gU3R5bGVzICovXHJcbi5wcm9qZWN0LXBhdGgtbWFwcGluZ3MtY29udGFpbmVyLFxyXG4ucHJvamVjdC1tZXRhZGF0YS1tYXBwaW5ncy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3csXHJcbi5wcm9qZWN0LW1ldGFkYXRhLW1hcHBpbmctcm93IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLm5vLW1hcHBpbmdzLW1lc3NhZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFRhc2sgUHJvamVjdCBEaXNwbGF5IFN0eWxlcyAqL1xyXG4udGFzay1wcm9qZWN0LXRnIHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRwYWRkaW5nLWxlZnQ6IDRweDtcclxufVxyXG5cclxuLnRhc2stcHJvamVjdC10Zzo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1RDgzRFx1REQxN1wiO1xyXG5cdG1hcmdpbi1yaWdodDogMnB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcbn1cclxuXHJcbi8qIE1ldGFkYXRhIEVkaXRvciBQcm9qZWN0IFN0eWxlcyAqL1xyXG4ucHJvamVjdC1yZWFkb25seSB7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4ucHJvamVjdC1yZWFkb25seSBpbnB1dCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG4iLCAiLnRnLXN0YXR1cy1pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMyk7XHJcblx0bWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNpemUtMi0xKSk7XHJcbn1cclxuXHJcbi50Zy1pY29ucy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50Zy1pY29ucy1jb250YWluZXIgLnRnLXN0YXR1cy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0bWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLyogR2xvYmFsIEZpbHRlciBDb250YWluZXIgU3R5bGVzICovXHJcbi5nbG9iYWwtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcbiIsICIvKiBCZXRhIHRlc3Qgd2FybmluZyBiYW5uZXIgc3R5bGVzICovXG4uYmV0YS10ZXN0LXdhcm5pbmctYmFubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci13YXJuaW5nKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWljb24ge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi5iZXRhLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmJldGEtd2FybmluZy10ZXh0IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLnRhc2stZGV0YWlscyAucGFuZWwtdG9nZ2xlLWNvbnRhaW5lciB7XHJcblx0bGVmdDogMTBweDtcclxufVxyXG5cclxuLyogRGV0YWlsIFBhbmVsIFN0eWxlcyAqL1xyXG4udGFzay1kZXRhaWxzIHtcclxuXHR3aWR0aDogMzAwcHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4td2lkdGg6IDI1MHB4O1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG9yZGVyOiAxO1xyXG59XHJcblxyXG4vKiBEZXRhaWxzIHBhbmVsIHZpc2liaWxpdHkgKi9cclxuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcclxuXHR3aWR0aDogMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdG1hcmdpbi1yaWdodDogLTMwMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy12aXNpYmxlIC50YXNrLWRldGFpbHMge1xyXG5cdHdpZHRoOiAzNTBweDtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLyogTW9iaWxlIHZpZXcgLSBzbGlkZSBmcm9tIHJpZ2h0ICovXHJcbi5pcy1waG9uZSAudGFzay1kZXRhaWxzIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLWhpZGRlbiAudGFzay1kZXRhaWxzIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XHJcblx0d2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNpemUtNC0xMikpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLyogQWRkIG92ZXJsYXkgd2hlbiBkZXRhaWxzIGFyZSB2aXNpYmxlIG9uIG1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmlzLXBob25lIC5kZXRhaWxzLWNsb3NlLWJ0biB7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmlzLXBob25lIC5kZXRhaWxzLWhlYWRlciB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZGV0YWlscy1lbXB0eSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIERldGFpbHMgY29udGVudCAqL1xyXG4uZGV0YWlscy1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxufVxyXG5cclxuLmRldGFpbHMtY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmctYm90dG9tOiBtYXgodmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSksIHZhcigtLXNpemUtNC04KSk7XHJcbn1cclxuXHJcbi5kZXRhaWxzLW5hbWUge1xyXG5cdG1hcmdpbjogMCAwIDhweCAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiAxLjNlbTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4uZGV0YWlscy1zdGF0dXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZGV0YWlscy1zdGF0dXMtbGFiZWwge1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLmRldGFpbHMtc3RhdHVzIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubWVudS1pdGVtLXRpdGxlOmhhcyguc3RhdHVzLW9wdGlvbikge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWNoZWNrYm94KSAubWVudS1pdGVtLWljb24ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWljb24pIC5tZW51LWl0ZW0taWNvbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnN0YXR1cy1vcHRpb24taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnN0YXR1cy1vcHRpb24tY2hlY2tib3gge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnN0YXR1cy1vcHRpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5zdGF0dXMtb3B0aW9uLmN1cnJlbnQge1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XHJcblx0b3V0bGluZTogMXB4IHNvbGlkXHJcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC4zKTtcclxuXHRvdXRsaW5lLXN0eWxlOiBkYXNoZWQ7XHJcbn1cclxuXHJcbi5zdGF0dXMtb3B0aW9uOm5vdCguY3VycmVudCkge1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50KTpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnN0YXR1cy1vcHRpb24gaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG59XHJcblxyXG4uZGV0YWlscy1tZXRhZGF0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1maWVsZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMnB4O1xyXG59XHJcblxyXG4ubWV0YWRhdGEtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4ubWV0YWRhdGEtdmFsdWUge1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcbn1cclxuXHJcbi5kZXRhaWxzLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiA4cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZGV0YWlscy1lZGl0LWJ0bixcclxuLmRldGFpbHMtdG9nZ2xlLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi5kZXRhaWxzLWVkaXQtYnRuOmhvdmVyLFxyXG4uZGV0YWlscy10b2dnbGUtYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi5kZXRhaWxzLXRvZ2dsZS1idG4ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogVGFzayBlZGl0aW5nIGZvcm0gc3R5bGVzICovXHJcbi5kZXRhaWxzLWVkaXQtZm9ybSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMTJweDtcclxufVxyXG5cclxuLmRldGFpbHMtZm9ybS1maWVsZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogNHB4O1xyXG59XHJcblxyXG4uZGV0YWlscy1mb3JtLWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZGV0YWlscy1mb3JtLWlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmRldGFpbHMtZWRpdC1jb250ZW50IHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZGV0YWlscy1mb3JtLWlucHV0IGlucHV0LFxyXG4uZGV0YWlscy1mb3JtLWlucHV0IHNlbGVjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5kYXRlLWlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiA2cHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmllbGQtZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLmRldGFpbHMtZm9ybS1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXJnaW4tdG9wOiAxNnB4O1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4uZGV0YWlscy1mb3JtLWJ1dHRvbnMgYnV0dG9uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZGV0YWlscy1mb3JtLWVycm9yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLmRldGFpbHMtZWRpdC1maWxlLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi5kZXRhaWxzLWVkaXQtZmlsZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gZm9yIG1vYmlsZSAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50YXNrLW9tbmlmb2N1cy1jb250YWluZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC50YXNrLXNpZGViYXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdH1cclxuXHJcblx0LnRhc2stY29udGVudCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG5cclxuXHQudGFzay1kZXRhaWxzIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBQcm9qZWN0IHNvdXJjZSBpbmRpY2F0b3Igc3R5bGVzICovXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuMjtcclxufVxyXG5cclxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIFJlYWRvbmx5IGluZGljYXRvciAqL1xyXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLnJlYWRvbmx5LWluZGljYXRvciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IucmVhZG9ubHktaW5kaWNhdG9yIC5pbmRpY2F0b3ItdGV4dCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIE92ZXJyaWRlIGluZGljYXRvciAqL1xyXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG59XHJcblxyXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEZpZWxkIGRlc2NyaXB0aW9ucyAqL1xyXG4uZmllbGQtZGVzY3JpcHRpb24ucmVhZG9ubHktZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5maWVsZC1kZXNjcmlwdGlvbi5vdmVycmlkZS1kZXNjcmlwdGlvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qIElubGluZSBlZGl0b3Igc3BlY2lmaWMgc3R5bGVzICovXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IuaW5saW5lLWluZGljYXRvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGZvbnQtc2l6ZTogMC43NWVtO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLyogVGFibGUgc3BlY2lmaWMgc3R5bGVzICovXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAycHg7XHJcblx0cmlnaHQ6IDJweDtcclxuXHRwYWRkaW5nOiAxcHggM3B4O1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHotaW5kZXg6IDU7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxufVxyXG5cclxuLnRhc2stdGFibGUtY2VsbC5yZWFkb25seS1jZWxsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi8qIFByb2plY3QgY29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyAqL1xyXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucHJvamVjdC1jb250YWluZXIucHJvamVjdC1yZWFkb25seSAucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yIHtcclxuXHRtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuIiwgIi8qIE9uQ29tcGxldGlvbiBDb25maWd1cmF0b3IgU3R5bGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMnB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tYWN0aW9uLXR5cGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDZweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlnIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxuXHRwYWRkaW5nLXRvcDogOHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLyogQWN0aW9uIFR5cGUgRHJvcGRvd24gKi9cclxuLm9uY29tcGxldGlvbi1hY3Rpb24tdHlwZSAuZHJvcGRvd24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBJbnB1dCBGaWVsZHMgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFRvZ2dsZSBDb21wb25lbnQgKi9cclxuLm9uY29tcGxldGlvbi1maWVsZCAuY2hlY2tib3gtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA4cHg7XHJcbn1cclxuXHJcbi8qIFN1Z2dlc3RlciBTdHlsZXMgKi9cclxuLnRhc2staWQtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1jb250ZW50LXByZXZpZXcge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi5maWxlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbGUtcGF0aCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4uYWN0aW9uLXR5cGUtc3VnZ2VzdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uYWN0aW9uLWRlc2NyaXB0aW9uIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIFZhbGlkYXRpb24gU3RhdGVzICovXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLmludmFsaWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yLnZhbGlkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tdmFsaWRhdGlvbi1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxuXHRwYWRkaW5nOiA0cHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2UuZXJyb3Ige1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi12YWxpZGF0aW9uLW1lc3NhZ2Uuc3VjY2VzcyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcclxufVxyXG5cclxuLyogSW50ZWdyYXRpb24gd2l0aCBUYXNrIERldGFpbHMgKi9cclxuLnRhc2stZGV0YWlscyAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzIC5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lm9uY29tcGxldGlvbi1jb25maWd1cmF0b3Ige1xyXG5cdFx0cGFkZGluZzogOHB4O1xyXG5cdFx0Z2FwOiA4cHg7XHJcblx0fVxyXG5cclxuXHQub25jb21wbGV0aW9uLWNvbmZpZyB7XHJcblx0XHRnYXA6IDhweDtcclxuXHR9XHJcblxyXG5cdC50YXNrLWNvbnRlbnQtcHJldmlldyB7XHJcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAub25jb21wbGV0aW9uLWNvbmZpZ3VyYXRvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXHJcbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xyXG5cdC5vbmNvbXBsZXRpb24tY29uZmlndXJhdG9yIHtcclxuXHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1maWVsZCAudGV4dC1pbnB1dCB7XHJcblx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tZmllbGQgLnRleHQtaW5wdXQ6Zm9jdXMge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0fVxyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyAqL1xyXG4ub25jb21wbGV0aW9uLWNvbmZpZyB7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tZmllbGQuZW50ZXJpbmcge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1maWVsZC5leGl0aW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxufVxyXG5cclxuLyogT25Db21wbGV0aW9uIE1vZGFsIFN0eWxlcyAqL1xyXG4ub25jb21wbGV0aW9uLW1vZGFsIHtcclxuXHQtLWRpYWxvZy13aWR0aDogNjAwcHg7XHJcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xyXG5cdC0tZGlhbG9nLW1heC1oZWlnaHQ6IDgwdmg7XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWF4LWhlaWdodDogdmFyKC0tZGlhbG9nLW1heC1oZWlnaHQpO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZzogMjBweDtcclxuXHRtYXgtaGVpZ2h0OiA2MHZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogOHB4O1xyXG5cdHBhZGRpbmc6IDE2cHggMjBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIGJ1dHRvbiB7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4vKiBJbmxpbmUgT25Db21wbGV0aW9uIEJ1dHRvbiBTdHlsZXMgKi9cclxuLmlubGluZS1vbmNvbXBsZXRpb24tYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1vbmNvbXBsZXRpb24tY29uZmlnLWJ1dHRvbjpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5pbmxpbmUtb25jb21wbGV0aW9uLWNvbmZpZy1idXR0b246YWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gZm9yIE1vZGFsICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwge1xyXG5cdFx0LS1kaWFsb2ctd2lkdGg6IDk1dnc7XHJcblx0XHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA4NXZoO1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1tb2RhbC1jb250ZW50IHtcclxuXHRcdHBhZGRpbmc6IDE2cHg7XHJcblx0XHRtYXgtaGVpZ2h0OiA2NXZoO1xyXG5cdH1cclxuXHJcblx0Lm9uY29tcGxldGlvbi1tb2RhbC1idXR0b25zIHtcclxuXHRcdHBhZGRpbmc6IDEycHggMTZweDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHR9XHJcblxyXG5cdC5vbmNvbXBsZXRpb24tbW9kYWwtYnV0dG9ucyBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4td2lkdGg6IHVuc2V0O1xyXG5cdH1cclxufVxyXG4iLCAiLyogVW5pdmVyc2FsIFN1Z2dlc3QgU3R5bGVzICovXHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW0uaXMtc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi51bml2ZXJzYWwtc3VnZ2VzdC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLnVuaXZlcnNhbC1zdWdnZXN0LWxhYmVsIHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG59XHJcblxyXG4udW5pdmVyc2FsLXN1Z2dlc3QtZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4vKiBTcGVjaWFsIGNoYXJhY3RlciB0cmlnZ2VyIGhpZ2hsaWdodGluZyAqL1xyXG4uY20tZWRpdG9yIC5jbS1saW5lIC51bml2ZXJzYWwtc3VnZ2VzdC10cmlnZ2VyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0cGFkZGluZzogMXB4IDJweDtcclxufVxyXG5cclxuLyogU3VnZ2VzdCBwb3B1cCBjb250YWluZXIgKi9cclxuLnN1Z2dlc3Rpb24tY29udGFpbmVyIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1jb250YWluZXIgLnVuaXZlcnNhbC1zdWdnZXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLyogRGFyayB0aGVtZSBhZGp1c3RtZW50cyAqL1xyXG4udGhlbWUtZGFyayAudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC51bml2ZXJzYWwtc3VnZ2VzdC1pdGVtLmlzLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEhpZ2ggY29udHJhc3QgbW9kZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XHJcblx0fSBcclxuXHRcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbTpob3ZlcixcclxuXHQudW5pdmVyc2FsLXN1Z2dlc3QtaXRlbS5pcy1zZWxlY3RlZCB7XHJcblx0XHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHR9XHJcbn1cclxuIiwgIi5jb25maXJtLW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1N0YxNlx1OEY5MVx1NUYzOVx1N0E5N1x1NjgzN1x1NUYwRiAqL1xyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIHtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1N0M3Qlx1NTc4Qlx1OTAwOVx1NjJFOVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcblx0LmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtdGV4dCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY29tbW9uLWZvcm0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1mb3JtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4vKiBcdTU2RkVcdTY4MDdcdTk4ODRcdTg5QzggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzBweDtcclxuXHRoZWlnaHQ6IDMwcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHN2ZyB7XHJcblx0d2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxOHB4O1xyXG59XHJcblxyXG4vKiBcdTY2MjBcdTVDMDRcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmcta2V5IHtcclxuXHR3aWR0aDogODBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctYXJyb3cge1xyXG5cdG1hcmdpbjogMCAxMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXZhbHVlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1kZWxldGUge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRwYWRkaW5nOiAwIDhweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtbWFwcGluZy1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTRFOEJcdTRFRjZcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudHMtY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1uYW1lIHtcclxuXHR3aWR0aDogMTIwcHg7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZXRhaWxzIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcHJvcGVydHkge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRlbGV0ZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1ldmVudC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTYzMDlcdTk0QUVcdTVCQjlcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1lZGl0LWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jYW5jZWwtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXNhdmUtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIFx1OEY5M1x1NTE2NVx1NUI1N1x1NkJCNSAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLWRlc2MsXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLW5hbWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NUJCOVx1NTY2OCAqL1xyXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oYWJpdC1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFx1NkRGQlx1NTJBMFx1NjMwOVx1OTRBRSAqL1xyXG4uaGFiaXQtYWRkLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4uaGFiaXQtYWRkLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNnB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmhhYml0LWFkZC1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NEUzQVx1N0E3QVx1NzJCNlx1NjAwMSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmhhYml0LWVtcHR5LXN0YXRlIGgyIHtcclxuXHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU5ODc5XHU1MjE3XHU4ODY4ICovXHJcbi5oYWJpdC1pdGVtcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1OTg3OSAqL1xyXG4uaGFiaXQtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogNy41cmVtO1xyXG59XHJcblxyXG4uaGFiaXQtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTZGRVx1NjgwNyAqL1xyXG4uaGFiaXQtaXRlbS1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDQ4cHg7XHJcblx0aGVpZ2h0OiA0OHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxufVxyXG5cclxuLmhhYml0LWl0ZW0taWNvbiBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NEZFMVx1NjA2RiAqL1xyXG4uaGFiaXQtaXRlbS1pbmZvIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDsgLyogXHU5NjMyXHU2QjYyXHU1MTg1XHU1QkI5XHU4RkM3XHU5NTdGXHU2NDkxXHU1RjAwXHU1RTAzXHU1QzQwICovXHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLXR5cGUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU2NENEXHU0RjVDXHU2MzA5XHU5NEFFICovXHJcbi5oYWJpdC1pdGVtLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEycHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWJ1dHRvbixcclxuLmhhYml0LWRlbGV0ZS1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1idXR0b246aG92ZXIsXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtYnV0dG9uIHN2ZyxcclxuLmhhYml0LWRlbGV0ZS1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1MjIwXHU5NjY0XHU1QkY5XHU4QkREXHU2ODQ2XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1kZWxldGUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbi1jb25maXJtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCAiLyogSUNTIFNldHRpbmdzIFN0eWxlcyAqL1xyXG5cclxuLyogTWFpbiBjb250YWluZXIgKi9cclxuLmljcy1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8qIEhlYWRlciBzZWN0aW9uICovXHJcbi5pY3MtaGVhZGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uaWNzLWJhY2stYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5pY3MtYmFjay1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uaWNzLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi8qIEdsb2JhbCBzZXR0aW5ncyAqL1xyXG4uaWNzLWdsb2JhbC1zZXR0aW5ncyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi8qIFNvdXJjZXMgbGlzdCAqL1xyXG4uaWNzLXNvdXJjZXMtbGlzdCB7XHJcblx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZXMtbGlzdCBoMyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1pdGVtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtaXRlbTpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS10aXRsZSBzdHJvbmcge1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2Utc3RhdHVzIHtcclxuXHRwYWRkaW5nOiAwLjNyZW0gMC44cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XHJcblx0Zm9udC1zaXplOiAwLjc1ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxufVxyXG5cclxuLnN0YXR1cy1lbmFibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uc3RhdHVzLWRpc2FibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtZGV0YWlscyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWRldGFpbHMgZGl2IHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjRyZW07XHJcbn1cclxuXHJcbi8qIEFjdGlvbiBidXR0b25zICovXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAxcmVtO1xyXG59XHJcblxyXG4ucHJpbWFyeS1hY3Rpb25zLFxyXG4uc2Vjb25kYXJ5LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLWN0YTpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbjpkaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblx0dHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uc3VjY2VzcyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24uZXJyb3Ige1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLyogQWRkIHNvdXJjZSBjb250YWluZXIgKi9cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1hZGQtc291cmNlLWNvbnRhaW5lcjpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGZvbnQtc2l6ZTogMC45NWVtO1xyXG59XHJcblxyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbn1cclxuXHJcbi8qIFRlc3QgY29udGFpbmVyICovXHJcbi5pY3MtdGVzdC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG59XHJcblxyXG4uaWNzLXRlc3QtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC42cmVtIDEuMnJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaWNzLXRlc3QtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi8qIEVtcHR5IHN0YXRlICovXHJcbi5pY3MtZW1wdHktc3RhdGUge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAzcmVtIDJyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogTW9kYWwgc3R5bGVzICovXHJcbi5pY3Mtc291cmNlLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDgwdmg7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmF1dGgtZmllbGQge1xyXG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcclxufVxyXG5cclxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgZGVzaWduICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5pY3Mtc291cmNlLWhlYWRlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0XHRnYXA6IDAuNXJlbTtcclxuXHR9XHJcblxyXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGdhcDogMC41cmVtO1xyXG5cdH1cclxuXHJcblx0LnByaW1hcnktYWN0aW9ucyxcclxuXHQuc2Vjb25kYXJ5LWFjdGlvbnMge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbiB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0bWluLXdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcblx0Lmljcy1zb3VyY2UtaXRlbSB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdH1cclxuXHJcblx0LnByaW1hcnktYWN0aW9ucyxcclxuXHQuc2Vjb25kYXJ5LWFjdGlvbnMge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFRleHQgUmVwbGFjZW1lbnRzIFN0eWxlcyAqL1xyXG4udGV4dC1yZXBsYWNlbWVudHMtbGlzdCB7XHJcblx0bWFyZ2luOiAxcmVtIDA7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50cy1lbXB0eSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXJ1bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZTpob3ZlciB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWhlYWRlciBzdHJvbmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cyB7XHJcblx0cGFkZGluZzogMC4ycmVtIDAuNnJlbTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmVuYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXN0YXR1cy5kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWRldGFpbHMge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWRldGFpbHMgZGl2IHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LXBhdHRlcm4ge1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcmVwbGFjZW1lbnQge1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFjdGlvbnMgYnV0dG9uIHtcclxuXHRwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ubW9kLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWRkIGJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogVGV4dCBSZXBsYWNlbWVudCBNb2RhbCBTdHlsZXMgKi9cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdG1heC13aWR0aDogNzAwcHg7XHJcblx0bWF4LWhlaWdodDogODV2aDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4udGVzdC1vdXRwdXQge1xyXG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjhyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLnRlc3QtcmVzdWx0IHtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBFeGFtcGxlcyBzZWN0aW9uICovXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIHVsIHtcclxuXHRtYXJnaW46IDAuNXJlbSAwO1xyXG5cdHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCBsaSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGNvZGUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcblx0cGFkZGluZzogMC4xcmVtIDAuM3JlbTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBzeW5jIGJ1dHRvbiAqL1xyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG5cdDAlIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcblx0fVxyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zeW5jaW5nOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1yaWdodDogMC4zcmVtO1xyXG5cdGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5pY3MtdGV4dC1yZXBsYWNlbWVudC1tb2RhbCxcclxuLmljcy1zb3VyY2UtbW9kYWwge1xyXG5cdG1heC13aWR0aDogMTAwMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDkwdmg7XHJcblxyXG5cdHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5pY3MtdGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCxcclxuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG4iLCAiLyogVGFzayBmaWx0ZXIgcGFuZWwgc3R5bGVzICovXG4udGFzay1maWx0ZXItcGFuZWwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC04KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWZpbHRlci1hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stZmlsdGVyLXBhbmVsID4gLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi50YXNrLWZpbHRlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIGgzIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRtYXJnaW46IDVweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLXRvcDogOHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHksXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2stZmlsdGVyLXJlc2V0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dDpmb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cbiIsICIuZmlsdGVyLWdyb3VwLXNlcGFyYXRvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTZCMjFcdTg5ODFcdTY1ODdcdTY3MkNcdTk4OUNcdTgyNzIgKi9cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cclxufVxyXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YmVmb3JlLFxyXG4uZmlsdGVyLWdyb3VwLXNlcGFyYXRvcjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RkI5XHU2ODQ2XHU5ODlDXHU4MjcyICovXHJcblx0bWFyZ2luOiAwIHZhcigtLXNpemUtMi0xKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG59XHJcbi5kcmFnLWhhbmRsZSB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogXHU2MzA5XHU5NEFFXHU1NDhDXHU4RjkzXHU1MTY1XHU2ODQ2XHU3Njg0XHU4RjgzXHU1QzBGXHU2NTg3XHU2NzJDXHU1NDhDXHU1MTg1XHU4RkI5XHU4REREICovXHJcbi5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cclxuXHQtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xyXG5cdGN1cnNvcjogdmFyKC0tY3Vyc29yKTtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0bWluLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuLmNvbXBhY3QtYnRuOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdG9wYWNpdHk6IHZhcigtLWljb24tb3BhY2l0eS1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG4uY29tcGFjdC1pbnB1dCxcclxuLmNvbXBhY3Qtc2VsZWN0IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cclxuXHRoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdThGOTNcdTUxNjVcdTY4NDZcdTlBRDhcdTVFQTZcdTUzRDhcdTkxQ0YgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmNvbXBhY3Qtc2VsZWN0OmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uY29tcGFjdC10ZXh0IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVCNTdcdTRGNTNcdTU5MjdcdTVDMEZcdTUzRDhcdTkxQ0YgKi9cclxufVxyXG5cclxuLyogXHU2MkQ2XHU1MkE4XHU2NUY2XHU3Njg0XHU1MzYwXHU0RjREXHU3QjI2ICovXHJcbi5kcmFnZ2luZy1wbGFjZWhvbGRlciB7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlclxyXG5cdCk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTYwQUNcdTUwNUNcdTgwQ0NcdTY2NkZcdTgyNzIgKi9cclxufVxyXG5cclxuLyogXHU1OTgyXHU2NzlDXHU5NzAwXHU4OTgxXHVGRjBDXHU0RTNBXHU4RkM3XHU2RUU0XHU1NjY4XHU3RUM0XHU0RUY2XHU3Njg0XHU2ODM5XHU1QkI5XHU1NjY4XHU4QkJFXHU3RjZFXHU2ODM3XHU1RjBGICovXHJcbi50YXNrLWZpbHRlci1yb290LWNvbnRhaW5lci50YXNrLXBvcG92ZXItY29udGVudCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdG1heC1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi50YXNrLWZpbHRlci1tYWluLXBhbmVsIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1NzA2XHU4OUQyXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi5maWx0ZXItbWVudSB7XHJcblx0ei1pbmRleDogNTA7XHJcblx0bWluLXdpZHRoOiA2MDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiByb290RmlsdGVyU2V0dXBTZWN0aW9uIGluIFRTLCBjb3JyZXNwb25kcyB0byBIVE1MJ3MgI3Jvb3QtZmlsdGVyLWNvbnRhaW5lciAqL1xyXG4ucm9vdC1maWx0ZXItc2V0dXAtc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC43NXJlbTsgLyogc3BhY2UteS0zIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMykgKi9cclxufVxyXG5cclxuLyogUm9vdCBDb25kaXRpb24gU2VjdGlvbiAoZGl2LmZsZXguaXRlbXMtY2VudGVyLnNwYWNlLXgtMi5wLTIuYmctc2xhdGUtMTAwLnJvdW5kZWQtbWQuYm9yZGVyLmJvcmRlci1zbGF0ZS0yMDApICovXHJcbi5yb290LWNvbmRpdGlvbi1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07IC8qIHNwYWNlLXgtMiBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTIpICovXHJcblx0cGFkZGluZzogMC41cmVtOyAvKiBwLTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0LFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcilcclxuXHQpOyAvKiBiZy1zbGF0ZS0xMDAgKi9cclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMjAwICovXHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1sYWJlbCB7XHJcblx0LyogY29tcGFjdC10ZXh0IGFscmVhZHkgcHJvdmlkZXMgZm9udC1zaXplICovXHJcblx0Zm9udC13ZWlnaHQ6IDUwMDsgLyogZm9udC1tZWRpdW0gKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0IHtcclxuXHQvKiBjb21wYWN0LXNlbGVjdCBhbHJlYWR5IHByb3ZpZGVzIGJhc2Ugc3R5bGluZyAqL1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7IC8qIGJvcmRlciBib3JkZXItc2xhdGUtMzAwICovXHJcblx0LyogYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpOyAvKiBzaGFkb3ctc20gKi8gLyogQ29uc2lkZXIgaWYgbmVlZGVkICovXHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNwYW4ge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cHMgQ29udGFpbmVyICgjZmlsdGVyLWdyb3Vwcy1jb250YWluZXIpICovXHJcbi5maWx0ZXItZ3JvdXBzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpOyAvKiBzcGFjZS15LTMgZnJvbSBIVE1MICovXHJcblxyXG5cdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZpbHRlciBHcm91cCAoI2ZpbHRlci1ncm91cC10ZW1wbGF0ZSkgKi9cclxuLmZpbHRlci1ncm91cCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpOyAvKiBwLTMgZnJvbSBIVE1MICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogcm91bmRlZC1tZCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7IC8qIGJnLXdoaXRlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBzcGFjZS15LTIgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjM3NXJlbTsgLyogc3BhY2UteC0xLjUgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTsgLyogdGV4dC1zbGF0ZS00MDAgKi9cclxufVxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXI6aG92ZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIGhvdmVyOnRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgPiAuY29tcGFjdC10ZXh0LFxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gc3Bhbi5jb21wYWN0LXRleHQge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWRcclxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxufVxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5ncm91cC1jb25kaXRpb24tc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjI1cmVtOyAvKiBzcGFjZS14LTEgZnJvbSBIVE1MICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4sXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4ge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogcm91bmRlZC1tZCBmcm9tIFRhaWx3aW5kICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHRcclxuXHQuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyXHJcblx0LnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTsgLyogaG92ZXI6dGV4dC1pbmRpZ28tNjAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItcmlnaHQgLnJlbW92ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3ZlcilcclxuXHQpO1xyXG59XHJcblxyXG4vKiBGaWx0ZXJzIExpc3QgKC5maWx0ZXJzLWxpc3QpICovXHJcbi5maWx0ZXJzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTsgLyogc3BhY2UteS0xLjUgZnJvbSBIVE1MICovXHJcblx0cGFkZGluZy1sZWZ0OiAxcmVtOyAvKiBwbC00IGZyb20gSFRNTCAqL1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXItbC0yIGJvcmRlci1zbGF0ZS0yMDAgKi9cclxuXHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpOyAvKiBtbC0xLjUgZnJvbSBIVE1MICovXHJcbn1cclxuLmZpbHRlcnMtbGlzdDplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogR3JvdXAgRm9vdGVyICguZ3JvdXAtZm9vdGVyKSAqL1xyXG4uZ3JvdXAtZm9vdGVyIHtcclxuXHQvKiBIVE1MOiA8ZGl2IGNsYXNzPVwicGwtNCBtdC0xLjVcIj4gY29udGFpbmluZyBidXR0b24gKi9cclxuXHQvKiBUUyBjcmVhdGVzIC5ncm91cC1mb290ZXIsIHRoZW4gYWRkcyBCdXR0b25Db21wb25lbnQgdG8gaXQuICovXHJcblx0cGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgLyogQ29ycmVzcG9uZHMgdG8gcGwtMS41IGVmZmVjdGl2ZWx5IGlmIGl0ZW1zIGluc2lkZSAuZmlsdGVycy1saXN0IGhhdmUgbWFyZ2luL3BhZGRpbmcgKi9cclxuXHRtYXJnaW4tdG9wOiAwLjM3NXJlbTsgLyogbXQtMS41ICovXHJcbn1cclxuXHJcbi5hZGQtZmlsdGVyLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBJdGVtICgjZmlsdGVyLWl0ZW0tdGVtcGxhdGUpICovXHJcbi5maWx0ZXItaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHQvKiBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcblx0LyogYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAqL1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1jb25qdW5jdGlvbiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiB0ZXh0LTJ4cyAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7IC8qIGZvbnQtc2VtaWJvbGQgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXHJcblx0YWxpZ24tc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdGZsZXgtYmFzaXM6IDMwJTsgLyogdy0xLzMgKi9cclxuXHRmbGV4LWdyb3c6IDA7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWRcclxuXHRcdHZhcigtLWlucHV0LWJvcmRlci1jb2xvciwgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpKTtcclxuXHQvKiBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7ICovXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci1wcm9wZXJ0eS1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdCB7XHJcblx0d2lkdGg6IGF1dG87IC8qIHctYXV0byAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLmZpbHRlci12YWx1ZS1pbnB1dC5jb21wYWN0LWlucHV0IHtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIGZsZXgtZ3JvdyAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG4gLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IC8qIHRleHQtc2xhdGUtNTAwICovXHJcbn1cclxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpOyAvKiBob3Zlcjp0ZXh0LXJlZC02MDAgKi9cclxufVxyXG4uZmlsdGVyLWl0ZW0gLnJlbW92ZS1maWx0ZXItYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3ZlcixcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXHJcblx0KTtcclxufVxyXG5cclxuLyogQWRkIEZpbHRlciBHcm91cCBCdXR0b24gU2VjdGlvbiAqL1xyXG4uYWRkLWdyb3VwLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmFkZC1maWx0ZXItZ3JvdXAtYnRuLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIENvbmZpZ3VyYXRpb24gU2VjdGlvbiAqL1xyXG4uZmlsdGVyLWNvbmZpZy1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdC8qIG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7ICovXHJcblx0LyogbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtMi0xKTsgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpOyAqL1xyXG5cdC8qIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcbn1cclxuXHJcbi5zYXZlLWZpbHRlci1jb25maWctYnRuLFxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0biB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG4taWNvbixcclxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubG9hZC1maWx0ZXItY29uZmlnLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBDb25maWcgTW9kYWwgU3R5bGVzICovXHJcbi5maWx0ZXItY29uZmlnLWRldGFpbHMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHQxMzVkZWcsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgMCUsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KSAxMDAlXHJcblx0KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIGgzIHtcclxuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIHAge1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTIpIDA7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1tZXRhIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLXN1bW1hcnkge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgMCAwIDA7XHJcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctc3VtbWFyeSBoNCB7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS0yLTMpIDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHAge1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctYnV0dG9ucyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLW5hbWUtaGlnaGxpZ2h0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBBZHZhbmNlZCBmaWx0ZXIgY29udGFpbmVyIHN0eWxlcyBmb3IgVmlld0NvbmZpZ01vZGFsICovXHJcbi5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAudGFzay1maWx0ZXItcm9vdC1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAudGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qIFNtYWxsZXIgc3R5bGluZyBmb3IgZmlsdGVycyBpbiBtb2RhbCAqL1xyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmZpbHRlci1ncm91cCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItaXRlbSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtYnRuIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdG1pbi1oZWlnaHQ6IDI2cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1zZWxlY3QsXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuY29tcGFjdC1pbnB1dCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGhlaWdodDogMjhweDtcclxufVxyXG4iLCAiLyogRmlsZSBGaWx0ZXIgU2V0dGluZ3MgU3R5bGVzICovXHJcblxyXG4uZmlsZS1maWx0ZXItcnVsZXMtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1ydWxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDAuNzVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXJ1bGU6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSxcclxuLmZpbGUtZmlsdGVyLXJ1bGUtcGF0aCxcclxuLmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC4yNXJlbTtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXJ1bGUtdHlwZSB7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItcnVsZS1wYXRoIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItcnVsZS1lbmFibGVkIHtcclxuXHRtaW4td2lkdGg6IDYwcHg7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1ydWxlIGxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cdHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItcnVsZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXJ1bGUtZGVsZXRlIHtcclxuXHRwYWRkaW5nOiAwLjI1cmVtO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWluLXdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLWFkZC1ydWxlIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgLnNldHRpbmctaXRlbSB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1hZGQtcnVsZSAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItYWRkLXJ1bGUgKyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXItdG9wOiBub25lO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItc3RhdHMge1xyXG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItc3RhdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAwLjI1cmVtIDA7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1zdGF0Om5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4uc3RhdC1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uc3RhdC12YWx1ZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogRXJyb3Igc3RhdGUgZm9yIHN0YXRpc3RpY3MgKi9cclxuLmZpbGUtZmlsdGVyLXN0YXQuZXJyb3Ige1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1zdGF0LmVycm9yIC5zdGF0LWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi8qIFJlZnJlc2ggYnV0dG9uIHN0eWxpbmcgKi9cclxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXSB7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbSAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uW2FyaWEtbGFiZWwqPVwicmVmcmVzaFwiXTpob3ZlciB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG59XHJcblxyXG4vKiBMb2FkaW5nIHN0YXRlIGFuaW1hdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIHJlZnJlc2gtc3BpbiB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0gLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbltkaXNhYmxlZF0gLmx1Y2lkZS1yZWZyZXNoLWN3IHtcclxuXHRhbmltYXRpb246IHJlZnJlc2gtc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgZGVzaWduIGZvciBzbWFsbGVyIHNjcmVlbnMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LmZpbGUtZmlsdGVyLXJ1bGUge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cdFx0Z2FwOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuZmlsZS1maWx0ZXItcnVsZS10eXBlLFxyXG5cdC5maWxlLWZpbHRlci1ydWxlLXBhdGgsXHJcblx0LmZpbGUtZmlsdGVyLXJ1bGUtZW5hYmxlZCB7XHJcblx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0fVxyXG5cclxuXHQuZmlsZS1maWx0ZXItcnVsZS1kZWxldGUge1xyXG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcblx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1ydWxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmZpbGUtZmlsdGVyLXJ1bGUgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogRW1wdHkgc3RhdGUgc3R5bGluZyAqL1xyXG4uZmlsZS1maWx0ZXItcnVsZXMtY29udGFpbmVyOmVtcHR5OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiTm8gZmlsdGVyIHJ1bGVzIGNvbmZpZ3VyZWQuIEFkZCBydWxlcyBiZWxvdyB0byBzdGFydCBmaWx0ZXJpbmcgZmlsZXMgYW5kIGZvbGRlcnMuXCI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogMnJlbTtcclxufVxyXG5cclxuLyogUHJlc2V0IHRlbXBsYXRlcyBzZWN0aW9uICovXHJcbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIC5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMDtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgLnNldHRpbmctaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBQcmVzZXQgYnV0dG9uIHN0eWxpbmcgKi9cclxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsZS1maWx0ZXItcHJlc2V0LWNvbnRhaW5lciBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4vKiBTdWNjZXNzIHN0YXRlIGZvciBhcHBsaWVkIHByZXNldHMgKi9cclxuLmZpbGUtZmlsdGVyLXByZXNldC1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5maWxlLWZpbHRlci1wcmVzZXQtY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuLXJnYik7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcbiIsICIvKiBXb3JrZmxvdyBEZWNvcmF0b3IgU3R5bGVzICovXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3Igc3BhbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogRGlmZmVyZW50IGNvbG9ycyBmb3IgZGlmZmVyZW50IHN0YWdlIHR5cGVzICovXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwibGluZWFyXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImN5Y2xlXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcbn1cclxuXHJcbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJsaW5lYXJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluLXByb2dyZXNzLWNvbG9yKTtcclxufVxyXG5cclxuLnRoZW1lLWRhcmsgLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvcltkYXRhLXN0YWdlLXR5cGU9XCJ0ZXJtaW5hbFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcclxufVxyXG4iLCAiLyogRGF0ZSBQaWNrZXIgQ29tcG9uZW50IFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogNTAwcHg7XG5cdG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbWFpbi1wYW5lbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbGVmdC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1yaWdodC1wYW5lbCB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItc2VjdGlvbi10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4vKiBRdWljayBPcHRpb25zIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb25zLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xuXHRtYXgtaGVpZ2h0OiAxOTVweDtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5jbGVhci1vcHRpb246aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uc2VsZWN0ZWQgLnF1aWNrLW9wdGlvbi1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogQ2FsZW5kYXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1tb250aC15ZWFyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuXHRnYXA6IDFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0bWluLWhlaWdodDogMzJweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5Lm90aGVyLW1vbnRoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LnRvZGF5LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogUG9wb3ZlciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUge1xuXHR6LWluZGV4OiAyMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmRhdGUtcGlja2VyLXBvcG92ZXIudGctbWVudSAuZGF0ZS1waWNrZXItcG9wb3Zlci1jb250ZW50IHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTW9iaWxlIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XG5cdH1cbn1cblxuLyogV2lkZ2V0IEVycm9yIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci13aWRnZXQtZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbiIsICIvKiBRdWljayBDYXB0dXJlIFBhbmVsICovXHJcbi5xdWljay1jYXB0dXJlLXBhbmVsIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLyogTWluaW1hbCBRdWljayBDYXB0dXJlIE1vZGFsICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLm1pbmltYWwge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWluLXdpZHRoOiA1MDBweDtcclxuXHRtYXgtaGVpZ2h0OiAyMDBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWluLWhlaWdodDogNTBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1lZGl0b3ItY29udGFpbmVyIC5jbS1lZGl0b3Ige1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1pbmltYWwtZWRpdG9yLWNvbnRhaW5lciAuY20tZWRpdG9yLmNtLWZvY3VzZWQge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWFscGhhKTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbWluaW1hbC1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnF1aWNrLWFjdGlvbnMtbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLnF1aWNrLWFjdGlvbnMtcmlnaHQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcbn1cclxuXHJcbi5xdWljay1hY3Rpb24tYnV0dG9uLmFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnF1aWNrLWFjdGlvbi1zYXZlIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YWctaW5wdXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDYwcHg7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHR3aWR0aDogMzAwcHg7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi8qIE1pbmltYWwgUXVpY2sgQ2FwdHVyZSBTdWdnZXN0ICovXHJcbi5taW5pbWFsLXF1aWNrLWNhcHR1cmUtc3VnZ2VzdGlvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLm1pbmltYWwtcXVpY2stY2FwdHVyZS1zdWdnZXN0aW9uLmlzLXNlbGVjdGVkIC5zdWdnZXN0aW9uLWxhYmVsIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ubWluaW1hbC1xdWljay1jYXB0dXJlLXN1Z2dlc3Rpb24uaXMtc2VsZWN0ZWQgLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4uc3VnZ2VzdGlvbi1pY29uIHtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0bWluLXdpZHRoOiAyMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tY29udGVudCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC10ZXh0LXNpemUpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnN1Z2dlc3Rpb24tZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtaGVhZGVyLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldCB7XHJcblx0ZmxleDogMTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdGV4dC1zaXplKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdG1pbi13aWR0aDogMTAwcHg7XHJcblx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldDpmb2N1cyB7XHJcblx0LyogYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWZvY3VzKTsgKi9cclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1oaW50IHtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRtYXJnaW4tdG9wOiAtNHB4O1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1lZGl0b3Ige1xyXG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWZpbGUtc3VnZ2VzdCB7XHJcblx0bWF4LXdpZHRoOiA1MDBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1zdWJtaXQsXHJcbi5xdWljay1jYXB0dXJlLWNhbmNlbCB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc3VibWl0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNhbmNlbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0Z2FwOiAxMHB4O1xyXG5cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC1lZGl0b3Ige1xyXG5cdG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuLyogRnVsbC1mZWF0dXJlZCBtb2RhbCBzdHlsZXMgKi9cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwuZnVsbCB7XHJcblx0d2lkdGg6IDgwdnc7XHJcblx0bWF4LXdpZHRoOiA5MDBweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRnYXA6IDE2cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtY29uZmlnLXBhbmVsIHtcclxuXHRmbGV4OiAxO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWF4LXdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWVkaXRvci1wYW5lbCB7XHJcblx0ZmxleDogMS41O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc2VjdGlvbi10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXRhcmdldC1jb250YWluZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwgLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG4vKiBNb2JpbGUgb3B0aW1pemF0aW9uICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xyXG5cdFx0d2lkdGg6IDk1dnc7XHJcblx0fVxyXG5cclxuXHQucXVpY2stY2FwdHVyZS1sYXlvdXQge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuXHRcdG1heC1oZWlnaHQ6IDQwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAuZGV0YWlscy1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcbiIsICIvKiBUYXNrIGxpc3QgKi9cclxuLnRhc2stbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciAudGFzay1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0udGFzay1jb21wbGV0ZWQgLnRhc2staXRlbS1jb250ZW50IHtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0gLm1hcmtkb3duLWJsb2NrLm1hcmtkb3duLXJlbmRlcmVyID4gcDpvbmx5LWNoaWxkIHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi50YXNrLWNoZWNrYm94IHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWNoZWNrYm94IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFzay1pdGVtLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi8qIER5bmFtaWMgY29udGVudC1tZXRhZGF0YSBjb250YWluZXIgKi9cclxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIFNpbmdsZSBsaW5lIGNvbnRlbnQgbGF5b3V0IC0gaG9yaXpvbnRhbCAqL1xyXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLnNpbmdsZS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDsgLyogQWxsb3cgY29udGVudCB0byBzaHJpbmsgKi9cclxufVxyXG5cclxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIuc2luZ2xlLWxpbmUtY29udGVudCAudGFzay1pdGVtLW1ldGFkYXRhIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cclxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IHtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4udGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5tdWx0aS1saW5lLWNvbnRlbnQgLnRhc2staXRlbS1jb250ZW50IHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLWl0ZW0tbWV0YWRhdGEge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2staXRlbS1tZXRhZGF0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2staXRlbS1tZXRhZGF0YTplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRhc2stZGF0ZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0zKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLWRhdGUge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50YXNrLWRhdGU6OmJlZm9yZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGZvbnQtc2l6ZTogeHgtc21hbGw7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXZpZXcgLnRhc2stZGF0ZTo6YmVmb3JlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1kdWUtZGF0ZTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1RDgzRFx1RENDNVwiO1xyXG59XHJcblxyXG4udGFzay1kYXRlLnRhc2stb3ZlcmR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1kdWUtdG9kYXkge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWRvaW5nLWNvbG9yKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4udGFzay1kYXRlLnRhc2stZHVlLXNvb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1zdGFydC1kYXRlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERUVCXCI7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1jcmVhdGVkLWRhdGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTI3OTVcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLXNjaGVkdWxlZC1kYXRlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyM0YzXCI7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1kb25lLWRhdGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTI3MDVcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLWNhbmNlbGxlZC1kYXRlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHUyNzRDXCI7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1yZWN1cnJlbmNlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDAxXCI7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1vbi1jb21wbGV0aW9uOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNDXHVERkMxXCI7XHJcbn1cclxuXHJcbi50YXNrLXByb2plY3Qge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4udGFzay1wcm9qZWN0OmhhcyhpbnB1dCkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXByb2plY3Qge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50YXNrLXByb2plY3Q6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdUQ4M0RcdUREQzJcdUZFMEZcIjtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLnRhc2stcHJvamVjdDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLXByaW9yaXR5IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS01IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS00IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogTmV3IGZpZWxkIHN0eWxlcyAqL1xyXG4udGFzay1vbmNvbXBsZXRpb24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRtYXJnaW4tbGVmdDogNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWRlcGVuZHNvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50YXNrLWRlcGVuZHNvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1pZCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2staWQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cclxuLnRhc2stdGFncy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGFzay10YWdzLWNvbnRhaW5lcjplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRhc2stdGFnIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2staXRlbS1jb250ZW50IHA6aGFzKGltZykgaW1nIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xyXG59XHJcbiIsICIvKiBJbmxpbmUgRWRpdG9yIFN0eWxlcyAtIE9wdGltaXplZCBmb3IgUGVyZm9ybWFuY2UgYW5kIFVYICovXHJcbi5pbmxpbmUtZWRpdG9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cclxuLmlubGluZS1jb250ZW50LWVkaXRvciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xyXG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIENvbnRhaW5lciAtIE1vcmUgY29tcGFjdCBhbmQgaW5saW5lICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQge1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcblx0b3V0bGluZTogdW5zZXQ7XHJcblx0cGFkZGluZzogMDtcclxuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRib3JkZXI6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB1bnNldDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgSW5wdXQgRmllbGRzIC0gTW9yZSBjb21wYWN0ICovXHJcbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcclxuLmlubGluZS10YWdzLWlucHV0LFxyXG4uaW5saW5lLWNvbnRleHQtaW5wdXQsXHJcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcclxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtdGFncy1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1jb250ZXh0LWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXHJcbi5hZGQtbWV0YWRhdGEtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QgLnRhc2staXRlbTpub3QoLnRyZWUtdGFzay1pdGVtKTpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWl0ZW0tY29udGFpbmVyOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjJweDtcclxuXHRoZWlnaHQ6IDIycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHQtLWljb24tc2l6ZTogMTBweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biBzdmcge1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxufVxyXG5cclxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cclxuLmlubGluZS1lZGl0b3IgKiB7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcclxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xyXG4uaW5saW5lLWVkaXRvciBpbnB1dDpmb2N1cyxcclxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXHJcbi5pbmxpbmUtZWRpdG9yIHNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRWRpdGFibGUgTWV0YWRhdGEgSXRlbXMgLSBNb3JlIHN1YnRsZSBob3ZlciBlZmZlY3RzICovXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3ZlcixcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgRWRpdGFibGUgSG92ZXIgLSBNb3JlIHN1YnRsZSAqL1xyXG4udGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIHRyYW5zaXRpb25zIC0gT3B0aW1pemVkICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgbGF5b3V0IHNoaWZ0IGR1cmluZyBlZGl0aW5nICovXHJcbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcclxuXHRtaW4taGVpZ2h0OiAxZW07XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIC0gU2ltcGxpZmllZCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaW5saW5lLXByb2plY3QtaW5wdXQsXHJcblx0LmlubGluZS10YWdzLWlucHV0LFxyXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcclxuXHQuaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xyXG5cdFx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHR9XHJcblxyXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRcdG1heC13aWR0aDogMjUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQuaW5saW5lLWNvbnRlbnQtZWRpdG9yLFxyXG5cdC5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LmlubGluZS1lZGl0b3IgKixcclxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnLFxyXG5cdC50YXNrLWl0ZW0tY29udGVudCxcclxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogTmV3IGZpZWxkIGlucHV0IHN0eWxlcyAqL1xyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dCxcclxuLmlubGluZS1pZC1pbnB1dCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLXdpZHRoOiAyMDBweDtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1pZC1pbnB1dDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaW5saW5lLWRlcGVuZHNvbi1pbnB1dDo6cGxhY2Vob2xkZXIsXHJcbi5pbmxpbmUtaWQtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuIiwgIi8qIFRyZWUgVmlldyBzdHlsZXMgKi9cclxuXHJcbi8qIFRyZWUgaXRlbSBjb250YWluZXIgKi9cclxuLnRyZWUtdGFzay1pdGVtIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogdW5zZXQ7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGdhcDogMDtcclxufVxyXG5cclxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSB7XHJcblx0Z2FwOiAwO1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIHtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIFRhc2sgY29udGVudCByb3cgKGNvbnRhaW5zIHRoZSBtYWluIHRhc2sgY29udGVudCkgKi9cclxuLnRyZWUtdGFzay1pdGVtID4gZGl2OmZpcnN0LW9mLXR5cGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiA2cHg7XHJcbn1cclxuXHJcbi8qIEluZGVudGF0aW9uIGZvciBoaWVyYXJjaHkgKi9cclxuLnRhc2staW5kZW50IHtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1leHBhbmQtdG9nZ2xlIHtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXHJcbi50YXNrLWV4cGFuZC10b2dnbGUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLyogVGFzayBjaGVja2JveCAqL1xyXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94IHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3g6aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3guY2hlY2tlZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogVGFzayBjb250ZW50ICovXHJcbi50YXNrLWNvbnRlbnQge1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRHluYW1pYyBjb250ZW50LW1ldGFkYXRhIGNvbnRhaW5lciBmb3IgdHJlZSB2aWV3ICovXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLyogU2luZ2xlIGxpbmUgY29udGVudCBsYXlvdXQgLSBob3Jpem9udGFsICovXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IHtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLWl0ZW0tY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDA7IC8qIEFsbG93IGNvbnRlbnQgdG8gc2hyaW5rICovXHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1jb250ZW50LW1ldGFkYXRhLWNvbnRhaW5lci5zaW5nbGUtbGluZS1jb250ZW50IC50YXNrLW1ldGFkYXRhIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4vKiBNdWx0aS1saW5lIGNvbnRlbnQgbGF5b3V0IC0gdmVydGljYWwgKi9cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCB7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWNvbnRlbnQtbWV0YWRhdGEtY29udGFpbmVyLm11bHRpLWxpbmUtY29udGVudCAudGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stY29udGVudC1tZXRhZGF0YS1jb250YWluZXIubXVsdGktbGluZS1jb250ZW50IC50YXNrLW1ldGFkYXRhIHtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi8qIFRhc2sgbWV0YWRhdGEgKi9cclxuLnRhc2stbWV0YWRhdGEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stbWV0YWRhdGE6ZW1wdHkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50YXNrLWR1ZS1kYXRlLm92ZXJkdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1wcm9qZWN0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMXB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuXHJcbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIE5ldyBmaWVsZCBzdHlsZXMgZm9yIHRyZWUgdmlldyAqL1xyXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stb25jb21wbGV0aW9uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1vbmNvbXBsZXRpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1kZXBlbmRzb24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRtYXJnaW4tbGVmdDogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udHJlZS10YXNrLWl0ZW0gLnRhc2stZGVwZW5kc29uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50cmVlLXRhc2staXRlbSAudGFzay1pZCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWlkOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogQ2hpbGRyZW4gY29udGFpbmVyICovXHJcbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XHJcblx0LyogbWFyZ2luLWxlZnQ6IDIwcHg7ICovXHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cclxuLnZpZXctdG9nZ2xlLWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyOmVtcHR5IHtcclxuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwgIi8qIEZvcmVjYXN0IENvbXBvbmVudCBTdHlsZXMgKi9cclxuLmZvcmVjYXN0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5mb3JlY2FzdC10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLmZvcmVjYXN0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmZvcmVjYXN0LXNldHRpbmdzIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1zZXR0aW5nczpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLmZvcmVjYXN0LWZvY3VzLWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRnYXA6IDEwcHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmZvY3VzLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnVuZm9jdXMtYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi51bmZvY3VzLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogTWFpbiBjb250ZW50IGxheW91dCB3aXRoIHR3byBjb2x1bW5zICovXHJcbi5mb3JlY2FzdC1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogMzYwcHg7XHJcblx0bWluLXdpZHRoOiAzNjBweDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLmZvcmVjYXN0LXJpZ2h0LWNvbHVtbiB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmZvcmVjYXN0LXRhc2stbGlzdCB7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmZvcmVjYXN0LWNhbGVuZGFyLXNlY3Rpb24ge1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogU3RhdHMgQmFyICovXHJcbi5mb3JlY2FzdC1zdGF0cyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnN0YXQtaXRlbSB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW06OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMTAlO1xyXG5cdHdpZHRoOiA4MCU7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtLmFjdGl2ZTo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YW5pbWF0aW9uOiBjb2xvci1wdWxzZSAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBjb2xvci1wdWxzZSB7XHJcblx0MCUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTEpICFpbXBvcnRhbnQ7XHJcblx0XHRvcGFjaXR5OiAwLjc7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpICFpbXBvcnRhbnQ7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YXQtaXRlbS50Zy1wYXN0LWR1ZTo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnN0YXQtaXRlbS50Zy10b2RheTo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uc3RhdC1pdGVtLnRnLWZ1dHVyZTo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5zdGF0LWNvdW50IHtcclxuXHRmb250LXNpemU6IDEuNWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctcGFzdC1kdWUgLnN0YXQtY291bnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnN0YXQtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4vKiBEdWUgU29vbiBTZWN0aW9uICovXHJcbi5mb3JlY2FzdC1kdWUtc29vbi1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWhlYWRlciB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHBhZGRpbmc6IDVweCAxNXB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcbn1cclxuXHJcbi5kdWUtc29vbi1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiA4cHggMTVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZHVlLXNvb24tZGF0ZSB7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiAycHggNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZHVlLXNvb24tZW1wdHkge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA4cHggMTVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4uZGF0ZS1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdGl0bGUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogT3ZlcmR1ZSBzZWN0aW9uIHN0eWxpbmcgKi9cclxuLnRhc2stZGF0ZS1zZWN0aW9uLm92ZXJkdWUgLmRhdGUtc2VjdGlvbi1oZWFkZXIge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLXRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5zZWN0aW9uLWNvdW50IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRhc2tzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRoZWlnaHQ6IDEwMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5pcy1waG9uZVxyXG5cdC5mb3JlY2FzdC1oZWFkZXI6aGFzKC5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSlcclxuXHQuZm9yZWNhc3QtdGl0bGUtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi8qIEZvcmVjYXN0IFZpZXcgLSBNb2JpbGUgKi9cclxuLmlzLXBob25lIC5mb3JlY2FzdC1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLmlzLXBob25lIC5mb3JlY2FzdC1zaWRlYmFyLWNsb3NlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAxMHB4O1xyXG5cdHJpZ2h0OiAxMHB4O1xyXG5cdHotaW5kZXg6IDE1O1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLmZvcmVjYXN0LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0ei1pbmRleDogNTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuIiwgIi8qIENhbGVuZGFyIENvbXBvbmVudCBTdHlsZXMgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0biB7XHJcblx0cGFkZGluZzogMnB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG5cdGdhcDogMXB4O1xyXG5cdHBhZGRpbmc6IDAgMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogM3B4IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tYm90dG9tOiAzcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3XHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1ncmlkIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXHJcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXk6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5wYXN0LWR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XHJcblx0b3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0cGFkZGluZzogMXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb3VudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0cGFkZGluZzogMXB4IDRweDtcclxuXHRtYXJnaW46IDFweCBhdXRvIDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xyXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcclxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdFx0LmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXHJcbi50YWdzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3OmhhcygudGFzay1kZXRhaWxzLnZpc2libGUpIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFncy1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhZ3MtbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YWdzLWxlZnQtY29sdW1uIHtcclxuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xyXG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFncy1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YWdzLXNpZGViYXItbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDRweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGFnLWxpc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XHJcbn1cclxuXHJcbi50YWctaW5kZW50IHtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhZy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4udGFnLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFnLWNvdW50IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcbn1cclxuXHJcbi50YWctY2hpbGRyZW4ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFncy10YXNrLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFncy10YXNrLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnRhZ3MtdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFncy10YXNrLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRhZ3MtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10b2dnbGUge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XHJcblx0ZmxleDogMTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XHJcbn1cclxuXHJcbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhZ3MtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmlzLXBob25lIC50YWdzLXNpZGViYXItaGVhZGVyOmhhcygudGFncy1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5wcm9qZWN0cy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XG5cdG1pbi13aWR0aDogbWluKDEyMHB4LCAzMCUpO1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0cy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcbn1cblxuLnByb2plY3RzLXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5tdWx0aS1zZWxlY3QtbW9kZSAucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdHMtbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnByb2plY3QtbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnByb2plY3QtaWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9qZWN0LW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnByb2plY3QtY291bnQge1xuXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZzogMXB4IDZweDtcbn1cblxuLnByb2plY3RzLXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy10YXNrLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4ucHJvamVjdHMtdGFzay1jb3VudCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnByb2plY3RzLXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5wcm9qZWN0cy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4vKiBQcm9qZWN0cyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLXRvZ2dsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmlzLXBob25lIC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1jb250YWluZXI6aGFzKC5wcm9qZWN0cy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1oZWFkZXI6aGFzKC5wcm9qZWN0cy1zaWRlYmFyLWNsb3NlKSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XG59XG4iLCAiLyogUHJvamVjdHMgVmlldyBTdHlsZXMgKi9cbi5yZXZpZXctY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdHdpZHRoOiAyNTBweDtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1sZWZ0LWNvbHVtbiB7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnJldmlldy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4vKiBQcm9qZWN0IGdyb3VwIGhlYWRlcnMgKi9cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDRweCA4cHggNHB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5yZXZpZXctcHJvamVjdHMtZ3JvdXAtaGVhZGVyOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBQcm9qZWN0IGl0ZW1zIGluIHRoZSBzaWRlYmFyICovXG4ucmV2aWV3LXByb2plY3QtaXRlbSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRoIHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0uaGFzLXJldmlldy1zZXR0aW5ncyAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LW5hbWUge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBQcm9qZWN0cyB3aXRob3V0IHJldmlldyBzZXR0aW5ncyAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW06bm90KC5oYXMtcmV2aWV3LXNldHRpbmdzKSAucmV2aWV3LXByb2plY3QtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yZXZpZXctdGFzay1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctaGVhZGVyLWNvbnRlbnQgaDMge1xuXHRtYXJnaW46IDAgMCA4cHggMDtcblx0cGFkZGluZzogMDtcbn1cblxuLnJldmlldy1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ucmV2aWV3LXNlcGFyYXRvciB7XG5cdG1hcmdpbjogMCA4cHg7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1mcmVxdWVuY3k6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJldmlldy1sYXN0LWRhdGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW5vLXNldHRpbmdzIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBGaWx0ZXIgaW5mb3JtYXRpb24gKi9cbi5yZXZpZXctZmlsdGVyLWluZm8ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRwYWRkaW5nOiA2cHggMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucmV2aWV3LWZpbHRlci10b2dnbGU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4ucmV2aWV3LXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnJldmlldy1lbXB0eS1zdGF0ZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFJldmlldyBidXR0b25zICovXG4ucmV2aWV3LWJ1dHRvbi1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuLFxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG4ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctY29uZmlndXJlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LWVkaXQtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcblx0bWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLnJldmlldy1lZGl0LWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBSZXZpZXcgQ29uZmlndXJlIE1vZGFsICovXG4ucmV2aWV3LW1vZGFsLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZm9ybSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5yZXZpZXctbW9kYWwtZmllbGQge1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1tb2RhbC1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLXNlbGVjdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWN1c3RvbS1mcmVxdWVuY3kge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtaW5wdXQge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogOHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWxhc3QtcmV2aWV3ZWQge1xuXHRwYWRkaW5nOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdG1hcmdpbi10b3A6IDI0cHg7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tY2FuY2VsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLXNhdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IFZpZXcgLSBNb2JpbGUgKi9cbi5pcy1waG9uZSAucmV2aWV3LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItY2xvc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRyaWdodDogMTBweDtcblx0ei1pbmRleDogMTU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBBZGQgb3ZlcmxheSB3aGVuIGxlZnQgY29sdW1uIGlzIHZpc2libGUgb24gbW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXI6aGFzKC5yZXZpZXctbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4iLCAiLnRhc2stc2lkZWJhci5jb2xsYXBzZWQge1xyXG5cdHdpZHRoOiA0OHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wYW5lbC10b2dnbGUtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblxyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ucGFuZWwtdG9nZ2xlLWJ0bjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBTaWRlYmFyIE5hdmlnYXRpb24gKi9cclxuLnNpZGViYXItbmF2IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogMjBweCAwIDEwcHggMDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLnNpZGViYXItbmF2LXNwYWNlciB7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbjogOHB4IDE1cHg7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdG1hcmdpbi10b3A6IGF1dG87XHJcbn1cclxuXHJcbi5zaWRlYmFyLW5hdi1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW46IDAgNXB4O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uc2lkZWJhci1uYXYtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4uc2lkZWJhci1uYXYtaXRlbS5pcy1hY3RpdmUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdC0taWNvbi1jb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLm5hdi1pdGVtLWljb24ge1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ubmF2LWl0ZW0tbGFiZWwge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ubmF2LWl0ZW0tbGFiZWwuaGlkZGVuIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHdpZHRoOiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAuc2lkZWJhci1uYXYtaXRlbSB7XHJcblx0cGFkZGluZzogOHB4IDEwcHg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC05KTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHJcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLm5hdi1pdGVtLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLyogQ29udGVudCBTdHlsZXMgKi9cclxuLnRhc2stY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRtaW4td2lkdGg6IDA7XHJcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnRhc2stY29udGVudCB7XHJcblx0bWFyZ2luLWxlZnQ6IC0yMDBweDtcclxuXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLyogUHJvamVjdCBUcmVlICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5wcm9qZWN0LXRyZWUge1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtcm9vdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNnB4IDhweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbjogMCA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjBweDtcclxuXHRoZWlnaHQ6IDIwcHg7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUsXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcclxuXHR3aWR0aDogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgSGVhZGVyICovXHJcbi5jb250ZW50LWhlYWRlciB7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2stY291bnQge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmZvY3VzLWZpbHRlciB7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi8qIFRhc2tWaWV3IC0gT21uaUZvY3VzIFN0eWxlICovXHJcblxyXG4ud29ya3NwYWNlLWxlYWYtY29udGVudCAudGFzay1nZW5pdXMtdmlldyB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWFpbiBjb250YWluZXIgbGF5b3V0ICovXHJcbi50YXNrLWdlbml1cy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBMZWZ0IHNpZGViYXIgKi9cclxuLnRhc2stc2lkZWJhciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHJcblx0d2lkdGg6IDI0MHB4O1xyXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBNYWluIGNvbnRlbnQgYXJlYSAqL1xyXG4udGFzay1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDMwMHB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBOYXZpZ2F0aW9uIHNpZGViYXIgKi9cclxuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRwYWRkaW5nOiA4cHggMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFByb2plY3QgdHJlZSAqL1xyXG4ucHJvamVjdC10cmVlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogOHB4IDA7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRyZWUtcm9vdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNHB4IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW46IDJweCA4cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tdG9nZ2xlIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogNHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWluZGVudCB7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdG1hcmdpbi1yaWdodDogNHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0bWluLXdpZHRoOiAxNnB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5leHBhbmRlZCA+IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRtYXJnaW4tbGVmdDogMTZweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogQ29udGVudCBoZWFkZXIgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTBweCAxNnB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWluLWhlaWdodDogNTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLmNvbnRlbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LnRhc2stZ2VuaXVzLXZpZXcgLnRhc2stY291bnQge1xyXG5cdFx0ZmxleDogMTtcclxuXHR9XHJcblxyXG5cdC50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1maWx0ZXIge1xyXG5cdFx0ZmxleDogMTtcclxuXHR9XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LWZpbHRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLmZpbHRlci1pbnB1dCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiA0cHggOHB4O1xyXG5cdHdpZHRoOiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogNHB4IDEwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWJ1dHRvbi5mb2N1c2VkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5tb2QtbGVmdC1zcGxpdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZC1sZWZ0LXNwbGl0XHJcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZC1yaWdodC1zcGxpdFxyXG5cdC53b3Jrc3BhY2UtdGFiLWhlYWRlci1zdGF0dXMtY29udGFpbmVyOmhhcygudGFzay1nZW5pdXMtYWN0aW9uLWJ0bikge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWVtcHR5LXN0YXRlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtdGFiLWhlYWRlciB7XHJcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBjb250YWluZXIgKG1heC13aWR0aDogMTIwcHgpIHtcclxuXHQubW9kLXJvb3QgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IFF1aWNrIE1vZGFsIFN0eWxlcyAqL1xyXG4ucXVpY2std29ya2Zsb3ctbW9kYWwge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWluLWhlaWdodDogNDAwcHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy10ZW1wbGF0ZS1zZWN0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLnRlbXBsYXRlLWRlc2NyaXB0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1wcmV2aWV3IHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4uc3RhZ2VzLXByZXZpZXctbGlzdCB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnN0YWdlLXByZXZpZXctaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRtYXJnaW46IDRweCAwO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3RhZ2UtaW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4uc3RhZ2UtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnN0YWdlLXR5cGUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uc3RhZ2UtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLm5vLXN0YWdlcy1tZXNzYWdlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1tb2RhbC1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogV29ya2Zsb3cgUHJvZ3Jlc3MgSW5kaWNhdG9yIFN0eWxlcyAqL1xyXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMS4xZW07XHJcbn1cclxuXHJcbi53b3JrZmxvdy1wcm9ncmVzcy10ZXh0IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLndvcmtmbG93LXByb2dyZXNzLWJhci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLndvcmtmbG93LXByb2dyZXNzLWJhciB7XHJcblx0ZmxleDogMTtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi53b3JrZmxvdy1wcm9ncmVzcy1maWxsIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1wcm9ncmVzcy1wZXJjZW50YWdlIHtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bWluLXdpZHRoOiAzNXB4O1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbGlzdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogOHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IDEycHg7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtLnBlbmRpbmcge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbiB7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pY29uLmNvbXBsZXRlZC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWljb24uY3VycmVudC1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtbmFtZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAycHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1pdGVtLmNvbXBsZXRlZCAud29ya2Zsb3ctc3RhZ2UtbnVtYmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xyXG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN1YnN0YWdlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdHBhZGRpbmctbGVmdDogMTZweDtcclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN1YnN0YWdlLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxuXHRwYWRkaW5nOiA0cHggMDtcclxufVxyXG5cclxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4iLCAiLyogc3R5bGVzL2NhbGVuZGFyL2NhbGVuZGFyLmNzcyAqL1xyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcclxuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTsgLyogT3IgYWRqdXN0IGFzIG5lZWRlZCAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTQpOyAvKiBVc2UgT2JzaWRpYW4gdmFyaWFibGVzICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciBidXR0b24ge1xyXG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2LFxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IGJ1dHRvbiB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uIHtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSksXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbmF2IGJ1dHRvbjpub3QoLmlzLWFjdGl2ZSkge1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWN1cnJlbnQtZGF0ZSB7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgaXQgdG8gdGFrZSBzcGFjZSAqL1xyXG5cclxuXHRtYXgtd2lkdGg6IG1heCgxMjBweCwgNDAlKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24uaXMtYWN0aXZlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyIHtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IHZpZXcgdG8gdGFrZSByZW1haW5pbmcgc3BhY2UgKi9cclxuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBFbmFibGUgc2Nyb2xsaW5nIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTmVlZGVkIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiBldmVudHMgKi9cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4vKiBCYXNpYyBWaWV3IFN0eWxlcyAoUGxhY2Vob2xkZXJzKSAqL1xyXG4vKiAtLS0gTW9udGggVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tYm90dG9tOiAtMXB4OyAvKiBPdmVybGFwIHdpdGggZ3JpZCBnYXAgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7IC8qIFNsaWdodCBkaXN0aW5jdGlvbiAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXkge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LW1vbnRoIHtcclxuXHRwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZyBpZiBncmlkIHByb3ZpZGVzIGl0IHZpYSBnYXAgKi9cclxuXHQvKiBTdHlsZXMgbW92ZWQgdG8gLmNhbGVuZGFyLW1vbnRoLWdyaWQgKi9cclxufVxyXG5cclxuLyogQWRkIHRoZSBncmlkIHN0eWxlcyBkaXJlY3RseSB0byB0aGUgZ3JpZCBjb250YWluZXIgZWxlbWVudCAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1vbnRoLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxuXHRncmlkLWF1dG8tcm93czogbWlubWF4KDEwMHB4LCBhdXRvKTsgLyogR2l2ZSByb3dzIGEgbWluaW11bSBoZWlnaHQgKi9cclxuXHRnYXA6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cclxuXHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsIHtcclxuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhIGRheSBjZWxsIGluIG1vbnRoIHZpZXcgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcclxuXHQvKiBtaW4taGVpZ2h0OiA4MHB4OyAtIExldCBncmlkLWF1dG8tcm93cyBoYW5kbGUgaGVpZ2h0ICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7IC8qIFVzZSBmbGV4Ym94IGZvciBsYXlvdXQgaW5zaWRlIHRoZSBjZWxsICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogU3RhY2sgZGF5IG51bWJlciBhbmQgZXZlbnRzICovXHJcblx0bWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNlbGwgd2lkdGggaW4gdGhlIGdyaWQgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxyXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWgpLFxyXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LXMpLFxyXG5cdFx0dmFyKC0tY29sb3ItYWNjZW50LWwpLFxyXG5cdFx0MC44XHJcblx0KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWRcclxuXHRcdGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAwLjUpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHRjb2xvcjogaHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDEpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsOm5vdCguaXMtdG9kYXkpIHtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGwuaXMtd2Vla2VuZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLXNlY29uZGFyeVxyXG5cdCk7IC8qIFNsaWdodGx5IGRpZmZlcmVudCBiYWNrZ3JvdW5kIGZvciB3ZWVrZW5kcyAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBudW1iZXIgZnJvbSBzaHJpbmtpbmcgKi9cclxuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDsgLyogUG9zaXRpb24gdG8gdGhlIHRvcCByaWdodCAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIge1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgZXZlbnRzIGNvbnRhaW5lciB0byBmaWxsIHNwYWNlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBldmVudHMgdGhhdCBvdmVyZmxvdyB0aGUgY2VsbCBoZWlnaHQgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xyXG5cdC8qIEV4YW1wbGUgc3R5bGUgZm9yIGFuIGV2ZW50ICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRtYXJnaW4tYm90dG9tOiAycHg7XHJcblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBJbmNyZWFzZSBzcGFjaW5nIHNsaWdodGx5ICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggYXZhaWxhYmxlICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtd2Vlay1hbGxkYXkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdC5jYWxlbmRhci1ldmVudDpoYXMoLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94KS5jYWxlbmRhci1ldmVudC1tb250aCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1jb21wbGV0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzLWhvdmVyXHJcblx0KTsgLyogT3IgdXNlIGdyZXkvc3RyaWtldGhyb3VnaCAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkge1xyXG5cdC8qIEJhc2ljIHN0eWxlIGZvciBtdWx0aS1kYXksIG1vcmUgYWR2YW5jZWQgY291bGQgcmVtb3ZlIHJvdW5kZWQgY29ybmVycyAqL1xyXG59XHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5LmlzLXN0YXJ0IHtcclxuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIHN0YXJ0IHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cclxuXHQvKiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgKi9cclxuXHQvKiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgKi9cclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1lbmQge1xyXG5cdC8qIE9wdGlvbmFsOiBzdHlsZSB0aGUgZW5kIHNlZ21lbnQgZGlmZmVyZW50bHkgKi9cclxuXHQvKiBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyAqL1xyXG5cdC8qIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7ICovXHJcbn1cclxuXHJcbi8qIEFkZCBtb3JlIHNwZWNpZmljIHN0eWxlcyBmb3Igd2VlaywgZGF5LCBhZ2VuZGEgdmlld3MgYXMgdGhleSBhcmUgaW1wbGVtZW50ZWQgKi9cclxuXHJcbi8qIFN0eWxlIGZvciBtb250aCB2aWV3IGV2ZW50cyB0byBoYW5kbGUgb3ZlcmZsb3cgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC1tb250aCB7XHJcblx0LyogSW5oZXJpdHMgYmFzZSAuY2FsZW5kYXItZXZlbnQgc3R5bGVzICovXHJcblx0LyogQWRkIG92ZXJmbG93IGhhbmRsaW5nIHNpbWlsYXIgdG8gd2Vlay1hbGxkYXkgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5ICovXHJcblx0d2lkdGg6IDEwMCU7IC8qIEV4cGxpY2l0bHkgc2V0IHdpZHRoICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xyXG59XHJcblxyXG4vKiAtLS0gRGF5IFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctZGF5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcsIG1hbmFnZSBpbnRlcm5hbGx5ICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtc2VjdGlvbiB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogTm8gbG9uZ2VyIG5lZWRlZCBmb3IgYWJzb2x1dGUgZXZlbnQgcG9zaXRpb25pbmcgKi9cclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgYm9yZGVyIHRoYXQgd2FzIG9uIGFsbGRheSAqL1xyXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFsbG93IHRpbWVsaW5lIHRvIHNjcm9sbCAqL1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci10aW1lbGluZS1ldmVudHMtY29udGFpbmVyIHtcclxuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cclxuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXHJcblx0LyogdG9wOiAwOyAqL1xyXG5cdC8qIGxlZnQ6IDA7ICovXHJcblx0LyogcmlnaHQ6IDA7ICovXHJcblx0LyogYm90dG9tOiAwOyAqL1xyXG5cdC8qIHotaW5kZXg6IDI7ICovXHJcblx0LyogUmVtb3ZlIGNhbGN1bGF0ZWQgaGVpZ2h0ICovXHJcblx0LyogaGVpZ2h0OiBjYWxjKDI0ICogNDBweCk7ICovXHJcblxyXG5cdC8qIEFkZCBmbGV4IGxheW91dCBmb3IgdmVydGljYWwgc3RhY2tpbmcgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7IC8qIEFkZCBzcGFjaW5nIGJldHdlZW4gZXZlbnRzICovXHJcbn1cclxuXHJcbi8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBldmVudHMgcHJldmlvdXNseSB0aW1lZCAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpbWVkIHtcclxuXHQvKiBSZW1vdmUgYWJzb2x1dGUgcG9zaXRpb25pbmcgKi9cclxuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdC8qIEFkZCBtYXJnaW4gZm9yIHNwYWNpbmcgaW4gdGhlIG5ldyBmbG93IGxheW91dCAqL1xyXG5cdC8qIFVzaW5nIGdhcCBvbiBwYXJlbnQgY29udGFpbmVyIG5vdyAqL1xyXG5cdC8qIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTsgKi9cclxuXHR3aWR0aDogMTAwJTsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgd2lkdGggKi9cclxufVxyXG5cclxuLyogS2VlcCBpbnRlcm5hbCBzdHlsZXMgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0cGFkZGluZzogMXB4IDNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIFNsaWdodCBiYWNrZ3JvdW5kIGZvciB0aW1lICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0cGFkZGluZzogMnB4IDNweDtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0LyogQWxsb3cgdGV4dCB3cmFwcGluZyB3aXRoaW4gdGhlIGV2ZW50IGJveCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHBhZGRpbmc6IDJweCAzcHg7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLyogLS0tIFdlZWsgVmlldyBTcGVjaWZpYyBTdHlsZXMgLS0tICovXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy13ZWVrIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHQvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggcmVwZWF0KDcsIDFmcik7ICovIC8qIEd1dHRlciArIDcgZGF5cyAtPiBSZW1vdmUgZ3V0dGVyICovXHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsgLyogSnVzdCA3IGRheXMgKi9cclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xyXG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGw6Zmlyc3QtY2hpbGQge1xyXG5cdGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyLWNlbGwuaXMtdG9kYXkgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxLjVlbTtcclxuXHRoZWlnaHQ6IDEuNWVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuXHRtYXJnaW46IGF1dG87XHJcblxyXG5cdG1hcmdpbjogYXV0bztcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG59XHJcblxyXG4vKiBVcGRhdGVkIFdlZWsgR3JpZCBTZWN0aW9uICh3YXMgLWFsbGRheS1zZWN0aW9uKSAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstZ3JpZC1zZWN0aW9uIHtcclxuXHQvKiBSZW5hbWVkIGNsYXNzICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aGlzIHNlY3Rpb24gdG8gZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UgKi9cclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCB0byBlbnN1cmUgZ3JpZCBmaWxscyBoZWlnaHQgKi9cclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87IC8qIEFkZCBzY3JvbGwgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBNYXRjaCBvbGQgc3R5bGUgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQge1xyXG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGdyaWQgdG8gZXhwYW5kICovXHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyAvKiBNYWtlIGdyaWQgZmlsbCB0aGUgc2VjdGlvbiBoZWlnaHQgKi9cclxuXHRnYXA6IDFweDsgLyogQWRkIGdhcCBmb3IgYm9yZGVycyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogR3JpZCBsaW5lcyAqL1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCB0b3AgYm9yZGVyICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbiB7XHJcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdC8qIG1pbi1oZWlnaHQ6IDVlbTsgKi8gLyogUmVtb3ZlIGZpeGVkIG1pbi1oZWlnaHQsIGxldCBjb250ZW50IGRpY3RhdGUgKi9cclxuXHRib3JkZXItbGVmdDogbm9uZTsgLyogUmVtb3ZlIHJlZHVuZGFudCBsZWZ0IGJvcmRlciwgZ2FwIGhhbmRsZXMgbGluZXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgdmVydGljYWwgbGF5b3V0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGNvbnRlbnQgZnJvbSBleHBhbmRpbmcgdGhlIGNvbHVtbiAqL1xyXG5cdG1pbi13aWR0aDogMDsgLyogSGVscCBncmlkIGl0ZW0gc2hyaW5rIHByb3Blcmx5ICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbjpmaXJzdC1jaGlsZCB7XHJcblx0LyogTm8gc3BlY2lmaWMgZmlyc3QtY2hpbGQgYm9yZGVyIG5lZWRlZCBub3cgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY29sdW1uLmlzLXdlZWtlbmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogQWRqdXN0IGdyaWQgbGF5b3V0cyB3aGVuIHdlZWtlbmRzIGFyZSBoaWRkZW4gKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrZGF5LWhlYWRlciB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItbW9udGgtZ3JpZCB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLXdlZWstZ3JpZCB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAubWluaS1tb250aC1ncmlkIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cclxufVxyXG5cclxuLyogTm90ZTogV2Vla2VuZCBlbGVtZW50cyBhcmUgbm90IGNyZWF0ZWQgd2hlbiBoaWRlV2Vla2VuZHMgaXMgZW5hYmxlZCxcclxuICAgc28gbm8gaGlkaW5nIHJ1bGVzIGFyZSBuZWVkZWQuIFRoZSBncmlkIGxheW91dCBhZGp1c3RtZW50cyBhYm92ZSBhcmUgc3VmZmljaWVudC4gKi9cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xyXG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cclxuXHQvKiBUaGlzIGNvbnRhaW5lciBtaWdodCBub3QgYmUgc3RyaWN0bHkgbmVjZXNzYXJ5IGlmIC5jYWxlbmRhci1kYXktY29sdW1uIHVzZXMgZmxleCAqL1xyXG5cdC8qIFN0eWxlcyBhcmUgYXBwbGllZCBkaXJlY3RseSB0byAuY2FsZW5kYXItZGF5LWNvbHVtbiBub3cgKi9cclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRhaW5lciB0byBncm93ICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogM3B4OyAvKiBTcGFjZSBiZXR3ZWVuIGV2ZW50cyAqL1xyXG59XHJcblxyXG4vKiBFbnN1cmUgZXZlbnRzIHRha2UgZnVsbCB3aWR0aCBhbmQgZG9uJ3QgaGF2ZSBob3Jpem9udGFsIGRpc3BsYXkgcHJvcGVydGllcyAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcclxuXHRkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGJsb2NrIGRpc3BsYXkgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXHJcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY29sdW1uICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBSZXNldCBwb3NpdGlvbiBpZiBpdCB3YXMgYWJzb2x1dGUgKi9cclxuXHRsZWZ0OiBhdXRvO1xyXG5cdHRvcDogYXV0bztcclxuXHRoZWlnaHQ6IGF1dG87IC8qIExldCBjb250ZW50IGRldGVybWluZSBoZWlnaHQgKi9cclxuXHRtYXJnaW4tYm90dG9tOiAzcHg7IC8qIENvbnNpc3RlbnQgc3BhY2luZyAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgaW50ZXJuYWwgY29udGVudCBmcm9tIG92ZXJmbG93aW5nICovXHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IC8qIEFkZCBlbGxpcHNpcyBmb3Igb3ZlcmZsb3cgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBFbnN1cmUgZWxsaXBzaXMgd29ya3MgKi9cclxufVxyXG5cclxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIG9sZCB0aW1lbGluZSBzZWN0aW9uICovXHJcbi8qXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay10aW1lbGluZS1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG4vLyAuLi4gZXhpc3RpbmcgY29kZSAuLi5cclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcbn1cclxuKi9cclxuXHJcbi8qIC0tLSBZZWFyIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXcteWVhciB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXItZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChcclxuXHRcdGF1dG8tZml0LFxyXG5cdFx0bWlubWF4KDIwMHB4LCAxZnIpXHJcblx0KTsgLyogUmVzcG9uc2l2ZSBjb2x1bW5zICovXHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbWluaS1tb250aCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogQ2xpcCBjb250ZW50ICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1oZWFkZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWJvZHkge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLW1vbnRoLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxuXHRnYXA6IDJweDsgLyogU21hbGwgZ2FwIGJldHdlZW4gZGF5cyAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXktaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBjb250ZW50czsgLyogTGV0IGNoaWxkcmVuIHBhcnRpY2lwYXRlIGluIHRoZSBncmlkICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktd2Vla2RheSB7XHJcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBBZGp1c3QgZm9yIGNlbnRlcmluZyAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtb3RoZXItbW9udGgge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbC5pcy10b2RheSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50cyB7XHJcblx0LyogSW5kaWNhdGUgZXZlbnRzIC0gZS5nLiwgYm9sZCBvciBiYWNrZ3JvdW5kIGRvdCAqL1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdC8qIE9yIGFkZCBhIGJhY2tncm91bmQgZG90OiAqL1xyXG5cdC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsgKi9cclxufVxyXG4vKiAubWluaS1kYXktY2VsbC5oYXMtZXZlbnRzOjphZnRlciB7XHJcblx0Y29udGVudDogJyc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMnB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblx0d2lkdGg6IDRweDtcclxuXHRoZWlnaHQ6IDRweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59ICovXHJcblxyXG4uYWdlbmRhLWRheS1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uYWdlbmRhLWRheS1kYXRlLWNvbHVtbiB7XHJcblx0d2lkdGg6IDIwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hZ2VuZGEtZGF5LWV2ZW50cy1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciBpbnB1dC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XHJcblx0c2NhbGU6IDAuOTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsZXMgLS0tICovXHJcbi5jYWxlbmRhci1ldmVudC1naG9zdCB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBwbGFjZWhvbGRlciB3aGVuIGRyYWdnaW5nICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikgIWltcG9ydGFudDtcclxuXHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcclxuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1ldmVudC1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBlbGVtZW50IGJlaW5nIGRyYWdnZWQgKi9cclxuXHRvcGFjaXR5OiAwLjkgIWltcG9ydGFudDtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCkgIWltcG9ydGFudDtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKSAhaW1wb3J0YW50O1xyXG5cdHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogTWFrZSBjYWxlbmRhciBldmVudHMgZHJhZ2dhYmxlICovXHJcbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudCB7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6aG92ZXIge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIC5jYWxlbmRhci1ldmVudDphY3RpdmUge1xyXG5cdGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi8qIFNvcnRhYmxlIGNvbnRhaW5lciBzdHlsZXMgKi9cclxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIsXHJcbi5jYWxlbmRhci1kYXktZXZlbnRzLWNvbnRhaW5lciB7XHJcblx0bWluLWhlaWdodDogMjBweDsgLyogRW5zdXJlIHRoZXJlJ3MgYWx3YXlzIGEgZHJvcCB6b25lICovXHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LmNhbGVuZGFyLW5hdiAucHJldi1idXR0b24ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5jYWxlbmRhci1uYXYgLm5leHQtYnV0dG9uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXItc2VsZWN0b3Ige1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcbiIsICIuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciBwIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUtY29udGFpbmVyIHtcclxuXHQvKiBIYW5kbGUgdGV4dCBvdmVyZmxvdyB3aXRoIGVsbGlwc2lzICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZSBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxufVxyXG4iLCAiLyogQ2FsZW5kYXIgQmFkZ2UgU3R5bGVzICovXHJcbi5jYWxlbmRhci1iYWRnZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0Z2FwOiA0cHg7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1iYWRnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblxyXG5cdG1heC13aWR0aDogODBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIEVuc3VyZSBiYWRnZXMgYXJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGRheSBjZWxsICovXHJcbi5jYWxlbmRhci1kYXktY2VsbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiIsICIudGcta2FuYmFuLXZpZXcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCB2aWV3IGl0c2VsZiBmcm9tIHNjcm9sbGluZyAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlcnMge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZmxleC1zaHJpbms6IDA7IC8qIERvbid0IHNocmluayBmaWx0ZXIgYmFyICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0Z2FwOiA4cHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMTJweDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tc29ydC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1zb3J0LWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tc29ydC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXRvZ2dsZS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi10b2dnbGUtbGFiZWwge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDZweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXRvZ2dsZS1jaGVja2JveCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dCB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdHBhZGRpbmc6IDZweCAxMHB4O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDsgLyogT3B0aW9uYWw6IHNwYWNlIGlmIG90aGVyIGNvbnRyb2xzIGFyZSBhZGRlZCAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWZpbHRlci1pbnB1dDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIFRha2UgcmVtYWluaW5nIGhlaWdodCAqL1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsaW5nIGZvciBjb2x1bW5zICovXHJcblx0b3ZlcmZsb3cteTogaGlkZGVuOyAvKiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbGluZyBoZXJlICovXHJcblx0cGFkZGluZzogMTBweDtcclxuXHRnYXA6IDEwcHg7IC8qIFNwYWNlIGJldHdlZW4gY29sdW1ucyAqL1xyXG5cdGhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciBjaGlsZHJlbiBoZWlnaHQgKi9cclxuXHJcblx0LyogTW9iaWxlIHNjcm9sbGluZyBpbXByb3ZlbWVudHMgKi9cclxuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIFNtb290aCBob3Jpem9udGFsIHNjcm9sbGluZyBvbiBpT1MgKi9cclxuXHQvKiBDb25kaXRpb25hbCBvdmVyc2Nyb2xsIGJlaGF2aW9yIC0gcHJldmVudCBib3VuY2Ugb24gZGVza3RvcCwgYWxsb3cgb24gbW9iaWxlIGZvciBkcmFnICovXHJcblx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBhdXRvOyAvKiBBbGxvdyBkZWZhdWx0IGJlaGF2aW9yIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXHJcblx0c2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7IC8qIEtlZXAgc25hcCBmb3IgbW9iaWxlIFVYICovXHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cclxufVxyXG5cclxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCBzY3JvbGwgYm91bmNlICovXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuXHQudGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xyXG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvci14OiBub25lOyAvKiBQcmV2ZW50IGJvdW5jZSBvbiBkZXNrdG9wICovXHJcblx0XHRzY3JvbGwtc25hcC10eXBlOiBub25lOyAvKiBEaXNhYmxlIHNuYXAgb24gZGVza3RvcCAqL1xyXG5cdH1cclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4ge1xyXG5cdGZsZXg6IDAgMCAyODBweDsgLyogRml4ZWQgd2lkdGggZm9yIGNvbHVtbnMsIG5vIHNocmlua2luZy9ncm93aW5nICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBGaWxsIGNvbnRhaW5lciBoZWlnaHQgKi9cclxuXHRtYXgtaGVpZ2h0OiAxMDAlOyAvKiBQcmV2ZW50IGV4Y2VlZGluZyBjb250YWluZXIgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlIG92ZXJmbG93IHdpdGhpbiB0aGUgY29sdW1uICovXHJcblxyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHJcblx0LyogTW9iaWxlIHNjcm9sbCBzbmFwIGZvciBiZXR0ZXIgVVggKi9cclxuXHRzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XHJcbn1cclxuXHJcbi8qIERlc2t0b3Atc3BlY2lmaWM6IERpc2FibGUgc2Nyb2xsIHNuYXAgKi9cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG5cdC50Zy1rYW5iYW4tY29sdW1uIHtcclxuXHRcdHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcclxuXHRwYWRkaW5nOiA4cHggMTJweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtbik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGhlYWRlciBmcm9tIHNocmlua2luZyAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0LyogcGFkZGluZy1yaWdodDogMDsgKi9cclxuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsgLyogS2VlcCBjb250YWluIGZvciBtb2JpbGUgZHJhZyBjb21wYXRpYmlsaXR5ICovXHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC8qIFNtb290aCBzY3JvbGxpbmcgKi9cclxufVxyXG5cclxuLyogRGVza3RvcC1zcGVjaWZpYzogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGwgYm91bmNlICovXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuXHQudGcta2FuYmFuLWNvbHVtbi1jb250ZW50IHtcclxuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7IC8qIFByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AgKi9cclxuXHR9XHJcbn1cclxuLyogLS0tIENhcmQgU3R5bGluZyAtLS0gKi9cclxuLnRnLWthbmJhbi1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAxMHB4IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y3Vyc29yOiBncmFiO1xyXG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHQvKiBFbnN1cmUgY2FyZCBmaXRzIHdpdGhpbiBjb2x1bW4gYW5kIGhhbmRsZXMgY29udGVudCAqL1xyXG5cdG1heC13aWR0aDogMTAwJTsgLyogUHJldmVudCBjYXJkIGZyb20gZXhjZWVkaW5nIHBhcmVudCB3aWR0aCAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBBbGxvdyB0ZXh0IHdyYXBwaW5nICovXHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdC8qIE1vYmlsZSB0b3VjaCBpbXByb3ZlbWVudHMgKi9cclxuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogT3B0aW1pemUgZm9yIHRvdWNoIGludGVyYWN0aW9ucyAqL1xyXG5cdHVzZXItc2VsZWN0OiBub25lOyAvKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIGR1cmluZyBkcmFnICovXHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC50YXNrLWNvbXBsZXRlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIC50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogNnB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtY29udGVudCBwOmxhc3QtY2hpbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7IC8qIEF2b2lkIGV4dHJhIHNwYWNlIGZyb20gcGFyYWdyYXBoICovXHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0Z2FwOiA0cHggOHB4OyAvKiBSb3cgYW5kIGNvbHVtbiBnYXAgKi9cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay10YWdzLWNvbnRhaW5lcixcclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcblx0cGFkZGluZzogMnB4IDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudC1ob3ZlclxyXG5cdCk7IC8qIE9yIHVzZSB0YWcgY29sb3IgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDFweCA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLW92ZXJkdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWVycm9yKTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZHVlLWRhdGUudGFzay1kdWUtdG9kYXkge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtd2FybmluZyk7XHJcbn1cclxuXHJcbi8qIFByaW9yaXR5IGluZGljYXRvcnMgKHNpbXBsZSBleGFtcGxlKSAqL1xyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcbn1cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXByaW9yaXR5LnByaW9yaXR5LTMge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4vKiBBZGQgbW9yZSBwcmlvcml0eSBzdHlsZXMgaWYgbmVlZGVkICovXHJcblxyXG4vKiAtLS0gRHJhZyBhbmQgRHJvcCBTdHlsaW5nIC0tLSAqL1xyXG4udGcta2FuYmFuLWNhcmQtZHJhZ2dpbmcge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgY2xvbmUgYmVpbmcgZHJhZ2dlZCAqL1xyXG5cdC8qIG9wYWNpdHk6IDAuODsgKi8gLyogUmVtb3ZlZCBvcGFjaXR5ICovXHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpOyAvKiBNb3JlIHByb21pbmVudCBzaGFkb3cgKi9cclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLWdob3N0IHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIG9yaWdpbmFsIGNhcmQgd2hlbiBhIGNsb25lIGlzIGRyYWdnZWQgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtYWN0aXZlIHtcclxuXHQvKiBTdHlsZSBmb3IgcG90ZW50aWFsIGRyb3Agem9uZXMgd2hlbiBkcmFnZ2luZyBzdGFydHMgKi9cclxuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTsgKi9cclxuXHRvdXRsaW5lOiAycHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcclxuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC50Zy1rYW5iYW4tZHJvcC10YXJnZXQtaG92ZXIge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgc3BlY2lmaWMgZHJvcCB6b25lIGJlaW5nIGhvdmVyZWQgb3ZlciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLyogU3R5bGVzIGZvciBLYW5iYW4gZHJvcCBpbmRpY2F0b3JzICovXHJcbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYmVmb3JlIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXHJcblx0Ym9yZGVyLXRvcDogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjFzIGVhc2Utb3V0LCBib3JkZXItdG9wIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtLWRyb3AtaW5kaWNhdG9yLWFmdGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4OyAvKiBJbmNyZWFzZWQgbWFyZ2luICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBJbmRpY2F0b3IgKi9cclxuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi8gLyogUmVtb3ZlZCBwYWRkaW5nICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjFzIGVhc2Utb3V0LCBib3JkZXItYm90dG9tIDAuMXMgZWFzZS1vdXQ7IC8qIFVwZGF0ZWQgdHJhbnNpdGlvbiAqL1xyXG59XHJcblxyXG4vKiBPcHRpb25hbDogU3R5bGUgZm9yIGRyb3BwaW5nIGludG8gYW4gZW1wdHkgY29sdW1uICovXHJcbi50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQtLWRyb3AtaW5kaWNhdG9yLWVtcHR5IHtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRtaW4taGVpZ2h0OiA1MHB4OyAvKiBFbnN1cmUgZW1wdHkgY29sdW1uIGhhcyBzb21lIGhlaWdodCBmb3IgdGhlIGJvcmRlciAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgYm9yZGVyIGluIGhlaWdodCBjYWxjdWxhdGlvbiAqL1xyXG5cdG1hcmdpbi10b3A6IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7IC8qIEFkZCBzb21lIHNwYWNlICovXHJcbn1cclxuXHJcbi8qIEVuc3VyZSB0cmFuc2l0aW9ucyBhcmUgc21vb3RoIHdoZW4gY2xhc3NlcyBhcmUgcmVtb3ZlZCAqL1xyXG4udGcta2FuYmFuLWNhcmQge1xyXG5cdC8qIEVuc3VyZSBleGlzdGluZyB0cmFuc2l0aW9ucyBkb24ndCBjb25mbGljdCwgb3IgYWRkIGJhc2UgdHJhbnNpdGlvbiAqL1xyXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjFzIGVhc2Utb3V0LCBwYWRkaW5nIDAuMXMgZWFzZS1vdXQsXHJcblx0XHRib3JkZXIgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQsXHJcblx0XHRib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDsgLyogTWVyZ2VkIHRyYW5zaXRpb25zICovXHJcbn1cclxuXHJcbi5kcm9wLXRhcmdldC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjIpOyAvKiBcdTUzNEFcdTkwMEZcdTY2MEVcdTdFRkZcdTgyNzJcdTgwQ0NcdTY2NkYgKi9cclxuXHRvdXRsaW5lOiAycHggZGFzaGVkIGdyZWVuOyAvKiBcdTdFRkZcdTgyNzJcdTg2NUFcdTdFQkZcdThGQjlcdTY4NDYgKi9cclxuXHQvKiBcdTRGNjBcdTUzRUZcdTgwRkRcdThGRDhcdTk3MDBcdTg5ODFcdThDMDNcdTY1NzQgcGFkZGluZyBcdTYyMTYgbWFyZ2luIFx1Njc2NSAnXHU2NTNFXHU1OTI3JyBcdTg5QzZcdTg5QzlcdTUzM0FcdTU3REYgKi9cclxuXHQvKiBwYWRkaW5nLXRvcDogMjBweDsgKi9cclxuXHQvKiBwYWRkaW5nLWJvdHRvbTogMjBweDsgKi9cclxufVxyXG5cclxuLyogQWRkIENhcmQgQnV0dG9uICovXHJcbi50Zy1rYW5iYW4tYWRkLWNhcmQtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjb250YWluZXIgZnJvbSBzaHJpbmtpbmcgKi9cclxufVxyXG5cclxuLyogU3R5bGVzIGZvciB0aGUgQWRkIENhcmQgYnV0dG9uIGluIGJvYXJkIHZpZXcgKi9cclxuLnRhc2stZ2VuaXVzLWFkZC1jYXJkLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi10b3A6IGF1dG87IC8qIFB1c2ggdG8gdGhlIGJvdHRvbSBpZiB0aGUgY29sdW1uIHVzZXMgZmxleCAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b24ge1xyXG5cdC0taWNvbi1zaXplOiAxNnB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogTWFrZSBpdCBsZXNzIHByb21pbmVudCAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tYWRkLWNhcmQtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4vKiBDb2x1bW4gRHJhZyAmIERyb3AgU3R5bGluZyAqL1xyXG4udGcta2FuYmFuLWNvbHVtbi1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBjb2x1bW4gYmVpbmcgZHJhZ2dlZCAqL1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWdob3N0IHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIGdob3N0IHBsYWNlaG9sZGVyIHdoZW4gZHJhZ2dpbmcgY29sdW1ucyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyIHtcclxuXHQvKiBNYWtlIGNvbHVtbiBoZWFkZXJzIGRyYWdnYWJsZSAqL1xyXG5cdGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4taGVhZGVyOmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBncmFiYmluZztcclxufVxyXG4iLCAiLyogRmlsdGVyIENvbXBvbmVudCBTdHlsZXMgKi9cclxuLmZpbHRlci1jb21wb25lbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1pbi1oZWlnaHQ6IDQ4cHg7XHJcblxyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBQaWxscyBDb250YWluZXIgKi9cclxuLmZpbHRlci1waWxscy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBDb250cm9scyAqL1xyXG4uZmlsdGVyLWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi8qIEZpbHRlciBQaWxscyAqL1xyXG4uZmlsdGVyLXBpbGwge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRwYWRkaW5nOiA1cHggOHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRhbmltYXRpb246IGZpbHRlci1waWxsLWFwcGVhciAyMDBtcyBlYXNlLW91dDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxyXG5cdFx0dHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlIC5jbGlja2FibGUtaWNvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC10ZXJ0aWFyeSk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1jYXRlZ29yeSB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC12YWx1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0xKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpLFxyXG5cdFx0Y29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmUtaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogRmlsdGVyIEJ1dHRvbnMgKi9cclxuLmZpbHRlci1hZGQtYnV0dG9uLFxyXG4uZmlsdGVyLWNsZWFyLWFsbC1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA2cHggMTBweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1hZGQtYnV0dG9uIHtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5maWx0ZXItYWRkLWljb24ge1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBEcm9wZG93biAqL1xyXG4uZmlsdGVyLWRyb3Bkb3duIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0d2lkdGg6IDIyMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ei1pbmRleDogdmFyKC0tbGF5ZXItcG9wb3Zlcik7XHJcblx0bWF4LWhlaWdodDogNDAwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSwgdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12aXNpYmxlIHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlYXJjaCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2g6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtcmluZy1jb2xvcik7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tbGlzdCB7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRtYXgtaGVpZ2h0OiAzNTBweDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC0zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tbGFiZWwge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbS1hcnJvdyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWFycm93LmJhY2sge1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tYmFjayB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXNlcGFyYXRvciB7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGl2aWRlci1jb2xvcik7XHJcblx0bWFyZ2luOiB2YXIoLS1zaXplLTQtMSkgMDtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1lbXB0eSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi12YWx1ZS1pdGVtIHtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1jYXRlZ29yeSB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldyB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC00KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtcHJldmlldzpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb25zICovXHJcbkBrZXlmcmFtZXMgZmlsdGVyLXBpbGwtYXBwZWFyIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92aW5nIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQ7XHJcbn1cclxuIiwgIi5nYW50dC1jaGFydC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cclxuXHQtLWdhbnR0LWhlYWRlci1oZWlnaHQ6IDUwcHg7XHJcblx0LS1nYW50dC1yb3ctaGVpZ2h0OiA0MHB4O1xyXG5cdC0tZ2FudHQtYmFyLWhlaWdodDogMjBweDtcclxuXHQtLWdhbnR0LWJhci1yYWRpdXM6IDNweDtcclxuXHJcblx0LS1nYW50dC1iZy1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdC0tZ2FudHQtZ3JpZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdC0tZ2FudHQtcm93LWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0LS1nYW50dC1iYXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xyXG5cdC0tZ2FudHQtcHJvZ3Jlc3MtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdC0tZ2FudHQtdG9kYXktY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi5nYW50dC1zdmcge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1iZyB7XHJcblx0ZmlsbDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDFweDtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci10ZXh0IHtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1iZyB7XHJcblx0ZmlsbDogdHJhbnNwYXJlbnQ7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1saW5lLXZlcnRpY2FsIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDFweDtcclxuXHRzdHJva2UtZGFzaGFycmF5OiAyLCAyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1pdGVtIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhciB7XHJcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRzdHJva2U6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLWJhciB7XHJcblx0ZmlsbDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR3aGl0ZS1zcGFjZTogcHJlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIuc3RhdHVzLWNvbXBsZXRlZCB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3ItZ3JlZW4tYm9yZGVyKTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLnByaW9yaXR5LWhpZ2gge1xyXG59XHJcblxyXG4vKipcclxuICogR2FudHQgQ2hhcnQgU3R5bGVzXHJcbiAqL1xyXG5cclxuLmdhbnR0LWhlYWRlciB7XHJcblx0cG9zaXRpb246IHN0aWNreTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRoZWlnaHQ6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1iZy1jb2xvcik7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1yb3cge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRoZWlnaHQ6IDUwJTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1yb3cucHJpbWFyeSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItY2VsbCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG4uZ2FudHQtYm9keSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XHJcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSAqIC0xKTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSk7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1jb2x1bW4ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdhbnR0LWdyaWQtY29sb3IpO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWNvbHVtbi50b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtdG9kYXktY29sb3IpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1yb3cge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXJvdy1jb2xvcik7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLXJvdzpudGgtY2hpbGQob2RkKSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xyXG59XHJcblxyXG4uZ2FudHQtYmFycyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCk7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpKTtcclxuXHRtaW4td2lkdGg6IDEwMCU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWNvbnRhaW5lcjpob3ZlciB7XHJcblx0ei1pbmRleDogMTA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIubWlsZXN0b25lIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1taWxlc3RvbmUtY29sb3IpO1xyXG5cdHdpZHRoOiAxNXB4ICFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHR0b3A6IDUwJTtcclxuXHRtYXJnaW4tdG9wOiAtNy41cHg7XHJcblx0bGVmdDogNTAlO1xyXG5cdG1hcmdpbi1sZWZ0OiAtNy41cHg7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLXByb2dyZXNzIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXByb2dyZXNzLWNvbG9yKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogY2FsYygxMDAlICsgOHB4KTtcclxuXHR0b3A6IDA7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0tZ2FudHQtYmFyLWhlaWdodCk7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWNvbnRhaW5lci5yaWdodC1hbGlnbmVkIC5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRsZWZ0OiBhdXRvO1xyXG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHtcclxuXHQuZ2FudHQtaGVhZGVyLWNlbGwge1xyXG5cdFx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0LmdhbnR0LXRhc2stbGFiZWwge1xyXG5cdFx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1jb250YWluZXIge1xyXG5cdGhlaWdodDogNDBweDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1zdmcge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLXRpY2stbWFqb3IsXHJcbi5nYW50dC1oZWFkZXItdGljay1taW5vcixcclxuLmdhbnR0LWhlYWRlci10aWNrLWRheSxcclxuLmdhbnR0LWhlYWRlci10b2RheS1tYXJrZXIge1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG4uZ2FudHQtaGVhZGVyLXRpY2stbWFqb3Ige1xyXG5cdHN0cm9rZS13aWR0aDogMS41O1xyXG59XHJcbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0c3Ryb2tlLXdpZHRoOiAxLjU7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci1sYWJlbC1tYWpvcixcclxuLmdhbnR0LWhlYWRlci1sYWJlbC1taW5vcixcclxuLmdhbnR0LWhlYWRlci1sYWJlbC1kYXkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLmdhbnR0LWhlYWRlci1sYWJlbC1tYWpvciB7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmaWxsOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5nYW50dC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRmbGV4LWdyb3c6IDE7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZ2FudHQtY29udGVudC13cmFwcGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtbGluZS1tYWpvcixcclxuLmdhbnR0LWdyaWQtbGluZS1taW5vciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAwLjU7XHJcbn1cclxuLmdhbnR0LWdyaWQtbGluZS1tYWpvciB7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG59XHJcbi5nYW50dC1ncmlkLWxpbmUtaG9yaXpvbnRhbCB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC10b2RheS1tYXJrZXIge1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTogNCwgMjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG5cdHN0cm9rZTogdmFyKC0tY29sb3ItYmx1ZS1ob3Zlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAwLjU7XHJcblx0dHJhbnNpdGlvbjogZmlsbCAwLjFzIGVhc2U7XHJcbn1cclxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItcHVycGxlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLXB1cnBsZSk7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWJhcixcclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtY2FuY2VsbGVkIC5nYW50dC10YXNrLWJhcixcclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtY2FuY2VsbGVkIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0b3BhY2l0eTogMC42O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWlucHJvZ3Jlc3MgLmdhbnR0LXRhc2stYmFyIHtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwtZm8ge1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHBhZGRpbmc6IDAgMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24gcCB7XHJcblx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nYW50dC1taWxlc3RvbmUtbGFiZWwtY29udGFpbmVyIHAge1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcclxuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XHJcblxyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0cGFkZGluZzogMCAycHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1kb25lIC5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuLmdhbnR0LW1pbGVzdG9uZS1sYWJlbCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZ2FudHQtZmlsdGVyLWFyZWEge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTItMik7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uZ2FudHQtZmlsdGVyLWFyZWEgLmZpbHRlci1jb21wb25lbnQge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiBjYWxjKDUwJSArIDIwcHgpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHR3aWR0aDogOHB4O1xyXG5cdGhlaWdodDogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC42KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3Jbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSB7XHJcblx0b3BhY2l0eTogMDtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItbGVmdCB7XHJcblx0bGVmdDogNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvci1yaWdodCB7XHJcblx0cmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0ei1pbmRleDogMTA7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItbGVmdCB7XHJcblx0bGVmdDogMDtcclxufVxyXG5cclxuLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xyXG5cdHJpZ2h0OiAwO1xyXG59XHJcblxyXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5nYW50dC1zaW5nbGUtaW5kaWNhdG9yOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXIge1xyXG5cdHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0LCA0MHB4KSArIHZhcigtLWZpbHRlci1oZWlnaHQsIDBweCkpO1xyXG5cdGJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLmdhbnR0LWNoYXJ0LWNvbnRhaW5lciAuZ2FudHQtaW5kaWNhdG9yLWNvbnRhaW5lci1yaWdodCB7XHJcblx0cmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsIHAge1xyXG5cdG1hcmdpbjogMDtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0tZ2FudHQtYmFyLWhlaWdodCk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiIsICIvKiB0YXNrLXByb3BlcnR5IFZpZXcgU3R5bGVzICovXHJcbi50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1jb250ZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IG1heCgxMjBweCwgMzAlKTtcclxuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcclxuXHRtYXgtd2lkdGg6IDMwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXJpZ2h0LWNvbHVtbiB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktc2lkZWJhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTEwKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktc2lkZWJhci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5tdWx0aS1zZWxlY3QtbW9kZSAudGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuIHtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1tdWx0aS1zZWxlY3QtYnRuOmhvdmVyIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1zaWRlYmFyLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDRweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWxpc3QtaXRlbS5zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbmFtZSB7XHJcblx0ZmxleDogMTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LWNvdW50IHtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDFweCA2cHg7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2staGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS10YXNrLWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXRhc2stbGlzdCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1lbXB0eS1zdGF0ZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHBhZGRpbmc6IDE2cHg7XHJcbn1cclxuXHJcbi8qIHRhc2stcHJvcGVydHkgVmlldyAtIE1vYmlsZSAqL1xyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktc2lkZWJhci10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItY2xvc2Uge1xyXG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHJpZ2h0OiAxMHB4O1xyXG5cdHotaW5kZXg6IDE1O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xyXG4uaXMtcGhvbmVcclxuXHQudGFzay1wcm9wZXJ0eS1jb250YWluZXI6aGFzKFxyXG5cdFx0LnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4uaXMtdmlzaWJsZVxyXG5cdCk6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHR6LWluZGV4OiA1O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogQWRkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGNvbnRhaW5lciBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY29udGV4dCAqL1xyXG4uaXMtcGhvbmUgLnRhc2stcHJvcGVydHktY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyOmhhcygudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlKSB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxufVxyXG4iLCAiLyogVGFzayBUYWJsZSBWaWV3IFN0eWxlcyAqL1xuLnRhYmxlLXZpZXctYWRhcHRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stdGFibGUtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZsZXg6IDE7XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdC8qIEVuc3VyZSB0YWJsZSB0YWtlcyBmdWxsIHdpZHRoIGV2ZW4gd2l0aCBtYW55IGNvbHVtbnMgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogVGFibGUgd3JhcHBlciBmb3Igc2Nyb2xsaW5nICovXG4udGFzay10YWJsZS13cmFwcGVyIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogRW5hYmxlIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2Nyb2xsaW5nICovXG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdC8qIFNtb290aCBzY3JvbGxpbmcgKi9cblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIEhlYWRlciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0LyogRW5zdXJlIGhlYWRlciBkb2Vzbid0IGJyZWFrIHdoZW4gc2Nyb2xsaW5nIGhvcml6b250YWxseSAqL1xuXHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbCB7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHQvKiBQcmV2ZW50IGhlYWRlciBjZWxscyBmcm9tIHNocmlua2luZyB0b28gbXVjaCAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGdhcDogNHB4O1xufVxuXG4udGFzay10YWJsZS1oZWFkZXItdGl0bGUge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRvcGFjaXR5OiAwLjU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc29ydC1pY29uLmFzYyxcbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5kZXNjIHtcblx0b3BhY2l0eTogMTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stdGFibGUtcmVzaXplLWhhbmRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IGNvbC1yZXNpemU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEJvZHkgU3R5bGVzICovXG4udGFzay10YWJsZS1ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtcm93IHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpudGgtY2hpbGQoZXZlbikuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtY2VsbC5lZGl0aW5nIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdHJlZS1pbmRlbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0cHg7IFxufVxuXG4udGFzay10YWJsZS1jZWxsOmhhcygudGFzay10YWJsZS1leHBhbmQtYnRuKSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnRhc2stdGFibGUtcm93LnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0xIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDUycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDcycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC00IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDkycHg7XG59XG5cbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDExMnB4O1xufVxuXG4vKiBDZWxsIFR5cGUgU3R5bGVzICovXG4udGFzay10YWJsZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stdGFibGUtbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmNvbXBsZXRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuaW4tcHJvZ3Jlc3MgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmFiYW5kb25lZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLnBsYW5uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5ub3Qtc3RhcnRlZCAudGFzay10YWJsZS1zdGF0dXMtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogUHJpb3JpdHkgQ2VsbCAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS5jbGlja2FibGUtcHJpb3JpdHk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLm1lZGl1bSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktdGV4dCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBEYXRlIENlbGwgKi9cbi50YXNrLXRhYmxlLWRhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay10YWJsZS1kYXRlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9kYXkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS50b21vcnJvdyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUueWVzdGVyZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLm92ZXJkdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudXBjb21pbmcge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1lbXB0eSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBUYWdzIENlbGwgKi9cbi50YXNrLXRhYmxlLXRhZ3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFzay10YWJsZS10YWctY2hpcCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXRhZ3MtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogSW5saW5lIEVkaXRpbmcgSW5wdXRzICovXG4udGFzay10YWJsZS10ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0Zm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpICFpbXBvcnRhbnQ7XG59XG5cbi50YXNrLXRhYmxlLXRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0cGFkZGluZzogMnB4IDRweCAhaW1wb3J0YW50O1xufVxuXG4vKiBUYXNrIENvdW50IEljb24gKi9cbi50YXNrLWNvdW50LWljb24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LXJvdyB7XG5cdGhlaWdodDogODBweDtcbn1cblxuLnRhc2stdGFibGUtZW1wdHktY2VsbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIExvYWRpbmcgU3RhdGUgKi9cbi50YXNrLXRhYmxlLWxvYWRpbmcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHR6LWluZGV4OiAxMDA7XG59XG5cbi8qIFJlc2l6ZSBTdGF0ZSAqL1xuLnRhc2stdGFibGUucmVzaXppbmcge1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUucmVzaXppbmcgKiB7XG5cdGN1cnNvcjogY29sLXJlc2l6ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHR9XG5cblx0LnRhc2stdGFibGUtd3JhcHBlciB7XG5cdFx0b3ZlcmZsb3cteDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlIHtcblx0XHRtaW4td2lkdGg6IDgwMHB4OyAvKiBFbnN1cmUgdGFibGUgZG9lc24ndCBnZXQgdG9vIG5hcnJvdyAqL1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1yb3cge1xuXHRcdGhlaWdodDogMzZweDtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XG59XG5cbi8qIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1yb3cge1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0fVxufVxuXG4vKiBQcmludCBTdHlsZXMgKi9cbkBtZWRpYSBwcmludCB7XG5cdC50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlciB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxuXG5cdC50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFzay10YWJsZS1leHBhbmQtYnRuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIFZpcnR1YWwgc2Nyb2xsaW5nIHN0eWxlcyAqL1xuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3Age1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnZpcnR1YWwtc2Nyb2xsLXNwYWNlci10b3AgdGQge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250ZXh0IG1lbnUgc3R5bGVzICovXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtIHtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRleHQtbWVudS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIERhdGUgaW5wdXQgaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1kYXRlLWlucHV0IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6aG92ZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1pbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogQXV0b2NvbXBsZXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dCxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQsXG4udGFzay10YWJsZS10YWdzLWlucHV0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1wcm9qZWN0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtY29udGV4dC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFJvdyBzZWxlY3Rpb24gaW1wcm92ZW1lbnRzICovXG4udGFzay10YWJsZS1yb3cuc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlci13ZWFrKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBpbXByb3ZlbWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXG5cdHRoW2RhdGEtY29sdW1uLWlkPVwicm93TnVtYmVyXCJdIHtcblx0XHRtYXgtd2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRcdGdhcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHR0ZFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggNHB4O1xuXHR9XG59XG5cbi8qIFRhc2sgVGFibGUgSGVhZGVyIEJhciBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4udGFibGUtaGVhZGVyLWxlZnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG59XG5cbi50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcbn1cblxuLyogVGFzayBDb3VudCBEaXNwbGF5ICovXG4udGFzay1jb3VudC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1jb3VudC10ZXh0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogQ29udHJvbCBCdXR0b25zICovXG4udGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG4udGFibGUtY29udHJvbC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnRyZWUtbW9kZS1idG4uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRyZWUtbW9kZS1pY29uLFxuLnJlZnJlc2gtaWNvbixcbi5jb2x1bW4taWNvbiB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50cmVlLW1vZGUtdGV4dCxcbi5yZWZyZXNoLXRleHQsXG4uY29sdW1uLXRleHQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZHJvcGRvd24tYXJyb3cge1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi8qIENvbHVtbiBEcm9wZG93biAqL1xuLmNvbHVtbi1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbHVtbi1kcm9wZG93bi1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWNoZWNrYm94IHtcblx0bWFyZ2luOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2x1bW4tdG9nZ2xlLWxhYmVsIHtcblx0ZmxleDogMTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduIGZvciBIZWFkZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1oZWFkZXItbGVmdCxcblx0LnRhYmxlLWhlYWRlci1yaWdodCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQudGFibGUtY29udHJvbHMtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQudGFibGUtY29udHJvbC1idG4ge1xuXHRcdGZsZXg6IDE7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgQWRqdXN0bWVudHMgZm9yIEhlYWRlciAqL1xuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG59XG5cbi50aGVtZS1kYXJrIC5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLyogQ3VzdG9tIEF1dG8tU3VnZ2VzdCBEcm9wZG93biAqL1xuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0ei1pbmRleDogMTAwMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0bWluLXdpZHRoOiAxNTBweDtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW0ge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpob3Zlcixcbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogRW5oYW5jZWQgVHJlZSBWaWV3IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtc3VidGFzayB7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1wYXJlbnQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2stY2VsbCB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItZm9jdXMpO1xufVxuXG4udGFzay10YWJsZS10cmVlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1zdHJ1Y3R1cmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDJweDtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtbGluZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0d2lkdGg6IDE2cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb25uZWN0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtdmVydGljYWwge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi50YXNrLXRhYmxlLXN1YnRhc2staW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xuXHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGFzay10YWJsZS10b3AtbGV2ZWwtZXhwYW5kIHtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLWNvbnRlbnQtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG1pbi13aWR0aDogMDtcbn1cblxuLnRhc2stdGFibGUtY2hpbGQtaW5kaWNhdG9yIHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBFbmhhbmNlZCBTdGF0dXMgQ2VsbCAqL1xuLnRhc2stdGFibGUtc3RhdHVzLmNsaWNrYWJsZS1zdGF0dXMge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi8qIEVuaGFuY2VkIFByaW9yaXR5IEljb25zICovXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmhpZ2hlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG5cdGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpO1xufVxuXG4udGFzay10YWJsZS1wcmlvcml0eS1pY29uLmxvd2VzdCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcbn1cblxuLyogVHJlZSBleHBhbmQgYnV0dG9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZXhwYW5kLWJ0bi5jbGlja2FibGUtaWNvbiB7XG5cdG9wYWNpdHk6IDAuNztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4vKiBPdmVycmlkZSBleGlzdGluZyB0cmVlIGluZGVudGF0aW9uIHRvIHVzZSBuZXcgc3lzdGVtICovXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTIgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0zIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTUgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctbGVmdDogMTJweDsgLyogUmVzZXQgdG8gbm9ybWFsIHBhZGRpbmcsIGxldCB0cmVlIHN0cnVjdHVyZSBoYW5kbGUgaW5kZW50YXRpb24gKi9cbn1cbiIsICIvKiBUYXNrIEdlbml1cyAtIFF1YWRyYW50IFZpZXcgU3R5bGVzICovXHJcblxyXG4vKiBNYWluIFF1YWRyYW50IENvbnRhaW5lciAqL1xyXG4udGctcXVhZHJhbnQtY29tcG9uZW50LWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIEhlYWRlciBTZWN0aW9uICovXHJcbi50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zb3J0LXNlbGVjdCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtMi0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc29ydC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHR3aWR0aDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdG9nZ2xlLWVtcHR5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgU2VjdGlvbiAqL1xyXG4udGctcXVhZHJhbnQtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgR3JpZCAqL1xyXG4udGctcXVhZHJhbnQtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyO1xyXG5cdGdhcDogMXB4O1xyXG5cdGZsZXg6IDE7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIEluZGl2aWR1YWwgUXVhZHJhbnQgQ29sdW1ucyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtaW4taGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLS1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFF1YWRyYW50IEhlYWRlcnMgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtaGVhZGVyIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtdGl0bGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtcHJpb3JpdHkge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNvbHVtbiAudGctcXVhZHJhbnQtdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb3VudCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgQ29udGVudCBBcmVhcyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMyk7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxufVxyXG5cclxuLyogUXVhZHJhbnQgU3BlY2lmaWMgU3R5bGluZyAtIFN1YnRsZSBhY2NlbnQgYmFycyAqL1xyXG4ucXVhZHJhbnQtdXJnZW50LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuLnF1YWRyYW50LW5vdC11cmdlbnQtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5xdWFkcmFudC11cmdlbnQtbm90LWltcG9ydGFudCAudGctcXVhZHJhbnQtaGVhZGVyOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4ucXVhZHJhbnQtbm90LXVyZ2VudC1ub3QtaW1wb3J0YW50IC50Zy1xdWFkcmFudC1oZWFkZXI6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0b3BhY2l0eTogMC40O1xyXG59XHJcblxyXG4vKiBUYXNrIENhcmRzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQ6YWN0aXZlIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmxhc3QtY2hpbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8qIENhcmQgSGVhZGVyICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1jaGVja2JveCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1hY3Rpb25zIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0biB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbW9yZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIENhcmQgQ29udGVudCAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC1jb250ZW50IHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXByaW9yaXR5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10YWdzIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLXRhZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10YWctLXVyZ2VudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC10YWctLWltcG9ydGFudCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBDYXJkIE1ldGFkYXRhICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLW1ldGFkYXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLWljb24ge1xyXG5cdHdpZHRoOiAxMnB4O1xyXG5cdGhlaWdodDogMTJweDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWR1ZS1kYXRlLS11cmdlbnQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1kdWUtZGF0ZS0tb3ZlcmR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1maWxlLWluZm8ge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLWZpbGUtaWNvbiB7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1maWxlLW5hbWUge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRtYXgtd2lkdGg6IDEyMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtbGluZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRvcGFjaXR5OiAwLjY7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcclxufVxyXG5cclxuLyogUHJpb3JpdHkgQ2xhc3NlcyAtIFN1YnRsZSBsZWZ0IGJvcmRlciAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktaGlnaGVzdCB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LWhpZ2gge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLXByaW9yaXR5LW1lZGl1bSB7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tcHJpb3JpdHktbG93IHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1wcmlvcml0eS1sb3dlc3Qge1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi8qIERyYWcgYW5kIERyb3AgU3RhdGVzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1naG9zdCB7XHJcblx0b3BhY2l0eTogMC40O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWRyYWdnaW5nIHtcclxuXHQvKiBTdHlsZSBmb3IgdGhlIGNsb25lIGJlaW5nIGRyYWdnZWQgLSBmb2xsb3dpbmcga2FuYmFuIHBhdHRlcm4gKi9cclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xyXG59XHJcblxyXG4vKiBSZW1vdmUgb2xkIGRyYWcgY2xhc3NlcyB0aGF0IGFyZSBubyBsb25nZXIgdXNlZCAqL1xyXG4udGctcXVhZHJhbnQtY2FyZC0tY2hvc2VuIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBFbXB0eSBTdGF0ZSAqL1xyXG4udGctcXVhZHJhbnQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTIwcHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0b3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XHJcblx0d2lkdGg6IDMycHg7XHJcblx0aGVpZ2h0OiAzMnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0zKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgMWZyKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC0yKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4gLnRnLXF1YWRyYW50LWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMykgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNhcmQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNhcmQtdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWNvbnRyb2xzIHtcclxuXHRcdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdH1cclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXHJcbi50Zy1xdWFkcmFudC1jYXJkOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC1tb3JlLWJ0bjpmb2N1cyB7XHJcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcclxufVxyXG5cclxuLyogQW5pbWF0aW9uIGZvciBzbW9vdGggaW50ZXJhY3Rpb25zICovXHJcbkBrZXlmcmFtZXMgY2FyZENvbXBsZXRlIHtcclxuXHQwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxuXHQ1MCUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWNvbXBsZXRlZCB7XHJcblx0YW5pbWF0aW9uOiBjYXJkQ29tcGxldGUgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLyogSW1wcm92ZWQgaG92ZXIgc3RhdGVzICovXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIC50Zy1xdWFkcmFudC1jYXJkLXRpdGxlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZDpob3ZlciAudGctcXVhZHJhbnQtY2FyZC1wcmlvcml0eSB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLyogQmV0dGVyIHZpc3VhbCBoaWVyYXJjaHkgKi9cclxuLnRnLXF1YWRyYW50LWNhcmQtY29udGVudCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKiBMYXp5IGxvYWRpbmcgc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC1sb2FkaW5nIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtaW4taGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWRpbmctc3Bpbm5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNwaW5uZXIge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWRpbmctbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBkcmFnIGFuZCBkcm9wIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtZHJhZ2dpbmcge1xyXG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWRyYWdnaW5nICoge1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZ2hvc3Qge1xyXG5cdG9wYWNpdHk6IDAuNDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4ge1xyXG5cdGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY2FyZC0tZHJhZyB7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWNhcmQtLWZhbGxiYWNrIHtcclxuXHRvcGFjaXR5OiAwLjk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tLWRyYWctdGFyZ2V0IHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0bWluLWhlaWdodDogNjBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jb2x1bW4tY29udGVudC0tZHJvcC1hY3RpdmU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJEcm9wIHRhc2sgaGVyZVwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLyogRmVlZGJhY2sgc3R5bGVzICovXHJcbi50Zy1xdWFkcmFudC11cGRhdGUtZmVlZGJhY2sge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDIwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0ei1pbmRleDogMTAwMDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLS1oaWRlIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdG1pbi13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay0tZXJyb3IgLnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZmVlZGJhY2staWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1mZWVkYmFjay10ZXh0IHtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCBjYXJkIGludGVyYWN0aW9ucyAqL1xyXG4udGctcXVhZHJhbnQtY2FyZCB7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHRjdXJzb3I6IGdyYWI7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmhvdmVyIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkOmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBncmFiYmluZztcclxufVxyXG5cclxuLyogSW1wcm92ZWQgZW1wdHkgc3RhdGUgKi9cclxuLnRnLXF1YWRyYW50LWVtcHR5LXN0YXRlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtaW4taGVpZ2h0OiAxMjBweDtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRtYXJnaW46IDAuNXJlbSAwO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtZW1wdHktaWNvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1lbXB0eS1tZXNzYWdlIHtcclxuXHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgYW5pbWF0aW9uICovXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XHJcblx0YW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LXVwZGF0ZS1mZWVkYmFjayB7XHJcblx0XHR0b3A6IDEwcHg7XHJcblx0XHRyaWdodDogMTBweDtcclxuXHRcdGxlZnQ6IDEwcHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLS1zaG93IHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1mZWVkYmFjay0taGlkZSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdH1cclxuXHJcblx0LnRnLXF1YWRyYW50LWZlZWRiYWNrLWNvbnRlbnQge1xyXG5cdFx0bWluLXdpZHRoOiBhdXRvO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBEYXJrIG1vZGUgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsgLnRnLXF1YWRyYW50LWNhcmQtLWNob3NlbiB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1jYXJkLS1mYWxsYmFjayB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbi50aGVtZS1kYXJrIC50Zy1xdWFkcmFudC1mZWVkYmFjay1jb250ZW50IHtcclxuXHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG5cclxuLyogQWNjZXNzaWJpbGl0eSBpbXByb3ZlbWVudHMgKi9cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHQudGctcXVhZHJhbnQtY2FyZCxcclxuXHQudGctcXVhZHJhbnQtdXBkYXRlLWZlZWRiYWNrLFxyXG5cdC50Zy1xdWFkcmFudC1jYXJkLS1jaG9zZW4sXHJcblx0LnRnLXF1YWRyYW50LWNhcmQtLWRyYWcge1xyXG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcclxuXHRcdGFuaW1hdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1zcGlubmVyIGNpcmNsZSB7XHJcblx0XHRhbmltYXRpb246IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiBTY3JvbGwgY29udGFpbmVyIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRtYXgtaGVpZ2h0OiA3MHZoO1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHRzY3JvbGxiYXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHR3aWR0aDogNnB4O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBMb2FkIG1vcmUgaW5kaWNhdG9yIHN0eWxlcyAqL1xyXG4udGctcXVhZHJhbnQtbG9hZC1tb3JlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcclxufVxyXG5cclxuLnRnLXF1YWRyYW50LWxvYWQtbW9yZS1zcGlubmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUtbWVzc2FnZSB7XHJcblx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4vKiBDb2x1bW4gbGF5b3V0IGFkanVzdG1lbnRzIGZvciBzY3JvbGxpbmcgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiA0MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4MHZoO1xyXG59XHJcblxyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLyogU21vb3RoIHNjcm9sbGluZyAqL1xyXG4udGctcXVhZHJhbnQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbn1cclxuXHJcbi8qIExvYWRpbmcgc3RhdGVzIGR1cmluZyBzY3JvbGwgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi5sb2FkaW5nLW1vcmUgLnRnLXF1YWRyYW50LWxvYWQtbW9yZSB7XHJcblx0b3BhY2l0eTogMTtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyogSW50ZXJzZWN0aW9uIG9ic2VydmVyIHRhcmdldCBzdHlsaW5nICovXHJcbi50Zy1xdWFkcmFudC1sb2FkLW1vcmUge1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIGVtcHR5IHN0YXRlIGZvciBzY3JvbGxhYmxlIGNvbnRlbnQgKi9cclxuLnRnLXF1YWRyYW50LWNvbHVtbi1jb250ZW50OmVtcHR5OjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWluLWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi8qIEdyaWQgbGF5b3V0IGFkanVzdG1lbnRzICovXHJcbi50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xyXG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIHNjcm9sbCBjb250YWluZXIgaGVpZ2h0cyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcblx0LnRnLXF1YWRyYW50LXNjcm9sbC1jb250YWluZXIge1xyXG5cdFx0bWF4LWhlaWdodDogNjB2aDtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1jb2x1bW4ge1xyXG5cdFx0bWF4LWhlaWdodDogNzB2aDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cdC50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyIHtcclxuXHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0fVxyXG5cclxuXHQudGctcXVhZHJhbnQtY29sdW1uIHtcclxuXHRcdG1heC1oZWlnaHQ6IDYwdmg7XHJcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcclxuXHR9XHJcblxyXG5cdC50Zy1xdWFkcmFudC1ncmlkIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyAqL1xyXG4udGctcXVhZHJhbnQtY29sdW1uLWNvbnRlbnQge1xyXG5cdGNvbnRhaW46IGxheW91dCBzdHlsZTtcclxuXHR3aWxsLWNoYW5nZTogY29udGVudHM7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1jYXJkIHtcclxuXHRjb250YWluOiBsYXlvdXQgc3R5bGUgcGFpbnQ7XHJcbn1cclxuXHJcbi8qIFNjcm9sbCBpbmRpY2F0b3JzICovXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdHRvcDogMDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHR0byBib3R0b20sXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpLFxyXG5cdFx0dHJhbnNwYXJlbnRcclxuXHQpO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50Zy1xdWFkcmFudC1zY3JvbGwtY29udGFpbmVyLmhhcy1zY3JvbGw6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSksIHRyYW5zcGFyZW50KTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcbiIsICIudGctaGFiaXQtY29tcG9uZW50LWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDFyZW07IC8qIGdhcC00ICovXHJcblx0cGFkZGluZzogMXJlbTsgLyogcC00ICovXHJcblx0aGVpZ2h0OiAxMDAlOyAvKiBBbGxvdyBzY3JvbGxpbmcgaWYgY29udGVudCBvdmVyZmxvd3MgKi9cclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4vKiA9PT0gSGFiaXQgTGlzdCBDb250YWluZXIgPT09ICovXHJcbi5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XHJcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBcdTVDMEZcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMC41cmVtO1xyXG5cdFx0Z2FwOiAwLjc1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLyogXHU0RTJEXHU3QjQ5XHU1QzRGXHU1RTU1XHU4QkJFXHU1OTA3IH43NjhweCAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cdC5oYWJpdC1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdG1heC13aWR0aDogNDAwcHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFx1NTkyN1x1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHR9XHJcbn1cclxuLyogQWRqdXN0IG1heC13aWR0aC9jb2x1bW5zIGJhc2VkIG9uIGRlc2lyZWQgbGF5b3V0ICovXHJcblxyXG4uaGFiaXQtY2FyZC13cmFwcGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLyogPT09IEJhc2UgQ2FyZCBTdHlsZXMgPT09ICovXHJcbi5oYWJpdC1jYXJkIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiBTdGFuZGFyZCBtZWRpdW0gcmFkaXVzICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGhlYWRlciBhbmQgY29udGVudCAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7ICovXHJcbn1cclxuXHJcbi5oYWJpdC1jYXJkIC5jYXJkLXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07IC8qIGdhcC0yICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTsgLyogTGFyZ2VyIFVJIGZvbnQgKi9cclxuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB0aXRsZSB0byB0YWtlIHNwYWNlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBsb25nIG5hbWVzIGJyZWFraW5nIGxheW91dCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1uYW1lLmhhYml0LW5hbWU6aG92ZXIge1xyXG5cdC8qIFNwZWNpZmljaXR5IGZvciBob3ZlciAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07IC8qIENvbnNpc3RlbnQgcGFkZGluZyAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgY29udGVudCB0byBmaWxsIHNwYWNlICovXHJcblx0LyogTGF5b3V0IHNwZWNpZmljcyBkZWZpbmVkIHBlciBjYXJkIHR5cGUgKi9cclxufVxyXG5cclxuLyogPT09IERhaWx5IEhhYml0IENhcmQgPT09ICovXHJcbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0LyogTm8gYm9yZGVyIG5lZWRlZCBpZiBjaGVja2JveCBpcyBtYWluIGFjdGlvbiAqL1xyXG5cdC8qIGJvcmRlci1ib3R0b206IG5vbmU7ICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmhhYml0LWNoZWNrYm94LWNvbnRhaW5lciB7XHJcblx0LyogU3R5bGUgY29udGFpbmVyIGlmIG5lZWRlZCAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveCB7XHJcblx0LS1jaGVja2JveC1zaXplOiAxLjI1cmVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRhY2NlbnQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIFN0eWxlIGNoZWNrYm94IGNvbG9yICovXHJcbn1cclxuLmRhaWx5LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHQvKiBDb250YWlucyBoZWF0bWFwICovXHJcblx0cGFkZGluZzogMHJlbSAxcmVtIDAuNzVyZW07IC8qIEFkanVzdCBwYWRkaW5nIGFyb3VuZCBoZWF0bWFwICovXHJcbn1cclxuXHJcbi8qID09PSBDb3VudCBIYWJpdCBDYXJkID09PSAqL1xyXG4uY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRGVmYXVsdCBtb2JpbGUgbGF5b3V0ICovXHJcblx0Z2FwOiAwLjc1cmVtOyAvKiBBZGp1c3RlZCBnYXAgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b24ge1xyXG5cdC0taWNvbi1zaXplOiAycmVtO1xyXG5cdGhlaWdodDogNHJlbTsgLyogU2xpZ2h0bHkgc21hbGxlciB0aGFuIGgtMTYgKi9cclxuXHR3aWR0aDogNHJlbTtcclxuXHRhc3BlY3QtcmF0aW86IDE7XHJcblx0cGFkZGluZzogMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbGVyIHJhZGl1cyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEuNXJlbTsgLyogRm9yIGljb24gKi9cclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtY2FyZC1uYW1lIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1hY3RpdmUtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaW5mbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciB0ZXh0IG9uIG1vYmlsZSAqL1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmbGV4LWdyb3c6IDE7XHJcbn1cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8gaDMge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4vKiBUYWJsZXQvRGVza3RvcCBsYXlvdXQgZm9yIENvdW50IENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lyogc20gYnJlYWtwb2ludCAqL1xyXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWxpZ24gaXRlbXMgdmVydGljYWxseSAqL1xyXG5cdFx0Z2FwOiAxcmVtO1xyXG5cdH1cclxuXHQuY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtcHJvZ3Jlc3MtYXJlYSB7XHJcblx0XHR3aWR0aDogYXV0bzsgLyogQWxsb3cgaXQgdG8gc2hyaW5rICovXHJcblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBFbnN1cmUgbWluaW11bSB3aWR0aCBmb3IgaGVhdG1hcC9wcm9ncmVzcyAqL1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvKiBBbGlnbiBwcm9ncmVzcyB0byB0aGUgcmlnaHQgKi9cclxuXHR9XHJcblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtc21hbGwge1xyXG5cdFx0d2lkdGg6IDEwMCU7IC8qIEFsbG93IGhlYXRtYXAgdG8gZGVmaW5lIGl0cyBvd24gd2lkdGggKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qID09PSBTY2hlZHVsZWQgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogTW9iaWxlIGRlZmF1bHQgKi9cclxuXHRnYXA6IDAuNzVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBoZWF0bWFwIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjb250cm9scyBvbiBtb2JpbGUgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAwLjVyZW07XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQ2VudGVyIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xyXG59XHJcblxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWV2ZW50LWRyb3Bkb3duIHtcclxuXHR3aWR0aDogYXV0bzsgLyogQXV0byB3aWR0aCBkcm9wZG93biAqL1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBTY2hlZHVsZWQgQ2FyZCAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gdG9wICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGhlYXRtYXAgdG8gc2hyaW5rICovXHJcblx0XHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGhlYXRtYXAgdG8gdGFrZSBhdmFpbGFibGUgc3BhY2UgKi9cclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTsgLyogU3BhY2UgYmV0d2VlbiBoZWF0bWFwIGFuZCBjb250cm9scyAqL1xyXG5cdH1cclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWNvbnRyb2xzIHtcclxuXHRcdHdpZHRoOiBhdXRvOyAvKiBTaHJpbmsgY29udHJvbHMgKi9cclxuXHRcdG1pbi13aWR0aDogMTUwcHg7IC8qIE1pbmltdW0gd2lkdGggKi9cclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGlnbiBjb250cm9scyBsZWZ0ICovXHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gTWFwcGluZyBIYWJpdCBDYXJkID09PSAqL1xyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWhlYWRlciB7XHJcblx0cGFkZGluZy1ib3R0b206IDAuNXJlbTsgLyogcGItMiAqL1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXHJcblx0Z2FwOiAwLjc1cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcblx0cGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LW1hcHBpbmctYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjc1cmVtOyAvKiBMYXJnZXIgZW1vamkvdGV4dCAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDEwMHB4OyAvKiBMaW1pdCBidXR0b24gd2lkdGggKi9cclxuXHRoZWlnaHQ6IDMuNXJlbTsgLyogaC0xNiBlcXVpdmFsZW50ICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmcpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIEVuc3VyZSBlbW9qaSB2aXNpYmlsaXR5ICovXHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iZyk7XHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIGZ1bGwgd2lkdGggKi9cclxuXHRtYXgtd2lkdGg6IDIwMHB4OyAvKiBMaW1pdCBzbGlkZXIgd2lkdGggKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgc2xpZGVyIGxhYmVsICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHR3aWR0aDogMTAwJTsgLyogTWFrZSBzbGlkZXIgY29udHJvbCB0YWtlIGZ1bGwgd2lkdGggKi9cclxufVxyXG5cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBNYXBwaW5nIENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5ICovXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1pbi13aWR0aDogODBweDsgLyogV2lkdGggZm9yIGJ1dHRvbiArIHNsaWRlciAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogS2VlcCBidXR0b24gYWJvdmUgc2xpZGVyICovXHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiAwLjc1cmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0XHR3aWR0aDogNHJlbTsgLyogRml4ZWQgd2lkdGggYnV0dG9uICovXHJcblx0XHRoZWlnaHQ6IDRyZW07XHJcblx0fVxyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIHtcclxuXHRcdHdpZHRoOiAxMDAlOyAvKiBTbGlkZXIgdGFrZXMgd2lkdGggb2YgY29udHJvbCBhcmVhICovXHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gUHJvZ3Jlc3MgQmFyIChDb21tb24gZm9yIENvdW50L1NjaGVkdWxlZCkgPT09ICovXHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMC43NXJlbTsgLyogU2xpZ2h0bHkgdGhpY2tlciAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7IC8qIFBpbGwgc2hhcGUgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogRm9yIHRleHQgb3ZlcmxheSAqL1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1iYXIge1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sKTtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy1jb250YWluZXIuZmlsbGVkIC5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcclxuXHRtaXgtYmxlbmQtbW9kZTogdW5zZXQ7XHJcbn1cclxuLmhhYml0LXByb2dyZXNzLXRleHQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC42cmVtOyAvKiBUaW55IHRleHQgKi9cclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpOyAvKiBUZXh0IGNvbG9yIG9uIGZpbGxlZCBwYXJ0ICovXHJcblx0bWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IC8qIFRyeSB0byBtYWtlIHRleHQgdmlzaWJsZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qID09PSBIZWF0bWFwIFN0eWxlcyA9PT0gKi9cclxuLnRnLWhlYXRtYXAtcm9vdCB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIFRha2UgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG5cdGdhcDogM3B4OyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBjZWxscyAqL1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XHJcblx0Z2FwOiAzcHg7IC8qIFNtYWxsIGdhcCBiZXR3ZWVuIGNlbGxzICovXHJcblx0b3ZlcmZsb3cteDogYXV0bzsgLyogQWxsb3cgaG9yaXpvbnRhbCBzY3JvbGwgaWYgdG9vIG1hbnkgY2VsbHMgKi9cclxuXHRwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBTcGFjZSBmb3Igc2Nyb2xsYmFyICovXHJcblx0anVzdGlmeS1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhdG1hcC1sZyAuaGVhdG1hcC1jb250YWluZXItc2ltcGxlIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBjZWxscyAqL1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYXRtYXAtY2VsbCB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpOyAvKiBTbWFsbCByYWRpdXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNlbGxzIGZyb20gc2hyaW5raW5nICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG5cdFx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlclxyXG5cdCk7IC8qIERlZmF1bHQgYmFja2dyb3VuZCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiBCb3JkZXIgZm9yIGJsYW5rL2N1c3RvbSAqL1xyXG59XHJcblxyXG4vKiBIZWF0bWFwIFNoYXBlcyAqL1xyXG4uaGVhdG1hcC1jZWxsLXNxdWFyZSB7XHJcblx0LyogRGVmaW5lZCBieSBzaXplICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC1kb3Qge1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuLyogSGVhdG1hcCBTaXplcyAqL1xyXG4uaGVhdG1hcC1zbSAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMC43NXJlbTtcclxuXHRoZWlnaHQ6IDAuNzVyZW07XHJcbn1cclxuLmhhYml0LWhlYXRtYXAtbWVkaXVtIC5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjRyZW07XHJcblx0aGVpZ2h0OiAxLjRyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn1cclxuXHJcbi5oZWF0bWFwLW1kIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjFyZW07XHJcblx0aGVpZ2h0OiAxLjFyZW07XHJcblx0Zm9udC1zaXplOiAwLjdyZW07XHJcbn0gLyogTWFwcGluZy9TY2hlZHVsZWQgKi9cclxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY2VsbCB7XHJcblx0d2lkdGg6IDEuMjVyZW07XHJcblx0aGVpZ2h0OiAxLjI1cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufSAvKiBEYWlseSAqL1xyXG5cclxuLyogSGVhdG1hcCBWYXJpYW50cyAqL1xyXG4uaGVhdG1hcC1jZWxsLmRlZmF1bHQge1xyXG5cdC8qIERlZmF1bHQgc3R5bGVzIGFscmVhZHkgc2V0ICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5maWxsZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBvbiBmaWxsZWQgKGUuZy4sIGVtb2ppKSAqL1xyXG59XHJcblxyXG4uaGVhdG1hcC1jZWxsLmhhcy1jdXN0b20tY29udGVudDpoYXMoLnBpZS1kb3QtY29udGFpbmVyKSB7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiB1bnNldDtcclxufVxyXG5cclxuLyogU3R5bGUgZm9yIGNlbGxzIHdpdGggY3VzdG9tIGNvbnRlbnQgbGlrZSBQaWVEb3Qgb3IgRW1vamkgKi9cclxuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQsXHJcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBVc2UgY2FyZCBiYWNrZ3JvdW5kICovXHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEFkZCBib3JkZXIgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgdGV4dC9lbW9qaSBpcyB2aXNpYmxlICovXHJcbn1cclxuLmhlYXRtYXAtY2VsbC5oYXMtdGV4dC1jb250ZW50IHtcclxuXHRsaW5lLWhlaWdodDogMTsgLyogQ2VudGVyIGVtb2ppIHZlcnRpY2FsbHkgKi9cclxufVxyXG5cclxuLyogUGllRG90IENvbnRhaW5lciAqL1xyXG4ucGllLWRvdC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnBpZS1kb3QtY29udGFpbmVyIHN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIFJlbW92ZSBleHRyYSBzcGFjZSBiZWxvdyBTVkcgKi9cclxufVxyXG5cclxuLyogPT09IEVtcHR5IFN0YXRlID09PSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcbi5oYWJpdC1lbXB0eS1zdGF0ZSBoMiB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW5vcm1hbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG59XHJcblxyXG4vKiA9PT0gSWNvbnMgUGxhY2Vob2xkZXIgPT09ICovXHJcbi5oYWJpdC1pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Lyogd2lkdGg6IDFlbTsgKi9cclxuXHRoZWlnaHQ6IDFlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuXHQtLWljb24tc2l6ZTogMS41cmVtO1xyXG59XHJcbiIsICIvKiBEZWZpbmUgdGhlbWUgdmFyaWFibGVzICovXHJcbjpyb290IHtcclxuXHQvKiBUYXNrIHN0YXR1cyBjb2xvcnMgKi9cclxuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xyXG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzgwZGVlNTtcclxuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmOWQ5MjM7XHJcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2ViNTM1MztcclxuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogIzljMjdiMDsgLyogUGxhbm5lZCB0YXNrIGNvbG9yICovXHJcblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjMjE5NmYzOyAvKiBRdWVzdGlvbiB0YXNrcyAqL1xyXG5cdC0tdGFzay1pbXBvcnRhbnQtY29sb3I6ICNmNDQzMzY7IC8qIEltcG9ydGFudCB0YXNrcyAqL1xyXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZjMTA3OyAvKiBTdGFyIHRhc2tzICovXHJcblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjNjA3ZDhiOyAvKiBRdW90ZSB0YXNrcyAqL1xyXG5cdC0tdGFzay1sb2NhdGlvbi1jb2xvcjogIzc5NTU0ODsgLyogTG9jYXRpb24gdGFza3MgKi9cclxuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZjk4MDA7IC8qIEJvb2ttYXJrIHRhc2tzICovXHJcblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMDBiY2Q0OyAvKiBJbmZvcm1hdGlvbiB0YXNrcyAqL1xyXG5cdC0tdGFzay1pZGVhLWNvbG9yOiAjOWMyN2IwOyAvKiBJZGVhIHRhc2tzICovXHJcblx0LS10YXNrLXByb3MtY29sb3I6ICM0Y2FmNTA7IC8qIFByb3MgdGFza3MgKi9cclxuXHQtLXRhc2stY29ucy1jb2xvcjogI2Y0NDMzNjsgLyogQ29ucyB0YXNrcyAqL1xyXG5cdC0tdGFzay1maXJlLWNvbG9yOiAjZmY1NzIyOyAvKiBGaXJlIHRhc2tzICovXHJcblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzICovXHJcblx0LS10YXNrLXdpbi1jb2xvcjogIzY2YmI2YTsgLyogV2luIHRhc2tzICovXHJcblx0LS10YXNrLXVwLWNvbG9yOiAjNGNhZjUwOyAvKiBVcCB0YXNrcyAqL1xyXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZjQ0MzM2OyAvKiBEb3duIHRhc2tzICovXHJcblx0LS10YXNrLW5vdGUtY29sb3I6ICM5ZTllOWU7IC8qIE5vdGUgdGFza3MgKi9cclxuXHQtLXRhc2stYW1vdW50LWNvbG9yOiAjOGJjMzRhOyAvKiBBbW91bnQvc2F2aW5ncyB0YXNrcyAqL1xyXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMwM2E5ZjQ7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgKi9cclxuXHJcblx0LyogUHJvZ3Jlc3MgYmFyIGdyYWRpZW50IGNvbG9ycyAtIGxpZ2h0IHRoZW1lICovXHJcblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xyXG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XHJcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcclxuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xyXG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xyXG5cclxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuXHJcbi8qIERhcmsgdGhlbWUgY29sb3IgYWRqdXN0bWVudHMgKi9cclxuLnRoZW1lLWRhcmsge1xyXG5cdC0tdGFzay1jb21wbGV0ZWQtY29sb3I6ICM0Y2FmNTA7XHJcblx0LS10YXNrLWRvaW5nLWNvbG9yOiAjMzc5ZmE3O1xyXG5cdC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcjogI2ZmYzEwNztcclxuXHQtLXRhc2stYWJhbmRvbmVkLWNvbG9yOiAjZjQ0MzM2O1xyXG5cdC0tdGFzay1wbGFubmVkLWNvbG9yOiAjY2U5M2Q4OyAvKiBQbGFubmVkIHRhc2sgY29sb3IgZm9yIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stcXVlc3Rpb24tY29sb3I6ICM0MmE1ZjU7IC8qIFF1ZXN0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZWY1MzUwOyAvKiBJbXBvcnRhbnQgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1zdGFyLWNvbG9yOiAjZmZkNTRmOyAvKiBTdGFyIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stcXVvdGUtY29sb3I6ICM5MGE0YWU7IC8qIFF1b3RlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM4ZDZlNjM7IC8qIExvY2F0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stYm9va21hcmstY29sb3I6ICNmZmI3NGQ7IC8qIEJvb2ttYXJrIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2staW5mb3JtYXRpb24tY29sb3I6ICMyNmM2ZGE7IC8qIEluZm9ybWF0aW9uIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2staWRlYS1jb2xvcjogI2NlOTNkODsgLyogSWRlYSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXByb3MtY29sb3I6ICM2NmJiNmE7IC8qIFByb3MgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1jb25zLWNvbG9yOiAjZWY1MzUwOyAvKiBDb25zIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNzA0MzsgLyogRmlyZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWtleS1jb2xvcjogI2ZmZDcwMDsgLyogS2V5IHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2std2luLWNvbG9yOiAjODFjNzg0OyAvKiBXaW4gdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay11cC1jb2xvcjogIzY2YmI2YTsgLyogVXAgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1kb3duLWNvbG9yOiAjZWY1MzUwOyAvKiBEb3duIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stbm90ZS1jb2xvcjogI2JkYmRiZDsgLyogTm90ZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWFtb3VudC1jb2xvcjogI2FlZDU4MTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1zcGVlY2gtY29sb3I6ICMyOWI2ZjY7IC8qIFNwZWVjaCBidWJibGUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cclxuXHQtLXByb2dyZXNzLTAtY29sb3I6ICNhZTQzMWU7XHJcblx0LS1wcm9ncmVzcy0yNS1jb2xvcjogI2U1ODkwYTtcclxuXHQtLXByb2dyZXNzLTUwLWNvbG9yOiAjYjRjNmE2O1xyXG5cdC0tcHJvZ3Jlc3MtNzUtY29sb3I6ICM2YmNiNzc7XHJcblx0LS1wcm9ncmVzcy0xMDAtY29sb3I6ICM0ZDk2ZmY7XHJcblxyXG5cdC0tcHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufVxyXG4iLCAiLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIHtcblx0d2lkdGg6IG1heCg3MCUsIDUwMHB4KTtcbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIFZpZXcgQ29uZmlndXJhdGlvbiBNb2RhbCAqL1xuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0ge1xuXHQvKiBBZGQgc29tZSBzcGFjaW5nIGJldHdlZW4gc2V0dGluZ3MgaW4gdGhlIG1vZGFsICovXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbFxuXHQuc2V0dGluZy1pdGVtOm5vdCguc2V0dGluZy1pdGVtLWhlYWRpbmcpXG5cdC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdC8qIEVuc3VyZSBsYWJlbHMgYXJlIGFsaWduZWQgd2VsbCAqL1xuXHR3aWR0aDogMTIwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuXHQvKiBFbnN1cmUgdGV4dCBpbnB1dHMgdGFrZSBhdmFpbGFibGUgd2lkdGggKi9cblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0LyogU3R5bGUgZGVzY3JpcHRpb25zICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiAycHg7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IE1hbmFnZW1lbnQgTGlzdCBpbiBTZXR0aW5ncyBUYWIgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMTBweCAwO1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleCBmb3IgYmV0dGVyIGNvbnRyb2wgKi9cblx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLyogQWxpZ24gaXRlbXMgdmVydGljYWxseSAqL1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1pbmZvIHtcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBuYW1lL2Rlc2NyaXB0aW9uIHRvIHRha2UgdXAgc3BhY2UgKi9cblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbS1jb250cm9sIHtcblx0LyogS2VlcCBjb250cm9scyB0b2dldGhlciAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDhweDsgLyogU3BhY2UgYmV0d2VlbiB0b2dnbGVzL2J1dHRvbnMgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuYnV0dG9uLWNvbXBvbmVudCB7XG5cdHBhZGRpbmc6IDVweDsgLyogU21hbGxlciBwYWRkaW5nIGZvciBpY29uIGJ1dHRvbnMgKi9cblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnZpZXctb3JkZXItYnV0dG9uLFxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LWRlbGV0ZS1idXR0b24ge1xuXHQvKiBTdHlsZSBhY3Rpb24gYnV0dG9ucyAqL1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogU3BlY2lmaWMgc3R5bGluZyBmb3IgdG9nZ2xlcyBpbiB0aGUgbGlzdCAqL1xuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuY2hlY2tib3gtY29udGFpbmVyIHtcblx0bWFyZ2luOiAwOyAvKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zIGlmIGFueSAqL1xufVxuXG4vKiBJY29uIFBpY2tlciBNZW51IFN0eWxlcyAoU2NvcGVkKSAqL1xuLnRnLWljb24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHBhZGRpbmc6IDhweDtcblx0bWF4LWhlaWdodDogMzAwcHg7IC8qIExpbWl0IG92ZXJhbGwgbWVudSBoZWlnaHQgKi9cblx0d2lkdGg6IDI1MHB4O1xuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCAqL1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQvKiBQcmV2ZW50IHBhZGRpbmcgZnJvbSBhZmZlY3RpbmcgbWF4LWhlaWdodCBjYWxjdWxhdGlvbiBmb3IgZmxleCBjaGlsZHJlbiAqL1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBSZW1vdmUgc3R5bGVzIGZvciB0aGUgaW50ZXJtZWRpYXRlIGNvbnRhaW5lciAqL1xuLyogLmJtLXBsdWdpbi1pY29uLW1lbnUgLmJtLW1lbnUtY29udGVudCB7IFxuXHRmbGV4LWdyb3c6IDE7IFxuXHRvdmVyZmxvdy15OiBhdXRvOyBcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLWhlaWdodDogMDsgXG59ICovXG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtc2VhcmNoIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IHNlYXJjaCBiYXIgZnJvbSBzaHJpbmtpbmcgKi9cbn1cblxuLnRnLWljb24tbWVudSAudGctbWVudS1pY29ucyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogSWNvbiBsaXN0IHRha2VzIHJlbWFpbmluZyB2ZXJ0aWNhbCBzcGFjZSAqL1xuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBNYWtlIHRoZSBpY29uIGxpc3Qgc2Nyb2xsYWJsZSAqL1xuXHRtaW4taGVpZ2h0OiAwOyAvKiBDcnVjaWFsIGZvciBhbGxvd2luZyBmbGV4IGNoaWxkIHRvIHNocmluayBhbmQgc2Nyb2xsICovXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMycHgsIDFmcikpO1xuXHRnYXA6IDRweDtcblx0LyogUmVtb3ZlIG1pbi1oZWlnaHQgcHJldmlvdXNseSBuZWVkZWQgZm9yIGdyaWQgaW4gZmxleCAqL1xufVxuXG4vKiBTY29wZSB0aGUgY2xpY2thYmxlIGljb24gKndpdGhpbiogdGhlIG1lbnUgKi9cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb24gc3ZnIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIENoZWNrYm94IFN0YXR1cyBTd2l0Y2hlciBTdHlsZXMgKi9cclxuLnRhc2stc3RhdHVzLXdpZGdldCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLmxpdmUtcHJldmlldy1tb2RlIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0dXMtd2lkZ2V0IC5saXN0LWJ1bGxldDo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3QtbWFya2VyLWNvbG9yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBUT0RPIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIgXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBET0lORyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiL1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xyXG59XHJcblxyXG4vKiBJTi1QUk9HUkVTUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG59XHJcblxyXG4vKiBET05FIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ4XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJYXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBDQU5DRUxMRUQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi1cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFNDSEVEVUxFRCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFFVRVNUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI/XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1xdWVzdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElNUE9SVEFOVCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW1wb3J0YW50LWNvbG9yKTtcclxufVxyXG5cclxuLyogU1RBUiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiKlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stc3Rhci1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFFVT1RFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9J1wiJ10ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1b3RlLWNvbG9yKTtcclxufVxyXG5cclxuLyogTE9DQVRJT04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWxvY2F0aW9uLWNvbG9yKTtcclxufVxyXG5cclxuLyogQk9PS01BUksgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWJvb2ttYXJrLWNvbG9yKTtcclxufVxyXG5cclxuLyogSU5GT1JNQVRJT04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImlcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluZm9ybWF0aW9uLWNvbG9yKTtcclxufVxyXG5cclxuLyogSURFQSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiSVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staWRlYS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFBST1Mgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInBcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXByb3MtY29sb3IpO1xyXG59XHJcblxyXG4vKiBDT05TIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJjXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb25zLWNvbG9yKTtcclxufVxyXG5cclxuLyogRklSRSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZmlyZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEtFWSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwia1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2sta2V5LWNvbG9yKTtcclxufVxyXG5cclxuLyogV0lOIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ3XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay13aW4tY29sb3IpO1xyXG59XHJcblxyXG4vKiBVUCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwidVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stdXAtY29sb3IpO1xyXG59XHJcblxyXG4vKiBET1dOIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJkXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1kb3duLWNvbG9yKTtcclxufVxyXG5cclxuLyogTk9URSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiblwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stbm90ZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEFNT1VOVC9TQVZJTkdTIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJTXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1hbW91bnQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBTUEVFQ0ggQlVCQkxFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIwXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIxXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIyXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIzXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI0XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI1XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI2XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI3XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI4XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI5XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1zcGVlY2gtY29sb3IpO1xyXG59XHJcblxyXG4udGFzay1mYWtlLWJ1bGxldCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiA1cHg7XHJcblx0aGVpZ2h0OiA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1mYWtlLWJ1bGxldCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG59XHJcbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFzayBHZW5pdXMgT25ib2FyZGluZyBTdHlsZXMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1haW4gb25ib2FyZGluZyBzdHlsZXMgLSBzaGFyZWQgYnkgbW9kYWwgYW5kIHZpZXcgKi9cbi5vbmJvYXJkaW5nLW1vZGFsLFxuLm9uYm9hcmRpbmctdmlldyB7XG5cdC0tZGlhbG9nLXdpZHRoOiA4MDBweDtcblx0LS1kaWFsb2ctbWF4LXdpZHRoOiA5MHZ3O1xuXHQtLWRpYWxvZy1tYXgtaGVpZ2h0OiA5MHZoO1xuXHQtLW9uYm9hcmRpbmctc3BhY2luZzogdmFyKC0tc2l6ZS00LTQpO1xuXHQtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHQtLW9uYm9hcmRpbmctdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIE1vZGFsIHNwZWNpZmljIHN0eWxlcyAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5tb2RhbC1jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kYWwtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLXJhZGl1cyk7XG5cdG1heC13aWR0aDogdmFyKC0tZGlhbG9nLW1heC13aWR0aCk7XG5cdG1heC1oZWlnaHQ6IHZhcigtLWRpYWxvZy1tYXgtaGVpZ2h0KTtcblx0aGVpZ2h0OiA5MHZoO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLyogVmlldyBzcGVjaWZpYyBzdHlsZXMgKi9cbi5vbmJvYXJkaW5nLXZpZXcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5vbmJvYXJkaW5nLXZpZXcgLnZpZXctY29udGVudCB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSGVhZGVyIHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpIHZhcigtLXNpemUtNC0yKVxuXHRcdHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctc3VidGl0bGUsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLXN1YnRpdGxlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWNvbnRlbnQsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xufVxuXG4vKiBGb290ZXIgc2VjdGlvbiAqL1xuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctZm9vdGVyLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1mb290ZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpXG5cdFx0dmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Ym9yZGVyLXRvcDogdmFyKC0tbW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZFxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWJ1dHRvbnMsXG4ub25ib2FyZGluZy12aWV3IC5vbmJvYXJkaW5nLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNldHRpbmdzIENoZWNrIFN0ZXAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hlY2stc2VjdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLWNoZWNrLXNlY3Rpb24ge1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZXMtc3VtbWFyeS1saXN0LFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlcy1zdW1tYXJ5LWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0yKSAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZXMtc3VtbWFyeS1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlcy1zdW1tYXJ5LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtY2hlY2ssXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY2hhbmdlLXRleHQsXG4ub25ib2FyZGluZy12aWV3IC5jaGFuZ2UtdGV4dCB7XG5cdGZsZXg6IDE7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLXF1ZXN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAub25ib2FyZGluZy1xdWVzdGlvbiB7XG5cdG1hcmdpbjogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWVzdGlvbi1vcHRpb25zLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tb3B0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uLFxuLm9uYm9hcmRpbmctdmlldyAucXVlc3Rpb24tYnV0dG9uIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9uLXJhZGl1cyk7XG5cdGJvcmRlcjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YSxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tb3B0aW9ucyAubW9kLWN0YTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnF1ZXN0aW9uLW9wdGlvbnMgLm1vZC1jdGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSksXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVlc3Rpb24tYnV0dG9uOm5vdCgubW9kLWN0YSk6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5xdWVzdGlvbi1idXR0b246bm90KC5tb2QtY3RhKTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdlbGNvbWUgU3RlcCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC53ZWxjb21lLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC53ZWxjb21lLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlcy1vdmVydmlldyxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmVzLW92ZXJ2aWV3IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmUtaXRlbSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlYXR1cmUtaWNvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHVwLW5vdGUsXG4ub25ib2FyZGluZy12aWV3IC5zZXR1cC1ub3RlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHVwLWRlc2NyaXB0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dXAtZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVXNlciBMZXZlbCBTZWxlY3Rpb24gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZHMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tb25ib2FyZGluZy1zcGFjaW5nKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmQ6aG92ZXIsXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLmNhcmQtaG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmQuY2FyZC1ob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCxcbi5vbmJvYXJkaW5nLXZpZXcgLnVzZXItbGV2ZWwtY2FyZC5zZWxlY3RlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1pY29uIHtcblx0Zm9udC1zaXplOiAxLjhlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLXRpdGxlIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4udXNlci1sZXZlbC1jYXJkIC5jYXJkLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLmNhcmQtZmVhdHVyZXMgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLnVzZXItbGV2ZWwtY2FyZCAuY2FyZC1mZWF0dXJlcyBsaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlx1MjAyMlwiO1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTMpKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51c2VyLWxldmVsLWNhcmQgLnJlY29tbWVuZGF0aW9uLWJhZGdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0xKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbmZpZ3VyYXRpb24gUHJldmlldyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctb3ZlcnZpZXcsXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctb3ZlcnZpZXcge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubW9kZS1jYXJkLFxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1jYXJkIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAubW9kZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAubW9kZS1pY29uIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctZmVhdHVyZXMsXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLXZpZXdzLFxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1zZXR0aW5ncyxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1zZXR0aW5ncyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5lbmFibGVkLWZlYXR1cmVzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5lbmFibGVkLWZlYXR1cmVzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuZW5hYmxlZC1mZWF0dXJlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVhdHVyZS1jaGVjayxcbi5vbmJvYXJkaW5nLXZpZXcgLmZlYXR1cmUtY2hlY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZpZXdzLWdyaWQsXG4ub25ib2FyZGluZy12aWV3IC52aWV3cy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmlldy1pdGVtLFxuLm9uYm9hcmRpbmctdmlldyAudmlldy1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3LWljb24sXG4ub25ib2FyZGluZy12aWV3IC52aWV3LWljb24ge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52aWV3LW5hbWUsXG4ub25ib2FyZGluZy12aWV3IC52aWV3LW5hbWUge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNldHRpbmdzLXN1bW1hcnktbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNldHRpbmdzLXN1bW1hcnktbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGksXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSAwO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3Mtc3VtbWFyeS1saXN0IGxpOmxhc3QtY2hpbGQsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1zdW1tYXJ5LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5nLWxhYmVsLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5nLXZhbHVlLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZy12YWx1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1vcHRpb25zLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLW9wdGlvbnMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY3VzdG9taXphdGlvbi1ub3RlLFxuLm9uYm9hcmRpbmctdmlldyAuY3VzdG9taXphdGlvbi1ub3RlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5vdGUtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLm5vdGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIENvbmZpZ3VyYXRpb24gQ2hhbmdlcyBQcmV2aWV3ICovXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWNoYW5nZXMtc3VtbWFyeSxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1jaGFuZ2VzLXN1bW1hcnkge1xuXHRtYXJnaW46IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZykgMDtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAuYWRkZWQtdmlld3MsXG4ub25ib2FyZGluZy1tb2RhbCAudXBkYXRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGFuZ2VzLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcyB7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTIpIDA7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLnByZXNlcnZlZC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5wcmVzZXJ2ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdGV4dCxcbi5vbmJvYXJkaW5nLW1vZGFsIC5jaGFuZ2UtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLmNoYW5nZS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9uYm9hcmRpbmctdmlldyAudXBkYXRlZC12aWV3cyxcbi5vbmJvYXJkaW5nLW1vZGFsIC51cGRhdGVkLXZpZXdzIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNoYW5nZS1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuY2hhbmdlLWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMSk7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5wcmVzZXJ2ZWQtdmlld3MtbGlzdCxcbi5vbmJvYXJkaW5nLW1vZGFsIC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3QsXG4ub25ib2FyZGluZy12aWV3IC5zZXR0aW5ncy1jaGFuZ2VzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IHZhcigtLXNpemUtNC0xKSAwIDAgdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucHJlc2VydmVkLXZpZXdzLWxpc3QgbGksXG4ub25ib2FyZGluZy1tb2RhbCAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc2V0dGluZ3MtY2hhbmdlcy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zYWZldHktbm90ZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS1ub3RlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItYmx1ZS1yZ2IpLCAwLjEpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc2FmZXR5LWljb24sXG4ub25ib2FyZGluZy12aWV3IC5zYWZldHktaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zYWZldHktdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNhZmV0eS10ZXh0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFzayBDcmVhdGlvbiBHdWlkZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vbmJvYXJkaW5nLW1vZGFsIC50YXNrLWd1aWRlLWludHJvLFxuLm9uYm9hcmRpbmctdmlldyAudGFzay1ndWlkZS1pbnRybyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5ndWlkZS1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmd1aWRlLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudGFzay1mb3JtYXRzLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stY2FwdHVyZS1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLnByYWN0aWNlLXNlY3Rpb24sXG4ub25ib2FyZGluZy1tb2RhbCAuc2hvcnRjdXRzLXNlY3Rpb24sXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtZXhhbXBsZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZvcm1hdC1leGFtcGxlIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtZXhhbXBsZSBjb2RlLFxuLm9uYm9hcmRpbmctdmlldyAuZm9ybWF0LWV4YW1wbGUgY29kZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogdmFyKC0tc2l6ZS0yLTEpIDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mb3JtYXQtbGVnZW5kLFxuLm9uYm9hcmRpbmctbW9kYWwgLmZvcm1hdC1sZWdlbmQgc21hbGwsXG4ub25ib2FyZGluZy12aWV3IC5mb3JtYXQtbGVnZW5kIHNtYWxsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLW1hcmtlcnMsXG4ub25ib2FyZGluZy1tb2RhbCAubWV0YWRhdGEtc3ltYm9scyxcbi5vbmJvYXJkaW5nLXZpZXcgLm1ldGFkYXRhLXN5bWJvbHMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zdGF0dXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctbW9kYWwgLnN5bWJvbHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN5bWJvbHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0YXR1cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc3RhdHVzLWxpc3QgbGksXG4ub25ib2FyZGluZy1tb2RhbCAuc3ltYm9scy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc3ltYm9scy1saXN0IGxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIDA7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RhdHVzLWxpc3QgY29kZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0YXR1cy1saXN0IGNvZGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTQtMSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG5cdG1pbi13aWR0aDogNDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZGVtby1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAuZGVtby1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5kZW1vLWJ1dHRvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1vbmJvYXJkaW5nLXRyYW5zaXRpb24pO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5kZW1vLWJ1dHRvbjpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmRlbW8tYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnByYWN0aWNlLWZlZWRiYWNrLFxuLm9uYm9hcmRpbmctdmlldyAucHJhY3RpY2UtZmVlZGJhY2sge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC52YWxpZGF0aW9uLW1lc3NhZ2UsXG4ub25ib2FyZGluZy12aWV3IC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24tc3VjY2Vzcyxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZ3JlZW4tcmdiKSwgMC4xKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1lcnJvcixcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24tZXJyb3Ige1xuXHRiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLXJlZC1yZ2IpLCAwLjEpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcmVkKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnZhbGlkYXRpb24td2FybmluZyxcbi5vbmJvYXJkaW5nLXZpZXcgLnZhbGlkYXRpb24td2FybmluZyB7XG5cdGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3Itb3JhbmdlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudmFsaWRhdGlvbi1pbmZvLFxuLm9uYm9hcmRpbmctdmlldyAudmFsaWRhdGlvbi1pbmZvIHtcblx0YmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1ibHVlLXJnYiksIDAuMSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5zaG9ydGN1dHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnNob3J0Y3V0cy1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1saXN0IGxpLFxuLm9uYm9hcmRpbmctdmlldyAuc2hvcnRjdXRzLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgMDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnNob3J0Y3V0cy1saXN0IGNvZGUsXG4ub25ib2FyZGluZy12aWV3IC5zaG9ydGN1dHMtbGlzdCBjb2RlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtNC0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcblx0bWluLXdpZHRoOiAxMDBweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb21wbGV0aW9uIFBhZ2UgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub25ib2FyZGluZy1tb2RhbCAuY29tcGxldGlvbi1zdWNjZXNzLFxuLm9uYm9hcmRpbmctdmlldyAuY29tcGxldGlvbi1zdWNjZXNzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1vbmJvYXJkaW5nLXNwYWNpbmcpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3VjY2Vzcy1pY29uLFxuLm9uYm9hcmRpbmctdmlldyAuc3VjY2Vzcy1pY29uIHtcblx0Zm9udC1zaXplOiAzZW07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN1Y2Nlc3MtbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLnN1Y2Nlc3MtbWVzc2FnZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjk1ZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbXBsZXRpb24tc3VtbWFyeSxcbi5vbmJvYXJkaW5nLW1vZGFsIC5xdWljay1zdGFydC1zZWN0aW9uLFxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZXMtc2VjdGlvbixcbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1zZWN0aW9uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLW9uYm9hcmRpbmctc3BhY2luZyk7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctc3VtbWFyeS1jYXJkLFxuLm9uYm9hcmRpbmctdmlldyAuY29uZmlnLXN1bW1hcnktY2FyZCB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWhlYWRlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuY29uZmlnLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5jb25maWctaWNvbiB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5jb25maWctbmFtZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1uYW1lIHtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmNvbmZpZy1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmNvbmZpZy1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bWFyZ2luOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stc3RhcnQtc3RlcHMsXG4ub25ib2FyZGluZy12aWV3IC5xdWljay1zdGFydC1zdGVwcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucXVpY2stc3RhcnQtc3RlcCxcbi5vbmJvYXJkaW5nLXZpZXcgLnF1aWNrLXN0YXJ0LXN0ZXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1vbmJvYXJkaW5nLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC1udW1iZXIsXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuc3RlcC1jb250ZW50LFxuLm9uYm9hcmRpbmctdmlldyAuc3RlcC1jb250ZW50IHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLm5leHQtc3RlcHMtbGlzdCBsaSxcbi5vbmJvYXJkaW5nLXZpZXcgLm5leHQtc3RlcHMtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtY2hlY2ssXG4ub25ib2FyZGluZy12aWV3IC5zdGVwLWNoZWNrIHtcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnN0ZXAtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLnN0ZXAtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZXMtbGlzdCxcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlcy1saXN0IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAucmVzb3VyY2UtaXRlbSxcbi5vbmJvYXJkaW5nLXZpZXcgLnJlc291cmNlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW9uYm9hcmRpbmctYm9yZGVyLXJhZGl1cyk7XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1jbGlja2FibGUsXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1jbGlja2FibGU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlLWljb24sXG4ub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZS1pY29uIHtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1kZXNjcmlwdGlvbixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLWRlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLWJ1dHRvbnMsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stYnV0dG9uLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1yYWRpdXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdHRyYW5zaXRpb246IHZhcigtLW9uYm9hcmRpbmctdHJhbnNpdGlvbik7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1wb3NpdGl2ZTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLXBvc2l0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5vbmJvYXJkaW5nLW1vZGFsIC5mZWVkYmFjay1uZWdhdGl2ZTpob3Zlcixcbi5vbmJvYXJkaW5nLXZpZXcgLmZlZWRiYWNrLW5lZ2F0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tb25ib2FyZGluZy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcy1tZXNzYWdlLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zaXplLTQtMikgMDtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZlZWRiYWNrLXRoYW5rcyBhLFxuLm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stdGhhbmtzIGEge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stdGhhbmtzIGE6aG92ZXIsXG4ub25ib2FyZGluZy12aWV3IC5mZWVkYmFjay10aGFua3MgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ub25ib2FyZGluZy1tb2RhbCAuZmluYWwtbWVzc2FnZSxcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcbn1cblxuLm9uYm9hcmRpbmctbW9kYWwgLmZpbmFsLW1lc3NhZ2UtdGV4dCxcbi5vbmJvYXJkaW5nLXZpZXcgLmZpbmFsLW1lc3NhZ2UtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5vbmJvYXJkaW5nLW1vZGFsLFxuXHQub25ib2FyZGluZy12aWV3IHtcblx0XHQtLWRpYWxvZy13aWR0aDogOTV2dztcblx0XHQtLWRpYWxvZy1tYXgtd2lkdGg6IDk1dnc7XG5cdFx0LS1kaWFsb2ctbWF4LWhlaWdodDogOTV2aDtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC51c2VyLWxldmVsLWNhcmRzLFxuXHQub25ib2FyZGluZy12aWV3IC51c2VyLWxldmVsLWNhcmRzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5mZWF0dXJlcy1vdmVydmlldyxcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVhdHVyZXMtb3ZlcnZpZXcge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLnZpZXdzLWdyaWQsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLnZpZXdzLWdyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuXHR9XG5cblx0Lm9uYm9hcmRpbmctbW9kYWwgLnJlc291cmNlcy1saXN0LFxuXHQub25ib2FyZGluZy12aWV3IC5yZXNvdXJjZXMtbGlzdCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQub25ib2FyZGluZy1tb2RhbCAuZmVlZGJhY2stYnV0dG9ucyxcblx0Lm9uYm9hcmRpbmctdmlldyAuZmVlZGJhY2stYnV0dG9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5vbmJvYXJkaW5nLW1vZGFsIC5vbmJvYXJkaW5nLWJ1dHRvbnMsXG5cdC5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctYnV0dG9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGFyayBUaGVtZSBBZGp1c3RtZW50cyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERhcmsgdGhlbWUgYWRqdXN0bWVudHMgLSBrZWVwaW5nIG1pbmltYWwgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBbmltYXRpb24gYW5kIFRyYW5zaXRpb25zICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm9uYm9hcmRpbmctbW9kYWwgLm9uYm9hcmRpbmctY29udGVudCxcbi5vbmJvYXJkaW5nLXZpZXcgLm9uYm9hcmRpbmctY29udGVudCB7XG5cdGFuaW1hdGlvbjogZmFkZUluVXAgMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4ub25ib2FyZGluZy1tb2RhbCAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkLFxuLm9uYm9hcmRpbmctdmlldyAudXNlci1sZXZlbC1jYXJkLnNlbGVjdGVkIHtcblx0YW5pbWF0aW9uOiBjYXJkU2VsZWN0IDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgY2FyZFNlbGVjdCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG4iLCAiLyogVGltZWxpbmUgU2lkZWJhciBWaWV3IFN0eWxlcyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtc2lkZWJhci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBIZWFkZXIgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3ZlcikgMTAwJVxyXG5cdCk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOCk7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtOCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0bi5pcy1hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogVGltZWxpbmUgQ29udGVudCAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtY29udGVudCB7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlXHJcblx0LnRpbWVsaW5lLWRhdGUtZ3JvdXA6bm90KC5pcy10b2RheSkge1xyXG5cdG9wYWNpdHk6IDAuMztcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWVtcHR5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC04KTtcclxufVxyXG5cclxuLyogRGF0ZSBHcm91cHMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWRhdGUtZ3JvdXAge1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1kYXRlLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtZGF0ZS1ncm91cC5pcy10b2RheVxyXG5cdC50aW1lbGluZS1kYXRlLWhlYWRlciB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtNC0yKSAwO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZGF0ZS1yZWxhdGl2ZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKiBFdmVudHMgTGlzdCAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0zKTtcclxufVxyXG5cclxuLyogVGltZWxpbmUgRXZlbnRzICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQ6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50OmhvdmVyOmhhcygudGltZWxpbmUtZXZlbnQtY2hlY2tib3g6aG92ZXIpIHtcclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC5pcy1jb21wbGV0ZWQge1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtZXZlbnQuaXMtY29tcGxldGVkXHJcblx0LnRpbWVsaW5lLWV2ZW50LXRleHQge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRXZlbnQgVGltZSAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGltZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdG1pbi13aWR0aDogNDVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLXRvcDogMnB4O1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiBFdmVudCBDb250ZW50ICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtY2hlY2tib3gge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50LWNoZWNrYm94XHJcblx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuXHRtYXJnaW46IDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQtdGV4dCB7XHJcblx0ZmxleDogMTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWljb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdG1hcmdpbi10b3A6IDFweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dCB7XHJcblx0ZmxleDogMTtcclxuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG59XHJcblxyXG4vKiBFdmVudCBBY3Rpb25zICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50OmhvdmVyXHJcblx0LnRpbWVsaW5lLWV2ZW50LWFjdGlvbnMge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1ldmVudC1hY3Rpb246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBRdWljayBJbnB1dCBBcmVhICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dCB7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEyKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogQ29sbGFwc2VkIHN0YXRlICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1jb2xsYXBzZWQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Z2FwOiAwO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcblx0LnF1aWNrLWlucHV0LWhlYWRlcixcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcblx0LnF1aWNrLWlucHV0LWVkaXRvcixcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkXHJcblx0LnF1aWNrLWlucHV0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBzdGF0ZXMgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1xdWljay1pbnB1dC5pcy1leHBhbmRpbmcge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIENvbGxhcHNlZCBoZWFkZXIgKi9cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWhlYWRlci1jb2xsYXBzZWQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpIHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcyBlYXNlO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0biB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtZXhwYW5kLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtdGl0bGUge1xyXG5cdGZsZXg6IDE7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLXF1aWNrLWNhcHR1cmUsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC03KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC03KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlOmhvdmVyLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAuY29sbGFwc2VkLW1vcmUtb3B0aW9uczpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtcXVpY2stY2FwdHVyZTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi8qIEV4cGFuZGVkIGhlYWRlciB3aXRoIGNvbGxhcHNlIGJ1dHRvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1oZWFkZXItbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC02KTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWNvbGxhcHNlLWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFJvdGF0ZSBjb2xsYXBzZSBidXR0b24gaWNvbiAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtY29sbGFwc2UtYnRuIHN2ZyB7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLXF1aWNrLWlucHV0LmlzLWNvbGxhcHNlZFxyXG5cdC5xdWljay1pbnB1dC1jb2xsYXBzZS1idG5cclxuXHRzdmcge1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC10YXJnZXQtaW5mbyB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTEpIHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiA4MHB4O1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGV4dCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3I6Zm9jdXMtd2l0aGluIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEodmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LXJnYiksIDAuMik7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWVkaXRvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1pbnB1dC1lZGl0b3IgLmNtLWZvY3VzZWQge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnF1aWNrLWlucHV0LWVkaXRvclxyXG5cdC5jbS1lZGl0b3IuY20tZm9jdXNlZCB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWlucHV0LWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLWNhcHR1cmUtYnRuLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMykgdmFyKC0tc2l6ZS00LTYpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5xdWljay1jYXB0dXJlLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stY2FwdHVyZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG5cdGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2stbW9kYWwtYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnF1aWNrLW1vZGFsLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWhlYWRlciB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWNvbnRyb2xzIHtcclxuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTEpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLWJ0biB7XHJcblx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTcpO1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnRzLWxpc3Qge1xyXG5cdFx0cGFkZGluZzogMCB2YXIoLS1zaXplLTItMyk7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAudGltZWxpbmUtZXZlbnQge1xyXG5cdFx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLnRpbWVsaW5lLXF1aWNrLWlucHV0IHtcclxuXHRcdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHR9XHJcblxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0XHQudGltZWxpbmUtcXVpY2staW5wdXQuaXMtY29sbGFwc2VkIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtZWRpdG9yIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDYwcHg7XHJcblx0fVxyXG5cclxuXHRkaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXSAucXVpY2staW5wdXQtaGVhZGVyLWNvbGxhcHNlZCB7XHJcblx0XHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTMpO1xyXG5cdH1cclxuXHJcblx0ZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl0gLmNvbGxhcHNlZC1xdWljay1jYXB0dXJlLFxyXG5cdGRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC5jb2xsYXBzZWQtbW9yZS1vcHRpb25zIHtcclxuXHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtNik7XHJcblx0XHRoZWlnaHQ6IHZhcigtLXNpemUtNC02KTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFNjcm9sbGJhciBTdHlsaW5nICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHR3aWR0aDogNnB4O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLyogQW5pbWF0aW9uICovXHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcblx0fVxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG4vKiBGb2N1cyBNb2RlICovXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdIC50aW1lbGluZS1jb250ZW50LmZvY3VzLW1vZGUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtY29udGVudC5mb2N1cy1tb2RlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcblx0XHR0byBib3R0b20sXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDAlLFxyXG5cdFx0cmdiYSh2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktcmdiKSwgMC43KSA1MCUsXHJcblx0XHRyZ2JhKHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1yZ2IpLCAwLjkpIDEwMCVcclxuXHQpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWNvbnRlbnQuZm9jdXMtbW9kZVxyXG5cdC50aW1lbGluZS1kYXRlLWdyb3VwLmlzLXRvZGF5IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLyogTWFya2Rvd24gcmVuZGVyZXIgc3R5bGVzIGluIHRpbWVsaW5lIGV2ZW50cyAqL1xyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuXHQubWFya2Rvd24tYmxvY2sge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcblx0Lm1hcmtkb3duLWJsb2NrXHJcblx0cCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuXHQubWFya2Rvd24tYmxvY2tcclxuXHRzdHJvbmcsXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG5cdC5tYXJrZG93bi1ibG9ja1xyXG5cdGVtLFxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuXHQubWFya2Rvd24tYmxvY2tcclxuXHRjb2RlIHtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG5cdC5tYXJrZG93bi1ibG9ja1xyXG5cdGEge1xyXG5cdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbmRpdltkYXRhLXR5cGVePVwidGctdGltZWxpbmUtc2lkZWJhci12aWV3XCJdXHJcblx0LnRpbWVsaW5lLWV2ZW50LWNvbnRlbnQtdGV4dFxyXG5cdC5tYXJrZG93bi1ibG9ja1xyXG5cdGE6aG92ZXIge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5kaXZbZGF0YS10eXBlXj1cInRnLXRpbWVsaW5lLXNpZGViYXItdmlld1wiXVxyXG5cdC50aW1lbGluZS1ldmVudC1jb250ZW50LXRleHRcclxuXHQubWFya2Rvd24tYmxvY2tcclxuXHR1bCxcclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcblx0Lm1hcmtkb3duLWJsb2NrXHJcblx0b2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuZGl2W2RhdGEtdHlwZV49XCJ0Zy10aW1lbGluZS1zaWRlYmFyLXZpZXdcIl1cclxuXHQudGltZWxpbmUtZXZlbnQtY29udGVudC10ZXh0XHJcblx0Lm1hcmtkb3duLWJsb2NrXHJcblx0bGkge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cclxuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlciBhbGlnbiBjb250ZW50ICovXHJcbn1cclxuXHJcbi5yZXdhcmQtbW9kYWwgLm1vZGFsLXRpdGxlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXdhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgY2VudGVyaW5nICovXHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlIHtcclxuXHRtYXgtd2lkdGg6IDgwJTsgLyogTGltaXQgaW1hZ2Ugd2lkdGggKi9cclxuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXHJcblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9wdGlvbmFsOiBhZGQgc3VidGxlIHNoYWRvdyAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWVycm9yIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXHJcbn1cclxuXHJcbi5yZXdhcmQtc3BhY2VyIHtcclxuXHRoZWlnaHQ6IDIwcHg7IC8qIEFkZCBzb21lIHNwYWNlIGJlZm9yZSB0aGUgYnV0dG9ucyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyB3aXRoaW4gdGhlIG1vZGFsICovXHJcbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgYnV0dG9ucyAqL1xyXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xyXG59XHJcbiIsICIubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcclxufVxyXG5cclxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIudGctbWVudSB7XHJcblx0ei1pbmRleDogMjA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXIge1xyXG5cdHdpZHRoOiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXItbWFya2VyIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xyXG5cdG9wYWNpdHk6IDAuMTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyLW1hcmtlcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZpZWxkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpZWxkLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYmJlZCBJbnRlcmZhY2UgU3R5bGVzICovXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpOyAvKiBBZGp1c3RlZCBmb3IgY29uc2lzdGVuY3kgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XHJcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRW5zdXJlIGNvbnRlbnQgd2l0aGluIHBhbmUgZmxvd3MgdmVydGljYWxseSAqL1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XHJcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvcixcclxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIHtcclxuXHRtYXgtaGVpZ2h0OiA4MDBweDtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciB7XHJcblx0d2lkdGg6IDQ0cHg7XHJcblx0bWluLXdpZHRoOiA0NHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2LWl0ZW0ge1xyXG5cdHBhZGRpbmc6IDhweCAxMHB4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLnNpZGViYXItbmF2LWl0ZW0ge1xyXG5cdHBhZGRpbmc6IDhweCAxMHB4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtOSk7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblxyXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQsIGZsZXgtc2hyaW5rIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIgLm5hdi1pdGVtLWljb24ge1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stbGlzdCB7XHJcblx0bWF4LWhlaWdodDogODAwcHg7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZCAucHJvamVjdHMtY29udGFpbmVyIHtcclxuXHRmbGV4OiAxO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IDI0MHB4O1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG5cdGdhcDogMXB4O1xyXG5cdHBhZGRpbmc6IDAgNXB4O1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWRcclxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cclxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMC43ZW07XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IDNweCAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWRcclxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cclxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZGF5LWhlYWRlci5jYWxlbmRhci13ZWVrZW5kIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcclxuXHRhc3BlY3QtcmF0aW86IDE7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkXHJcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZFxyXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxyXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkXHJcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS50b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWRcclxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cclxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZGF5LnBhc3QtZHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZFxyXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxyXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkXHJcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS1udW1iZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmc6IDFweDtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkXHJcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS1jb3VudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGZvbnQtc2l6ZTogMC42ZW07XHJcblx0cGFkZGluZzogMXB4IDNweDtcclxuXHRtYXJnaW46IDFweCBhdXRvO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZFxyXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxyXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC50YWdzLWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdG1heC1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lbWJlZFxyXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcclxuXHQudGFncy1sZWZ0LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkXHJcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxyXG5cdC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmludGVybmFsLWVtYmVkIC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciB7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZW1iZWQgLnRnLWthbmJhbi12aWV3IHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5iYXNlcy12aWV3LnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XHJcbn1cclxuXHJcbi8qIEJhc2VzIHVwZGF0ZSBlcnJvciBub3RpZmljYXRpb24gKi9cclxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24ge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDIwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRwYWRkaW5nOiAxMnB4IDE2cHg7XHJcblx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcyk7XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0YW5pbWF0aW9uOiBzbGlkZUluUmlnaHQgMC4zcyBlYXNlLW91dDtcclxufVxyXG5cclxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb246aG92ZXIge1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmJhc2VzLXVwZGF0ZS1lcnJvci1ub3RpZmljYXRpb24gLmVycm9yLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5iYXNlcy11cGRhdGUtZXJyb3Itbm90aWZpY2F0aW9uIC5lcnJvci1tZXNzYWdlIC5lcnJvci10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG59XHJcblxyXG4uYmFzZXMtdXBkYXRlLWVycm9yLW5vdGlmaWNhdGlvbiAuZXJyb3ItbWVzc2FnZSAuZXJyb3ItZGV0YWlscyB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XHJcblx0ZnJvbSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0E7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUlDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBOzs7QUM3SkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNDO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFJQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFJQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVFO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1EO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQU1EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFNRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDM3pDRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDMUJEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBOzs7QUNsQ0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBOzs7QUMvY0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUFBOzs7QUN6U0Y7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUFBOzs7QUN6RkY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUNGRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7OztBQ3JQRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUN0TEQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVFO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBOzs7QUNuaUJEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTs7O0FDbklEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFNRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFBQTtBQUtEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUVEO0FBR0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQU9EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFJRDtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUdBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQU9EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBUUQ7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBOzs7QUM1ZkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBOzs7QUNyUEQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQzlDRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDbE9EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUVBO0FBQUE7OztBQ2xURDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBOzs7QUN4VUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtEO0FBQUE7QUFBQTtBQUdDO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFBQTtBQUdDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1DO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7OztBQzlVRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBRUM7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTs7O0FDNVBEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDblhEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUdDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFNRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUdDO0FBQUE7QUFBQTs7O0FDN0pGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTs7O0FDdFBEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQzVNRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7OztBQzFaRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFLRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQU9BO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTs7O0FDeHFCRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFLRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQVFEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBR0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUdBO0FBQUE7QUFLQTtBQUFBO0FBU0E7QUFHQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQVlDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFHQztBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBSUQ7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFJQTtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFNRDtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFhRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFJQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFnQkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7OztBQ2huQkE7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7OztBQ2hCRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7OztBQ3hCRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUtEO0FBR0M7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLRDtBQUNDO0FBQ0E7QUFBQTtBQU9EO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQ3BaRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUNBO0FBQUE7OztBQ3ZQRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFPQTtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFJQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFBQTtBQUdBO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDMWZEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFJQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQy9NRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtDO0FBQUE7OztBQ3g5QkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVFO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUFBO0FBQUE7QUFJQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUN4OEJEO0FBQ0M7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFLRDtBQUFBO0FBSUE7QUFBQTtBQUdBO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUVDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBRUM7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBSUQ7QUFBQTtBQUdBO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUdBO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDdmZEO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7OztBQ3JFRDtBQUNDO0FBQUE7QUFJRDtBQUVDO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUFBO0FBR0M7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFHQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQVlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTs7O0FDMUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUM7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTs7O0FDOUpEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFFQztBQUVBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFFQztBQUVBO0FBRUE7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFPRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9EO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBT0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFJQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFJQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9EO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRDtBQUNDO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBQUE7QUFjRjtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBSUY7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBOzs7QUNua0NGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBR0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUdDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFHQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBU0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFBQTtBQUtGO0FBRUM7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUFBO0FBSUQ7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUFBO0FBR0Q7QUFHQztBQUNBO0FBQUE7QUFJRDtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFZQztBQUFBO0FBR0Q7QUFJQztBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUFBO0FBUUM7QUFDQTtBQUFBO0FBR0Q7QUFJQztBQUNBO0FBQUE7OztBQ3ZyQkQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTs7O0FDMUNEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTs7O0FDdktEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFJQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUlDO0FBQ0E7QUFBQTtBQUdEO0FBSUM7QUFBQTtBQUdEO0FBSUM7QUFBQTtBQUdEO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFJQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */