diff --git a/.github/workflows/beta-release.yml b/.github/workflows/beta-release.yml index f53dd2ed..51a20320 100644 --- a/.github/workflows/beta-release.yml +++ b/.github/workflows/beta-release.yml @@ -1,92 +1,126 @@ # .github/workflows/beta-release.yml -name: 'Automatic Beta Release on PR Commit' +name: "Automatic Beta Release on PR Commit" on: - pull_request: - # Trigger on PR creation or when new commits are pushed - types: [opened, synchronize] - # IMPORTANT: Change 'main' to your default branch if it's different (e.g., 'master') - branches: - - master - push: - # Only trigger on push to specific branches (more secure) - branches: - - master - - 'feat/**' - - 'release/**' + pull_request: + # Trigger on PR creation or when new commits are pushed + types: [opened, synchronize] + # IMPORTANT: Change 'main' to your default branch if it's different (e.g., 'master') + branches: + - master + push: + # Only trigger on push to specific branches (more secure) + branches: + - master + - "feat/**" + - "release/**" env: - PLUGIN_NAME: obsidian-task-genius + PLUGIN_NAME: obsidian-task-genius # Grant permissions for the action to create a release permissions: - contents: write - pull-requests: read + contents: write + pull-requests: read jobs: - build-and-release-beta: - if: | - contains(github.event.head_commit.message, '[release-beta]') && ( - github.event_name == 'push' || - (github.event_name == 'pull_request' && - (github.event.pull_request.author_association == 'OWNER')) - ) - runs-on: ubuntu-latest - steps: - - name: 'Checkout code' - uses: actions/checkout@v4 + build-and-release-beta: + if: | + contains(github.event.head_commit.message, '[release-beta]') && ( + github.event_name == 'push' || + (github.event_name == 'pull_request' && + (github.event.pull_request.author_association == 'OWNER')) + ) + runs-on: ubuntu-latest + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + with: + # Fetch full history to get all tags and commits + fetch-depth: 0 - - name: 'Use Node.js 22' - uses: actions/setup-node@v4 - with: - node-version: 22 + - name: "Use Node.js 22" + uses: actions/setup-node@v4 + with: + node-version: 22 - - name: 'Install pnpm' - uses: pnpm/action-setup@v4 - with: - version: 9 - - - name: 'Install dependencies' - run: pnpm install + - name: "Install pnpm" + uses: pnpm/action-setup@v4 + with: + version: 9 - # --- New Step to read version --- - - name: 'Get version from package.json' - id: get_version - run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV - - - name: 'Build and package plugin' - id: build - run: | - pnpm run build - # Create a directory and copy files for zipping - mkdir ${{ env.PLUGIN_NAME }} - cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}/ - # Create the zip file for the release, using the version from package.json - zip -r ${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip ./${{ env.PLUGIN_NAME }} + - name: "Install dependencies" + run: pnpm install - - name: 'Create Beta Pre-Release' - uses: softprops/action-gh-release@v2 - with: - # Use the body of the PR for the release notes, or commit info for direct push - body: | - ${{ github.event_name == 'pull_request' && format('Automated beta release for PR #{0}.', github.event.pull_request.number) || 'Automated beta release from direct push.' }} - Commit: `${{ github.sha }}` - Branch: `${{ github.ref_name }}` + # --- New Step to read version --- + - name: "Get version from package.json" + id: get_version + run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV - ${{ github.event_name == 'pull_request' && github.event.pull_request.body || github.event.head_commit.message }} - - # Mark this as a pre-release, so it doesn't count as a latest official release - prerelease: true - - # Use the version from package.json for the tag and release name - tag_name: "v${{ env.VERSION }}" - name: "Beta Release v${{ env.VERSION }}" - - # Upload all required assets in one step, using the versioned zip file name - files: | - ${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip - main.js - manifest.json - styles.css + # --- Get commit messages since last beta release --- + - name: "Get commit messages since last beta release" + id: get_commits + run: | + # Get the latest beta release tag (tags starting with 'v' and containing beta or pre-release) + LAST_BETA_TAG=$(git tag -l "v*" --sort=-version:refname | head -1) + if [ -z "$LAST_BETA_TAG" ]; then + echo "No previous beta release found, getting all commits from the beginning" + COMMIT_MESSAGES=$(git log --pretty=format:"- %s (%an)" --no-merges) + else + echo "Getting commits since last beta release: $LAST_BETA_TAG" + COMMIT_MESSAGES=$(git log ${LAST_BETA_TAG}..HEAD --pretty=format:"- %s (%an)" --no-merges) + fi + + # Handle empty commit messages + if [ -z "$COMMIT_MESSAGES" ]; then + COMMIT_MESSAGES="- No new commits since last release" + fi + + # Save commit messages to environment variable (handle multiline) + echo "COMMIT_MESSAGES<> $GITHUB_ENV + echo "$COMMIT_MESSAGES" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + # Also save the last beta tag for reference + echo "LAST_BETA_TAG=$LAST_BETA_TAG" >> $GITHUB_ENV + + - name: "Build and package plugin" + id: build + run: | + pnpm run build + # Create a directory and copy files for zipping + mkdir ${{ env.PLUGIN_NAME }} + cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}/ + # Create the zip file for the release, using the version from package.json + zip -r ${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip ./${{ env.PLUGIN_NAME }} + + - name: "Create Beta Pre-Release" + uses: softprops/action-gh-release@v2 + with: + # Use commit messages since last beta release for the release notes + body: | + ${{ github.event_name == 'pull_request' && format('🚀 Automated beta release for PR #{0}', github.event.pull_request.number) || '🚀 Automated beta release' }} + + ## 📝 Changes since last beta release${{ env.LAST_BETA_TAG && format(' ({0})', env.LAST_BETA_TAG) || '' }}: + + ${{ env.COMMIT_MESSAGES }} + + --- + + ${{ github.event_name == 'pull_request' && github.event.pull_request.body || '' }} + + # Mark this as a pre-release, so it doesn't count as a latest official release + prerelease: true + + # Use the version from package.json for the tag and release name + tag_name: "v${{ env.VERSION }}" + name: "Beta Release v${{ env.VERSION }}" + + # Upload all required assets in one step, using the versioned zip file name + files: | + ${{ env.PLUGIN_NAME }}-${{ env.VERSION }}.zip + main.js + manifest.json + styles.css diff --git a/README.md b/README.md index 74eda249..9ca7043a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- Task Genius Logo + Task Genius Logo

Full documentation is available at [Docs](https://taskgenius.md/docs/getting-started). diff --git a/media/task-genius.svg b/media/task-genius.svg index e7659569..6d4ac936 100644 --- a/media/task-genius.svg +++ b/media/task-genius.svg @@ -1,11 +1,26 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/task-genius.webp b/media/task-genius.webp new file mode 100644 index 00000000..96caf1d1 Binary files /dev/null and b/media/task-genius.webp differ diff --git a/styles.css b/styles.css index bf2110a8..2f06aaf9 100644 --- a/styles.css +++ b/styles.css @@ -247,4 +247,9046 @@ 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-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)}.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;padding:var(--size-4-2);border-radius:var(--radius-s);background-color:var(--background-secondary);border:1px solid var(--background-modifier-border)}.task-genius-format-examples strong{font-size:var(--font-ui-small)}.project-path-mappings-container{margin-top:10px}.project-path-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}.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)}.confirm-modal-buttons{display:flex;gap:var(--size-4-3);justify-content:flex-end;margin-top:var(--size-4-3)}.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}.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{padding:1rem;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-settings-container{padding:.5rem}.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)}.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-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-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}.status-option-checkbox{display:flex;align-items:center;justify-content:center}.status-option{display:flex;justify-content:center;text-transform:uppercase}.status-option.current-status{outline-offset:2px;outline:1px solid hsl(var(--accent-h),var(--accent-s),var(--accent-l),.3);outline-style:dashed}.status-option:not(.current-status){opacity:.8}.status-option:not(.current-status):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}.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-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}}.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)}.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-grow: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;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;overflow-y:auto;background-color:var(--background-primary)}.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);padding:2px 6px;border-radius:10px;height:var(--size-4-5);width:var(--size-4-5)}.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:10px 15px;margin-bottom:10px}.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:2px;padding:0 10px}.task-genius-view .mini-calendar-container .calendar-day-header{text-align:center;font-size:.8em;color:var(--text-muted);padding:5px 0;border-bottom:1px solid var(--background-modifier-border);margin-bottom:5px}.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{aspect-ratio:1;border-radius:4px;padding:2px;cursor:pointer;position:relative;display:flex;flex-direction:column;transition:background-color .2s ease}.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:2px}.task-genius-view .mini-calendar-container .calendar-day-count{background-color:var(--background-modifier-border);color:var(--text-normal);border-radius:10px;font-size:.7em;padding:1px 5px;margin:2px auto;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}.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;-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)}.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-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}.card-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;gap:.5rem}.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}.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}.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} +/* src/styles/progressbar.css */ +.cm-task-progress-bar { + display: inline-block; + position: relative; + margin-left: 5px; + margin-bottom: 1px; +} +.no-progress-bar .cm-task-progress-bar { + display: none !important; +} +.HyperMD-header .cm-task-progress-bar { + display: inline-block; + position: relative; + margin-left: 5px; + margin-bottom: 5px; +} +.progress-bar-inline { + height: 8px; + position: relative; +} +.progress-bar-inline-empty { + background-color: var(--progress-background-color); +} +.progress-bar-inline-0 { + background-color: var(--progress-0-color); +} +.progress-bar-inline-1 { + background-color: var(--progress-25-color); +} +.progress-bar-inline-2 { + background-color: var(--progress-50-color); +} +.progress-bar-inline-3 { + background-color: var(--progress-75-color); +} +.progress-bar-inline-complete { + background-color: var(--progress-100-color); +} +.progress-completed { + background-color: var(--task-completed-color); + z-index: 3; +} +.progress-in-progress { + background-color: var(--task-in-progress-color); + z-index: 2; + position: absolute; + top: 0; + height: 100%; +} +.progress-abandoned { + background-color: var(--task-abandoned-color); + z-index: 1; + position: absolute; + top: 0; + height: 100%; +} +.progress-planned { + background-color: var(--task-planned-color); + z-index: 1; + position: absolute; + top: 0; + height: 100%; +} +.progress-bar-inline-background { + color: #000 !important; + background-color: var(--progress-background-color); + border-radius: 10px; + flex-direction: row; + justify-content: flex-start; + align-items: center; + width: 85px; + position: relative; + overflow: hidden; +} +.progress-bar-inline-background.hidden { + display: none; +} +.cm-task-progress-bar .task-status-indicator { + display: inline-block; + margin-right: 2px; +} +.cm-task-progress-bar .completed-indicator { + color: var(--task-completed-color); +} +.cm-task-progress-bar .in-progress-indicator { + color: var(--task-in-progress-color); +} +.cm-task-progress-bar .abandoned-indicator { + color: var(--task-abandoned-color); +} +.cm-task-progress-bar .planned-indicator { + color: var(--task-planned-color); +} +.cm-task-progress-bar.with-number { + display: inline-flex; + align-items: center; +} +.HyperMD-header .cm-task-progress-bar.with-number .progress-bar-inline-background, +.HyperMD-header .cm-task-progress-bar.with-number .progress-status { + margin-bottom: 5px; +} +.cm-task-progress-bar.with-number .progress-bar-inline-background { + margin-bottom: -2px; + width: 42px; +} +.cm-task-progress-bar.with-number .progress-status { + font-size: 13px; + margin-left: 3px; +} +.theme-dark .progress-completed { + background-color: var(--task-completed-color); +} +.theme-dark .progress-in-progress { + background-color: var(--task-in-progress-color); +} +.theme-dark .progress-abandoned { + background-color: var(--task-abandoned-color); +} +.theme-dark .progress-planned { + background-color: var(--task-planned-color); +} +.task-progress-bar-popover { + width: 400px; +} + +/* src/styles/task-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/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; + padding: var(--size-4-2); + border-radius: var(--radius-s); + background-color: var(--background-secondary); + border: 1px solid var(--background-modifier-border); +} +.task-genius-format-examples strong { + font-size: var(--font-ui-small); +} +.project-path-mappings-container { + margin-top: 10px; +} +.project-path-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/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/modal.css */ +.confirm-modal-buttons { + display: flex; + gap: var(--size-4-3); + justify-content: flex-end; + margin-top: var(--size-4-3); +} + +/* 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/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 { + padding: 1rem; + 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-settings-container { + padding: 0.5rem; + } + .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/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-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-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; +} +.status-option-checkbox { + display: flex; + align-items: center; + justify-content: center; +} +.status-option { + display: flex; + justify-content: center; + text-transform: uppercase; +} +.status-option.current-status { + 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-status) { + opacity: 0.8; +} +.status-option:not(.current-status):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/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-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-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; + } +} + +/* 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); +} +.task-metadata { + display: flex; + gap: 8px; + margin-top: 4px; + font-size: 0.85em; + color: var(--text-muted); +} +.task-metadata:empty { + display: none; +} +.task-due-date.overdue { + color: var(--text-error); + font-weight: bold; +} +.task-item.tree-task-item .task-project { + display: inline-block; + padding: 1px 6px; + border-radius: 4px; +} +.task-priority.priority-3 { + color: var(--text-error); +} +.task-priority.priority-2 { + color: var(--text-warning); +} +.task-priority.priority-1 { + color: var(--text-accent); +} +.task-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-grow: 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; + 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; + overflow-y: auto; + background-color: var(--background-primary); +} +.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); + padding: 2px 6px; + border-radius: 10px; + height: var(--size-4-5); + width: var(--size-4-5); +} +.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: 10px 15px; + margin-bottom: 10px; +} +.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: 2px; + padding: 0 10px; +} +.task-genius-view .mini-calendar-container .calendar-day-header { + text-align: center; + font-size: 0.8em; + color: var(--text-muted); + padding: 5px 0; + border-bottom: 1px solid var(--background-modifier-border); + margin-bottom: 5px; +} +.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 { + aspect-ratio: 1; + border-radius: 4px; + padding: 2px; + cursor: pointer; + position: relative; + display: flex; + flex-direction: column; + transition: background-color 0.2s ease; +} +.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: 2px; +} +.task-genius-view .mini-calendar-container .calendar-day-count { + background-color: var(--background-modifier-border); + color: var(--text-normal); + border-radius: 10px; + font-size: 0.7em; + padding: 1px 5px; + margin: 2px auto; + 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; +} +.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; + -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); +} + +/* 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/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; +} +.card-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; + gap: 0.5rem; +} +.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; +} +.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/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; +} +/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL3N0eWxlcy9wcm9ncmVzc2Jhci5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWZpbHRlci5jc3MiLCAic3JjL3N0eWxlcy9zZXR0aW5nLmNzcyIsICJzcmMvc3R5bGVzL2JldGEtd2FybmluZy5jc3MiLCAic3JjL3N0eWxlcy9tb2RhbC5jc3MiLCAic3JjL3N0eWxlcy9nbG9iYWwtZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWVkaXQtZGlhbG9nLmNzcyIsICJzcmMvc3R5bGVzL2hhYml0LWxpc3QuY3NzIiwgInNyYy9zdHlsZXMvaWNzLXNldHRpbmdzLmNzcyIsICJzcmMvc3R5bGVzL3dvcmtmbG93LmNzcyIsICJzcmMvc3R5bGVzL2RhdGUtcGlja2VyLmNzcyIsICJzcmMvc3R5bGVzL3F1aWNrLWNhcHR1cmUuY3NzIiwgInNyYy9zdHlsZXMvdGFzay1kZXRhaWxzLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stbGlzdC5jc3MiLCAic3JjL3N0eWxlcy9pbmxpbmUtZWRpdG9yLmNzcyIsICJzcmMvc3R5bGVzL3RyZWUtdmlldy5jc3MiLCAic3JjL3N0eWxlcy9mb3JlY2FzdC5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci5jc3MiLCAic3JjL3N0eWxlcy90YWctdmlldy5jc3MiLCAic3JjL3N0eWxlcy9wcm9qZWN0LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvcmV2aWV3LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdmlldy5jc3MiLCAic3JjL3N0eWxlcy9jYWxlbmRhci92aWV3LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2V2ZW50LmNzcyIsICJzcmMvc3R5bGVzL2NhbGVuZGFyL2JhZGdlLmNzcyIsICJzcmMvc3R5bGVzL2thbmJhbi9rYW5iYW4uY3NzIiwgInNyYy9jb21wb25lbnRzL2ludmlldy1maWx0ZXIvZmlsdGVyLmNzcyIsICJzcmMvc3R5bGVzL2dhbnR0L2dhbnR0LmNzcyIsICJzcmMvc3R5bGVzL3Byb3BlcnR5LXZpZXcuY3NzIiwgInNyYy9zdHlsZXMvdGFibGUuY3NzIiwgInNyYy9zdHlsZXMvaGFiaXQuY3NzIiwgInNyYy9zdHlsZXMvZ2xvYmFsLmNzcyIsICJzcmMvc3R5bGVzL3ZpZXctY29uZmlnLmNzcyIsICJzcmMvc3R5bGVzL3Rhc2stc3RhdHVzLmNzcyIsICJzcmMvc3R5bGVzL3Jld2FyZC5jc3MiLCAic3JjL3N0eWxlcy90YXNrLWd1dHRlci5jc3MiLCAic3JjL3N0eWxlcy9iYXNlLXZpZXcuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBTZXQgRGVmYXVsdCBQcm9ncmVzcyBCYXIgRm9yIFBsdWdpbiAqL1xuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDFweDtcbn1cblxuLm5vLXByb2dyZXNzLWJhciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5IeXBlck1ELWhlYWRlciAuY20tdGFzay1wcm9ncmVzcy1iYXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZSB7XG5cdGhlaWdodDogOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFByb2dyZXNzIGJhciBjb2xvcnMgZm9yIGRpZmZlcmVudCBwZXJjZW50YWdlcyBvZiBjb21wbGV0aW9uICovXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS1lbXB0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWlubGluZS0wIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy0yNS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy01MC1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLTMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy03NS1jb2xvcik7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWNvbXBsZXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtMTAwLWNvbG9yKTtcbn1cblxuLyogQ29sb3JzIGZvciBkaWZmZXJlbnQgdGFzayBzdGF0dXNlcyAqL1xuLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcblx0ei1pbmRleDogMztcbn1cblxuLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG5cdHotaW5kZXg6IDI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmxpbmUtYmFja2dyb3VuZCB7XG5cdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3IpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiA4NXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQuaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvcnMgaW4gdGhlIHRhc2sgbnVtYmVyIGRpc3BsYXkgKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhciAudGFzay1zdGF0dXMtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5jb21wbGV0ZWQtaW5kaWNhdG9yIHtcblx0Y29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLmNtLXRhc2stcHJvZ3Jlc3MtYmFyIC5pbi1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAuYWJhbmRvbmVkLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhciAucGxhbm5lZC1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLyogU2V0IERlZmF1bHQgUHJvZ3Jlc3MgQmFyIFdpdGggTnVtYmVyIEZvciBQbHVnaW4gKi9cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uSHlwZXJNRC1oZWFkZXJcblx0LmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyXG5cdC5wcm9ncmVzcy1iYXItaW5saW5lLWJhY2tncm91bmQsXG4uSHlwZXJNRC1oZWFkZXIgLmNtLXRhc2stcHJvZ3Jlc3MtYmFyLndpdGgtbnVtYmVyIC5wcm9ncmVzcy1zdGF0dXMge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3MtYmFyLWlubGluZS1iYWNrZ3JvdW5kIHtcblx0bWFyZ2luLWJvdHRvbTogLTJweDtcblx0d2lkdGg6IDQycHg7XG59XG5cbi5jbS10YXNrLXByb2dyZXNzLWJhci53aXRoLW51bWJlciAucHJvZ3Jlc3Mtc3RhdHVzIHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4vKiBBZGFwdGF0aW9ucyBmb3IgZGFyayB0aGVtZSAqL1xuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWNvbXBsZXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2stY29tcGxldGVkLWNvbG9yKTtcbn1cblxuLnRoZW1lLWRhcmsgLnByb2dyZXNzLWluLXByb2dyZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1hYmFuZG9uZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5wcm9ncmVzcy1wbGFubmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1wbGFubmVkLWNvbG9yKTtcbn1cblxuLnRhc2stcHJvZ3Jlc3MtYmFyLXBvcG92ZXIge1xuXHR3aWR0aDogNDAwcHg7XG59XG4iLCAiLyogVGFzayBmaWx0ZXIgcGFuZWwgc3R5bGVzICovXG4udGFzay1maWx0ZXItcGFuZWwge1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCkgdmFyKC0tc2l6ZS00LTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC04KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YXNrLWZpbHRlci1hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LTIpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stZmlsdGVyLXBhbmVsID4gLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci10b3A6IHVuc2V0O1xufVxuXG4udGFzay1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi50YXNrLWZpbHRlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMHB4O1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uIGgzIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRtYXJnaW46IDVweCAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLWZpbHRlci1zZWN0aW9uOmxhc3QtY2hpbGQge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xufVxuXG4udGFzay1maWx0ZXItb3B0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdG1hcmdpbjogMDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbiBsYWJlbCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnRhc2stZmlsdGVyLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLXRvcDogOHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4udGFzay1maWx0ZXItYXBwbHksXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRhc2stZmlsdGVyLWFwcGx5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnRhc2stZmlsdGVyLXJlc2V0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1maWx0ZXItY2xvc2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi50YXNrLWZpbHRlci1xdWVyeS1pbnB1dDpmb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4udGFzay1maWx0ZXItc2VjdGlvbiAuc2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uIHtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhc2stZmlsdGVyLW9wdGlvbnMge1xuXHRtYXgtaGVpZ2h0OiA3MHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi50YXNrLWZpbHRlci1vcHRpb25zIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC00KTtcbn1cbiIsICIvKiBUYXNrIFN0YXR1cyBDeWNsZSBtYW5hZ2VtZW50IFVJICovXHJcbi50YXNrLXN0YXRlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuZXh0cmEtc2V0dGluZy1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGJ1dHRvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXNpemUpICogLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIgLnRhc2stc3RhdGUge1xyXG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhc2sgU3RhdHVzIEN5Y2xlIG1hbmFnZW1lbnQgVUkgKi9cclxuLnRhc2stc3RhdGVzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cge1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5zZXR0aW5nLWl0ZW0ge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGZsZXgtd3JhcDogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLnRhc2stc3RhdGUtcm93IC5leHRyYS1zZXR0aW5nLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGFzay1zdGF0ZS1jb250YWluZXIge1xyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY2hlY2tib3gtc2l6ZSkgKiAtMSk7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLWNvbnRhaW5lciAudGFzay1zdGF0ZSB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNpemUtMi0xKTtcclxuXHRwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogQ2F0ZWdvcml6ZWQgdGFicyBjb250YWluZXIgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNhdGVnb3JpemVkLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtNik7XHJcbn1cclxuXHJcbi8qIENhdGVnb3J5IHNlY3Rpb24gKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi8qIENhdGVnb3J5IGhlYWRlciAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LWhlYWRlciB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcblx0cGFkZGluZzogMCB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4vKiBDYXRlZ29yeSB0YWJzIGNvbnRhaW5lciAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG5cdC50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cdH1cclxufVxyXG5cclxuLyogTGVnYWN5IHRhYnMgY29udGFpbmVyIChmYWxsYmFjaykgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cdGdyaWQtYXV0by1yb3dzOiB2YXIoLS1zaXplLTQtMTgpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC00KTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtNCk7XHJcblx0aGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWJzLWNvbnRhaW5lciB7XHJcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xyXG5cdH1cclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWluLWhlaWdodDogdmFyKC0tc2l6ZS00LTEyKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTBweDtcclxuXHRyaWdodDogLTgwcHg7XHJcblx0d2lkdGg6IDIwMHB4O1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTE1ZGVnKTtcclxuXHR6LWluZGV4OiAwO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6aG92ZXI6OmFmdGVyIHtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZVooLTEwZGVnKTtcclxuXHRvcGFjaXR5OiAwLjk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWFjdGl2ZTo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC4zO1xyXG59XHJcblxyXG4vKiBUYWIgY29udGVudCBzdHlsaW5nICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWljb24sXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiIHNwYW4sXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLWxhYmVsIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgdGFiIGljb24gc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLWNhdGVnb3J5LXRhYnMgLnNldHRpbmdzLXRhYi1pY29uIHN2ZyB7XHJcblx0d2lkdGg6IHZhcigtLWljb24tcyk7XHJcblx0aGVpZ2h0OiB2YXIoLS1pY29uLXMpO1xyXG59XHJcblxyXG4vKiBFbmhhbmNlZCB0YWIgbGFiZWwgc3R5bGluZyBmb3IgY2F0ZWdvcml6ZWQgbGF5b3V0ICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG5cdGZsZXg6IDE7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyogRW5oYW5jZWQgaG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXMgZm9yIGNhdGVnb3JpemVkIHRhYnMgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtY2F0ZWdvcnktdGFicyAuc2V0dGluZ3MtdGFiLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy1jYXRlZ29yeS10YWJzIC5zZXR0aW5ncy10YWItYWN0aXZlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi8qIExlZ2FjeSB0YWIgc3R5bGVzIChmYWxsYmFjaykgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWI6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtc2V0dGluZ3MgLnNldHRpbmdzLXRhYi1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbnMge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24tYWN0aXZlIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFiLXNlY3Rpb24taGVhZGVyIC5oZWFkZXItYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzIC5zZXR0aW5ncy10YWItc2VjdGlvbi1oZWFkZXIgLmhlYWRlci1idXR0b24taWNvbiB7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLyogVGFiIHNlY3Rpb24gaGVhZGVyIHZpc2liaWxpdHkgcnVsZXMgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzXHJcblx0LnNldHRpbmdzLXRhYltkYXRhLXRhYi1pZD1cImdlbmVyYWxcIl17XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogSGlkZSBjYXRlZ29yaXplZCB0YWJzIGNvbnRhaW5lciB3aGVuIGFueSBub24tZ2VuZXJhbCB0YWIgaXMgYWN0aXZlICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jYXRlZ29yaXplZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSkpXHJcblx0LnNldHRpbmdzLXRhYnMtY2F0ZWdvcml6ZWQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMZWdhY3kgdGFicyBjb250YWluZXIgdmlzaWJpbGl0eSAoZmFsbGJhY2spICovXHJcbi50YXNrLWdlbml1cy1zZXR0aW5ncyAuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFNob3cgbGVnYWN5IHRhYnMgd2hlbiBnZW5lcmFsIHRhYiBpcyBhY3RpdmUgKGZhbGxiYWNrIGJlaGF2aW9yKSAqL1xyXG4udGFzay1nZW5pdXMtc2V0dGluZ3M6aGFzKC5zZXR0aW5ncy10YWItYWN0aXZlW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSlcclxuXHQuc2V0dGluZ3MtdGFicy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcbn1cclxuXHJcbi8qIFNldHRpbmdzIGhlYWRlciB2aXNpYmlsaXR5IC0gaGlkZSB3aGVuIG5vbi1nZW5lcmFsIHRhYiBpcyBhY3RpdmUgKi9cclxuLnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy1zZXR0aW5nczpoYXMoLnNldHRpbmdzLXRhYi1zZWN0aW9uLWFjdGl2ZTpub3QoW2RhdGEtdGFiLWlkPVwiZ2VuZXJhbFwiXSkpXHJcblx0LnRhc2stZ2VuaXVzLXNldHRpbmdzLWhlYWRlciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogRXhwcmVzc2lvbiBleGFtcGxlcyBpbiBzZXR0aW5ncyAqL1xyXG4uZXhwcmVzc2lvbi1leGFtcGxlcyB7XHJcblx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS1pdGVtIHtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0LyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTsgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiA2cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uZXhwcmVzc2lvbi1leGFtcGxlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uZXhwcmVzc2lvbi1leGFtcGxlLWNvZGUge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuXHR1c2VyLXNlbGVjdDogdGV4dDtcclxufVxyXG5cclxuLmV4cHJlc3Npb24tZXhhbXBsZS11c2Uge1xyXG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtdGV4dGFyZWEge1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4uY3VzdG9tLWZvcm1hdC1wcmV2aWV3LWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1sYWJlbCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcHJldmlldy1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcclxufVxyXG5cclxuLmN1c3RvbS1mb3JtYXQtcGxhY2Vob2xkZXItaW5mbyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0dXNlci1zZWxlY3Q6IHRleHQ7XHJcbn1cclxuXHJcbi5jdXN0b20tZm9ybWF0LXByZXZpZXctZXJyb3IsXHJcbi5leHByZXNzaW9uLXByZXZpZXctZXJyb3Ige1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogXHU4ODY4XHU4RkJFXHU1RjBGXHU3OTNBXHU0RjhCXHU5ODg0XHU4OUM4XHU2ODM3XHU1RjBGICovXHJcbi5leHByZXNzaW9uLWV4YW1wbGUtcHJldmlldyB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLnByZXNldC1maWx0ZXJzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnByZXNldC1maWx0ZXItcm93IHtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4ucHJlc2V0LWZpbHRlci1yb3c6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcbn1cclxuXHJcbi5uby1wcmVzZXRzLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5wcmVzZXQtc2F2ZWQtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNXB4O1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxuXHRhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4udGFzay1maWx0ZXItc2F2ZS1wcmVzZXQge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLnRnLW1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGctbW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ubW9kLXdhcm5pbmcge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcblx0dG8ge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5tb2RhbC13b3JrZmxvdy1kZWZpbml0aW9uIHtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdHdpZHRoOiA5MHZ3O1xyXG59XHJcblxyXG4ubW9kYWwtc3RhZ2UtZGVmaW5pdGlvbiB7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHR3aWR0aDogOTB2dztcclxufVxyXG5cclxuLyogV29ya2Zsb3cgc2V0dGluZ3MgcGFuZWwgaW1wcm92ZW1lbnRzICovXHJcbi53b3JrZmxvdy1jb250YWluZXIge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRtYXgtaGVpZ2h0OiA1MDBweDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1yb3cge1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbSB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1yb3cgLnNldHRpbmctaXRlbS1uYW1lIHtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctcm93IC5zZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb24ge1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWluZm8ge1xyXG5cdG1hcmdpbi10b3A6IDEycHg7XHJcblx0cGFkZGluZzogOHB4IDAgMCAwO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtbGlzdCB7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbSB7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtY3ljbGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10ZXJtaW5hbCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi5uby13b3JrZmxvd3MtbWVzc2FnZSB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLyogV29ya2Zsb3cgbW9kYWwgc3R5bGVzICovXHJcbi53b3JrZmxvdy1mb3JtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1zZWN0aW9uIGgyIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0Zm9udC1zaXplOiAxLjNlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2VzLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlcy1jb250YWluZXIgLndvcmtmbG93LXN0YWdlcy1saXN0IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmbGV4LXdyYXA6IHVuc2V0O1xyXG5cdGdhcDogdW5zZXQ7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1idXR0b25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXNhdmUtYnV0dG9uLFxyXG4ud29ya2Zsb3ctY2FuY2VsLWJ1dHRvbixcclxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zYXZlLWJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1jYW5jZWwtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ubm8tc3RhZ2VzLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi8qIFN0YWdlIGVkaXRpbmcgc3R5bGVzICovXHJcbi53b3JrZmxvdy1zdGFnZS1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0ZmxleDogMTtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogNXB4O1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcclxuLndvcmtmbG93LXN0YWdlLW1vdmUtdXAsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLWRvd24sXHJcbi53b3JrZmxvdy1zdGFnZS1kZWxldGUge1xyXG5cdHBhZGRpbmc6IDNweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWVkaXQ6aG92ZXIsXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1kZWxldGU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEwcHg7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZS1saW5lYXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLXR5cGUtY3ljbGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS10eXBlLXRlcm1pbmFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLyogU3Vic3RhZ2Ugc3R5bGVzICovXHJcbi53b3JrZmxvdy1zdWJzdGFnZXMtbGlzdCB7XHJcblx0cGFkZGluZzogMCAwIDAgdmFyKC0tc2l6ZS00LTYpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBTdGFnZSBlZGl0IG1vZGFsICovXHJcbi5zdGFnZS10eXBlLXNldHRpbmdzIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2VzLXNlY3Rpb24sXHJcbi5jYW4tcHJvY2VlZC10by1zZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5zdWJzdGFnZXMtY29udGFpbmVyLFxyXG4uY2FuLXByb2NlZWQtdG8tY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4uc3Vic3RhZ2VzLWxpc3QsXHJcbi5jYW4tcHJvY2VlZC1saXN0IHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1uYW1lLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDEwcHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmV4dC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDVweDtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLnN1YnN0YWdlLXJlbW92ZS1idXR0b24sXHJcbi5jYW4tcHJvY2VlZC1yZW1vdmUtYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRwYWRkaW5nOiAycHggNXB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5zdWJzdGFnZS1yZW1vdmUtYnV0dG9uOmhvdmVyLFxyXG4uY2FuLXByb2NlZWQtcmVtb3ZlLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLmFkZC1zdWJzdGFnZS1idXR0b24sXHJcbi5hZGQtY2FuLXByb2NlZWQtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogNHB4IDEwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmFkZC1jYW4tcHJvY2VlZC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmFkZC1jYW4tcHJvY2VlZC1zZWxlY3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogNHB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uc3RhZ2UtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5zdGFnZS1zYXZlLWJ1dHRvbixcclxuLnN0YWdlLWNhbmNlbC1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uc3RhZ2Utc2F2ZS1idXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4uc3RhZ2UtY2FuY2VsLWJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5zdGFnZS1lcnJvci1tZXNzYWdlIHtcclxuXHRjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLyogV29ya2Zsb3cgdGFzayBpbiBlZGl0b3IvcHJldmlldyBtb2RlIHN0eWxlcyAqL1xyXG4udGFzay13b3JrZmxvdy10YWcge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiAycHggNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4udGFzay13b3JrZmxvdy1zdGFnZSB7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4udGFzay13b3JrZmxvdy1zdWJzdGFnZSB7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctaGlzdG9yeSB7XHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2std29ya2Zsb3ctdGltZXN0YW1wIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcbn1cclxuXHJcbi8qIFdvcmtmbG93IHNldHRpbmdzIGRpc3BsYXkgZW5oYW5jZW1lbnRzICovXHJcbi5zZXR0aW5nLWl0ZW0tY29udHJvbCBzcGFuW2NsYXNzXj1cIndvcmtmbG93LXN0YWdlLW5hbWUtXCJdIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5zZXR0aW5nLWl0ZW0tY29udHJvbCAud29ya2Zsb3ctc3RhZ2UtbmFtZS1jeWNsZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS1jb250cm9sIC53b3JrZmxvdy1zdGFnZS1uYW1lLXRlcm1pbmFsIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10YXNrLWNvbXBsZXRlZC1jb2xvcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLndvcmtmbG93LXN0YWdlLWl0ZW0ge1xyXG5cdG1hcmdpbi1yaWdodDogNHB4O1xyXG59XHJcblxyXG4vKiBXb3JrZmxvd0RlZmluaXRpb25Nb2RhbCBoZWFkZXIgZW5oYW5jZW1lbnRzICovXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS1oZWFkZXIge1xyXG5cdHBhZGRpbmc6IDhweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZXMtY29udGFpbmVyIC53b3JrZmxvdy1zdGFnZS10eXBlLWJhZGdlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEwcHg7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3Vic3RhZ2VzLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG5cdG1hcmdpbjogNXB4IDAgMTBweCAwO1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBCZXR0ZXIgYnV0dG9ucyBpbiB3b3JrZmxvdyBwYW5lbHMgKi9cclxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b24sXHJcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhLFxyXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdHBhZGRpbmc6IDZweCAxNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLndvcmtmbG93LWFkZC1zdGFnZS1idXR0b246aG92ZXIsXHJcbi5zdGFnZS1zYXZlLWJ1dHRvbi5tb2QtY3RhOmhvdmVyLFxyXG4ud29ya2Zsb3ctc2F2ZS1idXR0b24ubW9kLWN0YTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHRib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duLFxyXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdCxcclxuLndvcmtmbG93LXN0YWdlLWRlbGV0ZSB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRwYWRkaW5nOiAzcHggOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi53b3JrZmxvdy1zdGFnZS1tb3ZlLXVwOmhvdmVyLFxyXG4ud29ya2Zsb3ctc3RhZ2UtbW92ZS1kb3duOmhvdmVyLFxyXG4ud29ya2Zsb3ctc3RhZ2UtZWRpdDpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ud29ya2Zsb3ctc3RhZ2UtZGVsZXRlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBTdWJ0YXNrIHN0eWxpbmcgaW1wcm92ZW1lbnRzICovXHJcbi5zdWJzdGFnZS1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA2cHggMDtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4uc3Vic3RhZ2UtbmFtZS1jb250YWluZXIgaW5wdXQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLnN1YnN0YWdlLW5hbWUtY29udGFpbmVyIGlucHV0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLm5vLXN0YWdlcy1tZXNzYWdlLFxyXG4ubm8td29ya2Zsb3dzLW1lc3NhZ2UsXHJcbi5uby1zdWJzdGFnZXMtbWVzc2FnZSxcclxuLm5vLWNhbi1wcm9jZWVkLW1lc3NhZ2Uge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuXHJcbi8qIFNUQVJUOiBSZXdhcmQgU2V0dGluZ3MgU3R5bGVzICovXHJcbi5yZXdhcmRzLWxldmVscy1jb250YWluZXIsXHJcbi5yZXdhcmRzLWl0ZW1zLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ucmV3YXJkcy1sZXZlbC1yb3cgLnNldHRpbmctaXRlbS1pbmZvLFxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWluZm8ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWl0ZW0tcm93LnNldHRpbmctaXRlbSB7XHJcblx0Ym9yZGVyLXRvcDogMDtcclxufVxyXG5cclxuLnJld2FyZHMtbGV2ZWwtcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCxcclxuLnJld2FyZHMtaXRlbS1yb3cgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDsgLyogQWxsb3cgd3JhcHBpbmcgb24gc21hbGxlciBzY3JlZW5zICovXHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cdGZsZXg6IDE7XHJcblx0bWluLXdpZHRoOiAxMDBweDsgLyogRW5zdXJlIHJlYXNvbmFibGUgbWluaW11bSB3aWR0aCAqL1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmlucHV0LWNvbnRhaW5lciB7XHJcblx0LyogT2JzaWRpYW4gdXNlcyB0aGlzIGNsYXNzIGZvciB0ZXh0L3RleHRhcmVhICovXHJcblx0ZmxleDogMTtcclxuXHRtaW4td2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgdGV4dGFyZWEge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBNYWtlIHRleHRhcmVhIHRha2UgZnVsbCB3aWR0aCB3aXRoaW4gaXRzIGNvbnRhaW5lciAqL1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7IC8qIEVuc3VyZSBpdCdzIHRhbGwgZW5vdWdoIGZvciBhIGNvdXBsZSBsaW5lcyAqL1xyXG5cdHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWl0ZW0tcm93IC5zZXR0aW5nLWl0ZW0tY29udHJvbCAuZHJvcGRvd24ge1xyXG5cdG1pbi13aWR0aDogMTIwcHg7XHJcbn1cclxuXHJcbi5yZXdhcmRzLWxldmVsLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uLFxyXG4ucmV3YXJkcy1pdGVtLXJvdyAuc2V0dGluZy1pdGVtLWNvbnRyb2wgYnV0dG9uIHtcclxuXHRtYXJnaW4tbGVmdDogYXV0bzsgLyogUHVzaCBkZWxldGUgYnV0dG9uIHRvIHRoZSByaWdodCAqL1xyXG59XHJcblxyXG4ucmV3YXJkcy1pdGVtLWRpdmlkZXIge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4vKiBFTkQ6IFJld2FyZCBTZXR0aW5ncyBTdHlsZXMgKi9cclxuXHJcbi8qIFNUQVJUOiBUYXNrIEhhbmRsZXIgU2V0dGluZ3MgU3R5bGVzICovXHJcbi5zZXR0aW5nLWl0ZW0uc29ydC1jcml0ZXJpb24tcm93IC5zZXR0aW5nLWl0ZW0taW5mbyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNldHRpbmctaXRlbS5zb3J0LWNyaXRlcmlvbi1yb3cgc2VsZWN0LmRyb3Bkb3duIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4vKiBFTkQ6IFRhc2sgSGFuZGxlciBTZXR0aW5ncyBTdHlsZXMgKi9cclxuXHJcbi8qIFNUQVJUOiBWaWV3IE1hbmFnZW1lbnQgU3R5bGVzICovXHJcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCB7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4udmlldy1lZGl0LWJ1dHRvbixcclxuLnZpZXctY29weS1idXR0b24sXHJcbi52aWV3LW9yZGVyLWJ1dHRvbixcclxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdGhlaWdodDogMjRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDRweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi52aWV3LWNvcHktYnV0dG9uIHtcclxuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctY29weS1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnZpZXctZGVsZXRlLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udmlldy1kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4udmlldy1pY29uIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHQtLWljb24tc2l6ZTogMTZweDtcclxufVxyXG5cclxuLyogQ29weSBtb2RlIGluZm8gc3R5bGVzICovXHJcbi5jb3B5LW1vZGUtaW5mbyB7XHJcblx0bWFyZ2luOiAxMHB4IDA7XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5jb3B5LW1vZGUtaW5mbyBwIHtcclxuXHRtYXJnaW46IDRweCAwO1xyXG59XHJcblxyXG4vKiBFTkQ6IFZpZXcgTWFuYWdlbWVudCBTdHlsZXMgKi9cclxuXHJcbi8qIFRhc2tzIFBsdWdpbiBDb21wYXRpYmlsaXR5IFdhcm5pbmcgQmFubmVyICovXHJcbi50YXNrcy1jb21wYXRpYmlsaXR5LXdhcm5pbmcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC00KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBoc2woXHJcblx0XHR2YXIoLS1hY2NlbnQtaCksXHJcblx0XHR2YXIoLS1hY2NlbnQtcyksXHJcblx0XHR2YXIoLS1hY2NlbnQtbCksXHJcblx0XHQwLjVcclxuXHQpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctaWNvbiB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2tzLXdhcm5pbmctdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRleHQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG4udGFza3Mtd2FybmluZy10ZXh0IGEge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi50YXNrcy13YXJuaW5nLXRleHQgYTpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLWZvcm1hdC1leGFtcGxlcyBzdHJvbmcge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi8qIEVuaGFuY2VkIFByb2plY3QgQ29uZmlndXJhdGlvbiBTdHlsZXMgKi9cclxuLnByb2plY3QtcGF0aC1tYXBwaW5ncy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXBhdGgtbWFwcGluZy1yb3cge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ubm8tbWFwcGluZ3MtbWVzc2FnZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLyogVGFzayBQcm9qZWN0IERpc3BsYXkgU3R5bGVzICovXHJcbi50YXNrLXByb2plY3QtdGcge1xyXG5cdG9wYWNpdHk6IDAuODtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG5cdHBhZGRpbmctbGVmdDogNHB4O1xyXG59XHJcblxyXG4udGFzay1wcm9qZWN0LXRnOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVERDE3XCI7XHJcblx0bWFyZ2luLXJpZ2h0OiAycHg7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIFByb2plY3QgU3R5bGVzICovXHJcbi5wcm9qZWN0LXJlYWRvbmx5IHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5wcm9qZWN0LXJlYWRvbmx5IGlucHV0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luLXRvcDogNHB4O1xyXG59XHJcbiIsICIvKiBCZXRhIHRlc3Qgd2FybmluZyBiYW5uZXIgc3R5bGVzICovXG4uYmV0YS10ZXN0LXdhcm5pbmctYmFubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci13YXJuaW5nKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWljb24ge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmbGV4LXNocmluazogMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYmV0YS13YXJuaW5nLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi5iZXRhLXdhcm5pbmctdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmJldGEtd2FybmluZy10ZXh0IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG4iLCAiLmNvbmZpcm0tbW9kYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XG59XG4iLCAiLmZpbHRlci1ncm91cC1zZXBhcmF0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QzNBXHU1QkY4XHU1M0Q4XHU5MUNGICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2QjIxXHU4OTgxXHU2NTg3XHU2NzJDXHU5ODlDXHU4MjcyICovXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1zZXBhcmF0b3I6OmJlZm9yZSxcclxuLmZpbHRlci1ncm91cC1zZXBhcmF0b3I6OmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyXHJcblx0KTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1OEZCOVx1Njg0Nlx1OTg5Q1x1ODI3MiAqL1xyXG5cdG1hcmdpbjogMCB2YXIoLS1zaXplLTItMSk7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxufVxyXG4uZHJhZy1oYW5kbGUge1xyXG5cdGN1cnNvcjogZ3JhYjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFx1NjMwOVx1OTRBRVx1NTQ4Q1x1OEY5M1x1NTE2NVx1Njg0Nlx1NzY4NFx1OEY4M1x1NUMwRlx1NjU4N1x1NjcyQ1x1NTQ4Q1x1NTE4NVx1OEZCOVx1OERERCAqL1xyXG4uY29tcGFjdC1idG4ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7IC8qIFx1NEY3Rlx1NzUyOCBPYnNpZGlhbiBcdTc2ODRcdTVDM0FcdTVCRjhcdTUzRDhcdTkxQ0YgKi9cclxuXHRib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHJcblx0LXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tcmFkaXVzKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMik7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcclxuXHRjdXJzb3I6IHZhcigtLWN1cnNvcik7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7XHJcblxyXG5cdG1pbi1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5jb21wYWN0LWJ0bjpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRvcGFjaXR5OiB2YXIoLS1pY29uLW9wYWNpdHktaG92ZXIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuLmNvbXBhY3QtaW5wdXQsXHJcbi5jb21wYWN0LXNlbGVjdCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcblx0aGVpZ2h0OiB2YXIoLS1pbnB1dC1oZWlnaHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU4RjkzXHU1MTY1XHU2ODQ2XHU5QUQ4XHU1RUE2XHU1M0Q4XHU5MUNGICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5jb21wYWN0LXNlbGVjdDpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmNvbXBhY3QtdGV4dCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU1QjU3XHU0RjUzXHU1OTI3XHU1QzBGXHU1M0Q4XHU5MUNGICovXHJcbn1cclxuXHJcbi8qIFx1NjJENlx1NTJBOFx1NjVGNlx1NzY4NFx1NTM2MFx1NEY0RFx1N0IyNiAqL1xyXG4uZHJhZ2dpbmctcGxhY2Vob2xkZXIge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXJcclxuXHQpOyAvKiBcdTRGN0ZcdTc1MjggT2JzaWRpYW4gXHU3Njg0XHU2MEFDXHU1MDVDXHU4MENDXHU2NjZGXHU4MjcyICovXHJcbn1cclxuXHJcbi8qIFx1NTk4Mlx1Njc5Q1x1OTcwMFx1ODk4MVx1RkYwQ1x1NEUzQVx1OEZDN1x1NkVFNFx1NTY2OFx1N0VDNFx1NEVGNlx1NzY4NFx1NjgzOVx1NUJCOVx1NTY2OFx1OEJCRVx1N0Y2RVx1NjgzN1x1NUYwRiAqL1xyXG4udGFzay1maWx0ZXItcm9vdC1jb250YWluZXIudGFzay1wb3BvdmVyLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4udGFzay1maWx0ZXItbWFpbi1wYW5lbCB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NUMzQVx1NUJGOFx1NTNEOFx1OTFDRiAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogXHU0RjdGXHU3NTI4IE9ic2lkaWFuIFx1NzY4NFx1NTcwNlx1ODlEMlx1NTNEOFx1OTFDRiAqL1xyXG59XHJcblxyXG4uZmlsdGVyLW1lbnUge1xyXG5cdHotaW5kZXg6IDUwO1xyXG5cdG1pbi13aWR0aDogNjAwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogcm9vdEZpbHRlclNldHVwU2VjdGlvbiBpbiBUUywgY29ycmVzcG9uZHMgdG8gSFRNTCdzICNyb290LWZpbHRlci1jb250YWluZXIgKi9cclxuLnJvb3QtZmlsdGVyLXNldHVwLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDAuNzVyZW07IC8qIHNwYWNlLXktMyBmcm9tIEhUTUwsIFRhaWx3aW5kIHZhcigtLXNwYWNlLTMpICovXHJcbn1cclxuXHJcbi8qIFJvb3QgQ29uZGl0aW9uIFNlY3Rpb24gKGRpdi5mbGV4Lml0ZW1zLWNlbnRlci5zcGFjZS14LTIucC0yLmJnLXNsYXRlLTEwMC5yb3VuZGVkLW1kLmJvcmRlci5ib3JkZXItc2xhdGUtMjAwKSAqL1xyXG4ucm9vdC1jb25kaXRpb24tc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtOyAvKiBzcGFjZS14LTIgZnJvbSBIVE1MLCBUYWlsd2luZCB2YXIoLS1zcGFjZS0yKSAqL1xyXG5cdHBhZGRpbmc6IDAuNXJlbTsgLyogcC0yIGZyb20gSFRNTCwgVGFpbHdpbmQgdmFyKC0tc3BhY2UtMikgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCxcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpXHJcblx0KTsgLyogYmctc2xhdGUtMTAwICovXHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pOyAvKiByb3VuZGVkLW1kICovXHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tbGFiZWwge1xyXG5cdC8qIGNvbXBhY3QtdGV4dCBhbHJlYWR5IHByb3ZpZGVzIGZvbnQtc2l6ZSAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7IC8qIGZvbnQtbWVkaXVtICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogdGV4dC1zbGF0ZS02MDAgKi9cclxufVxyXG5cclxuLnJvb3QtY29uZGl0aW9uLXNlbGVjdCB7XHJcblx0LyogY29tcGFjdC1zZWxlY3QgYWxyZWFkeSBwcm92aWRlcyBiYXNlIHN0eWxpbmcgKi9cclxuXHR3aWR0aDogYXV0bztcclxuXHRib3JkZXI6IDFweCBzb2xpZFxyXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpOyAvKiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCAqL1xyXG5cdC8qIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTsgLyogc2hhZG93LXNtICovIC8qIENvbnNpZGVyIGlmIG5lZWRlZCAqL1xyXG59XHJcblxyXG4ucm9vdC1jb25kaXRpb24tc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5yb290LWNvbmRpdGlvbi1zcGFuIHtcclxuXHQvKiBjb21wYWN0LXRleHQgYWxyZWFkeSBwcm92aWRlcyBmb250LXNpemUgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiB0ZXh0LXNsYXRlLTYwMCAqL1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgR3JvdXBzIENvbnRhaW5lciAoI2ZpbHRlci1ncm91cHMtY29udGFpbmVyKSAqL1xyXG4uZmlsdGVyLWdyb3Vwcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0zKTsgLyogc3BhY2UteS0zIGZyb20gSFRNTCAqL1xyXG5cclxuXHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgR3JvdXAgKCNmaWx0ZXItZ3JvdXAtdGVtcGxhdGUpICovXHJcbi5maWx0ZXItZ3JvdXAge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0zKTsgLyogcC0zIGZyb20gSFRNTCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyIGJvcmRlci1zbGF0ZS0zMDAgKi9cclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7IC8qIHJvdW5kZWQtbWQgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpOyAvKiBiZy13aGl0ZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogc3BhY2UteS0yIGZyb20gSFRNTCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC4zNzVyZW07IC8qIHNwYWNlLXgtMS41IGZyb20gSFRNTCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0IC5kcmFnLWhhbmRsZS1jb250YWluZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7IC8qIHRleHQtc2xhdGUtNDAwICovXHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZHJhZy1oYW5kbGUtY29udGFpbmVyOmhvdmVyIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBob3Zlcjp0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmRyYWctaGFuZGxlLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1sZWZ0ID4gLmNvbXBhY3QtdGV4dCxcclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCA+IHNwYW4uY29tcGFjdC10ZXh0IHtcclxuXHRmb250LXdlaWdodDogNTAwOyAvKiBmb250LW1lZGl1bSAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7IC8qIHRleHQtc2xhdGUtNjAwICovXHJcbn1cclxuXHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLWxlZnQgLmdyb3VwLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcbn1cclxuLmZpbHRlci1ncm91cC1oZWFkZXItbGVmdCAuZ3JvdXAtY29uZGl0aW9uLXNlbGVjdC5jb21wYWN0LXNlbGVjdDpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC4yNXJlbTsgLyogc3BhY2UteC0xIGZyb20gSFRNTCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuLFxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIHtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7IC8qIHJvdW5kZWQtbWQgZnJvbSBUYWlsd2luZCAqL1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAuZHVwbGljYXRlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0XHJcblx0LmR1cGxpY2F0ZS1ncm91cC1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlclxyXG5cdC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIGhvdmVyOnRleHQtaW5kaWdvLTYwMCAqL1xyXG59XHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5kdXBsaWNhdGUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWdyb3VwLWhlYWRlci1yaWdodCAucmVtb3ZlLWdyb3VwLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIgLnN2Zy1pY29uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7IC8qIGhvdmVyOnRleHQtcmVkLTYwMCAqL1xyXG59XHJcbi5maWx0ZXItZ3JvdXAtaGVhZGVyLXJpZ2h0IC5yZW1vdmUtZ3JvdXAtYnRuLmNvbXBhY3QtaWNvbi1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1lcnJvci1ob3ZlcixcclxuXHRcdHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpXHJcblx0KTtcclxufVxyXG5cclxuLyogRmlsdGVycyBMaXN0ICguZmlsdGVycy1saXN0KSAqL1xyXG4uZmlsdGVycy1saXN0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTItMik7IC8qIHNwYWNlLXktMS41IGZyb20gSFRNTCAqL1xyXG5cdHBhZGRpbmctbGVmdDogMXJlbTsgLyogcGwtNCBmcm9tIEhUTUwgKi9cclxuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogYm9yZGVyLWwtMiBib3JkZXItc2xhdGUtMjAwICovXHJcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC0yKTsgLyogbWwtMS41IGZyb20gSFRNTCAqL1xyXG59XHJcbi5maWx0ZXJzLWxpc3Q6ZW1wdHkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEdyb3VwIEZvb3RlciAoLmdyb3VwLWZvb3RlcikgKi9cclxuLmdyb3VwLWZvb3RlciB7XHJcblx0LyogSFRNTDogPGRpdiBjbGFzcz1cInBsLTQgbXQtMS41XCI+IGNvbnRhaW5pbmcgYnV0dG9uICovXHJcblx0LyogVFMgY3JlYXRlcyAuZ3JvdXAtZm9vdGVyLCB0aGVuIGFkZHMgQnV0dG9uQ29tcG9uZW50IHRvIGl0LiAqL1xyXG5cdHBhZGRpbmctbGVmdDogMC4zNzVyZW07IC8qIENvcnJlc3BvbmRzIHRvIHBsLTEuNSBlZmZlY3RpdmVseSBpZiBpdGVtcyBpbnNpZGUgLmZpbHRlcnMtbGlzdCBoYXZlIG1hcmdpbi9wYWRkaW5nICovXHJcblx0bWFyZ2luLXRvcDogMC4zNzVyZW07IC8qIG10LTEuNSAqL1xyXG59XHJcblxyXG4uYWRkLWZpbHRlci1idG4taWNvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgSXRlbSAoI2ZpbHRlci1pdGVtLXRlbXBsYXRlKSAqL1xyXG4uZmlsdGVyLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0LyogYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xyXG5cdC8qIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgKi9cclxuXHRwYWRkaW5nLXRvcDogMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItY29uanVuY3Rpb24ge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTsgLyogdGV4dC0yeHMgKi9cclxuXHRmb250LXdlaWdodDogNjAwOyAvKiBmb250LXNlbWlib2xkICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpOyAvKiB0ZXh0LXNsYXRlLTQwMCAqL1xyXG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0IHtcclxuXHRmbGV4LWJhc2lzOiAzMCU7IC8qIHctMS8zICovXHJcblx0ZmxleC1ncm93OiAwO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHR2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKSk7XHJcblx0LyogYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50OyAqL1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItcHJvcGVydHktc2VsZWN0LmNvbXBhY3Qtc2VsZWN0OmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Qge1xyXG5cdHdpZHRoOiBhdXRvOyAvKiB3LWF1dG8gKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZFxyXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xyXG5cdC8qIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDsgKi9cclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLWNvbmRpdGlvbi1zZWxlY3QuY29tcGFjdC1zZWxlY3Q6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5maWx0ZXItdmFsdWUtaW5wdXQuY29tcGFjdC1pbnB1dCB7XHJcblx0ZmxleC1ncm93OiAxOyAvKiBmbGV4LWdyb3cgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZFxyXG5cdFx0dmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcikpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcbi5maWx0ZXItaXRlbSAuZmlsdGVyLXZhbHVlLWlucHV0LmNvbXBhY3QtaW5wdXQ6Zm9jdXMge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuIC5zdmctaWNvbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiB0ZXh0LXNsYXRlLTUwMCAqL1xyXG59XHJcbi5maWx0ZXItaXRlbSAucmVtb3ZlLWZpbHRlci1idG4uY29tcGFjdC1pY29uLWJ0bjpob3ZlciAuc3ZnLWljb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTsgLyogaG92ZXI6dGV4dC1yZWQtNjAwICovXHJcbn1cclxuLmZpbHRlci1pdGVtIC5yZW1vdmUtZmlsdGVyLWJ0bi5jb21wYWN0LWljb24tYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtZXJyb3ItaG92ZXIsXHJcblx0XHR2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yLWhvdmVyKVxyXG5cdCk7XHJcbn1cclxuXHJcbi8qIEFkZCBGaWx0ZXIgR3JvdXAgQnV0dG9uIFNlY3Rpb24gKi9cclxuLmFkZC1ncm91cC1zZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpO1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5hZGQtZmlsdGVyLWdyb3VwLWJ0bi1pY29uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBDb25maWd1cmF0aW9uIFNlY3Rpb24gKi9cclxuLmZpbHRlci1jb25maWctc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHQvKiBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTItMSk7ICovXHJcblx0LyogbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS0yLTEpOyAqL1xyXG5cdC8qIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTItMSk7ICovXHJcblx0LyogcGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTsgKi9cclxuXHQvKiBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xyXG59XHJcblxyXG4uc2F2ZS1maWx0ZXItY29uZmlnLWJ0bixcclxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG4ge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcbi5zYXZlLWZpbHRlci1jb25maWctYnRuLWljb24sXHJcbi5sb2FkLWZpbHRlci1jb25maWctYnRuLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnNhdmUtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLmxvYWQtZmlsdGVyLWNvbmZpZy1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQ29uZmlnIE1vZGFsIFN0eWxlcyAqL1xyXG4uZmlsdGVyLWNvbmZpZy1kZXRhaWxzIHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XHJcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG5cdFx0MTM1ZGVnLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpIDAlLFxyXG5cdFx0dmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCkgMTAwJVxyXG5cdCk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlsczpob3ZlciB7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBoMyB7XHJcblx0bWFyZ2luOiAwIDAgdmFyKC0tc2l6ZS00LTIpIDA7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctZGV0YWlscyBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0yKSAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctbWV0YSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1zdW1tYXJ5IHtcclxuXHRtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIDAgMCAwO1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLXN1bW1hcnkgaDQge1xyXG5cdG1hcmdpbjogMCAwIHZhcigtLXNpemUtMi0zKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcclxufVxyXG5cclxuLmZpbHRlci1jb25maWctc3VtbWFyeSBwIHtcclxuXHRtYXJnaW46IHZhcigtLXNpemUtMi0xKSAwO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5maWx0ZXItY29uZmlnLWJ1dHRvbnMge1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0zKTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uZmlsdGVyLWNvbmZpZy1uYW1lLWhpZ2hsaWdodCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0cGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLyogQWR2YW5jZWQgZmlsdGVyIGNvbnRhaW5lciBzdHlsZXMgZm9yIFZpZXdDb25maWdNb2RhbCAqL1xyXG4uYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0zKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLXJvb3QtY29udGFpbmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLnRhc2stZmlsdGVyLW1haW4tcGFuZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBTbWFsbGVyIHN0eWxpbmcgZm9yIGZpbHRlcnMgaW4gbW9kYWwgKi9cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5maWx0ZXItZ3JvdXAge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuYWR2YW5jZWQtZmlsdGVyLWNvbnRhaW5lciAuZmlsdGVyLWl0ZW0ge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5hZHZhbmNlZC1maWx0ZXItY29udGFpbmVyIC5jb21wYWN0LWJ0biB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcclxuXHRtaW4taGVpZ2h0OiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3Qtc2VsZWN0LFxyXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLmFkdmFuY2VkLWZpbHRlci1jb250YWluZXIgLmNvbXBhY3QtaW5wdXQge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcbn1cclxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1N0YxNlx1OEY5MVx1NUYzOVx1N0E5N1x1NjgzN1x1NUYwRiAqL1xyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIHtcclxuXHRtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1N0M3Qlx1NTc4Qlx1OTAwOVx1NjJFOVx1NTY2OCAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1kZXNjcmlwdGlvbiB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cdGdhcDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcblx0LmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWdyaWQge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblx0fVxyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwYWRkaW5nOiAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWljb24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtaWNvbiBzdmcge1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXR5cGUtdGV4dCB7XHJcblx0ZmxleDogMTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1uYW1lIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC10eXBlLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtY29tbW9uLWZvcm0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1mb3JtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4vKiBcdTU2RkVcdTY4MDdcdTk4ODRcdTg5QzggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1pY29uLXByZXZpZXcge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzBweDtcclxuXHRoZWlnaHQ6IDMwcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtaWNvbi1wcmV2aWV3IHN2ZyB7XHJcblx0d2lkdGg6IDE4cHg7XHJcblx0aGVpZ2h0OiAxOHB4O1xyXG59XHJcblxyXG4vKiBcdTY2MjBcdTVDMDRcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLWNvbnRhaW5lciB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmcta2V5IHtcclxuXHR3aWR0aDogODBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LW1hcHBpbmctYXJyb3cge1xyXG5cdG1hcmdpbjogMCAxMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1tYXBwaW5nLXZhbHVlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtbWFwcGluZy1kZWxldGUge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRwYWRkaW5nOiAwIDhweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1hZGQtbWFwcGluZy1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTRFOEJcdTRFRjZcdTdGMTZcdThGOTFcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudHMtY29udGFpbmVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRnYXA6IDVweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1uYW1lIHtcclxuXHR3aWR0aDogMTIwcHg7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1ldmVudC1kZXRhaWxzIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtZXZlbnQtcHJvcGVydHkge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWV2ZW50LWRlbGV0ZSB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDEuMmVtO1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LWFkZC1ldmVudC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4vKiBcdTYzMDlcdTk0QUVcdTVCQjlcdTU2NjggKi9cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1lZGl0LWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtZGlhbG9nIC5oYWJpdC1jYW5jZWwtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4IDE2cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1kaWFsb2cgLmhhYml0LXNhdmUtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiA4cHggMTZweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIFx1OEY5M1x1NTE2NVx1NUI1N1x1NkJCNSAqL1xyXG4uaGFiaXQtZWRpdC1kaWFsb2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLWRlc2MsXHJcbi5oYWJpdC1lZGl0LWRpYWxvZyAuaGFiaXQtdHlwZS1pdGVtLnNlbGVjdGVkIC5oYWJpdC10eXBlLW5hbWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcbn1cclxuIiwgIi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NUJCOVx1NTY2OCAqL1xyXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oYWJpdC1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFx1NkRGQlx1NTJBMFx1NjMwOVx1OTRBRSAqL1xyXG4uaGFiaXQtYWRkLWJ1dHRvbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4uaGFiaXQtYWRkLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNnB4O1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmhhYml0LWFkZC1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTIxN1x1ODg2OFx1NEUzQVx1N0E3QVx1NzJCNlx1NjAwMSAqL1xyXG4uaGFiaXQtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmhhYml0LWVtcHR5LXN0YXRlIGgyIHtcclxuXHRtYXJnaW46IDAgMCAxMHB4IDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaGFiaXQtZW1wdHktc3RhdGUgcCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU5ODc5XHU1MjE3XHU4ODY4ICovXHJcbi5oYWJpdC1pdGVtcy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1OTg3OSAqL1xyXG4uaGFiaXQtaXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogNy41cmVtO1xyXG59XHJcblxyXG4uaGFiaXQtaXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NTZGRVx1NjgwNyAqL1xyXG4uaGFiaXQtaXRlbS1pY29uIHtcclxuXHQtLWljb24tc2l6ZTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDQ4cHg7XHJcblx0aGVpZ2h0OiA0OHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdG1hcmdpbi1yaWdodDogMTJweDtcclxufVxyXG5cclxuLmhhYml0LWl0ZW0taWNvbiBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi8qIFx1NEU2MFx1NjBFRlx1NEZFMVx1NjA2RiAqL1xyXG4uaGFiaXQtaXRlbS1pbmZvIHtcclxuXHRmbGV4OiAxO1xyXG5cdG1pbi13aWR0aDogMDsgLyogXHU5NjMyXHU2QjYyXHU1MTg1XHU1QkI5XHU4RkM3XHU5NTdGXHU2NDkxXHU1RjAwXHU1RTAzXHU1QzQwICovXHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLW5hbWUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLWRlc2NyaXB0aW9uIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcbn1cclxuXHJcbi5oYWJpdC1pdGVtLXR5cGUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU2NENEXHU0RjVDXHU2MzA5XHU5NEFFICovXHJcbi5oYWJpdC1pdGVtLWFjdGlvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA4cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEycHg7XHJcbn1cclxuXHJcbi5oYWJpdC1lZGl0LWJ1dHRvbixcclxuLmhhYml0LWRlbGV0ZS1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMzJweDtcclxuXHRoZWlnaHQ6IDMycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4uaGFiaXQtZWRpdC1idXR0b246aG92ZXIsXHJcbi5oYWJpdC1kZWxldGUtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLmhhYml0LWVkaXQtYnV0dG9uIHN2ZyxcclxuLmhhYml0LWRlbGV0ZS1idXR0b24gc3ZnIHtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbjpob3ZlciBzdmcge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLyogXHU0RTYwXHU2MEVGXHU1MjIwXHU5NjY0XHU1QkY5XHU4QkREXHU2ODQ2XHU2ODM3XHU1RjBGICovXHJcbi5oYWJpdC1kZWxldGUtbW9kYWwtYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdGdhcDogMTBweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uaGFiaXQtZGVsZXRlLWJ1dHRvbi1jb25maXJtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCAiLyogSUNTIFNldHRpbmdzIFN0eWxlcyAqL1xyXG5cclxuLyogTWFpbiBjb250YWluZXIgKi9cclxuLmljcy1zZXR0aW5ncy1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyogSGVhZGVyIHNlY3Rpb24gKi9cclxuLmljcy1oZWFkZXItY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5pY3MtYmFjay1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZzogMC41cmVtIDFyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmljcy1iYWNrLWJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5pY3MtZGVzY3JpcHRpb24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLyogR2xvYmFsIHNldHRpbmdzICovXHJcbi5pY3MtZ2xvYmFsLXNldHRpbmdzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogU291cmNlcyBsaXN0ICovXHJcbi5pY3Mtc291cmNlcy1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlcy1saXN0IGgzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWl0ZW0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1pdGVtOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLXRpdGxlIHN0cm9uZyB7XHJcblx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1zdGF0dXMge1xyXG5cdHBhZGRpbmc6IDAuM3JlbSAwLjhyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcclxuXHRmb250LXNpemU6IDAuNzVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4uc3RhdHVzLWVuYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5zdGF0dXMtZGlzYWJsZWQge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1kZXRhaWxzIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtZGV0YWlscyBkaXYge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxufVxyXG5cclxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cclxuLmljcy1zb3VyY2UtYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDFyZW07XHJcbn1cclxuXHJcbi5wcmltYXJ5LWFjdGlvbnMsXHJcbi5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZzpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uOmRpc2FibGVkIHtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmcge1xyXG5cdGNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNzIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG59XHJcblxyXG4uaWNzLXNvdXJjZS1hY3Rpb25zIGJ1dHRvbi5lcnJvciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4vKiBBZGQgc291cmNlIGNvbnRhaW5lciAqL1xyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAycmVtO1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uaWNzLWFkZC1zb3VyY2UtY29udGFpbmVyOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblx0Zm9udC1zaXplOiAwLjk1ZW07XHJcbn1cclxuXHJcbi5pY3MtYWRkLXNvdXJjZS1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLyogVGVzdCBjb250YWluZXIgKi9cclxuLmljcy10ZXN0LWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCk7XHJcbn1cclxuXHJcbi5pY3MtdGVzdC1idXR0b24ge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5pY3MtdGVzdC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLyogRW1wdHkgc3RhdGUgKi9cclxuLmljcy1lbXB0eS1zdGF0ZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDNyZW0gMnJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4vKiBNb2RhbCBzdHlsZXMgKi9cclxuLmljcy1zb3VyY2UtbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xyXG5cdG1heC13aWR0aDogNjAwcHg7XHJcblx0bWF4LWhlaWdodDogODB2aDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uYXV0aC1maWVsZCB7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG59XHJcblxyXG4ubW9kYWwtYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG5cdG1pbi13aWR0aDogODBweDtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBkZXNpZ24gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0Lmljcy1zb3VyY2UtaGVhZGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdGdhcDogMC41cmVtO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0Z2FwOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQucHJpbWFyeS1hY3Rpb25zLFxyXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR9XHJcblxyXG5cdC5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuXHQuaWNzLXNldHRpbmdzLWNvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuaWNzLXNvdXJjZS1pdGVtIHtcclxuXHRcdHBhZGRpbmc6IDFyZW07XHJcblx0fVxyXG5cclxuXHQucHJpbWFyeS1hY3Rpb25zLFxyXG5cdC5zZWNvbmRhcnktYWN0aW9ucyB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxuXHJcblx0Lmljcy1zb3VyY2UtYWN0aW9ucyBidXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLyogVGV4dCBSZXBsYWNlbWVudHMgU3R5bGVzICovXHJcbi50ZXh0LXJlcGxhY2VtZW50cy1saXN0IHtcclxuXHRtYXJnaW46IDFyZW0gMDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnRzLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcnVsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1ydWxlOmhvdmVyIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtaGVhZGVyIHN0cm9uZyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzIHtcclxuXHRwYWRkaW5nOiAwLjJyZW0gMC42cmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1zdGF0dXMuZW5hYmxlZCB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtc3RhdHVzLmRpc2FibGVkIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRmb250LXNpemU6IDAuODVlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtZGV0YWlscyBkaXYge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtcGF0dGVybiB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1yZXBsYWNlbWVudCB7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tbGVmdDogMC41cmVtO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtYWN0aW9ucyBidXR0b24ge1xyXG5cdHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2QtY3RhIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hY3Rpb25zIGJ1dHRvbi5tb2Qtd2FybmluZyB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcmVkKTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hZGQge1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGV4dC1yZXBsYWNlbWVudC1hZGQgYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LWFkZCBidXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4vKiBUZXh0IFJlcGxhY2VtZW50IE1vZGFsIFN0eWxlcyAqL1xyXG4udGV4dC1yZXBsYWNlbWVudC1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHRtYXgtaGVpZ2h0OiA4NXZoO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi50ZXN0LW91dHB1dCB7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdHBhZGRpbmc6IDAuOHJlbTtcclxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWZvcm0tZmllbGQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcclxuXHRmb250LXNpemU6IDAuOWVtO1xyXG59XHJcblxyXG4udGVzdC1yZXN1bHQge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qIEV4YW1wbGVzIHNlY3Rpb24gKi9cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgdWwge1xyXG5cdG1hcmdpbjogMC41cmVtIDA7XHJcblx0cGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbn1cclxuXHJcbi50ZXh0LXJlcGxhY2VtZW50LW1vZGFsIGxpIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLnRleHQtcmVwbGFjZW1lbnQtbW9kYWwgY29kZSB7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1mb3JtLWZpZWxkKTtcclxuXHRwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xyXG5cdGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4vKiBBbmltYXRpb24gZm9yIHN5bmMgYnV0dG9uICovXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcblx0MCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuXHR9XHJcbn1cclxuXHJcbi5pY3Mtc291cmNlLWFjdGlvbnMgYnV0dG9uLnN5bmNpbmc6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcblx0YW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsLFxyXG4uaWNzLXNvdXJjZS1tb2RhbCB7XHJcblx0bWF4LXdpZHRoOiAxMDAwcHg7XHJcblx0bWF4LWhlaWdodDogOTB2aDtcclxuXHJcblx0cGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLmljcy10ZXh0LXJlcGxhY2VtZW50LW1vZGFsIC5tb2RhbC1jb250ZW50LFxyXG4uaWNzLXNvdXJjZS1tb2RhbCAubW9kYWwtY29udGVudCB7XHJcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcbiIsICIvKiBXb3JrZmxvdyBEZWNvcmF0b3IgU3R5bGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogNHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3BhY2l0eTogMC43O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNtLXdvcmtmbG93LXN0YWdlLWluZGljYXRvciBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogRGlmZmVyZW50IGNvbG9ycyBmb3IgZGlmZmVyZW50IHN0YWdlIHR5cGVzICovXG4uY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuXG4vKiBEYXJrIHRoZW1lIGFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAuY20td29ya2Zsb3ctc3RhZ2UtaW5kaWNhdG9yW2RhdGEtc3RhZ2UtdHlwZT1cImxpbmVhclwiXSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwiY3ljbGVcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1pbi1wcm9ncmVzcy1jb2xvcik7XG59XG5cbi50aGVtZS1kYXJrIC5jbS13b3JrZmxvdy1zdGFnZS1pbmRpY2F0b3JbZGF0YS1zdGFnZS10eXBlPVwidGVybWluYWxcIl0ge1xuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xufVxuIiwgIi8qIERhdGUgUGlja2VyIENvbXBvbmVudCBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1haW4tcGFuZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNpemUtMi0zKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLWxlZnQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItcmlnaHQtcGFuZWwge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmRhdGUtcGlja2VyLXNlY3Rpb24tdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLyogUXVpY2sgT3B0aW9ucyBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9ucy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtMi0xKTtcblx0bWF4LWhlaWdodDogMTk1cHg7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKSB2YXIoLS1zaXplLTQtMik7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWl0ZW0uY2xlYXItb3B0aW9uOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAucXVpY2stb3B0aW9uLWxhYmVsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLnF1aWNrLW9wdGlvbi1pdGVtLnNlbGVjdGVkIC5xdWljay1vcHRpb24tZGF0ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIENhbGVuZGFyIFN0eWxlcyAqL1xuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLXNpemUtMi0yKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgteWVhciB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5jYWxlbmRhci1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcblx0Z2FwOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0yKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cdG1pbi1oZWlnaHQ6IDMycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5vdGhlci1tb250aCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xufVxuXG4uZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIgLmNhbGVuZGFyLWRheS50b2RheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi8qIFBvcG92ZXIgU3R5bGVzICovXG4uZGF0ZS1waWNrZXItcG9wb3Zlci50Zy1tZW51IHtcblx0ei1pbmRleDogMjA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sKTtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5kYXRlLXBpY2tlci1wb3BvdmVyLnRnLW1lbnUgLmRhdGUtcGlja2VyLXBvcG92ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1vYmlsZSBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tYWluLXBhbmVsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xuXHR9XG5cblx0LmRhdGUtcGlja2VyLXJvb3QtY29udGFpbmVyIC5kYXRlLXBpY2tlci1sZWZ0LXBhbmVsIHtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cdH1cblxuXHQuZGF0ZS1waWNrZXItcm9vdC1jb250YWluZXIge1xuXHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxuXG5cdC5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuY2FsZW5kYXItZGF5IHtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR9XG59XG5cbi8qIFdpZGdldCBFcnJvciBTdHlsZXMgKi9cbi5kYXRlLXBpY2tlci1yb290LWNvbnRhaW5lciAuZGF0ZS1waWNrZXItd2lkZ2V0LWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTEpIHZhcigtLXNpemUtMi0yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG59XG4iLCAiLyogUXVpY2sgQ2FwdHVyZSBQYW5lbCAqL1xyXG4ucXVpY2stY2FwdHVyZS1wYW5lbCB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWhlYWRlci1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQge1xyXG5cdGZsZXg6IDE7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXRleHQtc2l6ZSk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQ6Zm9jdXMge1xyXG5cdC8qIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1mb2N1cyk7ICovXHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtaGludCB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogLTRweDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAyMDBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1maWxlLXN1Z2dlc3Qge1xyXG5cdG1heC13aWR0aDogNTAwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnF1aWNrLWNhcHR1cmUtc3VibWl0LFxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdHBhZGRpbmc6IDZweCAxMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXN1Ym1pdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jYW5jZWwge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGdhcDogMTBweDtcclxuXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLnF1aWNrLWNhcHR1cmUtbW9kYWwtZWRpdG9yIHtcclxuXHRtaW4taGVpZ2h0OiAxNTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLWJ1dHRvbnMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qIEZ1bGwtZmVhdHVyZWQgbW9kYWwgc3R5bGVzICovXHJcbi5xdWljay1jYXB0dXJlLW1vZGFsLmZ1bGwge1xyXG5cdHdpZHRoOiA4MHZ3O1xyXG5cdG1heC13aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWxheW91dCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Z2FwOiAxNnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLWNvbmZpZy1wYW5lbCB7XHJcblx0ZmxleDogMTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1yaWdodDogMTZweDtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdG1heC13aWR0aDogNDAlO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1lZGl0b3ItcGFuZWwge1xyXG5cdGZsZXg6IDEuNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5xdWljay1jYXB0dXJlLXNlY3Rpb24tdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS10YXJnZXQtY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIC5xdWljay1jYXB0dXJlLW1vZGFsLWVkaXRvciB7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0ZmxleDogMTtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdG1hcmdpbi10b3A6IDhweDtcclxufVxyXG5cclxuLyogTW9iaWxlIG9wdGltaXphdGlvbiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQucXVpY2stY2FwdHVyZS1tb2RhbC5mdWxsIHtcclxuXHRcdHdpZHRoOiA5NXZ3O1xyXG5cdH1cclxuXHJcblx0LnF1aWNrLWNhcHR1cmUtbGF5b3V0IHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0XHRtYXgtaGVpZ2h0OiA0MCU7XHJcblx0fVxyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4ucXVpY2stY2FwdHVyZS1jb25maWctcGFuZWwgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRnYXA6IHZhcigtLXNpemUtNC0zKTtcclxufVxyXG4iLCAiLnRhc2stZGV0YWlscyAucGFuZWwtdG9nZ2xlLWNvbnRhaW5lciB7XG5cdGxlZnQ6IDEwcHg7XG59XG5cbi8qIERldGFpbCBQYW5lbCBTdHlsZXMgKi9cbi50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMzAwcHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdG9yZGVyOiAxO1xufVxuXG4vKiBEZXRhaWxzIHBhbmVsIHZpc2liaWxpdHkgKi9cbi50YXNrLWdlbml1cy1jb250YWluZXIuZGV0YWlscy1oaWRkZW4gLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0zMDBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhc2stZ2VuaXVzLWNvbnRhaW5lci5kZXRhaWxzLXZpc2libGUgLnRhc2stZGV0YWlscyB7XG5cdHdpZHRoOiAzNTBweDtcblx0b3BhY2l0eTogMTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBNb2JpbGUgdmlldyAtIHNsaWRlIGZyb20gcmlnaHQgKi9cbi5pcy1waG9uZSAudGFzay1kZXRhaWxzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtaGlkZGVuIC50YXNrLWRldGFpbHMge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZSAudGFzay1kZXRhaWxzIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNpemUtNC0xMikpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gZGV0YWlscyBhcmUgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAudGFzay1nZW5pdXMtY29udGFpbmVyLmRldGFpbHMtdmlzaWJsZTo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItY292ZXIpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHotaW5kZXg6IDU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmlzLXBob25lIC5kZXRhaWxzLWNsb3NlLWJ0biB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXMtcGhvbmUgLmRldGFpbHMtaGVhZGVyIHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZGV0YWlscy1lbXB0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBEZXRhaWxzIGNvbnRlbnQgKi9cbi5kZXRhaWxzLWhlYWRlciB7XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtNC0zKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0zKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuXG4uZGV0YWlscy1jb250ZW50IHtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZy1ib3R0b206IG1heCh2YXIoLS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tKSwgdmFyKC0tc2l6ZS00LTgpKTtcbn1cblxuLmRldGFpbHMtbmFtZSB7XG5cdG1hcmdpbjogMCAwIDhweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IDEuM2VtO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZGV0YWlscy1zdGF0dXMtbGFiZWwge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1zdGF0dXMge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZW51LWl0ZW0tdGl0bGU6aGFzKC5zdGF0dXMtb3B0aW9uKSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Z2FwOiA0cHg7XG59XG5cbi5tZW51LWl0ZW06aGFzKC5zdGF0dXMtb3B0aW9uLWNoZWNrYm94KSAubWVudS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uc3RhdHVzLW9wdGlvbi1jaGVja2JveCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3RhdHVzLW9wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdGF0dXMtb3B0aW9uLmN1cnJlbnQtc3RhdHVzIHtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0b3V0bGluZTogMXB4IHNvbGlkXG5cdFx0aHNsKHZhcigtLWFjY2VudC1oKSwgdmFyKC0tYWNjZW50LXMpLCB2YXIoLS1hY2NlbnQtbCksIDAuMyk7XG5cdG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbn1cblxuLnN0YXR1cy1vcHRpb246bm90KC5jdXJyZW50LXN0YXR1cykge1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi5zdGF0dXMtb3B0aW9uOm5vdCguY3VycmVudC1zdGF0dXMpOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnN0YXR1cy1vcHRpb24gaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuXHRtYXJnaW4taW5saW5lLWVuZDogMDtcbn1cblxuLmRldGFpbHMtbWV0YWRhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5tZXRhZGF0YS1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMnB4O1xufVxuXG4ubWV0YWRhdGEtbGFiZWwge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tZXRhZGF0YS12YWx1ZSB7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG4uZGV0YWlscy1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4uZGV0YWlscy1lZGl0LWJ0bixcbi5kZXRhaWxzLXRvZ2dsZS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ub3JtYWwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcbn1cblxuLmRldGFpbHMtZWRpdC1idG46aG92ZXIsXG4uZGV0YWlscy10b2dnbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4uZGV0YWlscy10b2dnbGUtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLyogVGFzayBlZGl0aW5nIGZvcm0gc3R5bGVzICovXG4uZGV0YWlscy1lZGl0LWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG59XG5cbi5kZXRhaWxzLWZvcm0tZmllbGQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDRweDtcbn1cblxuLmRldGFpbHMtZm9ybS1sYWJlbCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtZm9ybS1pbnB1dCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZGV0YWlscy1lZGl0LWNvbnRlbnQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGV0YWlscy1mb3JtLWlucHV0IGlucHV0LFxuLmRldGFpbHMtZm9ybS1pbnB1dCBzZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi5kYXRlLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDZweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uZmllbGQtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRnYXA6IDhweDtcbn1cblxuLmRldGFpbHMtZm9ybS1idXR0b25zIGJ1dHRvbiB7XG5cdGZsZXg6IDE7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGV0YWlscy1mb3JtLWVycm9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdHBhZGRpbmc6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1lcnJvcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRldGFpbHMtZWRpdC1maWxlLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLW5vcm1hbCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xufVxuXG4uZGV0YWlscy1lZGl0LWZpbGUtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtaG92ZXIpO1xufVxuXG4vKiBSZXNwb25zaXZlIGRlc2lnbiBmb3IgbW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1vbW5pZm9jdXMtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnRhc2stc2lkZWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0fVxuXG5cdC50YXNrLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHQudGFzay1kZXRhaWxzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdH1cbn1cblxuLyogUHJvamVjdCBzb3VyY2UgaW5kaWNhdG9yIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IgLmluZGljYXRvci1pY29uIHtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFJlYWRvbmx5IGluZGljYXRvciAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWVycm9yKTtcbn1cblxuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5yZWFkb25seS1pbmRpY2F0b3IgLmluZGljYXRvci10ZXh0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBPdmVycmlkZSBpbmRpY2F0b3IgKi9cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Iub3ZlcnJpZGUtaW5kaWNhdG9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQpO1xufVxuXG4ucHJvamVjdC1zb3VyY2UtaW5kaWNhdG9yLm92ZXJyaWRlLWluZGljYXRvciAuaW5kaWNhdG9yLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBGaWVsZCBkZXNjcmlwdGlvbnMgKi9cbi5maWVsZC1kZXNjcmlwdGlvbi5yZWFkb25seS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maWVsZC1kZXNjcmlwdGlvbi5vdmVycmlkZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdG1hcmdpbi10b3A6IDRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBJbmxpbmUgZWRpdG9yIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci5pbmxpbmUtaW5kaWNhdG9yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwYWRkaW5nOiAycHggNnB4O1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFRhYmxlIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3Qtc291cmNlLWluZGljYXRvci50YWJsZS1pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHRyaWdodDogMnB4O1xuXHRwYWRkaW5nOiAxcHggM3B4O1xuXHRmb250LXNpemU6IDAuN2VtO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdHotaW5kZXg6IDU7XG59XG5cbi5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3IudGFibGUtaW5kaWNhdG9yIC5pbmRpY2F0b3ItaWNvbiB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi50YXNrLXRhYmxlLWNlbGwucmVhZG9ubHktY2VsbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZXJyb3ItaG92ZXIpO1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFByb2plY3QgY29udGFpbmVyIHNwZWNpZmljIHN0eWxlcyAqL1xuLnByb2plY3QtY29udGFpbmVyLnByb2plY3QtcmVhZG9ubHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0LWNvbnRhaW5lci5wcm9qZWN0LXJlYWRvbmx5IC5wcm9qZWN0LXNvdXJjZS1pbmRpY2F0b3Ige1xuXHRtYXJnaW4tdG9wOiA4cHg7XG59XG4iLCAiLyogVGFzayBsaXN0ICovXHJcbi50YXNrLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udGFzay1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTMpO1xyXG59XHJcblxyXG4udGFzay1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4udGFzay1jaGlsZHJlbi1jb250YWluZXIgLnRhc2staXRlbTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4udGFzay1pdGVtLnNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4udGFzay1pdGVtLnRhc2stY29tcGxldGVkIC50YXNrLWl0ZW0tY29udGVudCB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay1pdGVtIC5tYXJrZG93bi1ibG9jay5tYXJrZG93bi1yZW5kZXJlciA+IHA6b25seS1jaGlsZCB7XHJcblx0cGFkZGluZzogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFzay1jaGVja2JveCB7XHJcblx0d2lkdGg6IDE2cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLnRhc2staXRlbS50YXNrLWNvbXBsZXRlZCAudGFzay1jaGVja2JveCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2staXRlbS1jb250ZW50IHtcclxuXHRmbGV4OiAxO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnRhc2staXRlbS1jb250YWluZXIge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhOmVtcHR5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGFzay1kYXRlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlLWhvdmVyKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSkgdmFyKC0tc2l6ZS0yLTMpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stZGF0ZSB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stZGF0ZTo6YmVmb3JlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTItMik7XHJcblx0Zm9udC1zaXplOiB4eC1zbWFsbDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tdmlldyAudGFzay1kYXRlOjpiZWZvcmUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLWR1ZS1kYXRlOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXHVEODNEXHVEQ0M1XCI7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1vdmVyZHVlIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLWR1ZS10b2RheSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi50YXNrLWRhdGUudGFzay1kdWUtc29vbiB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLXN0YXJ0LWRhdGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdUQ4M0RcdURFRUJcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLWNyZWF0ZWQtZGF0ZTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1Mjc5NVwiO1xyXG59XHJcblxyXG4udGFzay1kYXRlLnRhc2stc2NoZWR1bGVkLWRhdGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTIzRjNcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLWRvbmUtZGF0ZTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1MjcwNVwiO1xyXG59XHJcblxyXG4udGFzay1kYXRlLnRhc2stY2FuY2VsbGVkLWRhdGU6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdTI3NENcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLXJlY3VycmVuY2U6OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdUQ4M0RcdUREMDFcIjtcclxufVxyXG5cclxuLnRhc2stZGF0ZS50YXNrLW9uLWNvbXBsZXRpb246OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcdUQ4M0NcdURGQzFcIjtcclxufVxyXG5cclxuLnRhc2stcHJvamVjdCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi50YXNrLXByb2plY3Q6aGFzKGlucHV0KSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWl0ZW06aG92ZXIgLnRhc2stcHJvamVjdCB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stcHJvamVjdDo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlx1RDgzRFx1RERDMlx1RkUwRlwiO1xyXG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4udGFzay1wcm9qZWN0OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZS1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stcHJpb3JpdHkge1xyXG5cdG1hcmdpbi1sZWZ0OiA4cHg7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTQge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LXdhcm5pbmcpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBUYXNrIHRhZyBzdHlsZXMgKi9cclxuLnRhc2stdGFncy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4udGFzay10YWdzLWNvbnRhaW5lcjplbXB0eSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRhc2stdGFnIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKSB2YXIoLS1zaXplLTItMyk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4udGFzay1pdGVtOmhvdmVyIC50YXNrLXRhZyB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2staXRlbS1jb250ZW50IHA6aGFzKGltZykgaW1nIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogbWluKDUwJSwgMjAwcHgpO1xyXG59XHJcbiIsICIvKiBJbmxpbmUgRWRpdG9yIFN0eWxlcyAtIE9wdGltaXplZCBmb3IgUGVyZm9ybWFuY2UgYW5kIFVYICovXHJcbi5pbmxpbmUtZWRpdG9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBDb250ZW50IEVkaXRvciAtIE1vcmUgaW5saW5lIGFwcGVhcmFuY2UgKi9cclxuLmlubGluZS1jb250ZW50LWVkaXRvciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi5pbmxpbmUtY29udGVudC1lZGl0b3I6Zm9jdXMge1xyXG5cdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggMCAwIHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIEVkaXRvciBTdHlsZXMgLSBNb3JlIHNlYW1sZXNzICovXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMThweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlubGluZS1lbWJlZGRlZC1lZGl0b3Ige1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1mb2N1c2VkIHtcclxuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1jb250ZW50IHtcclxuXHRwYWRkaW5nOiAycHggNHB4O1xyXG5cdG1pbi1oZWlnaHQ6IDE4cHg7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4uaW5saW5lLWVtYmVkZGVkLWVkaXRvciAuY20tbGluZSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgRWRpdG9yIENvbnRhaW5lciAtIE1vcmUgY29tcGFjdCBhbmQgaW5saW5lICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogNHB4O1xyXG5cdHBhZGRpbmc6IDJweCA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRtaW4td2lkdGg6IDEyMHB4O1xyXG5cdG1heC13aWR0aDogMzAwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLmlubGluZS1tZXRhZGF0YS1lZGl0b3IgaW5wdXQge1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcblx0b3V0bGluZTogdW5zZXQ7XHJcblx0cGFkZGluZzogMDtcclxuXHRoZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIGlucHV0OmZvY3VzIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5saW5lLW1ldGFkYXRhLWVkaXRvcjpoYXMoaW5wdXQpIHtcclxuXHRvdXRsaW5lOiB1bnNldDtcclxuXHRib3JkZXI6IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmFkaXVzOiB1bnNldDtcclxufVxyXG5cclxuLyogTWV0YWRhdGEgSW5wdXQgRmllbGRzIC0gTW9yZSBjb21wYWN0ICovXHJcbi5pbmxpbmUtcHJvamVjdC1pbnB1dCxcclxuLmlubGluZS10YWdzLWlucHV0LFxyXG4uaW5saW5lLWNvbnRleHQtaW5wdXQsXHJcbi5pbmxpbmUtZGF0ZS1pbnB1dCxcclxuLmlubGluZS1yZWN1cnJlbmNlLWlucHV0IHtcclxuXHRmbGV4OiAxO1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRtaW4td2lkdGg6IDgwcHg7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xyXG59XHJcblxyXG4uaW5saW5lLXByb2plY3QtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtdGFncy1pbnB1dDpmb2N1cyxcclxuLmlubGluZS1jb250ZXh0LWlucHV0OmZvY3VzLFxyXG4uaW5saW5lLWRhdGUtaW5wdXQ6Zm9jdXMsXHJcbi5pbmxpbmUtcmVjdXJyZW5jZS1pbnB1dDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmlubGluZS1wcmlvcml0eS1zZWxlY3Qge1xyXG5cdHBhZGRpbmc6IDJweCA0cHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWluLXdpZHRoOiA4MHB4O1xyXG59XHJcblxyXG4uaW5saW5lLXByaW9yaXR5LXNlbGVjdDpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRkIE1ldGFkYXRhIEJ1dHRvbiAtIE1vcmUgc3VidGxlICovXHJcbi5hZGQtbWV0YWRhdGEtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiA0cHg7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QgLnRhc2staXRlbTpub3QoLnRyZWUtdGFzay1pdGVtKTpob3ZlciAuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRyZWUtdGFzay1pdGVtIC50YXNrLWl0ZW0tY29udGFpbmVyOmhvdmVyIC5hZGQtbWV0YWRhdGEtYnRuIHtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMjJweDtcclxuXHRoZWlnaHQ6IDIycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcclxuXHQtLWljb24tc2l6ZTogMTBweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0bjphY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4uYWRkLW1ldGFkYXRhLWJ0biBzdmcge1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxufVxyXG5cclxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgKi9cclxuLmlubGluZS1lZGl0b3IgKiB7XHJcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcclxuXHRcdGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcclxufVxyXG5cclxuLyogRm9jdXMgc3RhdGVzIGZvciBiZXR0ZXIgYWNjZXNzaWJpbGl0eSAqL1xyXG4uaW5saW5lLWVkaXRvciBpbnB1dDpmb2N1cyxcclxuLmlubGluZS1lZGl0b3IgdGV4dGFyZWE6Zm9jdXMsXHJcbi5pbmxpbmUtZWRpdG9yIHNlbGVjdDpmb2N1cyB7XHJcblx0b3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogRWRpdGFibGUgTWV0YWRhdGEgSXRlbXMgLSBNb3JlIHN1YnRsZSBob3ZlciBlZmZlY3RzICovXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXIsXHJcbi50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stcHJvamVjdDpob3ZlcixcclxuLnRhc2staXRlbS1tZXRhZGF0YSAudGFzay10YWc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyogUmVtb3ZlIHRvb2x0aXAgb24gaG92ZXIgZm9yIGJldHRlciBwZXJmb3JtYW5jZSAqL1xyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGU6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXByb2plY3Q6aG92ZXI6OmFmdGVyLFxyXG4udGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLXRhZzpob3Zlcjo6YWZ0ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIENvbnRlbnQgRWRpdGFibGUgSG92ZXIgLSBNb3JlIHN1YnRsZSAqL1xyXG4udGFzay1pdGVtLWNvbnRlbnQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XHJcbn1cclxuXHJcbi8qIEFuaW1hdGlvbiBmb3Igc21vb3RoIHRyYW5zaXRpb25zIC0gT3B0aW1pemVkICovXHJcbi5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcclxuXHRmcm9tIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgbGF5b3V0IHNoaWZ0IGR1cmluZyBlZGl0aW5nICovXHJcbi5pbmxpbmUtZWRpdG9yLXBsYWNlaG9sZGVyIHtcclxuXHRtaW4taGVpZ2h0OiAxZW07XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIC0gU2ltcGxpZmllZCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHQuaW5saW5lLXByb2plY3QtaW5wdXQsXHJcblx0LmlubGluZS10YWdzLWlucHV0LFxyXG5cdC5pbmxpbmUtY29udGV4dC1pbnB1dCxcclxuXHQuaW5saW5lLXJlY3VycmVuY2UtaW5wdXQge1xyXG5cdFx0bWluLXdpZHRoOiAxMDBweDtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHR9XHJcblxyXG5cdC5pbmxpbmUtbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRcdG1heC13aWR0aDogMjUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xyXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcclxuXHQuaW5saW5lLWNvbnRlbnQtZWRpdG9yLFxyXG5cdC5pbmxpbmUtZW1iZWRkZWQtZWRpdG9yIC5jbS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG59XHJcblxyXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0LmlubGluZS1lZGl0b3IgKixcclxuXHQudGFzay1pdGVtLW1ldGFkYXRhIC50YXNrLWRhdGUsXHJcblx0LnRhc2staXRlbS1tZXRhZGF0YSAudGFzay1wcm9qZWN0LFxyXG5cdC50YXNrLWl0ZW0tbWV0YWRhdGEgLnRhc2stdGFnLFxyXG5cdC50YXNrLWl0ZW0tY29udGVudCxcclxuXHQuYWRkLW1ldGFkYXRhLWJ0biB7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0LmlubGluZS1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdFx0YW5pbWF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG4iLCAiLyogVHJlZSBWaWV3IHN0eWxlcyAqL1xuXG4vKiBUcmVlIGl0ZW0gY29udGFpbmVyICovXG4udHJlZS10YXNrLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRhc2stY2hpbGRyZW4tY29udGFpbmVyIC50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0ge1xuXHRib3JkZXItYm90dG9tOiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcblx0Z2FwOiAwO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIHtcblx0Z2FwOiAwO1xufVxuXG4udHJlZS10YXNrLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udHJlZS10YXNrLWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLXRhc2staXRlbS5jb21wbGV0ZWQge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFRhc2sgY29udGVudCByb3cgKGNvbnRhaW5zIHRoZSBtYWluIHRhc2sgY29udGVudCkgKi9cbi50cmVlLXRhc2staXRlbSA+IGRpdjpmaXJzdC1vZi10eXBlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDZweDtcbn1cblxuLyogSW5kZW50YXRpb24gZm9yIGhpZXJhcmNoeSAqL1xuLnRhc2staW5kZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stZXhwYW5kLXRvZ2dsZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zaXplLTItMik7XG59XG5cbi50YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS0yLTIpO1xufVxuXG4vKiBFeHBhbmQvY29sbGFwc2UgdG9nZ2xlICovXG4udGFzay1leHBhbmQtdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZXhwYW5kLXRvZ2dsZTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIFRhc2sgY2hlY2tib3ggKi9cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stY2hlY2tib3gge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udGFzay1pdGVtLnRyZWUtdGFzay1pdGVtIC50YXNrLWNoZWNrYm94OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2staXRlbS50cmVlLXRhc2staXRlbSAudGFzay1jaGVja2JveC5jaGVja2VkIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLyogVGFzayBjb250ZW50ICovXG4udGFzay1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udHJlZS10YXNrLWl0ZW0uY29tcGxldGVkIC50YXNrLWNvbnRlbnQge1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBUYXNrIG1ldGFkYXRhICovXG4udGFzay1tZXRhZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogOHB4O1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdGZvbnQtc2l6ZTogMC44NWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLW1ldGFkYXRhOmVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRhc2stZHVlLWRhdGUub3ZlcmR1ZSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50YXNrLWl0ZW0udHJlZS10YXNrLWl0ZW0gLnRhc2stcHJvamVjdCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMXB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0zIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXByaW9yaXR5LnByaW9yaXR5LTEge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBDaGlsZHJlbiBjb250YWluZXIgKi9cbi50YXNrLWNoaWxkcmVuLWNvbnRhaW5lciB7XG5cdC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuXHRtYXJnaW4tdG9wOiA0cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBWaWV3IHRvZ2dsZSBidXR0b24gKi9cbi52aWV3LXRvZ2dsZS1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnZpZXctdG9nZ2xlLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay1jaGlsZHJlbi1jb250YWluZXI6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCAiLyogRm9yZWNhc3QgQ29tcG9uZW50IFN0eWxlcyAqL1xyXG4uZm9yZWNhc3QtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDE1cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxufVxyXG5cclxuLmZvcmVjYXN0LWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1hY3Rpb25zIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1zZXR0aW5ncyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdG9wYWNpdHk6IDAuNztcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZm9yZWNhc3Qtc2V0dGluZ3M6aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1mb2N1cy1iYXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cGFkZGluZzogMTBweCAxNXB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Z2FwOiAxMHB4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb2N1cy1pbnB1dCB7XHJcblx0ZmxleDogMTtcclxuXHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi51bmZvY3VzLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4udW5mb2N1cy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi8qIE1haW4gY29udGVudCBsYXlvdXQgd2l0aCB0d28gY29sdW1ucyAqL1xyXG4uZm9yZWNhc3QtY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0d2lkdGg6IDM2MHB4O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtcmlnaHQtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1jYWxlbmRhci1zZWN0aW9uIHtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qIFN0YXRzIEJhciAqL1xyXG4uZm9yZWNhc3Qtc3RhdHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtOjphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDEwJTtcclxuXHR3aWR0aDogODAlO1xyXG5cdGhlaWdodDogM3B4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnN0YXQtaXRlbS5hY3RpdmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGFuaW1hdGlvbjogY29sb3ItcHVsc2UgMS41cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgY29sb3ItcHVsc2Uge1xyXG5cdDAlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0xKSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMC43O1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC0yKSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctcGFzdC1kdWU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5zdGF0LWl0ZW0udGctdG9kYXk6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLnN0YXQtaXRlbS50Zy1mdXR1cmU6OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uc3RhdC1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uc3RhdC1pdGVtLnRnLXBhc3QtZHVlIC5zdGF0LWNvdW50IHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcbn1cclxuXHJcbi5zdGF0LWxhYmVsIHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLyogRHVlIFNvb24gU2VjdGlvbiAqL1xyXG4uZm9yZWNhc3QtZHVlLXNvb24tc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMyk7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1oZWFkZXIge1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRwYWRkaW5nOiA1cHggMTVweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG59XHJcblxyXG4uZHVlLXNvb24taXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi5kdWUtc29vbi1pdGVtOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItbGVmdC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWRhdGUge1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5kdWUtc29vbi1jb3VudCB7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmR1ZS1zb29uLWVtcHR5IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogOHB4IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcclxufVxyXG5cclxuLmRhdGUtc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tdG9nZ2xlIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcclxuXHRmbGV4OiAxO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5kYXRlLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWNvdW50IHtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZzogMnB4IDZweDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGhlaWdodDogdmFyKC0tc2l6ZS00LTUpO1xyXG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XHJcbn1cclxuXHJcbi8qIE92ZXJkdWUgc2VjdGlvbiBzdHlsaW5nICovXHJcbi50YXNrLWRhdGUtc2VjdGlvbi5vdmVyZHVlIC5kYXRlLXNlY3Rpb24taGVhZGVyIHtcclxuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi10aXRsZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG59XHJcblxyXG4udGFzay1kYXRlLXNlY3Rpb24ub3ZlcmR1ZSAuc2VjdGlvbi1jb3VudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uc2VjdGlvbi10YXNrcyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZm9yZWNhc3QtZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0aGVpZ2h0OiAxMDBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5mb3JlY2FzdC1zaWRlYmFyLXRvZ2dsZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uaXMtcGhvbmVcclxuXHQuZm9yZWNhc3QtaGVhZGVyOmhhcyguZm9yZWNhc3Qtc2lkZWJhci10b2dnbGUpXHJcblx0LmZvcmVjYXN0LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4vKiBGb3JlY2FzdCBWaWV3IC0gTW9iaWxlICovXHJcbi5pcy1waG9uZSAuZm9yZWNhc3QtY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmlzLXBob25lIC5mb3JlY2FzdC1sZWZ0LWNvbHVtbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3QtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uaXMtcGhvbmUgLmZvcmVjYXN0LXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAuZm9yZWNhc3Qtc2lkZWJhci1jbG9zZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTBweDtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHR3aWR0aDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lIC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC5mb3JlY2FzdC1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlKTo6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHotaW5kZXg6IDU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbiIsICIvKiBDYWxlbmRhciBDb21wb25lbnQgU3R5bGVzICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEwcHggMTVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Z2FwOiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItbW9udGgge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXllYXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDhweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1uYXYtYnRuIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDI0cHg7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0b3BhY2l0eTogMC43O1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdi1idG46aG92ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRvZGF5LWJ0biB7XHJcblx0cGFkZGluZzogMnB4IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogMC44ZW07XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdG9kYXktYnRuOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xyXG5cdGdhcDogMnB4O1xyXG5cdHBhZGRpbmc6IDAgMTBweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhlbTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0cGFkZGluZzogNXB4IDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3XHJcblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufVxyXG5cclxuLyogQWRqdXN0IGdyaWQgbGF5b3V0IHdoZW4gd2Vla2VuZHMgYXJlIGhpZGRlbiBpbiBtaW5pIGNhbGVuZGFyICovXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci1ncmlkIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXHJcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXHJcblxyXG4udGFzay1nZW5pdXMtdmlldyAubWluaS1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheSB7XHJcblx0YXNwZWN0LXJhdGlvOiAxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRwYWRkaW5nOiAycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi50YXNrLWdlbml1cy12aWV3IC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5OmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkuc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkudG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkucGFzdC1kdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmc6IDJweDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAwLjdlbTtcclxuXHRwYWRkaW5nOiAxcHggNXB4O1xyXG5cdG1hcmdpbjogMnB4IGF1dG87XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnRhc2stZ2VuaXVzLXZpZXcgLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY291bnQuaGFzLXByaW9yaXR5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xyXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcclxuXHRcdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxyXG5cdFx0LmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbiIsICIvKiBUYWdzIFZpZXcgU3R5bGVzICovXG4udGFncy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm11bHRpLXNlbGVjdC1tb2RlIC50YWdzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1yaWdodC1jb2x1bW4ge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGFncy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4udGFncy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4udGFncy1tdWx0aS1zZWxlY3QtYnRuIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50YWdzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFncy1zaWRlYmFyLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zaXplLTItMSk7XG59XG5cbi50YWctbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi50YWctbGlzdC1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWctbGlzdC1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUpO1xufVxuXG4udGFnLWluZGVudCB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFnLWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtMi0yKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xufVxuXG4udGFnLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhZy1jb3VudCB7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRwYWRkaW5nOiAxcHggNnB4O1xufVxuXG4udGFnLWNoaWxkcmVuIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YWdzLXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi50YWdzLXRhc2stdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi50YWdzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YWdzLXRhc2stbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50YWdzLWVtcHR5LXN0YXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDE2cHg7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGFnLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLXRvZ2dsZSB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRhZy1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi10aXRsZSB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YWctc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0cGFkZGluZzogMnB4IDZweDtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtNSk7XG5cdHdpZHRoOiB2YXIoLS1zaXplLTQtNSk7XG59XG5cbi8qIFRhZ3MgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC50YWdzLWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAudGFncy1sZWZ0LWNvbHVtbi5pcy12aXNpYmxlIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uaXMtcGhvbmUgLnRhZ3Mtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWNsb3NlIHtcblx0LS1pY29uLXNpemU6IHZhcigtLXNpemUtNC00KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC50YWdzLWNvbnRhaW5lcjpoYXMoLnRhZ3MtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pcy1waG9uZSAudGFncy1zaWRlYmFyLWhlYWRlcjpoYXMoLnRhZ3Mtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucHJvamVjdHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogbWF4KDEyMHB4LCAzMCUpO1xuXHRtaW4td2lkdGg6IG1pbigxMjBweCwgMzAlKTtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdHMtcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2plY3RzLXNpZGViYXItaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XG59XG5cbi5wcm9qZWN0cy1zaWRlYmFyLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ubXVsdGktc2VsZWN0LW1vZGUgLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3RzLW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucHJvamVjdHMtc2lkZWJhci1saXN0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi5wcm9qZWN0LWxpc3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucHJvamVjdC1saXN0LWl0ZW0uc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi5wcm9qZWN0LWljb24ge1xuXHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvamVjdC1uYW1lIHtcblx0ZmxleDogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wcm9qZWN0LWNvdW50IHtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDFweCA2cHg7XG59XG5cbi5wcm9qZWN0cy10YXNrLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucHJvamVjdHMtdGFzay10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnByb2plY3RzLXRhc2stY291bnQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5wcm9qZWN0cy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucHJvamVjdHMtZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcbn1cblxuLyogUHJvamVjdHMgVmlldyAtIE1vYmlsZSAqL1xuLmlzLXBob25lIC5wcm9qZWN0cy1sZWZ0LWNvbHVtbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci10b2dnbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5pcy1waG9uZSAucHJvamVjdHMtc2lkZWJhci1jbG9zZSB7XG5cdC0taWNvbi1zaXplOiB2YXIoLS1zaXplLTQtNCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiB2YXIoLS1zaXplLTQtMik7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiAxNTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyOmhhcygucHJvamVjdHMtbGVmdC1jb2x1bW4uaXMtdmlzaWJsZSk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcblx0b3BhY2l0eTogMC41O1xuXHR6LWluZGV4OiA1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEFkZCBwb3NpdGlvbiByZWxhdGl2ZSB0byBjb250YWluZXIgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNvbnRleHQgKi9cbi5pcy1waG9uZSAucHJvamVjdHMtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtcGhvbmUgLnByb2plY3RzLXNpZGViYXItaGVhZGVyOmhhcygucHJvamVjdHMtc2lkZWJhci1jbG9zZSkge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXplLTQtMTIpO1xufVxuIiwgIi8qIFByb2plY3RzIFZpZXcgU3R5bGVzICovXG4ucmV2aWV3LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHR3aWR0aDogMjUwcHg7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLXBob25lIC5yZXZpZXctbGVmdC1jb2x1bW4ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXZpZXctcmlnaHQtY29sdW1uIHtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1zaWRlYmFyLWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpIHZhcigtLXNpemUtNC00KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xufVxuXG4ucmV2aWV3LXNpZGViYXItdGl0bGUge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctbXVsdGktc2VsZWN0LWJ0biB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LW11bHRpLXNlbGVjdC1idG46aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LXNpZGViYXItbGlzdCB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcbn1cblxuLyogUHJvamVjdCBncm91cCBoZWFkZXJzICovXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwYWRkaW5nOiA0cHggOHB4IDRweDtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ucmV2aWV3LXByb2plY3RzLWdyb3VwLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogUHJvamVjdCBpdGVtcyBpbiB0aGUgc2lkZWJhciAqL1xuLnJldmlldy1wcm9qZWN0LWl0ZW0ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLyogUHJvamVjdHMgd2l0aCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtLmhhcy1yZXZpZXctc2V0dGluZ3MgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LXByb2plY3QtaXRlbS5oYXMtcmV2aWV3LXNldHRpbmdzIC5yZXZpZXctcHJvamVjdC1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogUHJvamVjdHMgd2l0aG91dCByZXZpZXcgc2V0dGluZ3MgKi9cbi5yZXZpZXctcHJvamVjdC1pdGVtOm5vdCguaGFzLXJldmlldy1zZXR0aW5ncykgLnJldmlldy1wcm9qZWN0LWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5yZXZpZXctcHJvamVjdC1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmV2aWV3LXByb2plY3QtbmFtZSB7XG5cdGZsZXg6IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmV2aWV3LXRhc2staGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy10YXNrLWhlYWRlciB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWhlYWRlci1jb250ZW50IGgzIHtcblx0bWFyZ2luOiAwIDAgOHB4IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5yZXZpZXctaW5mbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLnJldmlldy1zZXBhcmF0b3Ige1xuXHRtYXJnaW46IDAgOHB4O1xufVxuXG4ucmV2aWV3LWZyZXF1ZW5jeSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5yZXZpZXctZnJlcXVlbmN5OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXZpZXctbGFzdC1kYXRlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1uby1zZXR0aW5ncyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRmlsdGVyIGluZm9ybWF0aW9uICovXG4ucmV2aWV3LWZpbHRlci1pbmZvIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZzogNnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnJldmlldy1maWx0ZXItdG9nZ2xlOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLnJldmlldy10YXNrLWxpc3Qge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5yZXZpZXctZW1wdHktc3RhdGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cGFkZGluZzogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBSZXZpZXcgYnV0dG9ucyAqL1xuLnJldmlldy1idXR0b24tY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ucmV2aWV3LWNvbXBsZXRlLWJ0bixcbi5yZXZpZXctY29uZmlndXJlLWJ0biB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi5yZXZpZXctY29tcGxldGUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb21wbGV0ZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnJldmlldy1jb25maWd1cmUtYnRuIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucmV2aWV3LWNvbmZpZ3VyZS1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cblxuLnJldmlldy1lZGl0LWJ0biB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudC1ob3Zlcik7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5yZXZpZXctZWRpdC1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogUmV2aWV3IENvbmZpZ3VyZSBNb2RhbCAqL1xuLnJldmlldy1tb2RhbC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZvcm0ge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWZpZWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi5yZXZpZXctbW9kYWwtZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnJldmlldy1tb2RhbC1zZWxlY3Qge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1jdXN0b20tZnJlcXVlbmN5IHtcblx0bWFyZ2luLXRvcDogOHB4O1xufVxuXG4ucmV2aWV3LW1vZGFsLWlucHV0IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJldmlldy1tb2RhbC1sYXN0LXJldmlld2VkIHtcblx0cGFkZGluZzogOHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24ge1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5yZXZpZXctbW9kYWwtYnV0dG9uLWNhbmNlbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJ1dHRvbi1zYXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLnJldmlldy1tb2RhbC1idXR0b24tc2F2ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG59XG5cbi8qIFJldmlldyBWaWV3IC0gTW9iaWxlICovXG4uaXMtcGhvbmUgLnJldmlldy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pcy1waG9uZSAucmV2aWV3LXNpZGViYXItdG9nZ2xlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uaXMtcGhvbmUgLnJldmlldy1zaWRlYmFyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IHZhcigtLXNpemUtMi0yKTtcblx0cmlnaHQ6IDEwcHg7XG5cdHotaW5kZXg6IDE1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQWRkIG92ZXJsYXkgd2hlbiBsZWZ0IGNvbHVtbiBpcyB2aXNpYmxlIG9uIG1vYmlsZSAqL1xuLmlzLXBob25lIC5yZXZpZXctY29udGFpbmVyOmhhcygucmV2aWV3LWxlZnQtY29sdW1uLmlzLXZpc2libGUpOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1jb3Zlcik7XG5cdG9wYWNpdHk6IDAuNTtcblx0ei1pbmRleDogNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuIiwgIi50YXNrLXNpZGViYXIuY29sbGFwc2VkIHtcblx0d2lkdGg6IDQ4cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYW5lbC10b2dnbGUtYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcGFjaXR5OiAwLjY7XG5cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi5wYW5lbC10b2dnbGUtYnRuOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnRhc2stc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItbmF2IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogU2lkZWJhciBOYXZpZ2F0aW9uICovXG4uc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiAyMHB4IDAgMTBweCAwO1xuXHRnYXA6IDVweDtcbn1cblxuLnNpZGViYXItbmF2LXNwYWNlciB7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbjogOHB4IDE1cHg7XG5cdG9wYWNpdHk6IDAuNztcblx0bWFyZ2luLXRvcDogYXV0bztcbn1cblxuLnNpZGViYXItbmF2LWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMCA1cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uc2lkZWJhci1uYXYtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcbn1cblxuLnNpZGViYXItbmF2LWl0ZW0uaXMtYWN0aXZlIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0LS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHQtLWljb24tY29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLm5hdi1pdGVtLWljb24ge1xuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLTQtMik7XG59XG5cbi5uYXYtaXRlbS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm5hdi1pdGVtLWxhYmVsLmhpZGRlbiB7XG5cdG9wYWNpdHk6IDA7XG5cdHdpZHRoOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW46IDA7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0LCBmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4udGFzay1zaWRlYmFyLmNvbGxhcHNlZCAubmF2LWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogQ29udGVudCBTdHlsZXMgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRmbGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtaW4td2lkdGg6IDA7XG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi50YXNrLXNpZGViYXIuY29sbGFwc2VkIC50YXNrLWNvbnRlbnQge1xuXHRtYXJnaW4tbGVmdDogLTIwMHB4O1xuXG5cdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzIGVhc2U7XG59XG5cbi8qIFByb2plY3QgVHJlZSAqL1xuLnRhc2stZ2VuaXVzLXZpZXcgLnByb2plY3QtdHJlZSB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLXJvb3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogNnB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW46IDAgNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1uYW1lIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xuXHRwYWRkaW5nOiAxcHggNnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLXRvZ2dsZSxcbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDIwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENvbnRlbnQgSGVhZGVyICovXG4uY29udGVudC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnRhc2stY291bnQge1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZvY3VzLWZpbHRlciB7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKiBUYXNrVmlldyAtIE9tbmlGb2N1cyBTdHlsZSAqL1xuXG4ud29ya3NwYWNlLWxlYWYtY29udGVudCAudGFzay1nZW5pdXMtdmlldyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1haW4gY29udGFpbmVyIGxheW91dCAqL1xuLnRhc2stZ2VuaXVzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMZWZ0IHNpZGViYXIgKi9cbi50YXNrLXNpZGViYXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR3aWR0aDogMjQwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogTWFpbiBjb250ZW50IGFyZWEgKi9cbi50YXNrLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE5hdmlnYXRpb24gc2lkZWJhciAqL1xuLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBQcm9qZWN0IHRyZWUgKi9cbi5wcm9qZWN0LXRyZWUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA4cHggMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRyZWUtcm9vdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA0cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogMnB4IDhweDtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS10b2dnbGUge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taW5kZW50IHtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0taWNvbiB7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLW5hbWUge1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stZ2VuaXVzLXZpZXcgLnRyZWUtaXRlbS1jb3VudCB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdG1pbi13aWR0aDogMTZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAudHJlZS1pdGVtLmV4cGFuZGVkID4gLnRyZWUtaXRlbS1jaGlsZHJlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50cmVlLWl0ZW0tY2hpbGRyZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbnRlbnQgaGVhZGVyICovXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5jb250ZW50LXRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay1nZW5pdXMtdmlldyAuY29udGVudC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YXNrLWdlbml1cy12aWV3IC50YXNrLWNvdW50IHtcblx0XHRmbGV4OiAxO1xuXHR9XG5cblx0LnRhc2stZ2VuaXVzLXZpZXcgLmZvY3VzLWZpbHRlciB7XG5cdFx0ZmxleDogMTtcblx0fVxufVxuXG4udGFzay1nZW5pdXMtdmlldyAuY29udGVudC1maWx0ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5maWx0ZXItaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cGFkZGluZzogNHB4IDhweDtcblx0d2lkdGg6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay1nZW5pdXMtdmlldyAuZm9jdXMtYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtbm9ybWFsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1ob3Zlcik7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC5mb2N1cy1idXR0b24uZm9jdXNlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdC0taWNvbi1zaXplOiAxNnB4O1xufVxuXG4ubW9kLWxlZnQtc3BsaXQgLnRhc2stZ2VuaXVzLWFjdGlvbi1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kLWxlZnQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2QtcmlnaHQtc3BsaXRcblx0LndvcmtzcGFjZS10YWItaGVhZGVyLXN0YXR1cy1jb250YWluZXI6aGFzKC50YXNrLWdlbml1cy1hY3Rpb24tYnRuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YXNrLWdlbml1cy12aWV3IC50YXNrLWVtcHR5LXN0YXRlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tb2Qtcm9vdCAudGFzay1nZW5pdXMtdGFiLWhlYWRlciB7XG5cdGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZSAhaW1wb3J0YW50O1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDEyMHB4KSB7XG5cdC5tb2Qtcm9vdCAudGFzay1nZW5pdXMtYWN0aW9uLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBXb3JrZmxvdyBRdWljayBNb2RhbCBTdHlsZXMgKi9cbi5xdWljay13b3JrZmxvdy1tb2RhbCB7XG5cdG1heC13aWR0aDogNjAwcHg7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4ud29ya2Zsb3ctdGVtcGxhdGUtc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGVtcGxhdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGVtcGxhdGUtZGVzYy10ZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndvcmtmbG93LWZvcm0tc2VjdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZXMtcHJldmlldyB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zdGFnZXMtcHJldmlldy1saXN0IHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN0YWdlLXByZXZpZXctaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdG1hcmdpbjogNHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG59XG5cbi5zdGFnZS1pbmZvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi5zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnN0YWdlLXR5cGUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5zdGFnZS1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiA0cHg7XG59XG5cbi5uby1zdGFnZXMtbWVzc2FnZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cblxuLndvcmtmbG93LW1vZGFsLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRnYXA6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4vKiBXb3JrZmxvdyBQcm9ncmVzcyBJbmRpY2F0b3IgU3R5bGVzICovXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0cGFkZGluZzogMTVweDtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi53b3JrZmxvdy1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcbn1cblxuLndvcmtmbG93LXByb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi53b3JrZmxvdy1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtYmFyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiA4cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtZmlsbCB7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ud29ya2Zsb3ctcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG5cdGZvbnQtc2l6ZTogMC45ZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdG1pbi13aWR0aDogMzVweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA4cHg7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY29tcGxldGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1zdWNjZXNzKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0uY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWl0ZW0ucGVuZGluZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jb21wbGV0ZWQtaWNvbiB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaWNvbi5jdXJyZW50LWljb24ge1xuXHRjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcbn1cblxuLndvcmtmbG93LXN0YWdlLWljb24ucGVuZGluZy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtY29udGVudCB7XG5cdGZsZXg6IDE7XG59XG5cbi53b3JrZmxvdy1zdGFnZS1uYW1lIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAwLjhlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jb21wbGV0ZWQgLndvcmtmbG93LXN0YWdlLW51bWJlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4ud29ya2Zsb3ctc3RhZ2UtaXRlbS5jdXJyZW50IC53b3JrZmxvdy1zdGFnZS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xufVxuXG4ud29ya2Zsb3ctc3Vic3RhZ2UtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLndvcmtmbG93LXN1YnN0YWdlLWljb24ge1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAxMnB4O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi53b3JrZmxvdy1zdWJzdGFnZS1uYW1lIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuIiwgIi8qIHN0eWxlcy9jYWxlbmRhci9jYWxlbmRhci5jc3MgKi9cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciB7XHJcblx0Y29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7IC8qIE9yIGFkanVzdCBhcyBuZWVkZWQgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZsZXgtZ3JvdzogMTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTMpIHZhcigtLXNpemUtNC00KTsgLyogVXNlIE9ic2lkaWFuIHZhcmlhYmxlcyAqL1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgaGVhZGVyIGZyb20gc2hyaW5raW5nICovXHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkZXIgYnV0dG9uIHtcclxuXHRtYXJnaW46IDAgdmFyKC0tc2l6ZS00LTEpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdixcclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGdhcDogdmFyKC0tc2l6ZS0yLTIpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b24ge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyIGJ1dHRvbiB7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b246bm90KC5pcy1hY3RpdmUpLFxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW5hdiBidXR0b246bm90KC5pcy1hY3RpdmUpIHtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteHMpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1jdXJyZW50LWRhdGUge1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGl0IHRvIHRha2Ugc3BhY2UgKi9cclxuXHJcblx0bWF4LXdpZHRoOiBtYXgoMTIwcHgsIDQwJSk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctc3dpdGNoZXIgYnV0dG9uLmlzLWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50LWhvdmVyKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lciB7XHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyB2aWV3IHRvIHRha2UgcmVtYWluaW5nIHNwYWNlICovXHJcblx0b3ZlcmZsb3cteTogYXV0bzsgLyogRW5hYmxlIHNjcm9sbGluZyBpZiBjb250ZW50IG92ZXJmbG93cyAqL1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5lZWRlZCBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgZXZlbnRzICovXHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLyogQmFzaWMgVmlldyBTdHlsZXMgKFBsYWNlaG9sZGVycykgKi9cclxuLyogLS0tIE1vbnRoIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWtkYXktaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSAwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogT3ZlcmxhcCB3aXRoIGdyaWQgZ2FwICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpOyAvKiBTbGlnaHQgZGlzdGluY3Rpb24gKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrZGF5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIudmlldy1tb250aCB7XHJcblx0cGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcgaWYgZ3JpZCBwcm92aWRlcyBpdCB2aWEgZ2FwICovXHJcblx0LyogU3R5bGVzIG1vdmVkIHRvIC5jYWxlbmRhci1tb250aC1ncmlkICovXHJcbn1cclxuXHJcbi8qIEFkZCB0aGUgZ3JpZCBzdHlsZXMgZGlyZWN0bHkgdG8gdGhlIGdyaWQgY29udGFpbmVyIGVsZW1lbnQgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1tb250aC1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XHJcblx0Z3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7IC8qIEdpdmUgcm93cyBhIG1pbmltdW0gaGVpZ2h0ICovXHJcblx0Z2FwOiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBHcmlkIGxpbmVzICovXHJcblxyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbCB7XHJcblx0LyogRXhhbXBsZSBzdHlsZSBmb3IgYSBkYXkgY2VsbCBpbiBtb250aCB2aWV3ICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0LyogbWluLWhlaWdodDogODBweDsgLSBMZXQgZ3JpZC1hdXRvLXJvd3MgaGFuZGxlIGhlaWdodCAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgbGF5b3V0IGluc2lkZSB0aGUgY2VsbCAqL1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIFN0YWNrIGRheSBudW1iZXIgYW5kIGV2ZW50cyAqL1xyXG5cdG1pbi13aWR0aDogMDsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjZWxsIHdpZHRoIGluIHRoZSBncmlkICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNlbGw6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcclxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1oKSxcclxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1zKSxcclxuXHRcdHZhcigtLWNvbG9yLWFjY2VudC1sKSxcclxuXHRcdDAuOFxyXG5cdCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KSAhaW1wb3J0YW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkXHJcblx0XHRoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIHZhcigtLWFjY2VudC1sKSwgMC41KTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbC5pcy10b2RheSAuY2FsZW5kYXItZGF5LW51bWJlciB7XHJcblx0Y29sb3I6IGhzbCh2YXIoLS1hY2NlbnQtaCksIHZhcigtLWFjY2VudC1zKSwgdmFyKC0tYWNjZW50LWwpLCAxKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktaGVhZGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0xKTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktY2VsbDpub3QoLmlzLXRvZGF5KSB7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jZWxsLmlzLXdlZWtlbmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1zZWNvbmRhcnlcclxuXHQpOyAvKiBTbGlnaHRseSBkaWZmZXJlbnQgYmFja2dyb3VuZCBmb3Igd2Vla2VuZHMgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0ZmxleC1zaHJpbms6IDA7IC8qIFByZXZlbnQgbnVtYmVyIGZyb20gc2hyaW5raW5nICovXHJcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7IC8qIFBvc2l0aW9uIHRvIHRoZSB0b3AgcmlnaHQgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyIHtcclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGV2ZW50cyBjb250YWluZXIgdG8gZmlsbCBzcGFjZSAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgZXZlbnRzIHRoYXQgb3ZlcmZsb3cgdGhlIGNlbGwgaGVpZ2h0ICovXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50IHtcclxuXHQvKiBFeGFtcGxlIHN0eWxlIGZvciBhbiBldmVudCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0cGFkZGluZzogMnB4IDRweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDNweDsgLyogSW5jcmVhc2Ugc3BhY2luZyBzbGlnaHRseSAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoIGF2YWlsYWJsZSAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyXHJcblx0LmNhbGVuZGFyLWV2ZW50OmhhcygudGFzay1saXN0LWl0ZW0tY2hlY2tib3gpLmNhbGVuZGFyLWV2ZW50LXdlZWstYWxsZGF5IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXJcclxuXHQuY2FsZW5kYXItZXZlbnQ6aGFzKC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCkuY2FsZW5kYXItZXZlbnQtbW9udGgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcclxuXHRvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItc3VjY2Vzcy1ob3ZlclxyXG5cdCk7IC8qIE9yIHVzZSBncmV5L3N0cmlrZXRocm91Z2ggKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuaXMtbXVsdGktZGF5IHtcclxuXHQvKiBCYXNpYyBzdHlsZSBmb3IgbXVsdGktZGF5LCBtb3JlIGFkdmFuY2VkIGNvdWxkIHJlbW92ZSByb3VuZGVkIGNvcm5lcnMgKi9cclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LmlzLW11bHRpLWRheS5pcy1zdGFydCB7XHJcblx0LyogT3B0aW9uYWw6IHN0eWxlIHRoZSBzdGFydCBzZWdtZW50IGRpZmZlcmVudGx5ICovXHJcblx0LyogYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7ICovXHJcblx0LyogYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7ICovXHJcbn1cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5pcy1tdWx0aS1kYXkuaXMtZW5kIHtcclxuXHQvKiBPcHRpb25hbDogc3R5bGUgdGhlIGVuZCBzZWdtZW50IGRpZmZlcmVudGx5ICovXHJcblx0LyogYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgKi9cclxuXHQvKiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyAqL1xyXG59XHJcblxyXG4vKiBBZGQgbW9yZSBzcGVjaWZpYyBzdHlsZXMgZm9yIHdlZWssIGRheSwgYWdlbmRhIHZpZXdzIGFzIHRoZXkgYXJlIGltcGxlbWVudGVkICovXHJcblxyXG4vKiBTdHlsZSBmb3IgbW9udGggdmlldyBldmVudHMgdG8gaGFuZGxlIG92ZXJmbG93ICovXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQuY2FsZW5kYXItZXZlbnQtbW9udGgge1xyXG5cdC8qIEluaGVyaXRzIGJhc2UgLmNhbGVuZGFyLWV2ZW50IHN0eWxlcyAqL1xyXG5cdC8qIEFkZCBvdmVyZmxvdyBoYW5kbGluZyBzaW1pbGFyIHRvIHdlZWstYWxsZGF5ICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBFbnN1cmUgYmxvY2sgZGlzcGxheSAqL1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBFeHBsaWNpdGx5IHNldCB3aWR0aCAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEluY2x1ZGUgcGFkZGluZy9ib3JkZXIgaW4gd2lkdGggKi9cclxufVxyXG5cclxuLyogLS0tIERheSBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LWRheSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBwYWRkaW5nLCBtYW5hZ2UgaW50ZXJuYWxseSAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXRpbWVsaW5lLXNlY3Rpb24ge1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIE5vIGxvbmdlciBuZWVkZWQgZm9yIGFic29sdXRlIGV2ZW50IHBvc2l0aW9uaW5nICovXHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogQWRkIGJvcmRlciB0aGF0IHdhcyBvbiBhbGxkYXkgKi9cclxuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBbGxvdyB0aW1lbGluZSB0byBzY3JvbGwgKi9cclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdGltZWxpbmUtZXZlbnRzLWNvbnRhaW5lciB7XHJcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXHJcblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xyXG5cdC8qIHRvcDogMDsgKi9cclxuXHQvKiBsZWZ0OiAwOyAqL1xyXG5cdC8qIHJpZ2h0OiAwOyAqL1xyXG5cdC8qIGJvdHRvbTogMDsgKi9cclxuXHQvKiB6LWluZGV4OiAyOyAqL1xyXG5cdC8qIFJlbW92ZSBjYWxjdWxhdGVkIGhlaWdodCAqL1xyXG5cdC8qIGhlaWdodDogY2FsYygyNCAqIDQwcHgpOyAqL1xyXG5cclxuXHQvKiBBZGQgZmxleCBsYXlvdXQgZm9yIHZlcnRpY2FsIHN0YWNraW5nICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc3BhY2luZyBiZXR3ZWVuIGV2ZW50cyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZSBhZGp1c3RtZW50cyBmb3IgZXZlbnRzIHByZXZpb3VzbHkgdGltZWQgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aW1lZCB7XHJcblx0LyogUmVtb3ZlIGFic29sdXRlIHBvc2l0aW9uaW5nICovXHJcblx0LyogcG9zaXRpb246IGFic29sdXRlOyAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHQvKiBBZGQgbWFyZ2luIGZvciBzcGFjaW5nIGluIHRoZSBuZXcgZmxvdyBsYXlvdXQgKi9cclxuXHQvKiBVc2luZyBnYXAgb24gcGFyZW50IGNvbnRhaW5lciBub3cgKi9cclxuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLTQtMik7ICovXHJcblx0d2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoICovXHJcbn1cclxuXHJcbi8qIEtlZXAgaW50ZXJuYWwgc3R5bGVzICovXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGltZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHBhZGRpbmc6IDFweCAzcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyAvKiBTbGlnaHQgYmFja2dyb3VuZCBmb3IgdGltZSAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdHBhZGRpbmc6IDJweCAzcHg7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdC8qIEFsbG93IHRleHQgd3JhcHBpbmcgd2l0aGluIHRoZSBldmVudCBib3ggKi9cclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRwYWRkaW5nOiAycHggM3B4O1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIC0tLSBXZWVrIFZpZXcgU3BlY2lmaWMgU3R5bGVzIC0tLSAqL1xyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLnZpZXctd2VlayB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0LyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IHJlcGVhdCg3LCAxZnIpOyAqLyAvKiBHdXR0ZXIgKyA3IGRheXMgLT4gUmVtb3ZlIGd1dHRlciAqL1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7IC8qIEp1c3QgNyBkYXlzICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1tZWRpdW0pO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMSkgMDtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsOmZpcnN0LWNoaWxkIHtcclxuXHRib3JkZXItbGVmdDogbm9uZTtcclxufVxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWRlci1jZWxsLmlzLXRvZGF5IC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMS41ZW07XHJcblx0aGVpZ2h0OiAxLjVlbTtcclxuXHRsaW5lLWhlaWdodDogMS41ZW07XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cclxuXHRtYXJnaW46IGF1dG87XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vla2RheSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbWVkaXVtKTtcclxufVxyXG5cclxuLyogVXBkYXRlZCBXZWVrIEdyaWQgU2VjdGlvbiAod2FzIC1hbGxkYXktc2VjdGlvbikgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci13ZWVrLWdyaWQtc2VjdGlvbiB7XHJcblx0LyogUmVuYW1lZCBjbGFzcyAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGhpcyBzZWN0aW9uIHRvIGZpbGwgYXZhaWxhYmxlIHZlcnRpY2FsIHNwYWNlICovXHJcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggdG8gZW5zdXJlIGdyaWQgZmlsbHMgaGVpZ2h0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvOyAvKiBBZGQgc2Nyb2xsIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTsgLyogTWF0Y2ggb2xkIHN0eWxlICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItd2Vlay1ncmlkIHtcclxuXHQvKiBSZW5hbWVkIGNsYXNzICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBncmlkIHRvIGV4cGFuZCAqL1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcclxuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsgLyogTWFrZSBncmlkIGZpbGwgdGhlIHNlY3Rpb24gaGVpZ2h0ICovXHJcblx0Z2FwOiAxcHg7IC8qIEFkZCBnYXAgZm9yIGJvcmRlcnMgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7IC8qIEdyaWQgbGluZXMgKi9cclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgdG9wIGJvcmRlciAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW4ge1xyXG5cdC8qIFJlbmFtZWQgY2xhc3MgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKTtcclxuXHQvKiBtaW4taGVpZ2h0OiA1ZW07ICovIC8qIFJlbW92ZSBmaXhlZCBtaW4taGVpZ2h0LCBsZXQgY29udGVudCBkaWN0YXRlICovXHJcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7IC8qIFJlbW92ZSByZWR1bmRhbnQgbGVmdCBib3JkZXIsIGdhcCBoYW5kbGVzIGxpbmVzICovXHJcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIHZlcnRpY2FsIGxheW91dCAqL1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7IC8qIFNwYWNlIGJldHdlZW4gZXZlbnRzICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogUHJldmVudCBjb250ZW50IGZyb20gZXhwYW5kaW5nIHRoZSBjb2x1bW4gKi9cclxuXHRtaW4td2lkdGg6IDA7IC8qIEhlbHAgZ3JpZCBpdGVtIHNocmluayBwcm9wZXJseSAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1jb2x1bW46Zmlyc3QtY2hpbGQge1xyXG5cdC8qIE5vIHNwZWNpZmljIGZpcnN0LWNoaWxkIGJvcmRlciBuZWVkZWQgbm93ICovXHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZGF5LWNvbHVtbi5pcy13ZWVrZW5kIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi8qIEFkanVzdCBncmlkIGxheW91dHMgd2hlbiB3ZWVrZW5kcyBhcmUgaGlkZGVuICovXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1jb250YWluZXIuaGlkZS13ZWVrZW5kcyAuY2FsZW5kYXItd2Vla2RheS1oZWFkZXIge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLW1vbnRoLWdyaWQge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLmNhbGVuZGFyLXdlZWstaGVhZGVyIHtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpICFpbXBvcnRhbnQ7IC8qIDUgY29sdW1ucyBpbnN0ZWFkIG9mIDcgd2hlbiB3ZWVrZW5kcyBoaWRkZW4gKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci5oaWRlLXdlZWtlbmRzIC5jYWxlbmRhci13ZWVrLWdyaWQge1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDsgLyogNSBjb2x1bW5zIGluc3RlYWQgb2YgNyB3aGVuIHdlZWtlbmRzIGhpZGRlbiAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXZpZXctY29udGFpbmVyLmhpZGUtd2Vla2VuZHMgLm1pbmktbW9udGgtZ3JpZCB7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSAhaW1wb3J0YW50OyAvKiA1IGNvbHVtbnMgaW5zdGVhZCBvZiA3IHdoZW4gd2Vla2VuZHMgaGlkZGVuICovXHJcbn1cclxuXHJcbi8qIE5vdGU6IFdlZWtlbmQgZWxlbWVudHMgYXJlIG5vdCBjcmVhdGVkIHdoZW4gaGlkZVdlZWtlbmRzIGlzIGVuYWJsZWQsXHJcbiAgIHNvIG5vIGhpZGluZyBydWxlcyBhcmUgbmVlZGVkLiBUaGUgZ3JpZCBsYXlvdXQgYWRqdXN0bWVudHMgYWJvdmUgYXJlIHN1ZmZpY2llbnQuICovXHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWRheS1ldmVudHMtY29udGFpbmVyIHtcclxuXHQvKiBSZW5hbWVkIGNsYXNzICovXHJcblx0LyogVGhpcyBjb250YWluZXIgbWlnaHQgbm90IGJlIHN0cmljdGx5IG5lY2Vzc2FyeSBpZiAuY2FsZW5kYXItZGF5LWNvbHVtbiB1c2VzIGZsZXggKi9cclxuXHQvKiBTdHlsZXMgYXJlIGFwcGxpZWQgZGlyZWN0bHkgdG8gLmNhbGVuZGFyLWRheS1jb2x1bW4gbm93ICovXHJcblx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBjb250YWluZXIgdG8gZ3JvdyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDNweDsgLyogU3BhY2UgYmV0d2VlbiBldmVudHMgKi9cclxufVxyXG5cclxuLyogRW5zdXJlIGV2ZW50cyB0YWtlIGZ1bGwgd2lkdGggYW5kIGRvbid0IGhhdmUgaG9yaXpvbnRhbCBkaXNwbGF5IHByb3BlcnRpZXMgKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC5jYWxlbmRhci1ldmVudC13ZWVrLWFsbGRheSB7XHJcblx0ZGlzcGxheTogYmxvY2s7IC8qIEVuc3VyZSBibG9jayBkaXNwbGF5IGZvciB2ZXJ0aWNhbCBzdGFja2luZyAqL1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbHVtbiAqL1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUmVzZXQgcG9zaXRpb24gaWYgaXQgd2FzIGFic29sdXRlICovXHJcblx0bGVmdDogYXV0bztcclxuXHR0b3A6IGF1dG87XHJcblx0aGVpZ2h0OiBhdXRvOyAvKiBMZXQgY29udGVudCBkZXRlcm1pbmUgaGVpZ2h0ICovXHJcblx0bWFyZ2luLWJvdHRvbTogM3B4OyAvKiBDb25zaXN0ZW50IHNwYWNpbmcgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBQcmV2ZW50IGludGVybmFsIGNvbnRlbnQgZnJvbSBvdmVyZmxvd2luZyAqL1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAvKiBBZGQgZWxsaXBzaXMgZm9yIG92ZXJmbG93ICovXHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRW5zdXJlIGVsbGlwc2lzIHdvcmtzICovXHJcbn1cclxuXHJcbi8qIFJlbW92ZSBzdHlsZXMgZm9yIHRoZSBvbGQgdGltZWxpbmUgc2VjdGlvbiAqL1xyXG4vKlxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLXdlZWstdGltZWxpbmUtc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuLy8gLi4uIGV4aXN0aW5nIGNvZGUgLi4uXHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcbiovXHJcblxyXG4vKiAtLS0gWWVhciBWaWV3IFNwZWNpZmljIFN0eWxlcyAtLS0gKi9cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LWNvbnRhaW5lci52aWV3LXllYXIge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci15ZWFyLWdyaWQge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoXHJcblx0XHRhdXRvLWZpdCxcclxuXHRcdG1pbm1heCgyMDBweCwgMWZyKVxyXG5cdCk7IC8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTQpO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLW1pbmktbW9udGgge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIENsaXAgY29udGVudCAqL1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktbW9udGgtaGVhZGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ib2R5IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1tb250aC1ncmlkIHtcclxuXHRkaXNwbGF5OiBncmlkO1xyXG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XHJcblx0Z2FwOiAycHg7IC8qIFNtYWxsIGdhcCBiZXR3ZWVuIGRheXMgKi9cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS13ZWVrZGF5LWhlYWRlciB7XHJcblx0ZGlzcGxheTogY29udGVudHM7IC8qIExldCBjaGlsZHJlbiBwYXJ0aWNpcGF0ZSBpbiB0aGUgZ3JpZCAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLXdlZWtkYXkge1xyXG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMSk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAubWluaS1kYXktY2VsbCB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRwYWRkaW5nOiAxcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTsgLyogQWRqdXN0IGZvciBjZW50ZXJpbmcgKi9cclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmlzLW90aGVyLW1vbnRoIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0b3BhY2l0eTogMC42O1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLm1pbmktZGF5LWNlbGwuaXMtdG9kYXkge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG5cclxuLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5taW5pLWRheS1jZWxsLmhhcy1ldmVudHMge1xyXG5cdC8qIEluZGljYXRlIGV2ZW50cyAtIGUuZy4sIGJvbGQgb3IgYmFja2dyb3VuZCBkb3QgKi9cclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHQvKiBPciBhZGQgYSBiYWNrZ3JvdW5kIGRvdDogKi9cclxuXHQvKiBwb3NpdGlvbjogcmVsYXRpdmU7ICovXHJcbn1cclxuLyogLm1pbmktZGF5LWNlbGwuaGFzLWV2ZW50czo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDJweDtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdHdpZHRoOiA0cHg7XHJcblx0aGVpZ2h0OiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcclxufSAqL1xyXG5cclxuLmFnZW5kYS1kYXktc2VjdGlvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLmFnZW5kYS1kYXktZGF0ZS1jb2x1bW4ge1xyXG5cdHdpZHRoOiAyMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYWdlbmRhLWRheS1ldmVudHMtY29sdW1uIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgaW5wdXQudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xyXG5cdHNjYWxlOiAwLjk7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlci1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogLS0tIERyYWcgYW5kIERyb3AgU3R5bGVzIC0tLSAqL1xyXG4uY2FsZW5kYXItZXZlbnQtZ2hvc3Qge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgcGxhY2Vob2xkZXIgd2hlbiBkcmFnZ2luZyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCkgIWltcG9ydGFudDtcclxuXHRib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpICFpbXBvcnRhbnQ7XHJcblx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XHJcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2FsZW5kYXItZXZlbnQtZHJhZ2dpbmcge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgZWxlbWVudCBiZWluZyBkcmFnZ2VkICovXHJcblx0b3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpICFpbXBvcnRhbnQ7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoMmRlZykgIWltcG9ydGFudDtcclxuXHR6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIE1ha2UgY2FsZW5kYXIgZXZlbnRzIGRyYWdnYWJsZSAqL1xyXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQge1xyXG5cdGN1cnNvcjogZ3JhYjtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWV2ZW50cy1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50OmhvdmVyIHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LXMpO1xyXG59XHJcblxyXG4uY2FsZW5kYXItZXZlbnRzLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQ6YWN0aXZlIHtcclxuXHRjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcblxyXG4vKiBTb3J0YWJsZSBjb250YWluZXIgc3R5bGVzICovXHJcbi5jYWxlbmRhci1ldmVudHMtY29udGFpbmVyLFxyXG4uY2FsZW5kYXItZGF5LWV2ZW50cy1jb250YWluZXIge1xyXG5cdG1pbi1oZWlnaHQ6IDIwcHg7IC8qIEVuc3VyZSB0aGVyZSdzIGFsd2F5cyBhIGRyb3Agem9uZSAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA2MDBweCkge1xyXG5cdC5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItdmlldy1zd2l0Y2hlciBidXR0b24ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5jYWxlbmRhci1uYXYgLnByZXYtYnV0dG9uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuY2FsZW5kYXItbmF2IC5uZXh0LWJ1dHRvbiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci12aWV3LXN3aXRjaGVyLXNlbGVjdG9yIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG4iLCAiLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1ldmVudC10aXRsZS1jb250YWluZXIgcCB7XHJcblx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XHJcblx0cGFkZGluZy1pbmxpbmUtZW5kOiAwO1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcclxuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG59XHJcblxyXG4uZnVsbC1jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWV2ZW50LXRpdGxlLWNvbnRhaW5lciB7XHJcblx0LyogSGFuZGxlIHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mdWxsLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZXZlbnQtdGl0bGUgcCB7XHJcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbn1cclxuIiwgIi8qIENhbGVuZGFyIEJhZGdlIFN0eWxlcyAqL1xyXG4uY2FsZW5kYXItYmFkZ2VzLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGdhcDogNHB4O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItYmFkZ2Uge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZvbnQtc2l6ZTogMTBweDtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cclxuXHRtYXgtd2lkdGg6IDgwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4vKiBFbnN1cmUgYmFkZ2VzIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBkYXkgY2VsbCAqL1xyXG4uY2FsZW5kYXItZGF5LWNlbGwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4iLCAiLnRnLWthbmJhbi12aWV3IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgdmlldyBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgKi9cclxufVxyXG5cclxuLnRnLWthbmJhbi1maWx0ZXJzIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBEb24ndCBzaHJpbmsgZmlsdGVyIGJhciAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdGdhcDogOHB4O1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb250cm9scy1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDEycHg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXNvcnQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tc29ydC1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDRweCA4cHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLXNvcnQtYnV0dG9uOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi10b2dnbGUtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA0cHg7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tdG9nZ2xlLWxhYmVsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiA2cHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnRnLWthbmJhbi10b2dnbGUtY2hlY2tib3gge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1maWx0ZXItaW5wdXQge1xyXG5cdGZsZXgtZ3JvdzogMTtcclxuXHRwYWRkaW5nOiA2cHggMTBweDtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7IC8qIE9wdGlvbmFsOiBzcGFjZSBpZiBvdGhlciBjb250cm9scyBhcmUgYWRkZWQgKi9cclxufVxyXG5cclxuLnRnLWthbmJhbi1maWx0ZXItaW5wdXQ6Zm9jdXMge1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1ncm93OiAxOyAvKiBUYWtlIHJlbWFpbmluZyBoZWlnaHQgKi9cclxuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbGluZyBmb3IgY29sdW1ucyAqL1xyXG5cdG92ZXJmbG93LXk6IGhpZGRlbjsgLyogUHJldmVudCB2ZXJ0aWNhbCBzY3JvbGxpbmcgaGVyZSAqL1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Z2FwOiAxMHB4OyAvKiBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMgKi9cclxuXHRoZWlnaHQ6IDEwMCU7IC8qIE5lZWRlZCBmb3IgY2hpbGRyZW4gaGVpZ2h0ICovXHJcblxyXG5cdC8qIE1vYmlsZSBzY3JvbGxpbmcgaW1wcm92ZW1lbnRzICovXHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvKiBTbW9vdGggaG9yaXpvbnRhbCBzY3JvbGxpbmcgb24gaU9TICovXHJcblx0LyogQ29uZGl0aW9uYWwgb3ZlcnNjcm9sbCBiZWhhdmlvciAtIHByZXZlbnQgYm91bmNlIG9uIGRlc2t0b3AsIGFsbG93IG9uIG1vYmlsZSBmb3IgZHJhZyAqL1xyXG5cdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogYXV0bzsgLyogQWxsb3cgZGVmYXVsdCBiZWhhdmlvciBmb3IgbW9iaWxlIGRyYWcgY29tcGF0aWJpbGl0eSAqL1xyXG5cdHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5OyAvKiBLZWVwIHNuYXAgZm9yIG1vYmlsZSBVWCAqL1xyXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyAvKiBTbW9vdGggc2Nyb2xsaW5nICovXHJcbn1cclxuXHJcbi8qIERlc2t0b3Atc3BlY2lmaWM6IFByZXZlbnQgc2Nyb2xsIGJvdW5jZSAqL1xyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcblx0LnRnLWthbmJhbi1jb2x1bW4tY29udGFpbmVyIHtcclxuXHRcdG92ZXJzY3JvbGwtYmVoYXZpb3IteDogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xyXG5cdFx0c2Nyb2xsLXNuYXAtdHlwZTogbm9uZTsgLyogRGlzYWJsZSBzbmFwIG9uIGRlc2t0b3AgKi9cclxuXHR9XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uIHtcclxuXHRmbGV4OiAwIDAgMjgwcHg7IC8qIEZpeGVkIHdpZHRoIGZvciBjb2x1bW5zLCBubyBzaHJpbmtpbmcvZ3Jvd2luZyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGhlaWdodDogMTAwJTsgLyogRmlsbCBjb250YWluZXIgaGVpZ2h0ICovXHJcblx0bWF4LWhlaWdodDogMTAwJTsgLyogUHJldmVudCBleGNlZWRpbmcgY29udGFpbmVyICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBvdmVyZmxvdyB3aXRoaW4gdGhlIGNvbHVtbiAqL1xyXG5cclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblxyXG5cdC8qIE1vYmlsZSBzY3JvbGwgc25hcCBmb3IgYmV0dGVyIFVYICovXHJcblx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xyXG59XHJcblxyXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBEaXNhYmxlIHNjcm9sbCBzbmFwICovXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuXHQudGcta2FuYmFuLWNvbHVtbiB7XHJcblx0XHRzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY29sdW1uLWhlYWRlciB7XHJcblx0cGFkZGluZzogOHB4IDEycHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bW4pO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBoZWFkZXIgZnJvbSBzaHJpbmtpbmcgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudCB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogOHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IDhweDtcclxuXHQvKiBwYWRkaW5nLXJpZ2h0OiAwOyAqL1xyXG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOyAvKiBLZWVwIGNvbnRhaW4gZm9yIG1vYmlsZSBkcmFnIGNvbXBhdGliaWxpdHkgKi9cclxuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgLyogU21vb3RoIHNjcm9sbGluZyAqL1xyXG59XHJcblxyXG4vKiBEZXNrdG9wLXNwZWNpZmljOiBQcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBib3VuY2UgKi9cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG5cdC50Zy1rYW5iYW4tY29sdW1uLWNvbnRlbnQge1xyXG5cdFx0b3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTsgLyogUHJldmVudCBib3VuY2Ugb24gZGVza3RvcCAqL1xyXG5cdH1cclxufVxyXG4vKiAtLS0gQ2FyZCBTdHlsaW5nIC0tLSAqL1xyXG4udGcta2FuYmFuLWNhcmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG5cdHBhZGRpbmc6IDEwcHggMTJweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IGdyYWI7XHJcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdC8qIEVuc3VyZSBjYXJkIGZpdHMgd2l0aGluIGNvbHVtbiBhbmQgaGFuZGxlcyBjb250ZW50ICovXHJcblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBQcmV2ZW50IGNhcmQgZnJvbSBleGNlZWRpbmcgcGFyZW50IHdpZHRoICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBwYWRkaW5nL2JvcmRlciBpbiB3aWR0aCAqL1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIEFsbG93IHRleHQgd3JhcHBpbmcgKi9cclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0LyogTW9iaWxlIHRvdWNoIGltcHJvdmVtZW50cyAqL1xyXG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBPcHRpbWl6ZSBmb3IgdG91Y2ggaW50ZXJhY3Rpb25zICovXHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7IC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZHVyaW5nIGRyYWcgKi9cclxuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQ6aG92ZXIge1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLnRhc2stY29tcGxldGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQudGFzay1jb21wbGV0ZWQgLnRnLWthbmJhbi1jYXJkLWNvbnRlbnQge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRtYXJnaW4tYm90dG9tOiA2cHg7XHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC1jb250ZW50IHA6bGFzdC1jaGlsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDsgLyogQXZvaWQgZXh0cmEgc3BhY2UgZnJvbSBwYXJhZ3JhcGggKi9cclxuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IDRweCA4cHg7IC8qIFJvdyBhbmQgY29sdW1uIGdhcCAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stZGF0ZSxcclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLXRhZ3MtY29udGFpbmVyLFxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDRweDtcclxuXHRwYWRkaW5nOiAycHggNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblxyXG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDA7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stdGFnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXHJcblx0XHQtLWJhY2tncm91bmQtbW9kaWZpZXItYWNjZW50LWhvdmVyXHJcblx0KTsgLyogT3IgdXNlIHRhZyBjb2xvciAqL1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XHJcblx0cGFkZGluZzogMXB4IDRweDtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtdWktc21hbGwpICogMC45KTtcclxufVxyXG5cclxuLnRnLWthbmJhbi1jYXJkLW1ldGFkYXRhIC50YXNrLWR1ZS1kYXRlLnRhc2stb3ZlcmR1ZSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtZXJyb3IpO1xyXG59XHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1kdWUtZGF0ZS50YXNrLWR1ZS10b2RheSB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC13YXJuaW5nKTtcclxufVxyXG5cclxuLyogUHJpb3JpdHkgaW5kaWNhdG9ycyAoc2ltcGxlIGV4YW1wbGUpICovXHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0xIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcbi50Zy1rYW5iYW4tY2FyZC1tZXRhZGF0YSAudGFzay1wcmlvcml0eS5wcmlvcml0eS0yIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcclxufVxyXG4udGcta2FuYmFuLWNhcmQtbWV0YWRhdGEgLnRhc2stcHJpb3JpdHkucHJpb3JpdHktMyB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi8qIEFkZCBtb3JlIHByaW9yaXR5IHN0eWxlcyBpZiBuZWVkZWQgKi9cclxuXHJcbi8qIC0tLSBEcmFnIGFuZCBEcm9wIFN0eWxpbmcgLS0tICovXHJcbi50Zy1rYW5iYW4tY2FyZC1kcmFnZ2luZyB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBjbG9uZSBiZWluZyBkcmFnZ2VkICovXHJcblx0Lyogb3BhY2l0eTogMC44OyAqLyAvKiBSZW1vdmVkIG9wYWNpdHkgKi9cclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7IC8qIE1vcmUgcHJvbWluZW50IHNoYWRvdyAqL1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNhcmQtZ2hvc3Qge1xyXG5cdC8qIFN0eWxlIGZvciB0aGUgb3JpZ2luYWwgY2FyZCB3aGVuIGEgY2xvbmUgaXMgZHJhZ2dlZCAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XHJcblx0Ym9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1hY3RpdmUge1xyXG5cdC8qIFN0eWxlIGZvciBwb3RlbnRpYWwgZHJvcCB6b25lcyB3aGVuIGRyYWdnaW5nIHN0YXJ0cyAqL1xyXG5cdC8qIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpOyAqL1xyXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG4udGcta2FuYmFuLWNvbHVtbi1jb250ZW50LnRnLWthbmJhbi1kcm9wLXRhcmdldC1ob3ZlciB7XHJcblx0LyogU3R5bGUgZm9yIHRoZSBzcGVjaWZpYyBkcm9wIHpvbmUgYmVpbmcgaG92ZXJlZCBvdmVyICovXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY2NlbnQtaG92ZXIpO1xyXG59XHJcblxyXG4vKiBTdHlsZXMgZm9yIEthbmJhbiBkcm9wIGluZGljYXRvcnMgKi9cclxuLnRnLWthbmJhbi1jYXJkLS1kcm9wLWluZGljYXRvci1iZWZvcmUge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cclxuXHRib3JkZXItdG9wOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cclxuXHR0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMXMgZWFzZS1vdXQsIGJvcmRlci10b3AgMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXHJcbn1cclxuXHJcbi50Zy1rYW5iYW4tY2FyZC0tZHJvcC1pbmRpY2F0b3ItYWZ0ZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7IC8qIEluY3JlYXNlZCBtYXJnaW4gKi9cclxuXHRib3JkZXItYm90dG9tOiAycHggZGFzaGVkIHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7IC8qIEluZGljYXRvciAqL1xyXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqLyAvKiBSZW1vdmVkIHBhZGRpbmcgKi9cclxuXHR0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMXMgZWFzZS1vdXQsIGJvcmRlci1ib3R0b20gMC4xcyBlYXNlLW91dDsgLyogVXBkYXRlZCB0cmFuc2l0aW9uICovXHJcbn1cclxuXHJcbi8qIE9wdGlvbmFsOiBTdHlsZSBmb3IgZHJvcHBpbmcgaW50byBhbiBlbXB0eSBjb2x1bW4gKi9cclxuLnRnLWthbmJhbi1jb2x1bW4tY29udGVudC0tZHJvcC1pbmRpY2F0b3ItZW1wdHkge1xyXG5cdGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdG1pbi1oZWlnaHQ6IDUwcHg7IC8qIEVuc3VyZSBlbXB0eSBjb2x1bW4gaGFzIHNvbWUgaGVpZ2h0IGZvciB0aGUgYm9yZGVyICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogSW5jbHVkZSBib3JkZXIgaW4gaGVpZ2h0IGNhbGN1bGF0aW9uICovXHJcblx0bWFyZ2luLXRvcDogNXB4OyAvKiBBZGQgc29tZSBzcGFjZSAqL1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDsgLyogQWRkIHNvbWUgc3BhY2UgKi9cclxufVxyXG5cclxuLyogRW5zdXJlIHRyYW5zaXRpb25zIGFyZSBzbW9vdGggd2hlbiBjbGFzc2VzIGFyZSByZW1vdmVkICovXHJcbi50Zy1rYW5iYW4tY2FyZCB7XHJcblx0LyogRW5zdXJlIGV4aXN0aW5nIHRyYW5zaXRpb25zIGRvbid0IGNvbmZsaWN0LCBvciBhZGQgYmFzZSB0cmFuc2l0aW9uICovXHJcblx0dHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1vdXQsIHBhZGRpbmcgMC4xcyBlYXNlLW91dCxcclxuXHRcdGJvcmRlciAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dCxcclxuXHRcdGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0OyAvKiBNZXJnZWQgdHJhbnNpdGlvbnMgKi9cclxufVxyXG5cclxuLmRyb3AtdGFyZ2V0LWFjdGl2ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMik7IC8qIFx1NTM0QVx1OTAwRlx1NjYwRVx1N0VGRlx1ODI3Mlx1ODBDQ1x1NjY2RiAqL1xyXG5cdG91dGxpbmU6IDJweCBkYXNoZWQgZ3JlZW47IC8qIFx1N0VGRlx1ODI3Mlx1ODY1QVx1N0VCRlx1OEZCOVx1Njg0NiAqL1xyXG5cdC8qIFx1NEY2MFx1NTNFRlx1ODBGRFx1OEZEOFx1OTcwMFx1ODk4MVx1OEMwM1x1NjU3NCBwYWRkaW5nIFx1NjIxNiBtYXJnaW4gXHU2NzY1ICdcdTY1M0VcdTU5MjcnIFx1ODlDNlx1ODlDOVx1NTMzQVx1NTdERiAqL1xyXG5cdC8qIHBhZGRpbmctdG9wOiAyMHB4OyAqL1xyXG5cdC8qIHBhZGRpbmctYm90dG9tOiAyMHB4OyAqL1xyXG59XHJcblxyXG4vKiBBZGQgQ2FyZCBCdXR0b24gKi9cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDhweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50IGNvbnRhaW5lciBmcm9tIHNocmlua2luZyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZXMgZm9yIHRoZSBBZGQgQ2FyZCBidXR0b24gaW4gYm9hcmQgdmlldyAqL1xyXG4udGFzay1nZW5pdXMtYWRkLWNhcmQtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiA4cHg7XHJcblx0bWFyZ2luLXRvcDogYXV0bzsgLyogUHVzaCB0byB0aGUgYm90dG9tIGlmIHRoZSBjb2x1bW4gdXNlcyBmbGV4ICovXHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGcta2FuYmFuLWFkZC1jYXJkLWJ1dHRvbiB7XHJcblx0LS1pY29uLXNpemU6IDE2cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBNYWtlIGl0IGxlc3MgcHJvbWluZW50ICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgY29sb3IgMC4ycyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnRnLWthbmJhbi1hZGQtY2FyZC1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuIiwgIi8qIEZpbHRlciBDb21wb25lbnQgU3R5bGVzICovXHJcbi5maWx0ZXItY29tcG9uZW50IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxuXHRtaW4taGVpZ2h0OiA0OHB4O1xyXG5cclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgUGlsbHMgQ29udGFpbmVyICovXHJcbi5maWx0ZXItcGlsbHMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgQ29udHJvbHMgKi9cclxuLmZpbHRlci1jb250cm9scyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgUGlsbHMgKi9cclxuLmZpbHRlci1waWxsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0cGFkZGluZzogNXB4IDhweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0YW5pbWF0aW9uOiBmaWx0ZXItcGlsbC1hcHBlYXIgMjAwbXMgZWFzZS1vdXQ7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcclxuXHRcdHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1mYXN0KTtcclxufVxyXG5cclxuLmZpbHRlci1waWxsLXJlbW92ZSAuY2xpY2thYmxlLWljb246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGw6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtdGVydGlhcnkpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtY2F0ZWdvcnkge1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtdmFsdWUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogMTZweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLTQtMSk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSxcclxuXHRcdGNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLXBpbGwtcmVtb3ZlLWljb24ge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEZpbHRlciBCdXR0b25zICovXHJcbi5maWx0ZXItYWRkLWJ1dHRvbixcclxuLmZpbHRlci1jbGVhci1hbGwtYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogNnB4IDEwcHg7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5maWx0ZXItYWRkLWJ1dHRvbiB7XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMSk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4uZmlsdGVyLWFkZC1pY29uIHtcclxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4vKiBGaWx0ZXIgRHJvcGRvd24gKi9cclxuLmZpbHRlci1kcm9wZG93biB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiAyMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcclxuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHotaW5kZXg6IHZhcigtLWxheWVyLXBvcG92ZXIpO1xyXG5cdG1heC1oZWlnaHQ6IDQwMHB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLW5vcm1hbCksIHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1ub3JtYWwpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmlzaWJsZSB7XHJcblx0b3BhY2l0eTogMTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taGVhZGVyIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMik7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1zZWFyY2gge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tc2VhcmNoOmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmctY29sb3IpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWxpc3Qge1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWF4LWhlaWdodDogMzUwcHg7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtMyk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1cmF0aW9uLWZhc3QpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1pdGVtLWxhYmVsIHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWl0ZW0tYXJyb3cge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24taXRlbS1hcnJvdy5iYWNrIHtcclxuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLWJhY2sge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG5cclxuLmZpbHRlci1kcm9wZG93bi1zZXBhcmF0b3Ige1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRpdmlkZXItY29sb3IpO1xyXG5cdG1hcmdpbjogdmFyKC0tc2l6ZS00LTEpIDA7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tZW1wdHkge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC00KTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tdmFsdWUtaXRlbSB7XHJcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTQtNCk7XHJcbn1cclxuXHJcbi5maWx0ZXItZHJvcGRvd24tY2F0ZWdvcnkge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSAwO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXcge1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0xKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCk7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZmlsdGVyLWRyb3Bkb3duLXZhbHVlLXByZXZpZXc6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLyogQW5pbWF0aW9ucyAqL1xyXG5Aa2V5ZnJhbWVzIGZpbHRlci1waWxsLWFwcGVhciB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG5cdH1cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcbn1cclxuXHJcbi5maWx0ZXItcGlsbC1yZW1vdmluZyB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0O1xyXG59XHJcbiIsICIuZ2FudHQtY2hhcnQtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHJcblx0LS1nYW50dC1oZWFkZXItaGVpZ2h0OiA1MHB4O1xyXG5cdC0tZ2FudHQtcm93LWhlaWdodDogNDBweDtcclxuXHQtLWdhbnR0LWJhci1oZWlnaHQ6IDIwcHg7XHJcblx0LS1nYW50dC1iYXItcmFkaXVzOiAzcHg7XHJcblxyXG5cdC0tZ2FudHQtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHQtLWdhbnR0LWdyaWQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHQtLWdhbnR0LXJvdy1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xyXG5cdC0tZ2FudHQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LW1pbGVzdG9uZS1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcclxuXHQtLWdhbnR0LXByb2dyZXNzLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHQtLWdhbnR0LXRvZGF5LWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1pbnRlcmZhY2UpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItYmcge1xyXG5cdGZpbGw6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItdGV4dCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtYmcge1xyXG5cdGZpbGw6IHRyYW5zcGFyZW50O1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMDtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtbGluZS12ZXJ0aWNhbCB7XHJcblx0c3Ryb2tlOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0c3Ryb2tlLXdpZHRoOiAxcHg7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTogMiwgMjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbTpob3ZlciAuZ2FudHQtdGFzay1iYXIge1xyXG5cdGZpbGw6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZS1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xyXG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXVpLXNtYWxsKSAqIDAuOSk7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0d2hpdGUtc3BhY2U6IHByZTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLnN0YXR1cy1jb21wbGV0ZWQge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLWdyZWVuKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWdyZWVuLWJvcmRlcik7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWJhci5wcmlvcml0eS1oaWdoIHtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdhbnR0IENoYXJ0IFN0eWxlc1xyXG4gKi9cclxuXHJcbi5nYW50dC1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0ei1pbmRleDogMTA7XHJcblx0aGVpZ2h0OiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtYmctY29sb3IpO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA1MCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItcm93LnByaW1hcnkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZ2FudHQtaGVhZGVyLWNlbGwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLmdhbnR0LWJvZHkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkgKiAtMSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KTtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tZ2FudHQtaGVhZGVyLWhlaWdodCkpO1xyXG5cdG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1nYW50dC1ncmlkLWNvbG9yKTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1jb2x1bW4udG9kYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LXRvZGF5LWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtcm93IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ2FudHQtZ3JpZC1jb2xvcik7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1yb3ctY29sb3IpO1xyXG59XHJcblxyXG4uZ2FudHQtZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdhbnR0LWJnLWNvbG9yKTtcclxufVxyXG5cclxuLmdhbnR0LWJhcnMge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLWdhbnR0LWhlYWRlci1oZWlnaHQpO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1nYW50dC1oZWFkZXItaGVpZ2h0KSk7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXI6aG92ZXIge1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyLm1pbGVzdG9uZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2FudHQtbWlsZXN0b25lLWNvbG9yKTtcclxuXHR3aWR0aDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogMTVweCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0dG9wOiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xyXG5cdGxlZnQ6IDUwJTtcclxuXHRtYXJnaW4tbGVmdDogLTcuNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1wcm9ncmVzcyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nYW50dC1wcm9ncmVzcy1jb2xvcik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7XHJcblx0dG9wOiAwO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1jb250YWluZXIucmlnaHQtYWxpZ25lZCAuZ2FudHQtdGFzay1sYWJlbCB7XHJcblx0bGVmdDogYXV0bztcclxuXHRyaWdodDogY2FsYygxMDAlICsgOHB4KTtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XHJcblx0LmdhbnR0LWhlYWRlci1jZWxsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcblxyXG5cdC5nYW50dC10YXNrLWxhYmVsIHtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItY29udGFpbmVyIHtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcblx0ZmxleC1zaHJpbms6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItc3ZnIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yLFxyXG4uZ2FudHQtaGVhZGVyLXRpY2stbWlub3IsXHJcbi5nYW50dC1oZWFkZXItdGljay1kYXksXHJcbi5nYW50dC1oZWFkZXItdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRzdHJva2Utd2lkdGg6IDE7XHJcbn1cclxuLmdhbnR0LWhlYWRlci10aWNrLW1ham9yIHtcclxuXHRzdHJva2Utd2lkdGg6IDEuNTtcclxufVxyXG4uZ2FudHQtaGVhZGVyLXRvZGF5LW1hcmtlciB7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG5cdHN0cm9rZS13aWR0aDogMS41O1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWlub3IsXHJcbi5nYW50dC1oZWFkZXItbGFiZWwtZGF5IHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5nYW50dC1oZWFkZXItbGFiZWwtbWFqb3Ige1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ZmlsbDogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG59XHJcblxyXG4uZ2FudHQtc2Nyb2xsLWNvbnRhaW5lciB7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdhbnR0LWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3IsXHJcbi5nYW50dC1ncmlkLWxpbmUtbWlub3Ige1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXItaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG59XHJcbi5nYW50dC1ncmlkLWxpbmUtbWFqb3Ige1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG4uZ2FudHQtZ3JpZC1saW5lLWhvcml6b250YWwge1xyXG5cdHN0cm9rZTogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxufVxyXG5cclxuLmdhbnR0LWdyaWQtdG9kYXktbWFya2VyIHtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcblx0c3Ryb2tlLXdpZHRoOiAxO1xyXG5cdHN0cm9rZS1kYXNoYXJyYXk6IDQsIDI7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWl0ZW0ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ibHVlKTtcclxuXHRzdHJva2U6IHZhcigtLWNvbG9yLWJsdWUtaG92ZXIpO1xyXG5cdHN0cm9rZS13aWR0aDogMC41O1xyXG5cdHRyYW5zaXRpb246IGZpbGwgMC4xcyBlYXNlO1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW06aG92ZXIgLmdhbnR0LXRhc2stYmFyIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXB1cnBsZSk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xyXG5cdHN0cm9rZS13aWR0aDogMTtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMXMgZWFzZTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtOmhvdmVyIC5nYW50dC10YXNrLW1pbGVzdG9uZSB7XHJcblx0ZmlsbDogdmFyKC0tY29sb3ItYWNjZW50KTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWRvbmUgLmdhbnR0LXRhc2stbWlsZXN0b25lIHtcclxuXHRmaWxsOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1ncmVlbik7XHJcblx0b3BhY2l0eTogMC43O1xyXG59XHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1iYXIsXHJcbi5nYW50dC10YXNrLWl0ZW0uc3RhdHVzLWNhbmNlbGxlZCAuZ2FudHQtdGFzay1taWxlc3RvbmUge1xyXG5cdGZpbGw6IHZhcigtLWNvbG9yLXJlZCk7XHJcblx0c3Ryb2tlOiB2YXIoLS1jb2xvci1yZWQpO1xyXG5cdG9wYWNpdHk6IDAuNjtcclxuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1pbnByb2dyZXNzIC5nYW50dC10YXNrLWJhciB7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLWZvIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHRwYWRkaW5nOiAwIDJweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5nYW50dC10YXNrLWxhYmVsLW1hcmtkb3duIHAge1xyXG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2FudHQtbWlsZXN0b25lLWxhYmVsLWNvbnRhaW5lciBwIHtcclxuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHBhZGRpbmc6IDAgMnB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdhbnR0LXRhc2staXRlbS5zdGF0dXMtZG9uZSAuZ2FudHQtdGFzay1sYWJlbC1tYXJrZG93biB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcclxufVxyXG4uZ2FudHQtdGFzay1pdGVtLnN0YXR1cy1jYW5jZWxsZWQgLmdhbnR0LXRhc2stbGFiZWwtbWFya2Rvd24ge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5nYW50dC1taWxlc3RvbmUtbGFiZWwge1xyXG5cdGZpbGw6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmdhbnR0LWZpbHRlci1hcmVhIC5maWx0ZXItY29tcG9uZW50IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG4uZ2FudHQtb2Zmc2NyZWVuLWluZGljYXRvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogY2FsYyg1MCUgKyAyMHB4KTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0d2lkdGg6IDhweDtcclxuXHRoZWlnaHQ6IDhweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNik7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0ge1xyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1vZmZzY3JlZW4taW5kaWNhdG9yLWxlZnQge1xyXG5cdGxlZnQ6IDVweDtcclxufVxyXG5cclxuLmdhbnR0LW9mZnNjcmVlbi1pbmRpY2F0b3ItcmlnaHQge1xyXG5cdHJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTMpO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLWxlZnQge1xyXG5cdGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyLXJpZ2h0IHtcclxuXHRyaWdodDogMDtcclxufVxyXG5cclxuLmdhbnR0LXNpbmdsZS1pbmRpY2F0b3Ige1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiB2YXIoLS1zaXplLTItMSk7XHJcblx0d2lkdGg6IHZhcigtLXNpemUtNC0yKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0yKTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uZ2FudHQtc2luZ2xlLWluZGljYXRvcjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4uZ2FudHQtY2hhcnQtY29udGFpbmVyIC5nYW50dC1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuXHR0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCwgNDBweCkgKyB2YXIoLS1maWx0ZXItaGVpZ2h0LCAwcHgpKTtcclxuXHRib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5nYW50dC1jaGFydC1jb250YWluZXIgLmdhbnR0LWluZGljYXRvci1jb250YWluZXItcmlnaHQge1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uZ2FudHQtdGFzay1sYWJlbCBwIHtcclxuXHRtYXJnaW46IDA7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWdhbnR0LWJhci1oZWlnaHQpO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4iLCAiLyogdGFzay1wcm9wZXJ0eSBWaWV3IFN0eWxlcyAqL1xyXG4udGFzay1wcm9wZXJ0eS1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktY29udGVudCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbGVmdC1jb2x1bW4ge1xyXG5cdHdpZHRoOiBtYXgoMTIwcHgsIDMwJSk7XHJcblx0bWluLXdpZHRoOiBtaW4oMTIwcHgsIDMwJSk7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1sZWZ0LWNvbHVtbiB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1yaWdodC1jb2x1bW4ge1xyXG5cdGZsZXg6IDE7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXNpZGViYXItaGVhZGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtNC0yKSB2YXIoLS1zaXplLTQtNCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxuXHRoZWlnaHQ6IHZhcigtLXNpemUtNC0xMCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LXNpZGViYXItdGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4ubXVsdGktc2VsZWN0LW1vZGUgLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0biB7XHJcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LW11bHRpLXNlbGVjdC1idG4ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktbXVsdGktc2VsZWN0LWJ0bjpob3ZlciB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktc2lkZWJhci1saXN0IHtcclxuXHRmbGV4OiAxO1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA0cHggMTJweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1saXN0LWl0ZW0uc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYWN0aXZlKTtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktaWNvbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLXByb3BlcnR5LW5hbWUge1xyXG5cdGZsZXg6IDE7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS1jb3VudCB7XHJcblx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRmb250LXNpemU6IDAuOGVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRwYWRkaW5nOiAxcHggNnB4O1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS10YXNrLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMikgdmFyKC0tc2l6ZS00LTQpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0aGVpZ2h0OiB2YXIoLS1zaXplLTQtMTApO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS10YXNrLXRpdGxlIHtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktdGFzay1jb3VudCB7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG59XHJcblxyXG4udGFzay1wcm9wZXJ0eS10YXNrLWxpc3Qge1xyXG5cdGZsZXg6IDE7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRhc2stcHJvcGVydHktZW1wdHktc3RhdGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRwYWRkaW5nOiAxNnB4O1xyXG59XHJcblxyXG4vKiB0YXNrLXByb3BlcnR5IFZpZXcgLSBNb2JpbGUgKi9cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uLmlzLXZpc2libGUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LXNpZGViYXItdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWNsb3NlIHtcclxuXHQtLWljb24tc2l6ZTogdmFyKC0tc2l6ZS00LTQpO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHZhcigtLXNpemUtNC0yKTtcclxuXHRyaWdodDogMTBweDtcclxuXHR6LWluZGV4OiAxNTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIEFkZCBvdmVybGF5IHdoZW4gbGVmdCBjb2x1bW4gaXMgdmlzaWJsZSBvbiBtb2JpbGUgKi9cclxuLmlzLXBob25lXHJcblx0LnRhc2stcHJvcGVydHktY29udGFpbmVyOmhhcyhcclxuXHRcdC50YXNrLXByb3BlcnR5LWxlZnQtY29sdW1uLmlzLXZpc2libGVcclxuXHQpOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWNvdmVyKTtcclxuXHRvcGFjaXR5OiAwLjU7XHJcblx0ei1pbmRleDogNTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi8qIEFkZCBwb3NpdGlvbiByZWxhdGl2ZSB0byBjb250YWluZXIgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNvbnRleHQgKi9cclxuLmlzLXBob25lIC50YXNrLXByb3BlcnR5LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pcy1waG9uZSAudGFzay1wcm9wZXJ0eS1zaWRlYmFyLWhlYWRlcjpoYXMoLnRhc2stcHJvcGVydHktc2lkZWJhci1jbG9zZSkge1xyXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0xMik7XHJcbn1cclxuIiwgIi8qIFRhc2sgVGFibGUgVmlldyBTdHlsZXMgKi9cbi50YWJsZS12aWV3LWFkYXB0ZXIge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YXNrLXRhYmxlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xufVxuXG4udGFzay10YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRmbGV4OiAxO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHQvKiBFbnN1cmUgdGFibGUgdGFrZXMgZnVsbCB3aWR0aCBldmVuIHdpdGggbWFueSBjb2x1bW5zICovXG5cdG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIFRhYmxlIHdyYXBwZXIgZm9yIHNjcm9sbGluZyAqL1xuLnRhc2stdGFibGUtd3JhcHBlciB7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qIEVuYWJsZSBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHNjcm9sbGluZyAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHQvKiBTbW9vdGggc2Nyb2xsaW5nICovXG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBIZWFkZXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXIge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdC8qIEVuc3VyZSBoZWFkZXIgZG9lc24ndCBicmVhayB3aGVuIHNjcm9sbGluZyBob3Jpem9udGFsbHkgKi9cblx0bWluLXdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXJvdyB7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwge1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcblx0LyogUHJldmVudCBoZWFkZXIgY2VsbHMgZnJvbSBzaHJpbmtpbmcgdG9vIG11Y2ggKi9cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGw6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLWNlbGwuc29ydGFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWhlYWRlci1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRnYXA6IDRweDtcbn1cblxuLnRhc2stdGFibGUtaGVhZGVyLXRpdGxlIHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0b3BhY2l0eTogMC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXNvcnQtaWNvbi5hc2MsXG4udGFzay10YWJsZS1zb3J0LWljb24uZGVzYyB7XG5cdG9wYWNpdHk6IDE7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50YXNrLXRhYmxlLXJlc2l6ZS1oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA0cHg7XG5cdGhlaWdodDogMTAwJTtcblx0Y3Vyc29yOiBjb2wtcmVzaXplO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yZXNpemUtaGFuZGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4vKiBCb2R5IFN0eWxlcyAqL1xuLnRhc2stdGFibGUtYm9keSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG59XG5cbi50YXNrLXRhYmxlLXJvdyB7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1yb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3c6bnRoLWNoaWxkKGV2ZW4pLnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1hY3RpdmUtaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1jZWxsIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS1jZWxsOmxhc3QtY2hpbGQge1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLWNlbGwuZWRpdGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXRyZWUtaW5kZW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4OyBcbn1cblxuLnRhc2stdGFibGUtY2VsbDpoYXMoLnRhc2stdGFibGUtZXhwYW5kLWJ0bikge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi50YXNrLXRhYmxlLXJvdy50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG59XG5cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtZXhwYW5kLWJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMiAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA1MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA3MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNCAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiA5MnB4O1xufVxuXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtNSAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy1sZWZ0OiAxMTJweDtcbn1cblxuLyogQ2VsbCBUeXBlIFN0eWxlcyAqL1xuLnRhc2stdGFibGUtdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi50YXNrLXRhYmxlLW51bWJlciB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG5cdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFN0YXR1cyBDZWxsICovXG4udGFzay10YWJsZS1zdGF0dXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy10ZXh0IHtcblx0ZmxleDogMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5jb21wbGV0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzKTtcbn1cblxuLnRhc2stdGFibGUtc3RhdHVzLmluLXByb2dyZXNzIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5hYmFuZG9uZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi50YXNrLXRhYmxlLXN0YXR1cy5wbGFubmVkIC50YXNrLXRhYmxlLXN0YXR1cy1pY29uIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMubm90LXN0YXJ0ZWQgLnRhc2stdGFibGUtc3RhdHVzLWljb24ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFByaW9yaXR5IENlbGwgKi9cbi50YXNrLXRhYmxlLXByaW9yaXR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LmNsaWNrYWJsZS1wcmlvcml0eSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHkuY2xpY2thYmxlLXByaW9yaXR5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LWljb24uaGlnaCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWVycm9yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5tZWRpdW0ge1xuXHRjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi50YXNrLXRhYmxlLXByaW9yaXR5LXRleHQge1xuXHRmbGV4OiAxO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogRGF0ZSBDZWxsICovXG4udGFzay10YWJsZS1kYXRlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRhc2stdGFibGUtZGF0ZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXRleHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnRvZGF5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtcmVsYXRpdmUudG9tb3Jyb3cge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnllc3RlcmRheSB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRhc2stdGFibGUtZGF0ZS1yZWxhdGl2ZS5vdmVyZHVlIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xufVxuXG4udGFzay10YWJsZS1kYXRlLXJlbGF0aXZlLnVwY29taW5nIHtcblx0Y29sb3I6IHZhcigtLXRleHQtd2FybmluZyk7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtZW1wdHkge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVGFncyBDZWxsICovXG4udGFzay10YWJsZS10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDRweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhc2stdGFibGUtdGFnLWNoaXAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG5cdHBhZGRpbmc6IDJweCA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGFzay10YWJsZS10YWdzLWVtcHR5IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIElubGluZSBFZGl0aW5nIElucHV0cyAqL1xuLnRhc2stdGFibGUtdGV4dC1pbnB1dCxcbi50YXNrLXRhYmxlLXRhZ3MtaW5wdXQge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKSAhaW1wb3J0YW50O1xufVxuXG4udGFzay10YWJsZS10ZXh0LWlucHV0OmZvY3VzLFxuLnRhc2stdGFibGUtdGFncy1pbnB1dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItZm9ybS1maWVsZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDJweCA0cHggIWltcG9ydGFudDtcbn1cblxuLyogVGFzayBDb3VudCBJY29uICovXG4udGFzay1jb3VudC1pY29uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4udGFzay10YWJsZS1lbXB0eS1yb3cge1xuXHRoZWlnaHQ6IDgwcHg7XG59XG5cbi50YXNrLXRhYmxlLWVtcHR5LWNlbGwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBMb2FkaW5nIFN0YXRlICovXG4udGFzay10YWJsZS1sb2FkaW5nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcblx0ei1pbmRleDogMTAwO1xufVxuXG4vKiBSZXNpemUgU3RhdGUgKi9cbi50YXNrLXRhYmxlLnJlc2l6aW5nIHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrLXRhYmxlLnJlc2l6aW5nICoge1xuXHRjdXJzb3I6IGNvbC1yZXNpemUgIWltcG9ydGFudDtcbn1cblxuLyogVmlydHVhbCBzY3JvbGxpbmcgc3R5bGVzICovXG4udmlydHVhbC1zY3JvbGwtc3BhY2VyIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXdyYXBwZXIge1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZSB7XG5cdFx0bWluLXdpZHRoOiA4MDBweDsgLyogRW5zdXJlIHRhYmxlIGRvZXNuJ3QgZ2V0IHRvbyBuYXJyb3cgKi9cblx0fVxuXG5cdC50YXNrLXRhYmxlLWhlYWRlci1jZWxsLFxuXHQudGFzay10YWJsZS1jZWxsIHtcblx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItcm93IHtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzICovXG4udGhlbWUtZGFyayAudGFzay10YWJsZS1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRoZW1lLWRhcmsgLnRhc2stdGFibGUtcm93Om50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeS1hbHQpO1xufVxuXG4vKiBIaWdoIENvbnRyYXN0IE1vZGUgKi9cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtaGVhZGVyLWNlbGwsXG5cdC50YXNrLXRhYmxlLWNlbGwge1xuXHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHR9XG5cblx0LnRhc2stdGFibGUtcm93IHtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdH1cbn1cblxuLyogUHJpbnQgU3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuXHQudGFzay10YWJsZS1jb250YWluZXIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdH1cblxuXHQudGFzay10YWJsZS1yZXNpemUtaGFuZGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRhc2stdGFibGUtZXhwYW5kLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBWaXJ0dWFsIHNjcm9sbGluZyBzdHlsZXMgKi9cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52aXJ0dWFsLXNjcm9sbC1zcGFjZXItdG9wIHRkIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogQ29udGV4dCBtZW51IHN0eWxlcyAqL1xuLnRhc2stdGFibGUtY29udGV4dC1tZW51IHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbSB7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4udGFzay10YWJsZS1jb250ZXh0LW1lbnUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBEYXRlIGlucHV0IGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtZGF0ZS1pbnB1dCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1wcmltYXJ5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay10YWJsZS1kYXRlLWlucHV0OmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLWRhdGUtaW5wdXQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEF1dG9jb21wbGV0ZSBpbnB1dCBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLXByb2plY3QtaW5wdXQsXG4udGFzay10YWJsZS1jb250ZXh0LWlucHV0LFxuLnRhc2stdGFibGUtdGFncy1pbnB1dCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stdGFibGUtcHJvamVjdC1pbnB1dDpmb2N1cyxcbi50YXNrLXRhYmxlLWNvbnRleHQtaW5wdXQ6Zm9jdXMsXG4udGFzay10YWJsZS10YWdzLWlucHV0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSb3cgc2VsZWN0aW9uIGltcHJvdmVtZW50cyAqL1xuLnRhc2stdGFibGUtcm93LnNlbGVjdGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YXNrLXRhYmxlLXJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXItd2Vhayk7XG59XG5cbi8qIFJlc3BvbnNpdmUgaW1wcm92ZW1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUge1xuXHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdH1cblxuXHR0aFtkYXRhLWNvbHVtbi1pZD1cInJvd051bWJlclwiXSB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLXRyZWUtY29udGFpbmVyIHtcblx0XHRnYXA6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC50YXNrLXRhYmxlLWV4cGFuZC1idG4ge1xuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGRbZGF0YS1jb2x1bW4taWQ9XCJyb3dOdW1iZXJcIl0ge1xuXHRcdG1heC13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudGFzay10YWJsZS1oZWFkZXItY2VsbCxcblx0LnRhc2stdGFibGUtY2VsbCB7XG5cdFx0cGFkZGluZzogNnB4IDRweDtcblx0fVxufVxuXG4vKiBUYXNrIFRhYmxlIEhlYWRlciBCYXIgU3R5bGVzICovXG4udGFzay10YWJsZS1oZWFkZXItYmFyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmbGV4LXNocmluazogMDtcblx0bWluLWhlaWdodDogNDBweDtcbn1cblxuLnRhYmxlLWhlYWRlci1sZWZ0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xufVxuXG4udGFibGUtaGVhZGVyLXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG59XG5cbi8qIFRhc2sgQ291bnQgRGlzcGxheSAqL1xuLnRhc2stY291bnQtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcbn1cblxuLnRhc2stY291bnQtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG59XG5cbi8qIENvbnRyb2wgQnV0dG9ucyAqL1xuLnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xufVxuXG4udGFibGUtY29udHJvbC1idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0Ym94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLWNvbnRyb2wtYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcik7XG59XG5cbi50YWJsZS1jb250cm9sLWJ0bjphY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWFjdGl2ZSk7XG59XG5cbi50cmVlLW1vZGUtYnRuLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi50cmVlLW1vZGUtaWNvbixcbi5yZWZyZXNoLWljb24sXG4uY29sdW1uLWljb24ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udHJlZS1tb2RlLXRleHQsXG4ucmVmcmVzaC10ZXh0LFxuLmNvbHVtbi10ZXh0IHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRyb3Bkb3duLWFycm93IHtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4vKiBDb2x1bW4gRHJvcGRvd24gKi9cbi5jb2x1bW4tZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2x1bW4tZHJvcGRvd24tbWVudSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXRvcDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA4cHggMTJweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNvbHVtbi10b2dnbGUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1jaGVja2JveCB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29sdW1uLXRvZ2dsZS1sYWJlbCB7XG5cdGZsZXg6IDE7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgSGVhZGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LnRhc2stdGFibGUtaGVhZGVyLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDEycHg7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQudGFibGUtaGVhZGVyLWxlZnQsXG5cdC50YWJsZS1oZWFkZXItcmlnaHQge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0LnRhYmxlLWNvbnRyb2wtYnRuIHtcblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHQuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogRGFyayBNb2RlIEFkanVzdG1lbnRzIGZvciBIZWFkZXIgKi9cbi50aGVtZS1kYXJrIC50YXNrLXRhYmxlLWhlYWRlci1iYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1hbHQpO1xufVxuXG4udGhlbWUtZGFyayAuY29sdW1uLWRyb3Bkb3duLW1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnktYWx0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi8qIEN1c3RvbSBBdXRvLVN1Z2dlc3QgRHJvcGRvd24gKi9cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbCk7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWF4LWhlaWdodDogMjAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi5jdXN0b20tc3VnZ2VzdC1kcm9wZG93biAuc3VnZ2VzdGlvbi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEycHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmN1c3RvbS1zdWdnZXN0LWRyb3Bkb3duIC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIsXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4uY3VzdG9tLXN1Z2dlc3QtZHJvcGRvd24gLnN1Z2dlc3Rpb24taXRlbS5zZWxlY3RlZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi8qIEVuaGFuY2VkIFRyZWUgVmlldyBTdHlsZXMgKi9cbi50YXNrLXRhYmxlLXN1YnRhc2sge1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLnRhc2stdGFibGUtcGFyZW50IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWNlbGwge1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWZvY3VzKTtcbn1cblxuLnRhc2stdGFibGUtdHJlZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDZweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtc3RydWN0dXJlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFzay10YWJsZS10cmVlLWxpbmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHdpZHRoOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50YXNrLXRhYmxlLXRyZWUtY29ubmVjdG9yIHtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGFzay10YWJsZS10cmVlLXZlcnRpY2FsIHtcblx0Y29sb3I6IHZhcigtLXRleHQtZmFpbnQpO1xufVxuXG4udGFzay10YWJsZS1zdWJ0YXNrLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRhc2stdGFibGUtdG9wLWxldmVsLWV4cGFuZCB7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4udGFzay10YWJsZS1jb250ZW50LXdyYXBwZXIge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi50YXNrLXRhYmxlLWNoaWxkLWluZGljYXRvciB7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLyogRW5oYW5jZWQgU3RhdHVzIENlbGwgKi9cbi50YXNrLXRhYmxlLXN0YXR1cy5jbGlja2FibGUtc3RhdHVzIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1zdGF0dXMuY2xpY2thYmxlLXN0YXR1czpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItaG92ZXIpO1xufVxuXG4vKiBFbmhhbmNlZCBQcmlvcml0eSBJY29ucyAqL1xuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5oaWdoZXN0IHtcblx0Y29sb3I6IHZhcigtLXRleHQtZXJyb3IpO1xuXHRmaWx0ZXI6IGJyaWdodG5lc3MoMS4yKTtcbn1cblxuLnRhc2stdGFibGUtcHJpb3JpdHktaWNvbi5sb3dlc3Qge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG59XG5cbi8qIFRyZWUgZXhwYW5kIGJ1dHRvbiBpbXByb3ZlbWVudHMgKi9cbi50YXNrLXRhYmxlLWV4cGFuZC1idG4uY2xpY2thYmxlLWljb24ge1xuXHRvcGFjaXR5OiAwLjc7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4udGFzay10YWJsZS1leHBhbmQtYnRuLmNsaWNrYWJsZS1pY29uOmhvdmVyIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogT3ZlcnJpZGUgZXhpc3RpbmcgdHJlZSBpbmRlbnRhdGlvbiB0byB1c2UgbmV3IHN5c3RlbSAqL1xuLnRhc2stdGFibGUtcm93LWxldmVsLTEgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC0yIC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQsXG4udGFzay10YWJsZS1yb3ctbGV2ZWwtMyAudGFzay10YWJsZS1jZWxsOmZpcnN0LWNoaWxkLFxuLnRhc2stdGFibGUtcm93LWxldmVsLTQgLnRhc2stdGFibGUtY2VsbDpmaXJzdC1jaGlsZCxcbi50YXNrLXRhYmxlLXJvdy1sZXZlbC01IC50YXNrLXRhYmxlLWNlbGw6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7IC8qIFJlc2V0IHRvIG5vcm1hbCBwYWRkaW5nLCBsZXQgdHJlZSBzdHJ1Y3R1cmUgaGFuZGxlIGluZGVudGF0aW9uICovXG59XG4iLCAiLnRnLWhhYml0LWNvbXBvbmVudC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiAxcmVtOyAvKiBnYXAtNCAqL1xyXG5cdHBhZGRpbmc6IDFyZW07IC8qIHAtNCAqL1xyXG5cdGhlaWdodDogMTAwJTsgLyogQWxsb3cgc2Nyb2xsaW5nIGlmIGNvbnRlbnQgb3ZlcmZsb3dzICovXHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLyogPT09IEhhYml0IExpc3QgQ29udGFpbmVyID09PSAqL1xyXG4uaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xyXG5cdGdhcDogMXJlbTsgLyogZ2FwLTQgKi9cclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogXHU1QzBGXHU1QzRGXHU1RTU1XHU4QkJFXHU1OTA3ICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDAuNXJlbTtcclxuXHRcdGdhcDogMC43NXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIFx1NEUyRFx1N0I0OVx1NUM0Rlx1NUU1NVx1OEJCRVx1NTkwNyB+NzY4cHggKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHQuaGFiaXQtbGlzdC1jb250YWluZXIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG59XHJcblxyXG4vKiBcdTU5MjdcdTVDNEZcdTVFNTVcdThCQkVcdTU5MDcgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcblx0LmhhYml0LWxpc3QtY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogNTAwcHg7XHJcblx0fVxyXG59XHJcbi8qIEFkanVzdCBtYXgtd2lkdGgvY29sdW1ucyBiYXNlZCBvbiBkZXNpcmVkIGxheW91dCAqL1xyXG5cclxuLmhhYml0LWNhcmQtd3JhcHBlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi8qID09PSBCYXNlIENhcmQgU3R5bGVzID09PSAqL1xyXG4uaGFiaXQtY2FyZCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTsgLyogU3RhbmRhcmQgbWVkaXVtIHJhZGl1cyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBTdGFjayBoZWFkZXIgYW5kIGNvbnRlbnQgKi9cclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0bWluLWhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5jYXJkLWhlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuXHRnYXA6IDAuNXJlbTtcclxuXHQvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAqL1xyXG59XHJcblxyXG4uY2FyZC10aXRsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7IC8qIExhcmdlciBVSSBmb250ICovXHJcblx0Zm9udC13ZWlnaHQ6IDYwMDsgLyogZm9udC1zZW1pYm9sZCAqL1xyXG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgdGl0bGUgdG8gdGFrZSBzcGFjZSAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgbG9uZyBuYW1lcyBicmVha2luZyBsYXlvdXQgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4uaGFiaXQtbmFtZS5oYWJpdC1uYW1lOmhvdmVyIHtcclxuXHQvKiBTcGVjaWZpY2l0eSBmb3IgaG92ZXIgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0cGFkZGluZzogMC43NXJlbSAxcmVtOyAvKiBDb25zaXN0ZW50IHBhZGRpbmcgKi9cclxuXHRmbGV4LWdyb3c6IDE7IC8qIEFsbG93IGNvbnRlbnQgdG8gZmlsbCBzcGFjZSAqL1xyXG5cdC8qIExheW91dCBzcGVjaWZpY3MgZGVmaW5lZCBwZXIgY2FyZCB0eXBlICovXHJcbn1cclxuXHJcbi8qID09PSBEYWlseSBIYWJpdCBDYXJkID09PSAqL1xyXG4uZGFpbHktaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdC8qIE5vIGJvcmRlciBuZWVkZWQgaWYgY2hlY2tib3ggaXMgbWFpbiBhY3Rpb24gKi9cclxuXHQvKiBib3JkZXItYm90dG9tOiBub25lOyAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5oYWJpdC1jaGVja2JveC1jb250YWluZXIge1xyXG5cdC8qIFN0eWxlIGNvbnRhaW5lciBpZiBuZWVkZWQgKi9cclxufVxyXG4uZGFpbHktaGFiaXQtY2FyZCAuaGFiaXQtY2hlY2tib3gge1xyXG5cdC0tY2hlY2tib3gtc2l6ZTogMS4yNXJlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0YWNjZW50LWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpOyAvKiBTdHlsZSBjaGVja2JveCBjb2xvciAqL1xyXG59XHJcbi5kYWlseS1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0LyogQ29udGFpbnMgaGVhdG1hcCAqL1xyXG5cdHBhZGRpbmc6IDByZW0gMXJlbSAwLjc1cmVtOyAvKiBBZGp1c3QgcGFkZGluZyBhcm91bmQgaGVhdG1hcCAqL1xyXG59XHJcblxyXG4vKiA9PT0gQ291bnQgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLmNvdW50LWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIERlZmF1bHQgbW9iaWxlIGxheW91dCAqL1xyXG5cdGdhcDogMC43NXJlbTsgLyogQWRqdXN0ZWQgZ2FwICovXHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWljb24tYnV0dG9uIHtcclxuXHQtLWljb24tc2l6ZTogMnJlbTtcclxuXHRoZWlnaHQ6IDRyZW07IC8qIFNsaWdodGx5IHNtYWxsZXIgdGhhbiBoLTE2ICovXHJcblx0d2lkdGg6IDRyZW07XHJcblx0YXNwZWN0LXJhdGlvOiAxO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGxlciByYWRpdXMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAxLjVyZW07IC8qIEZvciBpY29uICovXHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pY29uLWJ1dHRvbiB7XHJcblx0Y29sb3I6IHZhcigtLWljb24tY29sb3IpO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtaWNvbi1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWNhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLWxhcmdlKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uY291bnQtaGFiaXQtY2FyZCAuaGFiaXQtYWN0aXZlLWRheSB7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmNvdW50LWhhYml0LWNhcmQgLmhhYml0LWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdGV4dCBvbiBtb2JpbGUgKi9cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ZmxleC1ncm93OiAxO1xyXG59XHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1pbmZvIGgzIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktbGFyZ2UpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1wcm9ncmVzcy1hcmVhIHtcclxuXHR3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogVGFibGV0L0Rlc2t0b3AgbGF5b3V0IGZvciBDb3VudCBDYXJkICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xyXG5cdC8qIHNtIGJyZWFrcG9pbnQgKi9cclxuXHQuY291bnQtaGFiaXQtY2FyZCAuY2FyZC1jb250ZW50LXdyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cclxuXHRcdGdhcDogMXJlbTtcclxuXHR9XHJcblx0LmNvdW50LWhhYml0LWNhcmQgLmhhYml0LXByb2dyZXNzLWFyZWEge1xyXG5cdFx0d2lkdGg6IGF1dG87IC8qIEFsbG93IGl0IHRvIHNocmluayAqL1xyXG5cdFx0bWluLXdpZHRoOiAxNTBweDsgLyogRW5zdXJlIG1pbmltdW0gd2lkdGggZm9yIGhlYXRtYXAvcHJvZ3Jlc3MgKi9cclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpZ24gcHJvZ3Jlc3MgdG8gdGhlIHJpZ2h0ICovXHJcblx0fVxyXG5cdC5jb3VudC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLXNtYWxsIHtcclxuXHRcdHdpZHRoOiAxMDAlOyAvKiBBbGxvdyBoZWF0bWFwIHRvIGRlZmluZSBpdHMgb3duIHdpZHRoICovXHJcblx0fVxyXG59XHJcblxyXG4vKiA9PT0gU2NoZWR1bGVkIEhhYml0IENhcmQgPT09ICovXHJcbi5zY2hlZHVsZWQtaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cclxufVxyXG4uc2NoZWR1bGVkLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIE1vYmlsZSBkZWZhdWx0ICovXHJcblx0Z2FwOiAwLjc1cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggaGVhdG1hcCBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggY29udHJvbHMgb24gbW9iaWxlICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMC41cmVtO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIENlbnRlciBjb250cm9scyBvbiBtb2JpbGUgKi9cclxufVxyXG5cclxuLnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1ldmVudC1kcm9wZG93biB7XHJcblx0d2lkdGg6IGF1dG87IC8qIEF1dG8gd2lkdGggZHJvcGRvd24gKi9cclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgU2NoZWR1bGVkIENhcmQgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8qIEFsaWduIHRvcCAqL1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHQuc2NoZWR1bGVkLWhhYml0LWNhcmQgLmhhYml0LWhlYXRtYXAtbWVkaXVtIHtcclxuXHRcdHdpZHRoOiBhdXRvOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHNocmluayAqL1xyXG5cdFx0ZmxleC1ncm93OiAxOyAvKiBBbGxvdyBoZWF0bWFwIHRvIHRha2UgYXZhaWxhYmxlIHNwYWNlICovXHJcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07IC8qIFNwYWNlIGJldHdlZW4gaGVhdG1hcCBhbmQgY29udHJvbHMgKi9cclxuXHR9XHJcblx0LnNjaGVkdWxlZC1oYWJpdC1jYXJkIC5oYWJpdC1jb250cm9scyB7XHJcblx0XHR3aWR0aDogYXV0bzsgLyogU2hyaW5rIGNvbnRyb2xzICovXHJcblx0XHRtaW4td2lkdGg6IDE1MHB4OyAvKiBNaW5pbXVtIHdpZHRoICovXHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxpZ24gY29udHJvbHMgbGVmdCAqL1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09IE1hcHBpbmcgSGFiaXQgQ2FyZCA9PT0gKi9cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuY2FyZC1oZWFkZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8qIHBiLTIgKi9cclxufVxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5jYXJkLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBNb2JpbGUgZGVmYXVsdCAqL1xyXG5cdGdhcDogMC43NXJlbTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOiAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtaGVhdG1hcC1tZWRpdW0ge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGhlYXRtYXAgb24gbW9iaWxlICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIGNvbnRyb2xzIG9uIG1vYmlsZSAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGdhcDogMC41cmVtO1xyXG59XHJcblxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1tYXBwaW5nLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMS43NXJlbTsgLyogTGFyZ2VyIGVtb2ppL3RleHQgKi9cclxuXHRwYWRkaW5nOiAwLjVyZW07XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAxMDBweDsgLyogTGltaXQgYnV0dG9uIHdpZHRoICovXHJcblx0aGVpZ2h0OiAzLjVyZW07IC8qIGgtMTYgZXF1aXZhbGVudCAqL1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJnKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpOyAvKiBFbnN1cmUgZW1vamkgdmlzaWJpbGl0eSAqL1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b246aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmcpO1xyXG59XHJcblxyXG4ubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIFNsaWRlciB0YWtlcyBmdWxsIHdpZHRoICovXHJcblx0bWF4LXdpZHRoOiAyMDBweDsgLyogTGltaXQgc2xpZGVyIHdpZHRoICovXHJcbn1cclxuLm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtc2xpZGVyLXNldHRpbmcgLnNldHRpbmctaXRlbS1pbmZvIHtcclxuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRlIHNsaWRlciBsYWJlbCAqL1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhhYml0LXNsaWRlci1zZXR0aW5nIC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XHJcblx0d2lkdGg6IDEwMCU7IC8qIE1ha2Ugc2xpZGVyIGNvbnRyb2wgdGFrZSBmdWxsIHdpZHRoICovXHJcbn1cclxuXHJcbi5tYXBwaW5nLWhhYml0LWNhcmQgLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0Z2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIFRhYmxldC9EZXNrdG9wIGxheW91dCBmb3IgTWFwcGluZyBDYXJkICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xyXG5cdC5tYXBwaW5nLWhhYml0LWNhcmQgLmNhcmQtY29udGVudC13cmFwcGVyIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgaXRlbXMgdmVydGljYWxseSAqL1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1oZWF0bWFwLW1lZGl1bSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHR9XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtY29udHJvbHMge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtaW4td2lkdGg6IDgwcHg7IC8qIFdpZHRoIGZvciBidXR0b24gKyBzbGlkZXIgKi9cclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEtlZXAgYnV0dG9uIGFib3ZlIHNsaWRlciAqL1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGdhcDogMC43NXJlbTtcclxuXHR9XHJcblx0Lm1hcHBpbmctaGFiaXQtY2FyZCAuaGFiaXQtbWFwcGluZy1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDRyZW07IC8qIEZpeGVkIHdpZHRoIGJ1dHRvbiAqL1xyXG5cdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdH1cclxuXHQubWFwcGluZy1oYWJpdC1jYXJkIC5oYWJpdC1zbGlkZXItc2V0dGluZyB7XHJcblx0XHR3aWR0aDogMTAwJTsgLyogU2xpZGVyIHRha2VzIHdpZHRoIG9mIGNvbnRyb2wgYXJlYSAqL1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLyogPT09IFByb2dyZXNzIEJhciAoQ29tbW9uIGZvciBDb3VudC9TY2hlZHVsZWQpID09PSAqL1xyXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDAuNzVyZW07IC8qIFNsaWdodGx5IHRoaWNrZXIgKi9cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XHJcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWwpOyAvKiBQaWxsIHNoYXBlICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IC8qIEZvciB0ZXh0IG92ZXJsYXkgKi9cclxufVxyXG4uaGFiaXQtcHJvZ3Jlc3MtYmFyIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbCk7XHJcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uaGFiaXQtcHJvZ3Jlc3MtY29udGFpbmVyLmZpbGxlZCAuaGFiaXQtcHJvZ3Jlc3MtdGV4dCB7XHJcblx0bWl4LWJsZW5kLW1vZGU6IHVuc2V0O1xyXG59XHJcbi5oYWJpdC1wcm9ncmVzcy10ZXh0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDAuNnJlbTsgLyogVGlueSB0ZXh0ICovXHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTsgLyogVGV4dCBjb2xvciBvbiBmaWxsZWQgcGFydCAqL1xyXG5cdG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyAvKiBUcnkgdG8gbWFrZSB0ZXh0IHZpc2libGUgKi9cclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vKiA9PT0gSGVhdG1hcCBTdHlsZXMgPT09ICovXHJcbi50Zy1oZWF0bWFwLXJvb3Qge1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBUYWtlIGF2YWlsYWJsZSB3aWR0aCAqL1xyXG59XHJcbi5oZWF0bWFwLXNtIC5oZWF0bWFwLWNvbnRhaW5lci1zaW1wbGUge1xyXG5cdGRpc3BsYXk6IGdyaWQ7XHJcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuXHRnYXA6IDNweDsgLyogU21hbGwgZ2FwIGJldHdlZW4gY2VsbHMgKi9cclxuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cclxufVxyXG5cclxuLmhlYXRtYXAtbWQgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xyXG5cdGdhcDogM3B4OyAvKiBTbWFsbCBnYXAgYmV0d2VlbiBjZWxscyAqL1xyXG5cdG92ZXJmbG93LXg6IGF1dG87IC8qIEFsbG93IGhvcml6b250YWwgc2Nyb2xsIGlmIHRvbyBtYW55IGNlbGxzICovXHJcblx0cGFkZGluZy1ib3R0b206IDJweDsgLyogU3BhY2UgZm9yIHNjcm9sbGJhciAqL1xyXG5cdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYXRtYXAtbGcgLmhlYXRtYXAtY29udGFpbmVyLXNpbXBsZSB7XHJcblx0ZGlzcGxheTogZ3JpZDtcclxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTsgLyogU21hbGwgZ2FwIGJldHdlZW4gY2VsbHMgKi9cclxuXHRvdmVyZmxvdy14OiBhdXRvOyAvKiBBbGxvdyBob3Jpem9udGFsIHNjcm9sbCBpZiB0b28gbWFueSBjZWxscyAqL1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7IC8qIFNwYWNlIGZvciBzY3JvbGxiYXIgKi9cclxuXHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oZWF0bWFwLWNlbGwge1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTsgLyogU21hbGwgcmFkaXVzICovXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBjZWxscyBmcm9tIHNocmlua2luZyAqL1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuXHRcdC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXJcclxuXHQpOyAvKiBEZWZhdWx0IGJhY2tncm91bmQgKi9cclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogQm9yZGVyIGZvciBibGFuay9jdXN0b20gKi9cclxufVxyXG5cclxuLyogSGVhdG1hcCBTaGFwZXMgKi9cclxuLmhlYXRtYXAtY2VsbC1zcXVhcmUge1xyXG5cdC8qIERlZmluZWQgYnkgc2l6ZSAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwtZG90IHtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi8qIEhlYXRtYXAgU2l6ZXMgKi9cclxuLmhlYXRtYXAtc20gLmhlYXRtYXAtY2VsbCB7XHJcblx0d2lkdGg6IDAuNzVyZW07XHJcblx0aGVpZ2h0OiAwLjc1cmVtO1xyXG59XHJcbi5oYWJpdC1oZWF0bWFwLW1lZGl1bSAuaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMS40cmVtO1xyXG5cdGhlaWdodDogMS40cmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43cmVtO1xyXG59XHJcblxyXG4uaGVhdG1hcC1tZCAuaGVhdG1hcC1jZWxsIHtcclxuXHR3aWR0aDogMS4xcmVtO1xyXG5cdGhlaWdodDogMS4xcmVtO1xyXG5cdGZvbnQtc2l6ZTogMC43cmVtO1xyXG59IC8qIE1hcHBpbmcvU2NoZWR1bGVkICovXHJcbi5oZWF0bWFwLWxnIC5oZWF0bWFwLWNlbGwge1xyXG5cdHdpZHRoOiAxLjI1cmVtO1xyXG5cdGhlaWdodDogMS4yNXJlbTtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcbn0gLyogRGFpbHkgKi9cclxuXHJcbi8qIEhlYXRtYXAgVmFyaWFudHMgKi9cclxuLmhlYXRtYXAtY2VsbC5kZWZhdWx0IHtcclxuXHQvKiBEZWZhdWx0IHN0eWxlcyBhbHJlYWR5IHNldCAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwuZmlsbGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnRlcmFjdGl2ZS1hY2NlbnQpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7IC8qIFRleHQgb24gZmlsbGVkIChlLmcuLCBlbW9qaSkgKi9cclxufVxyXG5cclxuLmhlYXRtYXAtY2VsbC5oYXMtY3VzdG9tLWNvbnRlbnQ6aGFzKC5waWUtZG90LWNvbnRhaW5lcikge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogdW5zZXQ7XHJcbn1cclxuXHJcbi8qIFN0eWxlIGZvciBjZWxscyB3aXRoIGN1c3RvbSBjb250ZW50IGxpa2UgUGllRG90IG9yIEVtb2ppICovXHJcbi5oZWF0bWFwLWNlbGwuaGFzLWN1c3RvbS1jb250ZW50LFxyXG4uaGVhdG1hcC1jZWxsLmhhcy10ZXh0LWNvbnRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5KTsgLyogVXNlIGNhcmQgYmFja2dyb3VuZCAqL1xyXG5cdGJvcmRlci1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpOyAvKiBBZGQgYm9yZGVyICovXHJcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTsgLyogRW5zdXJlIHRleHQvZW1vamkgaXMgdmlzaWJsZSAqL1xyXG59XHJcbi5oZWF0bWFwLWNlbGwuaGFzLXRleHQtY29udGVudCB7XHJcblx0bGluZS1oZWlnaHQ6IDE7IC8qIENlbnRlciBlbW9qaSB2ZXJ0aWNhbGx5ICovXHJcbn1cclxuXHJcbi8qIFBpZURvdCBDb250YWluZXIgKi9cclxuLnBpZS1kb3QtY29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5waWUtZG90LWNvbnRhaW5lciBzdmcge1xyXG5cdGRpc3BsYXk6IGJsb2NrOyAvKiBSZW1vdmUgZXh0cmEgc3BhY2UgYmVsb3cgU1ZHICovXHJcbn1cclxuXHJcbi8qID09PSBFbXB0eSBTdGF0ZSA9PT0gKi9cclxuLmhhYml0LWVtcHR5LXN0YXRlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMnJlbSAxcmVtO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxufVxyXG4uaGFiaXQtZW1wdHktc3RhdGUgaDIge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1sYXJnZSk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuLmhhYml0LWVtcHR5LXN0YXRlIHAge1xyXG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1ub3JtYWwpO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LWZhaW50KTtcclxufVxyXG5cclxuLyogPT09IEljb25zIFBsYWNlaG9sZGVyID09PSAqL1xyXG4uaGFiaXQtaWNvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8qIHdpZHRoOiAxZW07ICovXHJcblx0aGVpZ2h0OiAxZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjI1ZW07XHJcblx0LS1pY29uLXNpemU6IDEuNXJlbTtcclxufVxyXG4iLCAiLyogRGVmaW5lIHRoZW1lIHZhcmlhYmxlcyAqL1xyXG46cm9vdCB7XHJcblx0LyogVGFzayBzdGF0dXMgY29sb3JzICovXHJcblx0LS10YXNrLWNvbXBsZXRlZC1jb2xvcjogIzRjYWY1MDtcclxuXHQtLXRhc2stZG9pbmctY29sb3I6ICM4MGRlZTU7XHJcblx0LS10YXNrLWluLXByb2dyZXNzLWNvbG9yOiAjZjlkOTIzO1xyXG5cdC0tdGFzay1hYmFuZG9uZWQtY29sb3I6ICNlYjUzNTM7XHJcblx0LS10YXNrLXBsYW5uZWQtY29sb3I6ICM5YzI3YjA7IC8qIFBsYW5uZWQgdGFzayBjb2xvciAqL1xyXG5cdC0tdGFzay1xdWVzdGlvbi1jb2xvcjogIzIxOTZmMzsgLyogUXVlc3Rpb24gdGFza3MgKi9cclxuXHQtLXRhc2staW1wb3J0YW50LWNvbG9yOiAjZjQ0MzM2OyAvKiBJbXBvcnRhbnQgdGFza3MgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmYzEwNzsgLyogU3RhciB0YXNrcyAqL1xyXG5cdC0tdGFzay1xdW90ZS1jb2xvcjogIzYwN2Q4YjsgLyogUXVvdGUgdGFza3MgKi9cclxuXHQtLXRhc2stbG9jYXRpb24tY29sb3I6ICM3OTU1NDg7IC8qIExvY2F0aW9uIHRhc2tzICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmY5ODAwOyAvKiBCb29rbWFyayB0YXNrcyAqL1xyXG5cdC0tdGFzay1pbmZvcm1hdGlvbi1jb2xvcjogIzAwYmNkNDsgLyogSW5mb3JtYXRpb24gdGFza3MgKi9cclxuXHQtLXRhc2staWRlYS1jb2xvcjogIzljMjdiMDsgLyogSWRlYSB0YXNrcyAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNGNhZjUwOyAvKiBQcm9zIHRhc2tzICovXHJcblx0LS10YXNrLWNvbnMtY29sb3I6ICNmNDQzMzY7IC8qIENvbnMgdGFza3MgKi9cclxuXHQtLXRhc2stZmlyZS1jb2xvcjogI2ZmNTcyMjsgLyogRmlyZSB0YXNrcyAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyAqL1xyXG5cdC0tdGFzay13aW4tY29sb3I6ICM2NmJiNmE7IC8qIFdpbiB0YXNrcyAqL1xyXG5cdC0tdGFzay11cC1jb2xvcjogIzRjYWY1MDsgLyogVXAgdGFza3MgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2Y0NDMzNjsgLyogRG93biB0YXNrcyAqL1xyXG5cdC0tdGFzay1ub3RlLWNvbG9yOiAjOWU5ZTllOyAvKiBOb3RlIHRhc2tzICovXHJcblx0LS10YXNrLWFtb3VudC1jb2xvcjogIzhiYzM0YTsgLyogQW1vdW50L3NhdmluZ3MgdGFza3MgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMDNhOWY0OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzICovXHJcblxyXG5cdC8qIFByb2dyZXNzIGJhciBncmFkaWVudCBjb2xvcnMgLSBsaWdodCB0aGVtZSAqL1xyXG5cdC0tcHJvZ3Jlc3MtMC1jb2xvcjogI2FlNDMxZTtcclxuXHQtLXByb2dyZXNzLTI1LWNvbG9yOiAjZTU4OTBhO1xyXG5cdC0tcHJvZ3Jlc3MtNTAtY29sb3I6ICNiNGM2YTY7XHJcblx0LS1wcm9ncmVzcy03NS1jb2xvcjogIzZiY2I3NztcclxuXHQtLXByb2dyZXNzLTEwMC1jb2xvcjogIzRkOTZmZjtcclxuXHJcblx0LS1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4vKiBEYXJrIHRoZW1lIGNvbG9yIGFkanVzdG1lbnRzICovXHJcbi50aGVtZS1kYXJrIHtcclxuXHQtLXRhc2stY29tcGxldGVkLWNvbG9yOiAjNGNhZjUwO1xyXG5cdC0tdGFzay1kb2luZy1jb2xvcjogIzM3OWZhNztcclxuXHQtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3I6ICNmZmMxMDc7XHJcblx0LS10YXNrLWFiYW5kb25lZC1jb2xvcjogI2Y0NDMzNjtcclxuXHQtLXRhc2stcGxhbm5lZC1jb2xvcjogI2NlOTNkODsgLyogUGxhbm5lZCB0YXNrIGNvbG9yIGZvciBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1ZXN0aW9uLWNvbG9yOiAjNDJhNWY1OyAvKiBRdWVzdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWltcG9ydGFudC1jb2xvcjogI2VmNTM1MDsgLyogSW1wb3J0YW50IHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3Rhci1jb2xvcjogI2ZmZDU0ZjsgLyogU3RhciB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXF1b3RlLWNvbG9yOiAjOTBhNGFlOyAvKiBRdW90ZSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWxvY2F0aW9uLWNvbG9yOiAjOGQ2ZTYzOyAvKiBMb2NhdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWJvb2ttYXJrLWNvbG9yOiAjZmZiNzRkOyAvKiBCb29rbWFyayB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWluZm9ybWF0aW9uLWNvbG9yOiAjMjZjNmRhOyAvKiBJbmZvcm1hdGlvbiB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWlkZWEtY29sb3I6ICNjZTkzZDg7IC8qIElkZWEgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1wcm9zLWNvbG9yOiAjNjZiYjZhOyAvKiBQcm9zIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stY29ucy1jb2xvcjogI2VmNTM1MDsgLyogQ29ucyB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLWZpcmUtY29sb3I6ICNmZjcwNDM7IC8qIEZpcmUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1rZXktY29sb3I6ICNmZmQ3MDA7IC8qIEtleSB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLXdpbi1jb2xvcjogIzgxYzc4NDsgLyogV2luIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stdXAtY29sb3I6ICM2NmJiNmE7IC8qIFVwIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stZG93bi1jb2xvcjogI2VmNTM1MDsgLyogRG93biB0YXNrcyBkYXJrIHRoZW1lICovXHJcblx0LS10YXNrLW5vdGUtY29sb3I6ICNiZGJkYmQ7IC8qIE5vdGUgdGFza3MgZGFyayB0aGVtZSAqL1xyXG5cdC0tdGFzay1hbW91bnQtY29sb3I6ICNhZWQ1ODE7IC8qIEFtb3VudC9zYXZpbmdzIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHQtLXRhc2stc3BlZWNoLWNvbG9yOiAjMjliNmY2OyAvKiBTcGVlY2ggYnViYmxlIHRhc2tzIGRhcmsgdGhlbWUgKi9cclxuXHJcblx0LS1wcm9ncmVzcy0wLWNvbG9yOiAjYWU0MzFlO1xyXG5cdC0tcHJvZ3Jlc3MtMjUtY29sb3I6ICNlNTg5MGE7XHJcblx0LS1wcm9ncmVzcy01MC1jb2xvcjogI2I0YzZhNjtcclxuXHQtLXByb2dyZXNzLTc1LWNvbG9yOiAjNmJjYjc3O1xyXG5cdC0tcHJvZ3Jlc3MtMTAwLWNvbG9yOiAjNGQ5NmZmO1xyXG5cclxuXHQtLXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuIiwgIi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCB7XG5cdHdpZHRoOiBtYXgoNzAlLCA1MDBweCk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIHRoZSBWaWV3IENvbmZpZ3VyYXRpb24gTW9kYWwgKi9cbi50YXNrLWdlbml1cy12aWV3LWNvbmZpZy1tb2RhbCAuc2V0dGluZy1pdGVtIHtcblx0LyogQWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHNldHRpbmdzIGluIHRoZSBtb2RhbCAqL1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWxcblx0LnNldHRpbmctaXRlbTpub3QoLnNldHRpbmctaXRlbS1oZWFkaW5nKVxuXHQuc2V0dGluZy1pdGVtLWluZm8ge1xuXHQvKiBFbnN1cmUgbGFiZWxzIGFyZSBhbGlnbmVkIHdlbGwgKi9cblx0d2lkdGg6IDEyMHB4O1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnRhc2stZ2VuaXVzLXZpZXctY29uZmlnLW1vZGFsIC5zZXR0aW5nLWl0ZW0tY29udHJvbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LyogRW5zdXJlIHRleHQgaW5wdXRzIHRha2UgYXZhaWxhYmxlIHdpZHRoICovXG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udGFzay1nZW5pdXMtdmlldy1jb25maWctbW9kYWwgLnNldHRpbmctaXRlbS1kZXNjcmlwdGlvbiB7XG5cdC8qIFN0eWxlIGRlc2NyaXB0aW9ucyAqL1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGxlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0bWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgVmlldyBNYW5hZ2VtZW50IExpc3QgaW4gU2V0dGluZ3MgVGFiICovXG4udmlldy1tYW5hZ2VtZW50LWxpc3QgLnNldHRpbmctaXRlbSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXggZm9yIGJldHRlciBjb250cm9sICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaWduIGl0ZW1zIHZlcnRpY2FsbHkgKi9cbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0taW5mbyB7XG5cdGZsZXgtZ3JvdzogMTsgLyogQWxsb3cgbmFtZS9kZXNjcmlwdGlvbiB0byB0YWtlIHVwIHNwYWNlICovXG5cdG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW0tY29udHJvbCB7XG5cdC8qIEtlZXAgY29udHJvbHMgdG9nZXRoZXIgKi9cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7IC8qIFNwYWNlIGJldHdlZW4gdG9nZ2xlcy9idXR0b25zICovXG59XG5cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmJ1dHRvbi1jb21wb25lbnQge1xuXHRwYWRkaW5nOiA1cHg7IC8qIFNtYWxsZXIgcGFkZGluZyBmb3IgaWNvbiBidXR0b25zICovXG5cdGhlaWdodDogYXV0bztcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC52aWV3LW9yZGVyLWJ1dHRvbixcbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAudmlldy1kZWxldGUtYnV0dG9uIHtcblx0LyogU3R5bGUgYWN0aW9uIGJ1dHRvbnMgKi9cblx0bWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnZpZXctbWFuYWdlbWVudC1saXN0IC5zZXR0aW5nLWl0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFNwZWNpZmljIHN0eWxpbmcgZm9yIHRvZ2dsZXMgaW4gdGhlIGxpc3QgKi9cbi52aWV3LW1hbmFnZW1lbnQtbGlzdCAuc2V0dGluZy1pdGVtLWNvbnRyb2wgLmNoZWNrYm94LWNvbnRhaW5lciB7XG5cdG1hcmdpbjogMDsgLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2lucyBpZiBhbnkgKi9cbn1cblxuLyogSWNvbiBQaWNrZXIgTWVudSBTdHlsZXMgKFNjb3BlZCkgKi9cbi50Zy1pY29uLW1lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xuXHRwYWRkaW5nOiA4cHg7XG5cdG1heC1oZWlnaHQ6IDMwMHB4OyAvKiBMaW1pdCBvdmVyYWxsIG1lbnUgaGVpZ2h0ICovXG5cdHdpZHRoOiAyNTBweDtcblx0ZGlzcGxheTogZmxleDsgLyogVXNlIGZsZXhib3ggKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LyogUHJldmVudCBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIG1heC1oZWlnaHQgY2FsY3VsYXRpb24gZm9yIGZsZXggY2hpbGRyZW4gKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVtb3ZlIHN0eWxlcyBmb3IgdGhlIGludGVybWVkaWF0ZSBjb250YWluZXIgKi9cbi8qIC5ibS1wbHVnaW4taWNvbi1tZW51IC5ibS1tZW51LWNvbnRlbnQgeyBcblx0ZmxleC1ncm93OiAxOyBcblx0b3ZlcmZsb3cteTogYXV0bzsgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi1oZWlnaHQ6IDA7IFxufSAqL1xuXG4udGctaWNvbi1tZW51IC50Zy1tZW51LXNlYXJjaCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmbGV4LXNocmluazogMDsgLyogUHJldmVudCBzZWFyY2ggYmFyIGZyb20gc2hyaW5raW5nICovXG59XG5cbi50Zy1pY29uLW1lbnUgLnRnLW1lbnUtaWNvbnMge1xuXHRmbGV4LWdyb3c6IDE7IC8qIEljb24gbGlzdCB0YWtlcyByZW1haW5pbmcgdmVydGljYWwgc3BhY2UgKi9cblx0b3ZlcmZsb3cteTogYXV0bzsgLyogTWFrZSB0aGUgaWNvbiBsaXN0IHNjcm9sbGFibGUgKi9cblx0bWluLWhlaWdodDogMDsgLyogQ3J1Y2lhbCBmb3IgYWxsb3dpbmcgZmxleCBjaGlsZCB0byBzaHJpbmsgYW5kIHNjcm9sbCAqL1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMnB4LCAxZnIpKTtcblx0Z2FwOiA0cHg7XG5cdC8qIFJlbW92ZSBtaW4taGVpZ2h0IHByZXZpb3VzbHkgbmVlZGVkIGZvciBncmlkIGluIGZsZXggKi9cbn1cblxuLyogU2NvcGUgdGhlIGNsaWNrYWJsZSBpY29uICp3aXRoaW4qIHRoZSBtZW51ICovXG4udGctaWNvbi1tZW51IC5jbGlja2FibGUtaWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnRnLWljb24tbWVudSAuY2xpY2thYmxlLWljb246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlci1ob3Zlcik7XG59XG5cbi50Zy1pY29uLW1lbnUgLmNsaWNrYWJsZS1pY29uIHN2ZyB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cbiIsICIvKiBUYXNrIFN0YXR1cyBTd2l0Y2hlciBTdHlsZXMgKi9cclxuLnRhc2stc3RhdHVzLXdpZGdldCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLW1lZGl1bSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcbn1cclxuXHJcbi50YXNrLXN0YXRlLmxpdmUtcHJldmlldy1tb2RlIHtcclxuXHRwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2l6ZS0yLTEpO1xyXG59XHJcblxyXG4udGFzay1zdGF0dXMtd2lkZ2V0IC5saXN0LWJ1bGxldDo6YWZ0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpc3QtbWFya2VyLWNvbG9yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBUT0RPIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIgXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1hY2NlbnQpO1xyXG59XHJcblxyXG4vKiBET0lORyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiL1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZG9pbmctY29sb3IpO1xyXG59XHJcblxyXG4vKiBJTi1QUk9HUkVTUyBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW4tcHJvZ3Jlc3MtY29sb3IpO1xyXG59XHJcblxyXG4vKiBET05FIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ4XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJYXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb21wbGV0ZWQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBDQU5DRUxMRUQgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cIi1cIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWFiYW5kb25lZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFNDSEVEVUxFRCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiPFwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stcGxhbm5lZC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFFVRVNUSU9OIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI/XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1xdWVzdGlvbi1jb2xvcik7XHJcbn1cclxuXHJcbi8qIElNUE9SVEFOVCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiIVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staW1wb3J0YW50LWNvbG9yKTtcclxufVxyXG5cclxuLyogU1RBUiBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiKlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stc3Rhci1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFFVT1RFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9J1wiJ10ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXF1b3RlLWNvbG9yKTtcclxufVxyXG5cclxuLyogTE9DQVRJT04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImxcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWxvY2F0aW9uLWNvbG9yKTtcclxufVxyXG5cclxuLyogQk9PS01BUksgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImJcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWJvb2ttYXJrLWNvbG9yKTtcclxufVxyXG5cclxuLyogSU5GT1JNQVRJT04gc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cImlcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLWluZm9ybWF0aW9uLWNvbG9yKTtcclxufVxyXG5cclxuLyogSURFQSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiSVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2staWRlYS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIFBST1Mgc3RhdHVzIHN0eWxlICovXHJcbi50YXNrLXN0YXRlW2RhdGEtdGFzay1zdGF0ZT1cInBcIl0ge1xyXG5cdGNvbG9yOiB2YXIoLS10YXNrLXByb3MtY29sb3IpO1xyXG59XHJcblxyXG4vKiBDT05TIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJjXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1jb25zLWNvbG9yKTtcclxufVxyXG5cclxuLyogRklSRSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiZlwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stZmlyZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEtFWSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwia1wiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2sta2V5LWNvbG9yKTtcclxufVxyXG5cclxuLyogV0lOIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJ3XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay13aW4tY29sb3IpO1xyXG59XHJcblxyXG4vKiBVUCBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwidVwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stdXAtY29sb3IpO1xyXG59XHJcblxyXG4vKiBET1dOIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJkXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1kb3duLWNvbG9yKTtcclxufVxyXG5cclxuLyogTk9URSBzdGF0dXMgc3R5bGUgKi9cclxuLnRhc2stc3RhdGVbZGF0YS10YXNrLXN0YXRlPVwiblwiXSB7XHJcblx0Y29sb3I6IHZhcigtLXRhc2stbm90ZS1jb2xvcik7XHJcbn1cclxuXHJcbi8qIEFNT1VOVC9TQVZJTkdTIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCJTXCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1hbW91bnQtY29sb3IpO1xyXG59XHJcblxyXG4vKiBTUEVFQ0ggQlVCQkxFIHN0YXR1cyBzdHlsZSAqL1xyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIwXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIxXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIyXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCIzXCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI0XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI1XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI2XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI3XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI4XCJdLFxyXG4udGFzay1zdGF0ZVtkYXRhLXRhc2stc3RhdGU9XCI5XCJdIHtcclxuXHRjb2xvcjogdmFyKC0tdGFzay1zcGVlY2gtY29sb3IpO1xyXG59XHJcblxyXG4udGFzay1mYWtlLWJ1bGxldCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdpZHRoOiA1cHg7XHJcblx0aGVpZ2h0OiA1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcclxuXHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5vbCA+IC50YXNrLWxpc3QtaXRlbSAudGFzay1mYWtlLWJ1bGxldCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxub2wgPiAudGFzay1saXN0LWl0ZW0gLnRhc2stc3RhdGUtY29udGFpbmVyIHtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG59XHJcbiIsICIvKiBTdHlsZXMgZm9yIHRoZSBSZXdhcmQgTW9kYWwgKi9cclxuLnJld2FyZC1tb2RhbC1jb250ZW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlciBhbGlnbiBjb250ZW50ICovXHJcbn1cclxuXHJcbi5yZXdhcmQtbW9kYWwgLm1vZGFsLXRpdGxlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXdhcmQtbmFtZSB7XHJcblx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4OyAvKiBVc2UgZmxleGJveCBmb3IgY2VudGVyaW5nICovXHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cclxuXHRhbGlnbi1pdGVtczogY2VudGVyOyAvKiBDZW50ZXIgdmVydGljYWxseSAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlIHtcclxuXHRtYXgtd2lkdGg6IDgwJTsgLyogTGltaXQgaW1hZ2Ugd2lkdGggKi9cclxuXHRtYXgtaGVpZ2h0OiAzMDBweDsgLyogTGltaXQgaW1hZ2UgaGVpZ2h0ICovXHJcblx0Ym9yZGVyLXJhZGl1czogOHB4OyAvKiBPcHRpb25hbDogYWRkIHJvdW5kZWQgY29ybmVycyAqL1xyXG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IC8qIE9wdGlvbmFsOiBhZGQgc3VidGxlIHNoYWRvdyAqL1xyXG59XHJcblxyXG4ucmV3YXJkLWltYWdlLWVycm9yIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Y29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyAvKiBVc2UgT2JzaWRpYW4ncyBtdXRlZCB0ZXh0IGNvbG9yICovXHJcbn1cclxuXHJcbi5yZXdhcmQtc3BhY2VyIHtcclxuXHRoZWlnaHQ6IDIwcHg7IC8qIEFkZCBzb21lIHNwYWNlIGJlZm9yZSB0aGUgYnV0dG9ucyAqL1xyXG59XHJcblxyXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyB3aXRoaW4gdGhlIG1vZGFsICovXHJcbi50YXNrLWdlbml1cy1yZXdhcmQtbW9kYWwgLnNldHRpbmctaXRlbS1jb250cm9sIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBDZW50ZXIgYnV0dG9ucyAqL1xyXG5cdGdhcDogMTBweDsgLyogQWRkIHNwYWNlIGJldHdlZW4gYnV0dG9ucyAqL1xyXG59XHJcbiIsICIubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcclxuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1maWxlLWZvbGRpbmctb2Zmc2V0KTtcclxufVxyXG5cclxuLmlzLW1vYmlsZSAubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZ3V0dGVycy50YXNrLWd1dHRlciB7XHJcblx0bWFyZ2luLWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIudGctbWVudSB7XHJcblx0ei1pbmRleDogMjA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtcHJpbWFyeSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93LWwpO1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXIge1xyXG5cdHdpZHRoOiAyNnB4O1xyXG59XHJcblxyXG4udGFzay1ndXR0ZXItbWFya2VyIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNtYWxsZXIpO1xyXG5cdG9wYWNpdHk6IDAuMTtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnRhc2stZ3V0dGVyLW1hcmtlcjpob3ZlciB7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRhc2stcG9wb3Zlci1jb250ZW50IHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTQtMyk7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRtYXgtaGVpZ2h0OiA0MDBweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnRhc2stbWV0YWRhdGEtZWRpdG9yIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZpZWxkLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0yKTtcclxufVxyXG5cclxuLmZpZWxkLWxhYmVsIHtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMi0xKTtcclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tYnV0dG9ucyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLXRvcDogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcblx0cGFkZGluZzogdmFyKC0tc2l6ZS0yLTIpIHZhcigtLXNpemUtNC0yKTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xyXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50YXNrLWd1dHRlci1tYXJrZXIuY2xpY2thYmxlLWljb24ge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdHBhZGRpbmc6IHZhcigtLXNpemUtMi0xKTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFRhYmJlZCBJbnRlcmZhY2UgU3R5bGVzICovXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1tYWluLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgYXZhaWxhYmxlIHdpZHRoICovXHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFicy1uYXZpZ2F0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtNC0yKTtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItYnV0dG9uIHtcclxuXHRwYWRkaW5nOiB2YXIoLS1zaXplLTItMikgdmFyKC0tc2l6ZS00LTIpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRmb250LXNpemU6IHZhcigtLWZvbnQtdWktc21hbGwpOyAvKiBBZGp1c3RlZCBmb3IgY29uc2lzdGVuY3kgKi9cclxuXHRjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogLTFweDsgLyogQWxpZ24gd2l0aCBwYXJlbnQgYm9yZGVyICovXHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1idXR0b246aG92ZXIge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCk7XHJcbn1cclxuXHJcbi50YXNrLWRldGFpbHMtcG9wb3ZlciAudGFiLWJ1dHRvbi5hY3RpdmUge1xyXG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtYWNjZW50KTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC50YWItcGFuZSB7XHJcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZSBpbmFjdGl2ZSBwYW5lcyBieSBkZWZhdWx0ICovXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRW5zdXJlIGNvbnRlbnQgd2l0aGluIHBhbmUgZmxvd3MgdmVydGljYWxseSAqL1xyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTIpOyAvKiBBZGQgc29tZSBnYXAgYmV0d2VlbiBlbGVtZW50cyBpbiB0aGUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnRhYi1wYW5lLmFjdGl2ZSB7XHJcblx0ZGlzcGxheTogZmxleDsgLyogU2hvdyBhY3RpdmUgcGFuZSAqL1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLmRldGFpbHMtc3RhdHVzLXNlbGVjdG9yLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5kZXRhaWxzLXN0YXR1cy1zZWxlY3RvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xyXG5cdG1hcmdpbi10b3A6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLnRhc2stZGV0YWlscy1wb3BvdmVyIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3RvcixcclxuLnRhc2stc3RhdHVzLWVkaXRvciAucXVpY2stY2FwdHVyZS1zdGF0dXMtc2VsZWN0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdGdhcDogdmFyKC0tc2l6ZS00LTMpO1xyXG59XHJcblxyXG4udGFzay1kZXRhaWxzLXBvcG92ZXIgLnF1aWNrLWNhcHR1cmUtc3RhdHVzLXNlbGVjdG9yLWxhYmVsLFxyXG4udGFzay1zdGF0dXMtZWRpdG9yIC5xdWljay1jYXB0dXJlLXN0YXR1cy1zZWxlY3Rvci1sYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vZGFsLWNvbnRlbnQudGFzay1tZXRhZGF0YS1lZGl0b3Ige1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRnYXA6IHZhcigtLXNpemUtNC0yKTtcclxufVxyXG5cclxuLm1ldGFkYXRhLWZ1bGwtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuXHJcbi5tZXRhZGF0YS1mdWxsLWNvbnRhaW5lciAuZGF0ZXMtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0Z2FwOiB2YXIoLS1zaXplLTQtMik7XHJcbn1cclxuIiwgIi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0bWF4LWhlaWdodDogODAwcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAudGFzay1nZW5pdXMtY29udGFpbmVyIC50YXNrLXNpZGViYXIge1xuXHR3aWR0aDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCwgZmxleC1zaHJpbmsgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YXNrLWdlbml1cy1jb250YWluZXIgLnRhc2stc2lkZWJhciAuc2lkZWJhci1uYXYge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5zaWRlYmFyLW5hdi1pdGVtIHtcblx0cGFkZGluZzogOHB4IDEwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc2l6ZS00LTkpO1xuXHRmbGV4LXNocmluazogMDtcblxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0LCBmbGV4LXNocmluayAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1zaWRlYmFyIC5uYXYtaXRlbS1pY29uIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRhc2stZ2VuaXVzLWNvbnRhaW5lciAudGFzay1saXN0IHtcblx0bWF4LWhlaWdodDogODAwcHg7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAucHJvamVjdHMtY29udGFpbmVyIHtcblx0ZmxleDogMTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIHtcblx0d2lkdGg6IDI0MHB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZvcmVjYXN0LWxlZnQtY29sdW1uIC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdGdhcDogMXB4O1xuXHRwYWRkaW5nOiAwIDVweDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMC43ZW07XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0cGFkZGluZzogM3B4IDA7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS1oZWFkZXIuY2FsZW5kYXItd2Vla2VuZCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5pbnRlcm5hbC1lbWJlZCAuZm9yZWNhc3QtbGVmdC1jb2x1bW4gLm1pbmktY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1kYXkge1xuXHRhc3BlY3QtcmF0aW86IDE7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cGFkZGluZzogMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLW1vZGlmaWVyLWhvdmVyKTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS5zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtbW9kaWZpZXItYm9yZGVyLWhvdmVyKTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC5mb3JlY2FzdC1sZWZ0LWNvbHVtblxuXHQubWluaS1jYWxlbmRhci1jb250YWluZXJcblx0LmNhbGVuZGFyLWRheS50b2RheSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudC1ob3Zlcik7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkucGFzdC1kdWUge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1lcnJvcik7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi5pbnRlcm5hbC1lbWJlZFxuXHQuZm9yZWNhc3QtbGVmdC1jb2x1bW5cblx0Lm1pbmktY2FsZW5kYXItY29udGFpbmVyXG5cdC5jYWxlbmRhci1kYXktbnVtYmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogMXB4O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWNvdW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1ub3JtYWwpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGZvbnQtc2l6ZTogMC42ZW07XG5cdHBhZGRpbmc6IDFweCAzcHg7XG5cdG1hcmdpbjogMXB4IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LmZvcmVjYXN0LWxlZnQtY29sdW1uXG5cdC5taW5pLWNhbGVuZGFyLWNvbnRhaW5lclxuXHQuY2FsZW5kYXItZGF5LWNvdW50Lmhhcy1wcmlvcml0eSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtb24tYWNjZW50KTtcbn1cblxuLmludGVybmFsLWVtYmVkIC50YWdzLWNvbnRhaW5lciB7XG5cdGhlaWdodDogYXV0bztcblx0bWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmludGVybmFsLWVtYmVkXG5cdC50YXNrLWdlbml1cy1jb250YWluZXI6aGFzKC50YXNrLWRldGFpbHMudmlzaWJsZSlcblx0LnRhZ3MtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uaW50ZXJuYWwtZW1iZWRcblx0LnRhc2stZ2VuaXVzLWNvbnRhaW5lcjpoYXMoLnRhc2stZGV0YWlscy52aXNpYmxlKVxuXHQucHJvamVjdHMtbGVmdC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLmZ1bGwtY2FsZW5kYXItY29udGFpbmVyIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uaW50ZXJuYWwtZW1iZWQgLnRnLWthbmJhbi12aWV3IHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uYmFzZXMtdmlldyAudGFzay1nZW5pdXMtY29udGFpbmVyIHtcblx0Ym9yZGVyLXRvcDogdW5zZXQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0E7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUlDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBOzs7QUM3SkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBOzs7QUNsSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNDO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVFO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1EO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQU1EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFNRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDNXhDRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTs7O0FDbENEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDSkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQU1EO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBRUQ7QUFHQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBT0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUlEO0FBR0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBR0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBT0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFRRDtBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7OztBQzVmRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7OztBQ3JQRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUN0TEQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7OztBQ3hpQkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQzlDRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDbE9EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUFBOzs7QUMxTEQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBOzs7QUNuY0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTs7O0FDL09EO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLRDtBQUFBO0FBQUE7QUFHQztBQUFBO0FBSUQ7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFHQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7OztBQ2xURjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUVDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQ2xLRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBR0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDN1dEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUdDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFNRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFHQztBQUFBO0FBQUE7OztBQzVKRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBOzs7QUNqUEQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTs7O0FDNU1EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDMVpEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBRUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUtEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFFQztBQUFBO0FBR0Q7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBT0E7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBOzs7QUN4cUJEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUtEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBUUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFLRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFHQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBR0E7QUFBQTtBQUtBO0FBQUE7QUFTQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBWUM7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFJRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUlBO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQU1EO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWFEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUlBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQWdCRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDs7O0FDaG5CQTtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTs7O0FDaEJEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTs7O0FDeEJEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQUE7QUFBQTtBQUlGO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUtEO0FBR0M7QUFBQTtBQUdEO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUdDO0FBQ0E7QUFBQTtBQUdEO0FBRUM7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLRDtBQUNDO0FBQ0E7QUFBQTtBQU9EO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTs7O0FDMVhEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBSUY7QUFDQztBQUNBO0FBQ0E7QUFBQTs7O0FDdlBEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQU9BO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFJRjtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUlDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUFBO0FBR0E7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUMxZkQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTs7O0FDL01EO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFBQTtBQUtGO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUdDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0M7QUFBQTs7O0FDMzlCRDtBQUNDO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQ0M7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBS0Q7QUFBQTtBQUlBO0FBQUE7QUFHQTtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFFQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUVDO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBQUE7QUFLRjtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFJRDtBQUNDO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQ0E7QUFBQTtBQUFBO0FBS0Y7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUlEO0FBQUE7QUFHQTtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQUE7QUFHQTtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBRUQ7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUVEO0FBQ0M7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7OztBQ3ZmRDtBQUVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBOzs7QUNyRUQ7QUFDQztBQUFBO0FBSUQ7QUFFQztBQUFBO0FBR0Q7QUFJQztBQUFBO0FBR0Q7QUFBQTtBQUdDO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUVDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUFBO0FBR0M7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFZRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7OztBQzFJRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFDQztBQUFBO0FBSUQ7QUFBQTtBQUVDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQUE7QUFJRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7OztBQ2xLRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFJRDtBQUNDO0FBQ0E7QUFDQTtBQUFBOzs7QUMxQ0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBOzs7QUN2S0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBSUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBSUM7QUFBQTtBQUdEO0FBSUM7QUFBQTtBQUdEO0FBSUM7QUFDQTtBQUFBO0FBR0Q7QUFJQztBQUFBO0FBR0Q7QUFJQztBQUFBO0FBR0Q7QUFJQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFJQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUlDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFHQztBQUFBO0FBR0Q7QUFHQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo= */