:root{--background:0 0% 100%;--foreground:0 0% 0%;--card:0 0% 97.6%;--card-foreground:0 0% 0%;--popover:0 0% 100%;--popover-foreground:0 0% 0%;--muted:0 0% 94.1%;--muted-foreground:0 0% 40%;--accent:0 0% 95.3%;--accent-foreground:0 0% 0%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--success:142.1 76.2% 36.3%;--success-foreground:0 0% 100%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 0%;--bg-primary:hsl(var(--background));--bg-secondary:#f9f9f9;--bg-tertiary:hsl(var(--muted));--bg-hover:hsl(var(--accent));--bg-input:hsl(var(--background));--bg-modal:hsl(var(--background));--text-primary:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--text-muted:#6b6b6b;--border-color:hsl(var(--border));--border-focus:hsl(var(--foreground));--accent-color:hsl(var(--foreground));--accent-hover:#333;--on-accent:hsl(var(--background));--success-color:hsl(var(--success));--error-color:hsl(var(--destructive));--error-foreground:hsl(var(--destructive-foreground));--success-foreground:hsl(var(--success-foreground));--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08);--shadow-lg:0 20px 40px -10px rgba(0,0,0,.1);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Monaco,"Courier New",monospace;--ease:cubic-bezier(0.16,1,0.3,1);--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--transition-colors:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease);--transition-transform:transform var(--duration-normal) var(--ease);--transition:all var(--duration-normal) var(--ease)}[data-theme=dark]{--background:0 0% 0%;--foreground:0 0% 100%;--card:0 0% 3.9%;--card-foreground:0 0% 100%;--popover:0 0% 3.9%;--popover-foreground:0 0% 100%;--muted:0 0% 8.6%;--muted-foreground:0 0% 62.7%;--accent:0 0% 10.2%;--accent-foreground:0 0% 100%;--border:0 0% 15.7%;--input:0 0% 15.7%;--ring:0 0% 100%;--bg-primary:hsl(var(--background));--bg-secondary:#0a0a0a;--bg-tertiary:hsl(var(--muted));--bg-hover:hsl(var(--accent));--bg-input:#0a0a0a;--bg-modal:#0a0a0a;--text-primary:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--text-muted:#737373;--border-color:hsl(var(--border));--border-focus:hsl(var(--foreground));--accent-color:hsl(var(--foreground));--accent-hover:#e0e0e0;--on-accent:hsl(var(--background));--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 20px 40px -10px rgba(0,0,0,.7)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100dvh}body,html{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);display:flex;font-family:var(--font-main);font-size:15px;height:-webkit-fill-available;height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top)}[x-cloak]{display:none!important}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}[role=switch]:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;height:100%;min-width:280px;position:relative;transition:width .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);width:280px;z-index:10}.sidebar.collapsed{min-width:72px;width:72px}.sidebar-overlay{display:none}.sidebar-header{height:80px;justify-content:space-between;padding:20px 24px}.logo,.sidebar-header{align-items:center;display:flex}.logo{flex-wrap:nowrap;gap:12px;min-width:0}.logo-img{background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-shrink:0;height:32px;min-width:32px;object-fit:cover;width:32px}.logo-text{color:var(--text-primary);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:var(--transition-colors);width:36px}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-danger:hover{background:rgba(239,68,68,.1);color:var(--error-color)}.btn-new-chat{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;margin:0 20px 20px;padding:12px;transition:var(--transition)}.btn-new-chat:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-clear-all{align-items:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:.85rem;gap:8px;justify-content:center;margin:10px 20px;padding:8px 12px;transition:var(--transition)}.btn-clear-all:hover{background:rgba(239,68,68,.1);border-color:var(--error-color);color:var(--error-color)}.btn-new-chat:active{transform:translateY(0)}.btn-new-chat-collapsed{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;height:44px;justify-content:center;margin:0 auto 20px;transition:var(--transition);width:44px}.btn-new-chat-collapsed:hover{border-color:var(--text-primary)}.chat-list{flex:1;overflow-x:hidden;overflow-y:auto;padding:0 12px;-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:contain}.chat-list::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-thumb{background:transparent;border-radius:6px}.chat-list:hover::-webkit-scrollbar-thumb{background:var(--border-color)}.chat-item{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px 14px;position:relative;transition:var(--transition-colors)}.chat-item.active,.chat-item:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-item.active{border-color:var(--border-color);font-weight:500}.chat-title{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-delete{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;padding:4px;transition:var(--transition)}.chat-item:hover .btn-delete{opacity:1}.btn-delete:hover{background:rgba(239,68,68,.1);color:var(--error-color)}.sidebar-footer{border-top:1px solid var(--border-color);padding:20px}.btn-settings{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px;transition:var(--transition-colors);width:100%}.btn-settings:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-settings-collapsed{bottom:24px;left:50%;position:absolute;transform:translateX(-50%)}.main-content{background:var(--bg-primary);height:100%}.chat-container,.main-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;position:relative;width:100%}.chat-container{contain:layout style;margin:0 auto;max-width:900px}.welcome{align-items:center;animation:fadeIn .6s ease-out;contain:layout style;display:flex;flex:1;flex-direction:column;justify-content:flex-start;min-height:0;padding:56px 40px 24px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-logo{margin-bottom:16px}.welcome-logo-img{border-radius:16px;box-shadow:var(--shadow-lg);height:64px;width:64px}.welcome h1{color:var(--text-primary);font-size:2.1rem;font-weight:700;letter-spacing:-.03em;margin-bottom:6px}.welcome-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:28px;max-width:600px}.welcome-features{display:grid;gap:20px;grid-template-columns:repeat(3,1fr);max-width:800px;width:100%}.feature{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:default;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:32px 24px;transition:var(--transition)}.feature,.feature:hover{color:var(--text-primary)}.feature:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature i{color:var(--text-primary);font-size:32px}.messages{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:40px 24px 20px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.message{animation:slideIn .3s cubic-bezier(.16,1,.3,1);display:flex;gap:24px;margin:0 auto;max-width:800px;padding:24px 0}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);display:flex;height:36px;justify-content:center;min-width:36px;overflow:hidden;width:36px}.message.assistant .message-avatar{background:var(--text-primary);border:none;color:var(--bg-primary)}.message-content{color:var(--text-primary);flex:1;font-size:1rem;line-height:1.75;min-width:0;overflow-wrap:break-word}.message-content p{margin-bottom:1.2em}.message-content p:last-child{margin-bottom:0}.message-content pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:20px 0;overflow-x:auto;padding:20px}.message-content code{background:var(--bg-tertiary);border-radius:4px;font-family:var(--font-mono);font-size:.9em;padding:2px 6px}.message-content pre code{background:transparent;color:var(--text-primary);padding:0}.message-content table{border-collapse:collapse;font-size:.95em;margin:20px 0;width:100%}.message-content table thead{background:var(--bg-secondary)}.message-content table td,.message-content table th{border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.message-content table th{background:var(--bg-secondary);font-weight:600;text-align:left}.message-content table tbody tr{transition:background .15s ease}.message-content table tbody tr:hover{background:var(--bg-hover)}.message-content ol,.message-content ul{margin:1em 0;padding-left:2em}.message-content li{margin-bottom:.5em}.message-content li:last-child{margin-bottom:0}.message-content blockquote{background:var(--bg-secondary);border-left:3px solid var(--text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:1em 0;padding:12px 16px}.message-content hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}.message-content a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:3px;transition:text-decoration-color .2s}.message-content a:hover{text-decoration-color:var(--text-primary)}.message-content img{border-radius:var(--radius-sm);height:auto;margin:1em 0;max-width:100%}.message-actions{display:flex;gap:4px;margin-top:8px;opacity:0;transition:opacity var(--duration-fast) ease}.message-actions-plugin-slot{display:contents}.message:hover .message-actions{opacity:1}.btn-copy{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:var(--transition-colors);width:28px}.btn-copy:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-copy.copied{color:var(--success-color)}@media (hover:none){.message-actions{opacity:.6}}.typing-indicator{display:flex;gap:6px;padding:6px 0}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.input-area{background:linear-gradient(to top,var(--bg-primary) 80%,transparent);padding:20px 24px 40px;z-index:5}.input-container-inner{margin:0 auto;max-width:800px;position:relative}.input-toolbar{bottom:16px;display:flex;gap:8px;left:16px;position:absolute;z-index:6}.btn-tool{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition);width:32px}.btn-tool i{font-size:18px}.btn-tool.active,.btn-tool:hover{background:var(--bg-tertiary);color:var(--text-primary)}.rag-toggle{align-items:center;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;gap:6px;padding:4px 8px;position:relative;transition:var(--transition);z-index:10;-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.rag-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.rag-toggle.active{color:var(--text-primary)}.rag-slider{background:var(--bg-tertiary);border-radius:7px;display:block;flex-shrink:0;height:14px;min-height:14px;min-width:28px;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:background .2s ease;width:28px}.rag-toggle.active .rag-slider{background:var(--text-primary)}.rag-slider-handle{background:var(--text-muted);border-radius:50%;display:block;height:10px;left:2px;min-height:10px;min-width:10px;position:absolute;top:2px;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s cubic-bezier(.16,1,.3,1);width:10px}.rag-toggle.active .rag-slider-handle{background:var(--bg-primary);left:16px}.thinking-toggle{align-items:center;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;gap:6px;padding:4px 8px;position:relative;transition:var(--transition);z-index:10;-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.thinking-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.thinking-toggle.active{color:var(--text-primary)}.thinking-slider{background:var(--bg-tertiary);border-radius:7px;display:block;flex-shrink:0;height:14px;min-height:14px;min-width:28px;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:background .2s ease;width:28px}.thinking-toggle.active .thinking-slider{background:var(--text-primary)}.thinking-slider-handle{background:var(--text-muted);border-radius:50%;display:block;height:10px;left:2px;min-height:10px;min-width:10px;position:absolute;top:2px;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s cubic-bezier(.16,1,.3,1);width:10px}.thinking-toggle.active .thinking-slider-handle{background:var(--bg-primary);left:16px}.input-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 16px 56px;position:relative;transition:var(--transition)}.input-wrapper:focus-within{background:var(--bg-primary);border-color:var(--border-focus);box-shadow:var(--shadow-md)}.input-wrapper textarea{background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.6;max-height:300px;min-height:24px;outline:none;resize:none;width:100%}.btn-send{align-items:center;background:var(--text-primary);border:none;border-radius:var(--radius-sm);bottom:12px;color:var(--bg-primary);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:12px;transition:var(--transition);width:40px}.btn-send:hover:not(:disabled){transform:scale(1.05)}.btn-send:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;opacity:.3}.btn-stop{align-items:center;background:var(--error-color);border:none;border-radius:var(--radius-sm);bottom:12px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:12px;transition:var(--transition);width:40px}.btn-stop:hover{background:#dc2626;transform:scale(1.05)}.uploaded-image-preview{animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;left:0;padding:8px;position:absolute}.uploaded-image-preview img{border-radius:4px;height:80px}.url-input-popup{animation:fadeIn .15s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);bottom:44px;box-shadow:var(--shadow-lg);left:0;min-width:320px;padding:16px;position:absolute;z-index:100}.url-input-header{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:12px}.url-input-popup input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.url-input-popup input:focus{border-color:var(--border-focus)}.url-input-popup input::placeholder{color:var(--text-muted)}.url-input-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.url-input-actions .btn-cancel{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.url-input-actions .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.url-input-actions .btn-confirm{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:var(--transition)}.url-input-actions .btn-confirm:hover:not(:disabled){background:var(--accent-hover)}.url-input-actions .btn-confirm:disabled{cursor:not-allowed;opacity:.5}.parsed-url-preview{align-items:center;animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;display:flex;gap:8px;left:0;max-width:300px;padding:8px 12px;position:absolute}.parsed-url-preview i{color:var(--text-secondary);flex-shrink:0;font-size:16px}.parsed-url-title{color:var(--text-primary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-url{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;transition:var(--transition);width:20px}.btn-remove-url:hover{background:#dc2626}.attached-doc-preview{align-items:center;animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;display:flex;gap:8px;left:100px;max-width:250px;padding:8px 12px;position:absolute}.attached-doc-preview i{color:var(--text-secondary);flex-shrink:0;font-size:16px}.attached-doc-name{color:var(--text-primary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-doc{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;transition:var(--transition);width:20px}.btn-remove-doc:hover{background:#dc2626}.spin{animation:spin 1s linear infinite}.modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.4);bottom:0;display:flex;justify-content:center;left:0;padding:40px;position:fixed;right:0;top:0;z-index:100;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.settings-modal{animation:modalScale .25s cubic-bezier(.16,1,.3,1);background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;height:700px;max-height:90vh;overflow:hidden;width:900px}@keyframes modalScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.settings-nav{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-width:240px;padding:24px 12px;width:240px}.settings-nav::-webkit-scrollbar{display:none}.settings-nav{-ms-overflow-style:none;scrollbar-width:none}.settings-title{color:var(--text-primary);font-size:1.2rem;font-weight:700;padding:0 12px 24px}.nav-item{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;margin-bottom:4px;padding:12px 16px;transition:var(--transition-colors)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.settings-footer{color:var(--text-muted);font-size:.75rem;margin-top:auto;padding:12px;text-align:center}.settings-content{display:flex;flex:1;flex-direction:column;overflow:hidden}.settings-scroll-area{flex:1;overflow-x:hidden;overflow-y:auto;padding:40px 48px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.section-header{margin-bottom:32px}.section-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:8px}.section-desc{color:var(--text-secondary);font-size:.95rem}.form-group{margin-bottom:32px}.form-label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-sublabel{color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:12px}.avatar-img{height:100%;object-fit:cover;width:100%}.file-input-hidden{display:none}.form-group-lg{margin-bottom:40px}.status-success{color:var(--success-color)}.status-error{color:var(--error-color)}.btn-full-width{width:100%}.model-verify-msg{font-size:.85rem;margin-top:10px}.checkbox-group{display:flex;gap:20px;margin-top:8px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.95rem;gap:8px}.checkbox-label input[type=checkbox]{height:16px;width:16px}.form-sublabel-inline{margin-top:8px}.form-sublabel-block{display:block;margin-bottom:12px}.btn-tool-upload{position:relative;z-index:10}.btn-delete-overlay{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:1;position:absolute;right:-10px;top:-10px;transition:var(--transition);width:24px}.btn-delete-overlay:hover{background:#dc2626}.btn-delete-inline{border:1px solid var(--border-color);flex-shrink:0;height:32px;opacity:1;width:32px}.upload-row{align-items:center;display:flex;flex-wrap:nowrap;gap:12px}.logo-preview-img{border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-shrink:0;height:48px;min-width:48px;object-fit:cover;width:48px}.btn-compact{flex-shrink:0;margin:0;white-space:nowrap}.input-flex{flex:1;min-width:0}.avatars-row{flex-wrap:wrap;gap:24px}.avatar-group,.avatars-row{align-items:center;display:flex}.avatar-group{gap:12px}.avatar-preview-user{background:var(--bg-tertiary)}.avatar-preview-assistant,.avatar-preview-user{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.avatar-preview-assistant{background:var(--text-primary);color:var(--bg-primary)}.avatar-preview-assistant i{font-size:20px}.settings-footer-link{color:inherit;text-decoration:none}.settings-footer-link:hover{text-decoration:underline}.icon-lg{font-size:24px}.icon-xl{font-size:48px}.plugin-loading-text{color:var(--text-muted);padding:20px;text-align:center}.input-minimal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1rem;padding:10px 12px;transition:border-color .2s;width:100%}.input-minimal:focus{border-color:var(--border-focus);outline:none}.input-minimal::placeholder{color:var(--text-muted)}.toggle-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.toggle-info{flex:1;padding-right:20px}.toggle-switch{appearance:none;-webkit-appearance:none;background:var(--bg-tertiary);border:none;border-radius:99px;cursor:pointer;flex-shrink:0;height:20px;padding:0;position:relative;transition:background .3s;width:36px}.toggle-switch.checked{background:var(--text-primary)}.toggle-handle{background:var(--bg-primary);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1);height:16px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.16,1,.3,1);width:16px}.toggle-switch.checked .toggle-handle{transform:translateX(16px)}input[type=range]{-webkit-appearance:none;background:var(--bg-tertiary);border-radius:2px;height:4px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg-primary);border:2px solid var(--text-primary);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;height:20px;transition:transform .1s;width:20px}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.collapsible-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.collapsible-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:var(--transition);user-select:none}.collapsible-header:hover{background:var(--bg-hover)}.collapsible-title{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:600;gap:10px}.collapsible-chevron,.collapsible-title i{color:var(--text-secondary)}.collapsible-chevron{transition:transform .2s ease}.collapsible-chevron.expanded{transform:rotate(180deg)}.collapsible-content{border-top:1px solid var(--border-color);padding:0 20px 20px}.collapsible-content .form-sublabel{margin-bottom:12px;margin-top:16px}.system-prompt-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;line-height:1.6;min-height:100px;padding:12px 14px;resize:vertical;transition:border-color .2s;width:100%}.system-prompt-textarea:focus{border-color:var(--border-focus);outline:none}.system-prompt-textarea::placeholder{color:var(--text-muted)}.model-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:24px;transition:var(--transition)}.model-card:hover{border-color:var(--text-muted)}.model-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.model-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:4px 10px}.model-badge.active{background:var(--text-primary);border-color:transparent;color:var(--bg-primary)}.modal-actions-bar{background:var(--bg-modal);border-top:1px solid var(--border-color);display:flex;gap:16px;justify-content:flex-end;padding:20px 48px}.btn-secondary{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-weight:500;padding:10px 24px;transition:var(--transition-colors)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;font-weight:600;padding:10px 24px;transition:var(--transition-colors),var(--transition-transform)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.theme-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}.theme-option{border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:20px;text-align:center;transition:var(--transition)}.theme-option.active{background:var(--bg-secondary);border-color:var(--text-primary)}.upload-area{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:40px;text-align:center;transition:var(--transition)}.upload-area:hover{background:var(--bg-tertiary);border-color:var(--text-primary);color:var(--text-primary)}.toast{animation:toastPop .3s cubic-bezier(.16,1,.3,1);background:var(--text-primary);border-radius:var(--radius-md);bottom:32px;box-shadow:var(--shadow-lg);color:var(--bg-primary);font-size:.9rem;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:200}.toast.error{background:var(--error-color);color:#fff}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (max-width:768px){body{min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh}.sidebar-overlay{background:rgba(0,0,0,.5);bottom:0;display:block;left:0;opacity:1;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:99}.sidebar-overlay[style*="display: none"]{opacity:0}.sidebar{bottom:0;box-shadow:5px 0 15px rgba(0,0,0,.2);height:100%;height:-webkit-fill-available;height:100dvh;left:0;padding-top:env(safe-area-inset-top);position:fixed;top:0;transform:translateX(0);z-index:100}.sidebar.collapsed{min-width:280px;transform:translateX(-100%);width:280px}.main-content{height:100%;height:-webkit-fill-available;height:100dvh;min-width:0;width:100%}.chat-container{contain:layout style;flex:1;max-width:100%;min-height:0;padding:0}.mobile-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex!important;flex-shrink:0;padding:max(12px,env(safe-area-inset-top)) 16px 12px;position:sticky;top:0;z-index:10}.mobile-title{font-size:1.1rem;font-weight:700;margin-left:12px}.welcome{min-height:0;padding:24px 16px 12px}.welcome-logo{margin-bottom:12px}.welcome-logo-img{border-radius:14px;height:52px;width:52px}.welcome h1{font-size:1.45rem;margin-bottom:6px}.welcome-subtitle{font-size:.9rem;margin-bottom:18px}.welcome-features{gap:10px;grid-template-columns:1fr;max-width:100%}.feature{flex-direction:row;justify-content:flex-start;padding:16px 14px}.feature i{font-size:24px}.messages{padding:16px 12px;-webkit-overflow-scrolling:touch;contain:layout style;min-height:0}.message{gap:12px;max-width:100%;padding:16px 0}.message-avatar{height:32px;min-width:32px;width:32px}.message-content{font-size:.95rem;overflow-wrap:break-word;word-break:break-word}.message-content pre{font-size:.85rem;margin:12px 0;max-width:calc(100vw - 48px);padding:12px}.message-content table{display:block;font-size:.85rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.message-content table tbody td,.message-content table thead th{min-width:80px;padding:10px 12px;white-space:normal}.input-area{padding:12px 12px max(20px,env(safe-area-inset-bottom))}.input-container-inner{max-width:100%}.input-wrapper{border-radius:var(--radius-md);padding:12px 12px 48px}.input-wrapper textarea{font-size:16px!important}.input-toolbar{bottom:12px;left:12px;overflow-x:auto;right:52px;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap}.input-toolbar::-webkit-scrollbar{display:none}.btn-tool{min-height:44px;min-width:44px}.btn-send,.btn-stop{bottom:10px;font-size:18px;height:44px;right:10px;width:44px}.uploaded-image-preview{bottom:52px}.url-input-popup{left:-12px;min-width:calc(100vw - 48px);right:-12px}.attached-doc-preview,.parsed-url-preview{bottom:52px;max-width:calc(100vw - 100px)}.attached-doc-preview{left:0}.modal-overlay{padding:0}.settings-modal{border-radius:0;flex-direction:column;height:100%;max-height:100%;width:100%}.settings-nav{flex-direction:row;min-width:100%;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-color);border-right:none;flex-shrink:0;min-height:auto;padding:max(8px,env(safe-area-inset-top)) 8px 8px;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.settings-nav::-webkit-scrollbar{display:none}.settings-footer,.settings-title{display:none}.nav-item{flex-shrink:0;font-size:.9rem;padding:8px 12px;white-space:nowrap}.settings-content{flex:1;min-height:0}.settings-scroll-area{padding:20px 16px max(100px,env(safe-area-inset-bottom) + 80px);-webkit-overflow-scrolling:touch}.section-title{font-size:1.25rem}.modal-actions-bar{padding:16px 16px max(16px,env(safe-area-inset-bottom))}.model-card{padding:16px}.theme-grid{gap:12px}.theme-option{padding:16px}.input-minimal,.input-wrapper textarea,input[type=number],input[type=password],input[type=text],select{font-size:16px!important}.btn-new-chat-collapsed{display:none}.toast{bottom:max(24px,env(safe-area-inset-bottom) + 16px);left:16px;max-width:calc(100% - 32px);right:16px;text-align:center;transform:none}}.mobile-header{display:none}.input-area{padding-bottom:max(40px,env(safe-area-inset-bottom) + 20px)}.sidebar-footer{padding-bottom:max(20px,env(safe-area-inset-bottom) + 20px)}@media (min-width:769px) and (max-width:1024px){.input-container-inner{max-width:100%;padding:0 12px}.input-toolbar{gap:4px}.rag-toggle,.thinking-toggle{min-height:44px;padding:8px 6px;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.rag-slider,.thinking-slider{display:block!important;height:14px;min-height:14px;min-width:28px;-webkit-transform:translateZ(0);width:28px}.rag-slider-handle,.thinking-slider-handle{display:block!important;height:10px;min-height:10px;min-width:10px;-webkit-transform:translateZ(0);width:10px}.btn-tool{min-height:44px;min-width:44px}}@media (max-width:375px){.welcome-logo-img{height:56px;width:56px}.welcome h1{font-size:1.4rem}.welcome-subtitle{font-size:.85rem;margin-bottom:20px}.feature{gap:10px;padding:14px 12px}.message{gap:10px}.message-avatar{height:28px;min-width:28px;width:28px}.input-wrapper{padding:10px 10px 44px}.settings-scroll-area{padding:16px 12px}}@media (max-height:500px) and (max-width:900px){.welcome{padding:16px}.welcome-logo-img{height:48px;width:48px}.welcome h1{font-size:1.4rem;margin-bottom:8px}.welcome-subtitle{margin-bottom:20px}.welcome-features{grid-template-columns:repeat(3,1fr)}.feature{flex-direction:column;gap:8px;padding:12px 8px}}.thinking-block{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden}.thinking-header{align-items:center;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:10px 14px;transition:var(--transition);user-select:none}.thinking-header:hover{background:var(--border-color)}.thinking-header i{color:var(--text-muted);flex-shrink:0}.thinking-header .chevron{margin-left:auto;transition:transform .2s ease}.thinking-header .chevron.expanded{transform:rotate(180deg)}.thinking-content{background:var(--bg-primary);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;line-height:1.7;max-height:400px;overflow-y:auto;padding:14px}.thinking-content p{margin-bottom:.8em}.thinking-content p:last-child{margin-bottom:0}.rag-references{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.rag-references-header{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:6px 10px;transition:var(--transition);user-select:none}.rag-references-header:hover{background:var(--border-color)}.rag-references-header i{flex-shrink:0}.rag-references-header .chevron{margin-left:auto;transition:transform .2s ease}.rag-references-header .chevron.expanded{transform:rotate(180deg)}.rag-references-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.rag-reference-item{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.85rem;padding:12px}.rag-reference-item .ref-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.rag-reference-item .ref-badge{background:var(--text-primary);border-radius:10px;color:var(--bg-primary);font-size:.7rem;font-weight:600;padding:2px 8px}.rag-reference-item .ref-score{color:var(--text-muted);font-size:.75rem}.rag-reference-item .ref-content{color:var(--text-secondary);line-height:1.5;word-break:break-word}.btn-plugins{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px;transition:var(--transition);width:100%}.btn-plugins:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-plugins-collapsed{bottom:56px;left:50%;position:absolute;transform:translateX(-50%)}.plugin-modal.settings-modal{width:1200px}.plugin-modal .settings-content{min-height:400px}.plugin-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.plugin-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--text-primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.plugin-error{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px;text-align:center}.plugin-error i{opacity:.5}.plugin-error .btn-secondary{margin-top:8px}.plugin-market-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.plugin-market-header .section-header{margin-bottom:0}.plugin-market-search-wrap{flex-shrink:0;position:relative;width:200px}.plugin-market-search-icon{color:var(--text-muted);font-size:1rem;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.plugin-market-search{padding:10px 12px 10px 36px;width:100%}.plugin-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.plugin-list{display:flex;flex-direction:column;gap:12px}.plugin-list .plugin-card{width:100%}.plugin-list .plugin-desc{display:block;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-card{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:row;gap:12px;padding:12px 16px;transition:var(--transition)}.plugin-card:hover{border-color:var(--text-muted)}.plugin-card-market{align-items:center;flex-direction:row;padding:10px 14px}.plugin-card-market .plugin-icon-market{flex-shrink:0;height:36px;width:36px}.plugin-card-market-body{align-items:baseline;display:flex;flex:1;gap:8px;min-width:0}.plugin-name-market{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-actions-market{flex-shrink:0}.plugin-card-market .plugin-actions-market .btn-icon-sm{font-size:.9rem;height:32px;width:32px}.plugin-info-wrap{position:relative}.plugin-info-popover{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:8px;max-width:320px;min-width:240px;padding:12px 14px;position:absolute;right:0;top:100%;z-index:50}.plugin-info-popover-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:4px}.plugin-info-popover-version{color:var(--text-muted);font-size:.75rem;margin-bottom:8px}.plugin-info-popover-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.45}@media (max-width:640px){.plugin-market-header{flex-direction:column;gap:16px}.plugin-market-search-wrap{width:100%}.plugin-grid{grid-template-columns:1fr}}.plugin-icon{background:var(--bg-hover);border-radius:8px;flex-shrink:0;height:36px;object-fit:cover;width:36px}.plugin-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.plugin-name{color:var(--text-primary);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-version{color:var(--text-muted);font-size:.75rem}.plugin-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.plugin-card.installed .plugin-actions{justify-content:flex-end}.plugin-card .plugin-actions .btn-icon{font-size:1rem;height:36px;width:36px}.btn-sm{font-size:.85rem;padding:6px 16px}.plugin-empty{color:var(--text-muted);grid-column:1/-1;padding:40px 20px;text-align:center}.plugin-upload{align-items:center;border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px;transition:var(--transition)}.plugin-upload:hover{background:var(--bg-hover);border-color:var(--text-muted)}.plugin-upload i{opacity:.5}.plugin-upload-progress{align-items:center;color:var(--text-secondary);display:flex;gap:12px;justify-content:center;padding:20px}.plugin-upload-progress .spinner{animation:spin .8s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--text-primary);height:20px;width:20px}.plugin-dev-guide{margin-top:24px;text-align:center}.plugin-dev-guide a{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.85rem;gap:6px;text-decoration:none;transition:var(--transition)}.plugin-dev-guide a:hover{color:var(--text-secondary)}.plugin-settings-modal{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.plugin-settings-modal.custom-settings-modal{max-width:960px;width:95%}.plugin-settings-header{border-bottom:1px solid var(--border-color);padding:20px 24px}.plugin-settings-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600}.plugin-settings-content{flex:1;overflow-y:auto;padding:24px}.plugin-settings-content.custom-settings-content{min-height:0;overflow:hidden;padding:0}.plugin-custom-settings{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto}.plugin-settings-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:12px;padding:16px 24px}.btn-danger{background:var(--error-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.btn-danger:hover{background:#dc2626}.plugin-no-settings{color:var(--text-muted);padding:40px 20px;text-align:center}.plugin-proxy-settings{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.plugin-proxy-settings h4{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:16px}.plugin-toolbar-area{align-items:center;display:flex;gap:4px}.plugin-toolbar-divider{background:var(--border-color);height:20px;margin:0 4px;width:1px}.btn-tool.plugin-btn.active{background:var(--text-primary);color:var(--bg-primary)}.btn-tool.plugin-btn.active:hover{background:var(--accent-hover);color:var(--bg-primary)}.btn-tool.plugin-btn.loading{opacity:.7;pointer-events:none}.plugin-more-dropdown{position:relative}.plugin-more-menu{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);bottom:100%;box-shadow:var(--shadow-lg);margin-bottom:8px;max-height:280px;min-width:180px;overflow-y:auto;position:absolute;right:0;z-index:100}.plugin-more-item{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:10px;padding:12px 16px;transition:background .15s}.plugin-more-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.plugin-more-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.plugin-more-item:hover{background:var(--bg-hover);color:var(--text-primary)}.plugin-more-item.active{background:var(--bg-secondary);color:var(--text-primary)}.plugin-more-item.loading{opacity:.7;pointer-events:none}.plugin-more-item i{flex-shrink:0;font-size:16px;text-align:center;width:20px}.plugin-more-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-fullscreen-modal{z-index:1000}.plugin-fullscreen-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:900px;overflow:hidden;width:100%}@media (max-width:768px){.plugin-toolbar-area{gap:2px}.plugin-toolbar-divider{margin:0 2px}.plugin-fullscreen-content{border:none;border-radius:0;max-height:100%;max-width:100%}.plugin-more-menu{left:50%;min-width:200px;right:auto;transform:translateX(-50%)}}@media (min-width:769px) and (max-width:1024px){.btn-tool.plugin-btn{min-height:44px;min-width:44px}}@media (hover:none){.feature:hover{border-color:var(--border-color);box-shadow:none;transform:none}.btn-new-chat:hover{box-shadow:var(--shadow-sm);transform:none}.btn-primary:hover{opacity:1;transform:none}.btn-send:hover:not(:disabled),.btn-stop:hover{transform:none}.chat-item:hover .btn-delete{opacity:1}.model-card:hover{border-color:var(--border-color)}}
/*# sourceMappingURL=data:application/json;base64,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aUIsQ0FMakIsUUFBUyxDQUNULGlCQUFrQixDQUVsQiwwQkFHSixDQUVBLDhCQUNJLG1EQUNKLENBRUEsNkJBQ0ksbURBQ0osQ0FFQSx3QkFDSSwwQkFBMkIsQ0FDM0IseUJBQ0osQ0FFQSx5QkFFSSw4QkFBK0IsQ0FEL0IseUJBRUosQ0FFQSwwQkFDSSxVQUFZLENBQ1osbUJBQ0osQ0FFQSxvQkFJSSxhQUFjLENBSGQsY0FBZSxDQUVmLGlCQUFrQixDQURsQixVQUdKLENBRUEsdUJBRUksZUFBZ0IsQ0FDaEIsc0JBQXVCLENBRnZCLGtCQUdKLENBR0EseUJBQ0ksWUFDSixDQUVBLDJCQUlJLDRCQUE2QixDQUk3QixvQ0FBcUMsQ0FIckMsOEJBQStCLENBRS9CLDJCQUE0QixDQUo1QixlQUFnQixDQURoQixlQUFnQixDQUloQixlQUFnQixDQUxoQixVQVFKLENBR0EseUJBQ0kscUJBQ0ksT0FDSixDQUVBLHdCQUNJLFlBQ0osQ0FFQSwyQkFJSSxXQUFZLENBRFosZUFBZ0IsQ0FEaEIsZUFBZ0IsQ0FEaEIsY0FJSixDQUVBLGtCQUVJLFFBQVMsQ0FFVCxlQUFnQixDQUhoQixVQUFXLENBRVgsMEJBRUosQ0FDSixDQUdBLGdEQUNJLHFCQUVJLGVBQWdCLENBRGhCLGNBRUosQ0FDSixDQUdBLG9CQUNJLGVBRUksZ0NBQWlDLENBQ2pDLGVBQWdCLENBRmhCLGNBR0osQ0FFQSxvQkFFSSwyQkFBNEIsQ0FENUIsY0FFSixDQUVBLG1CQUNJLFNBQVUsQ0FDVixjQUNKLENBTUEsK0NBQ0ksY0FDSixDQUVBLDZCQUNJLFNBQ0osQ0FFQSxrQkFDSSxnQ0FDSixDQUNKIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogR3Jvay1zdHlsZSBNaW5pbWFsaXN0IERlc2lnbiBTeXN0ZW0gKi9cbjpyb290IHtcbiAgICAvKiBIU0wgQ29sb3IgVG9rZW5zIChzaGFkY24vdWkgY29tcGF0aWJsZSkgKi9cbiAgICAtLWJhY2tncm91bmQ6IDAgMCUgMTAwJTtcbiAgICAtLWZvcmVncm91bmQ6IDAgMCUgMCU7XG4gICAgLS1jYXJkOiAwIDAlIDk3LjYlO1xuICAgIC0tY2FyZC1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tcG9wb3ZlcjogMCAwJSAxMDAlO1xuICAgIC0tcG9wb3Zlci1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tbXV0ZWQ6IDAgMCUgOTQuMSU7XG4gICAgLS1tdXRlZC1mb3JlZ3JvdW5kOiAwIDAlIDQwJTtcbiAgICAtLWFjY2VudDogMCAwJSA5NS4zJTtcbiAgICAtLWFjY2VudC1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tZGVzdHJ1Y3RpdmU6IDAgODQuMiUgNjAuMiU7XG4gICAgLS1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgLS1zdWNjZXNzOiAxNDIuMSA3Ni4yJSAzNi4zJTtcbiAgICAtLXN1Y2Nlc3MtZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tYm9yZGVyOiAwIDAlIDg5LjglO1xuICAgIC0taW5wdXQ6IDAgMCUgODkuOCU7XG4gICAgLS1yaW5nOiAwIDAlIDAlO1xuICAgIFxuICAgIC8qIExpZ2h0IFRoZW1lIC0gQ2xlYW4gV2hpdGUgKGFsaWFzZWQgZnJvbSBIU0wgdG9rZW5zKSAqL1xuICAgIC0tYmctcHJpbWFyeTogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICAtLWJnLXNlY29uZGFyeTogI2Y5ZjlmOTtcbiAgICAtLWJnLXRlcnRpYXJ5OiBoc2wodmFyKC0tbXV0ZWQpKTtcbiAgICAtLWJnLWhvdmVyOiBoc2wodmFyKC0tYWNjZW50KSk7XG4gICAgLS1iZy1pbnB1dDogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICAtLWJnLW1vZGFsOiBoc2wodmFyKC0tYmFja2dyb3VuZCkpO1xuICAgIFxuICAgIC0tdGV4dC1wcmltYXJ5OiBoc2wodmFyKC0tZm9yZWdyb3VuZCkpO1xuICAgIC0tdGV4dC1zZWNvbmRhcnk6IGhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSk7XG4gICAgLS10ZXh0LW11dGVkOiAjNmI2YjZiO1xuICAgIFxuICAgIC0tYm9yZGVyLWNvbG9yOiBoc2wodmFyKC0tYm9yZGVyKSk7XG4gICAgLS1ib3JkZXItZm9jdXM6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgXG4gICAgLS1hY2NlbnQtY29sb3I6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgLS1hY2NlbnQtaG92ZXI6ICMzMzMzMzM7XG4gICAgLS1vbi1hY2NlbnQ6IGhzbCh2YXIoLS1iYWNrZ3JvdW5kKSk7XG4gICAgXG4gICAgLS1zdWNjZXNzLWNvbG9yOiBoc2wodmFyKC0tc3VjY2VzcykpO1xuICAgIC0tZXJyb3ItY29sb3I6IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpO1xuICAgIC0tZXJyb3ItZm9yZWdyb3VuZDogaHNsKHZhcigtLWRlc3RydWN0aXZlLWZvcmVncm91bmQpKTtcbiAgICAtLXN1Y2Nlc3MtZm9yZWdyb3VuZDogaHNsKHZhcigtLXN1Y2Nlc3MtZm9yZWdyb3VuZCkpO1xuICAgIFxuICAgIC0tc2hhZG93LXNtOiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAtLXNoYWRvdy1tZDogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAtLXNoYWRvdy1sZzogMCAyMHB4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIFxuICAgIC0tcmFkaXVzLXNtOiA2cHg7XG4gICAgLS1yYWRpdXMtbWQ6IDEycHg7XG4gICAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gICAgLS1yYWRpdXMtZnVsbDogOTk5OXB4O1xuICAgIFxuICAgIC8qIFNwYWNpbmcgVG9rZW5zICovXG4gICAgLS1zcGFjaW5nLTE6IDRweDtcbiAgICAtLXNwYWNpbmctMjogOHB4O1xuICAgIC0tc3BhY2luZy0zOiAxMnB4O1xuICAgIC0tc3BhY2luZy00OiAxNnB4O1xuICAgIC0tc3BhY2luZy01OiAyMHB4O1xuICAgIC0tc3BhY2luZy02OiAyNHB4O1xuICAgIC0tc3BhY2luZy04OiAzMnB4O1xuICAgIC0tc3BhY2luZy0xMDogNDBweDtcbiAgICAtLXNwYWNpbmctMTI6IDQ4cHg7XG4gICAgXG4gICAgLyogVHlwb2dyYXBoeSBUb2tlbnMgKi9cbiAgICAtLXRleHQteHM6IDAuNzVyZW07XG4gICAgLS10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgICAtLXRleHQtYmFzZTogMXJlbTtcbiAgICAtLXRleHQtbGc6IDEuMTI1cmVtO1xuICAgIC0tdGV4dC14bDogMS4yNXJlbTtcbiAgICAtLXRleHQtMnhsOiAxLjVyZW07XG4gICAgLS10ZXh0LTN4bDogMS44NzVyZW07XG4gICAgXG4gICAgLyogU3lzdGVtIGZvbnQgc3RhY2sgLSBubyBleHRlcm5hbCByZXF1ZXN0cyAqL1xuICAgIC0tZm9udC1tYWluOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnTm90byBTYW5zJywgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJztcbiAgICAtLWZvbnQtbW9ubzogdWktbW9ub3NwYWNlLCAnU0YgTW9ubycsICdDYXNjYWRpYSBDb2RlJywgJ1JvYm90byBNb25vJywgTWVubG8sIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgIFxuICAgIC8qIEFuaW1hdGlvbiBUb2tlbnMgKi9cbiAgICAtLWVhc2U6IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIC0tZHVyYXRpb24tZmFzdDogMTUwbXM7XG4gICAgLS1kdXJhdGlvbi1ub3JtYWw6IDIwMG1zO1xuICAgIC0tZHVyYXRpb24tc2xvdzogMzAwbXM7XG4gICAgLS10cmFuc2l0aW9uLWNvbG9yczogY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCkgdmFyKC0tZWFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSB2YXIoLS1lYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCkgdmFyKC0tZWFzZSk7XG4gICAgLS10cmFuc2l0aW9uLXRyYW5zZm9ybTogdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCkgdmFyKC0tZWFzZSk7XG4gICAgLS10cmFuc2l0aW9uOiBhbGwgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSB2YXIoLS1lYXNlKTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAvKiBEYXJrIFRoZW1lIEhTTCBUb2tlbnMgKi9cbiAgICAtLWJhY2tncm91bmQ6IDAgMCUgMCU7XG4gICAgLS1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgLS1jYXJkOiAwIDAlIDMuOSU7XG4gICAgLS1jYXJkLWZvcmVncm91bmQ6IDAgMCUgMTAwJTtcbiAgICAtLXBvcG92ZXI6IDAgMCUgMy45JTtcbiAgICAtLXBvcG92ZXItZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tbXV0ZWQ6IDAgMCUgOC42JTtcbiAgICAtLW11dGVkLWZvcmVncm91bmQ6IDAgMCUgNjIuNyU7XG4gICAgLS1hY2NlbnQ6IDAgMCUgMTAuMiU7XG4gICAgLS1hY2NlbnQtZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tYm9yZGVyOiAwIDAlIDE1LjclO1xuICAgIC0taW5wdXQ6IDAgMCUgMTUuNyU7XG4gICAgLS1yaW5nOiAwIDAlIDEwMCU7XG4gICAgXG4gICAgLyogRGFyayBUaGVtZSAtIFB1cmUgQmxhY2sgKEdyb2sgU3R5bGUpICovXG4gICAgLS1iZy1wcmltYXJ5OiBoc2wodmFyKC0tYmFja2dyb3VuZCkpO1xuICAgIC0tYmctc2Vjb25kYXJ5OiAjMGEwYTBhO1xuICAgIC0tYmctdGVydGlhcnk6IGhzbCh2YXIoLS1tdXRlZCkpO1xuICAgIC0tYmctaG92ZXI6IGhzbCh2YXIoLS1hY2NlbnQpKTtcbiAgICAtLWJnLWlucHV0OiAjMGEwYTBhO1xuICAgIC0tYmctbW9kYWw6ICMwYTBhMGE7XG4gICAgXG4gICAgLS10ZXh0LXByaW1hcnk6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgLS10ZXh0LXNlY29uZGFyeTogaHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKTtcbiAgICAtLXRleHQtbXV0ZWQ6ICM3MzczNzM7XG4gICAgXG4gICAgLS1ib3JkZXItY29sb3I6IGhzbCh2YXIoLS1ib3JkZXIpKTtcbiAgICAtLWJvcmRlci1mb2N1czogaHNsKHZhcigtLWZvcmVncm91bmQpKTtcbiAgICBcbiAgICAtLWFjY2VudC1jb2xvcjogaHNsKHZhcigtLWZvcmVncm91bmQpKTtcbiAgICAtLWFjY2VudC1ob3ZlcjogI2UwZTBlMDtcbiAgICAtLW9uLWFjY2VudDogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICBcbiAgICAtLXNoYWRvdy1zbTogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtLXNoYWRvdy1tZDogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC0tc2hhZG93LWxnOiAwIDIwcHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwZHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC8qIGlPUyBzYWZlIGFyZWEgc3VwcG9ydCAqL1xuICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xufVxuXG5beC1jbG9ha10geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogRm9jdXMgdmlzaWJsZSBzdHlsZXMgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gKi9cbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWZvY3VzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbmlucHV0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG50ZXh0YXJlYTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuc2VsZWN0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG5bcm9sZT1cInN3aXRjaFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSZXNwZWN0IHJlZHVjZWQgbW90aW9uIHByZWZlcmVuY2UgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFNpZGViYXIgKi9cbi5zaWRlYmFyIHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgbWluLXdpZHRoOiAyODBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWRlYmFyLmNvbGxhcHNlZCB7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgbWluLXdpZHRoOiA3MnB4O1xufVxuXG4vKiBTaWRlYmFyIE92ZXJsYXkgKG1vYmlsZSBvbmx5KSAqL1xuLnNpZGViYXItb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNpZGViYXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDgwcHg7XG59XG5cbi5sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmxvZ28taW1nIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubG9nby10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5idG4taWNvbiB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWNvbG9ycyk7XG59XG5cbi5idG4taWNvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnRuLWljb24tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG59XG5cbi8qIE5ldyBDaGF0IEJ1dHRvbiAqL1xuLmJ0bi1uZXctY2hhdCB7XG4gICAgbWFyZ2luOiAwIDIwcHggMjBweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4uYnRuLW5ldy1jaGF0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5idG4tY2xlYXItYWxsIHtcbiAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLWNsZWFyLWFsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xufVxuXG4uYnRuLW5ldy1jaGF0OmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uYnRuLW5ldy1jaGF0LWNvbGxhcHNlZCB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5idG4tbmV3LWNoYXQtY29sbGFwc2VkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIENoYXQgTGlzdCAqL1xuLmNoYXQtbGlzdCB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmNoYXQtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogNnB4OyB9XG4uY2hhdC1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXItcmFkaXVzOiA2cHg7IH1cbi5jaGF0LWxpc3Q6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWNvbG9yKTsgfVxuXG4uY2hhdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1jb2xvcnMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdC1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5jaGF0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5jaGF0LXRpdGxlIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmJ0bi1kZWxldGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5jaGF0LWl0ZW06aG92ZXIgLmJ0bi1kZWxldGUgeyBvcGFjaXR5OiAxOyB9XG4uYnRuLWRlbGV0ZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7IGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7IH1cblxuLyogU2lkZWJhciBGb290ZXIgKi9cbi5zaWRlYmFyLWZvb3RlciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbn1cblxuLmJ0bi1zZXR0aW5ncyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tY29sb3JzKTtcbn1cblxuLmJ0bi1zZXR0aW5nczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uc2lkZWJhci1zZXR0aW5ncy1jb2xsYXBzZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDI0cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLyogTWFpbiBDb250ZW50ICovXG4ubWFpbi1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNoYXQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xufVxuXG4vKiBXZWxjb21lIFNjcmVlbiAqL1xuLndlbGNvbWUge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1NnB4IDQwcHggMjRweDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjZzIGVhc2Utb3V0O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgY29udGFpbjogbGF5b3V0IHN0eWxlOyAvKiBPcHRpbWl6ZSByZW5kZXJpbmcgKi9cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4ud2VsY29tZS1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ud2VsY29tZS1sb2dvLWltZyB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbn1cblxuLndlbGNvbWUgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xufVxuXG4ud2VsY29tZS1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4ud2VsY29tZS1mZWF0dXJlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uZmVhdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5mZWF0dXJlOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5mZWF0dXJlIGkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogTWVzc2FnZXMgKi9cbi5tZXNzYWdlcyB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA0MHB4IDI0cHggMjBweDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuXG4ubWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMjRweCAwO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYW5pbWF0aW9uOiBzbGlkZUluIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi5tZXNzYWdlLWF2YXRhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIG1pbi13aWR0aDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5tZXNzYWdlLmFzc2lzdGFudCAubWVzc2FnZS1hdmF0YXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1hcmtkb3duIFN0eWxpbmcgKi9cbi5tZXNzYWdlLWNvbnRlbnQgcCB7IG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG4ubWVzc2FnZS1jb250ZW50IHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1lc3NhZ2UtY29udGVudCBwcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuXG4ubWVzc2FnZS1jb250ZW50IGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWVzc2FnZS1jb250ZW50IHByZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4vKiBNYXJrZG93biBUYWJsZXMgKi9cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGgsXG4ubWVzc2FnZS1jb250ZW50IHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xufVxuXG4vKiBNYXJrZG93biBMaXN0cyAqL1xuLm1lc3NhZ2UtY29udGVudCB1bCxcbi5tZXNzYWdlLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ubWVzc2FnZS1jb250ZW50IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIE1hcmtkb3duIEJsb2NrcXVvdGVzICovXG4ubWVzc2FnZS1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDA7XG59XG5cbi8qIE1hcmtkb3duIEhvcml6b250YWwgUnVsZSAqL1xuLm1lc3NhZ2UtY29udGVudCBociB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIG1hcmdpbjogMmVtIDA7XG59XG5cbi8qIE1hcmtkb3duIExpbmtzICovXG4ubWVzc2FnZS1jb250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4ycztcbn1cblxuLm1lc3NhZ2UtY29udGVudCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIE1hcmtkb3duIEltYWdlcyAqL1xuLm1lc3NhZ2UtY29udGVudCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG4vKiBNZXNzYWdlIEFjdGlvbnMgQmFyIChjb3B5IGJ1dHRvbiBldGMuKSAqL1xuLm1lc3NhZ2UtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWZhc3QpIGVhc2U7XG59XG5cbi5tZXNzYWdlLWFjdGlvbnMtcGx1Z2luLXNsb3Qge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4ubWVzc2FnZTpob3ZlciAubWVzc2FnZS1hY3Rpb25zIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYnRuLWNvcHkge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1jb2xvcnMpO1xufVxuXG4uYnRuLWNvcHk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbn1cblxuLmJ0bi1jb3B5LmNvcGllZCB7XG4gICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3IpO1xufVxuXG4vKiBUb3VjaCBzY3JlZW46IGFsd2F5cyBzaG93IG1lc3NhZ2UgYWN0aW9ucyAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC5tZXNzYWdlLWFjdGlvbnMge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxufVxuXG4vKiBUeXBpbmcgSW5kaWNhdG9yICovXG4udHlwaW5nLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA2cHggMDtcbn1cblxuLnR5cGluZy1pbmRpY2F0b3Igc3BhbiB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbn1cbi50eXBpbmctaW5kaWNhdG9yIHNwYW46bnRoLWNoaWxkKDEpIHsgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7IH1cbi50eXBpbmctaW5kaWNhdG9yIHNwYW46bnRoLWNoaWxkKDIpIHsgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7IH1cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSwgODAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgb3BhY2l0eTogMC41OyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgb3BhY2l0eTogMTsgfVxufVxuXG4vKiBJbnB1dCBBcmVhICovXG4uaW5wdXQtYXJlYSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDQwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tYmctcHJpbWFyeSkgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgei1pbmRleDogNTtcbn1cblxuLmlucHV0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnB1dC10b29sYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICB6LWluZGV4OiA2O1xufVxuXG4uYnRuLXRvb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tdG9vbCBpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5idG4tdG9vbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnRuLXRvb2wuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIFJBRyBUb2dnbGUgd2l0aCBTbGlkZXIgKi9cbi5yYWctdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4ucmFnLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5yYWctdG9nZ2xlLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5yYWctc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4ucmFnLXRvZ2dsZS5hY3RpdmUgLnJhZy1zbGlkZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5yYWctc2xpZGVyLWhhbmRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLnJhZy10b2dnbGUuYWN0aXZlIC5yYWctc2xpZGVyLWhhbmRsZSB7XG4gICAgbGVmdDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbn1cblxuLyogVGhpbmtpbmcgTW9kZSBUb2dnbGUgKHNhbWUgc3R5bGUgYXMgUkFHIHRvZ2dsZSkgKi9cbi50aGlua2luZy10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi50aGlua2luZy10b2dnbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGhpbmtpbmctdG9nZ2xlLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi50aGlua2luZy1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgbWluLWhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi50aGlua2luZy10b2dnbGUuYWN0aXZlIC50aGlua2luZy1zbGlkZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi50aGlua2luZy1zbGlkZXItaGFuZGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4udGhpbmtpbmctdG9nZ2xlLmFjdGl2ZSAudGhpbmtpbmctc2xpZGVyLWhhbmRsZSB7XG4gICAgbGVmdDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbn1cblxuLmlucHV0LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICAgIHBhZGRpbmc6IDE2cHggMTZweCA1NnB4IDE2cHg7IC8qIEV4dHJhIGJvdHRvbSBwYWRkaW5nIGZvciB0b29sYmFyICovXG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnB1dC13cmFwcGVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9jdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5pbnB1dC13cmFwcGVyIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWluLWhlaWdodDogMjRweDtcbn1cblxuLmJ0bi1zZW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1zZW5kOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4uYnRuLXNlbmQ6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFN0b3AgQnV0dG9uICovXG4uYnRuLXN0b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5idG4tc3RvcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4vKiBJbWFnZSBQcmV2aWV3ICovXG4udXBsb2FkZWQtaW1hZ2UtcHJldmlldyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjJzO1xufVxuXG4udXBsb2FkZWQtaW1hZ2UtcHJldmlldyBpbWcge1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIFVSTCBJbnB1dCBQb3B1cCAqL1xuLnVybC1pbnB1dC1wb3B1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjE1cyBlYXNlLW91dDtcbn1cblxuLnVybC1pbnB1dC1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnVybC1pbnB1dC1wb3B1cCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLnVybC1pbnB1dC1wb3B1cCBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9jdXMpO1xufVxuXG4udXJsLWlucHV0LXBvcHVwIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udXJsLWlucHV0LWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLnVybC1pbnB1dC1hY3Rpb25zIC5idG4tY2FuY2VsIHtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLnVybC1pbnB1dC1hY3Rpb25zIC5idG4tY2FuY2VsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi51cmwtaW5wdXQtYWN0aW9ucyAuYnRuLWNvbmZpcm0ge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4udXJsLWlucHV0LWFjdGlvbnMgLmJ0bi1jb25maXJtOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtaG92ZXIpO1xufVxuXG4udXJsLWlucHV0LWFjdGlvbnMgLmJ0bi1jb25maXJtOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogUGFyc2VkIFVSTCBQcmV2aWV3ICovXG4ucGFyc2VkLXVybC1wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnM7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLnBhcnNlZC11cmwtcHJldmlldyBpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnBhcnNlZC11cmwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5idG4tcmVtb3ZlLXVybCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1yZW1vdmUtdXJsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4vKiBBdHRhY2hlZCBEb2N1bWVudCBQcmV2aWV3ICovXG4uYXR0YWNoZWQtZG9jLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgbGVmdDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnM7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbn1cblxuLmF0dGFjaGVkLWRvYy1wcmV2aWV3IGkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uYXR0YWNoZWQtZG9jLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5idG4tcmVtb3ZlLWRvYyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1yZW1vdmUtZG9jOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4vKiBTcGlubmluZyBhbmltYXRpb24gZm9yIGxvYWRpbmcgKi9cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGluIHtcbiAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiAtLS0gTmV3IFNldHRpbmdzIE1vZGFsIChHcm9rIFN0eWxlKSAtLS0gKi9cbi5tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5cbi5zZXR0aW5ncy1tb2RhbCB7XG4gICAgd2lkdGg6IDkwMHB4O1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1tb2RhbCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGFuaW1hdGlvbjogbW9kYWxTY2FsZSAwLjI1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cblxuQGtleWZyYW1lcyBtb2RhbFNjYWxlIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTsgfVxuICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG4vKiBTZXR0aW5ncyBMZWZ0IE5hdiAqL1xuLnNldHRpbmdzLW5hdiB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIHBhZGRpbmc6IDI0cHggMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zZXR0aW5ncy1uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2V0dGluZ3MtbmF2IHtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuXG4uc2V0dGluZ3MtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMCAxMnB4IDI0cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5uYXYtaXRlbSB7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tY29sb3JzKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ubmF2LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLm5hdi1pdGVtLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zZXR0aW5ncy1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogU2V0dGluZ3MgQ29udGVudCAqL1xuLnNldHRpbmdzLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZXR0aW5ncy1zY3JvbGwtYXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA0MHB4IDQ4cHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5cbi5zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uc2VjdGlvbi1kZXNjIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLyogRm9ybSBTdHlsZXMgKi9cbi5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uZm9ybS1zdWJsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLyogLS0tIFV0aWxpdHkgQ2xhc3NlcyAoZXh0cmFjdGVkIGZyb20gaW5saW5lIHN0eWxlcykgLS0tICovXG5cbi8qIEF2YXRhciBpbWFnZSBpbnNpZGUgY2lyY3VsYXIgY29udGFpbmVyICovXG4uYXZhdGFyLWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBIaWRkZW4gZmlsZSBpbnB1dCAoYWNjZXNzaWJsZSkgKi9cbi5maWxlLWlucHV0LWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRm9ybSBncm91cCB3aXRoIGV4dHJhIGJvdHRvbSBzcGFjaW5nIChVSSBzZXR0aW5ncyBzZWN0aW9ucykgKi9cbi5mb3JtLWdyb3VwLWxnIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9ycyAqL1xuLnN0YXR1cy1zdWNjZXNzIHsgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3IpOyB9XG4uc3RhdHVzLWVycm9yIHsgY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTsgfVxuXG4vKiBGdWxsLXdpZHRoIGJ1dHRvbiAqL1xuLmJ0bi1mdWxsLXdpZHRoIHsgd2lkdGg6IDEwMCU7IH1cblxuLyogTW9kZWwgdmVyaWZpY2F0aW9uIG1lc3NhZ2UgKi9cbi5tb2RlbC12ZXJpZnktbXNnIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLyogQ2hlY2tib3ggZ3JvdXAgZm9yIG1vZGVsIGNhcGFiaWxpdGllcyAqL1xuLmNoZWNrYm94LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVja2JveC1sYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLyogRm9ybSBzdWJsYWJlbCBpbmxpbmUgaGVscGVyICovXG4uZm9ybS1zdWJsYWJlbC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmZvcm0tc3VibGFiZWwtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFVwbG9hZCB0b29sIGxhYmVsICh6LWluZGV4IGZvciBmaWxlIGlucHV0KSAqL1xuLmJ0bi10b29sLXVwbG9hZCB7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBJbWFnZSBkZWxldGUgb3ZlcmxheSBidXR0b24gKi9cbi5idG4tZGVsZXRlLW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1kZWxldGUtb3ZlcmxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbn1cblxuLyogTG9nbyBzZXR0aW5ncyBkZWxldGUgYnV0dG9uICovXG4uYnRuLWRlbGV0ZS1pbmxpbmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFVwbG9hZCByb3cgbGF5b3V0ICovXG4udXBsb2FkLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLyogTG9nbyBwcmV2aWV3IGltYWdlICovXG4ubG9nby1wcmV2aWV3LWltZyB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1pbi13aWR0aDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEJ1dHRvbiB3aXRoIG5vIGV4dHJhIG1hcmdpbiAqL1xuLmJ0bi1jb21wYWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogSW5wdXQgdGhhdCBmaWxscyByZW1haW5pbmcgc3BhY2UgKi9cbi5pbnB1dC1mbGV4IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogQXZhdGFycyByb3cgbGF5b3V0ICovXG4uYXZhdGFycy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDI0cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYXZhdGFyLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4vKiBBdmF0YXIgcHJldmlldyBjb250YWluZXIgKi9cbi5hdmF0YXItcHJldmlldy11c2VyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmF2YXRhci1wcmV2aWV3LWFzc2lzdGFudCB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmF2YXRhci1wcmV2aWV3LWFzc2lzdGFudCBpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi8qIFNldHRpbmdzIGZvb3RlciBsaW5rICovXG4uc2V0dGluZ3MtZm9vdGVyLWxpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNldHRpbmdzLWZvb3Rlci1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogRXJyb3IgaWNvbiBzaXplICovXG4uaWNvbi1sZyB7IGZvbnQtc2l6ZTogMjRweDsgfVxuLmljb24teGwgeyBmb250LXNpemU6IDQ4cHg7IH1cblxuLyogUGx1Z2luIGxvYWRpbmcgdGV4dCAqL1xuLnBsdWdpbi1sb2FkaW5nLXRleHQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTWluaW1hbCBJbnB1dCAqL1xuLmlucHV0LW1pbmltYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtbWluaW1hbDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG59XG5cbi5pbnB1dC1taW5pbWFsOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBUb2dnbGUgU3dpdGNoIC0gY29tcGFjdCBzaXplICgzNngyMCkgZm9yIHBsdWdpbi1zdHlsZSBjb25zaXN0ZW5jeSAqL1xuLnRvZ2dsZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDA7XG59XG5cbi50b2dnbGUtaW5mbyB7IGZsZXg6IDE7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cblxuLnRvZ2dsZS1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnRvZ2dsZS1zd2l0Y2guY2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRvZ2dsZS1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEpO1xufVxuXG4udG9nZ2xlLXN3aXRjaC5jaGVja2VkIC50b2dnbGUtaGFuZGxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG59XG5cbi8qIFJhbmdlIFNsaWRlciAqL1xuaW5wdXRbdHlwZT1yYW5nZV0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIENvbGxhcHNpYmxlIFNlY3Rpb24gKi9cbi5jb2xsYXBzaWJsZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29sbGFwc2libGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5jb2xsYXBzaWJsZS1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbn1cblxuLmNvbGxhcHNpYmxlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uY29sbGFwc2libGUtdGl0bGUgaSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvbGxhcHNpYmxlLWNoZXZyb24ge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLmNvbGxhcHNpYmxlLWNoZXZyb24uZXhwYW5kZWQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5jb2xsYXBzaWJsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbn1cblxuLmNvbGxhcHNpYmxlLWNvbnRlbnQgLmZvcm0tc3VibGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnN5c3RlbS1wcm9tcHQtdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLnN5c3RlbS1wcm9tcHQtdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9jdXMpO1xufVxuXG4uc3lzdGVtLXByb21wdC10ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogTW9kZWwgQ2FyZHMgKi9cbi5tb2RlbC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5tb2RlbC1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ubW9kZWwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tb2RlbC1iYWRnZSB7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tb2RlbC1iYWRnZS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIE1vZGFsIEFjdGlvbnMgKi9cbi5tb2RhbC1hY3Rpb25zLWJhciB7XG4gICAgcGFkZGluZzogMjBweCA0OHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctbW9kYWwpO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gICAgcGFkZGluZzogMTBweCAyNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWNvbG9ycyk7XG59XG5cbi5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gICAgcGFkZGluZzogMTBweCAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tY29sb3JzKSwgdmFyKC0tdHJhbnNpdGlvbi10cmFuc2Zvcm0pO1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1ob3Zlcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4vKiBUaGVtZSBHcmlkICovXG4udGhlbWUtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAyMHB4O1xufVxuXG4udGhlbWUtb3B0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4udGhlbWUtb3B0aW9uLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi8qIEZpbGUgVXBsb2FkICovXG4udXBsb2FkLWFyZWEge1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbn1cblxuLnVwbG9hZC1hcmVhOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xufVxuXG4vKiBUb2FzdCAqL1xuLnRvYXN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAzMnB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICBhbmltYXRpb246IHRvYXN0UG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG5cbi50b2FzdC5lcnJvciB7IGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTsgY29sb3I6IHdoaXRlOyB9XG5cbkBrZXlmcmFtZXMgdG9hc3RQb3Age1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAyMHB4KSBzY2FsZSgwLjkpOyB9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTsgfVxufVxuXG4vKiBNb2JpbGUgUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gICAgfVxuICAgIFxuICAgIC5zaWRlYmFyLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIH1cbiAgICBcbiAgICAuc2lkZWJhci1vdmVybGF5W3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDsgXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBib3gtc2hhZG93OiA1cHggMCAxNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICB9XG4gICAgXG4gICAgLnNpZGViYXIuY29sbGFwc2VkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgIH1cbiAgICBcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgIH1cbiAgICBcbiAgICAuY2hhdC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbnRhaW46IGxheW91dCBzdHlsZTtcbiAgICB9XG4gICAgXG4gICAgLm1vYmlsZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICBcbiAgICAubW9iaWxlLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC53ZWxjb21lIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAxNnB4IDEycHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLWxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZS1sb2dvLWltZyB7XG4gICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLWZlYXR1cmVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuZmVhdHVyZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTRweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBcbiAgICAuZmVhdHVyZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cblxuICAgIC5tZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBjb250YWluOiBsYXlvdXQgc3R5bGU7IC8qIFByZXZlbnQgQ0xTICovXG4gICAgfVxuICAgIFxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLm1lc3NhZ2UtYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAubWVzc2FnZS1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbiAgICBcbiAgICAubWVzc2FnZS1jb250ZW50IHByZSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMTJweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQ4cHgpO1xuICAgIH1cbiAgICBcbiAgICAvKiBUYWJsZSByZXNwb25zaXZlIG9uIG1vYmlsZSAqL1xuICAgIC5tZXNzYWdlLWNvbnRlbnQgdGFibGUge1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICAgIFxuICAgIC5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGhlYWQgdGgsXG4gICAgLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXgoMjBweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICB9XG4gICAgXG4gICAgLmlucHV0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmlucHV0LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggNDhweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtd3JhcHBlciB0ZXh0YXJlYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OyAvKiBQcmV2ZW50IGlPUyB6b29tICovXG4gICAgfVxuICAgIFxuICAgIC5pbnB1dC10b29sYmFyIHtcbiAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICByaWdodDogNTJweDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtdG9vbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYnRuLXRvb2wge1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgfVxuICAgIFxuICAgIC5idG4tc2VuZCxcbiAgICAuYnRuLXN0b3Age1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIFxuICAgIC51cGxvYWRlZC1pbWFnZS1wcmV2aWV3IHtcbiAgICAgICAgYm90dG9tOiA1MnB4O1xuICAgIH1cbiAgICBcbiAgICAudXJsLWlucHV0LXBvcHVwIHtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDhweCk7XG4gICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICByaWdodDogLTEycHg7XG4gICAgfVxuICAgIFxuICAgIC5wYXJzZWQtdXJsLXByZXZpZXcge1xuICAgICAgICBib3R0b206IDUycHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICB9XG4gICAgXG4gICAgLmF0dGFjaGVkLWRvYy1wcmV2aWV3IHtcbiAgICAgICAgYm90dG9tOiA1MnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMDBweCk7XG4gICAgfVxuICAgIFxuICAgIC8qIFNldHRpbmdzIE1vZGFsIE1vYmlsZSAqL1xuICAgIC5tb2RhbC1vdmVybGF5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLW1vZGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLW5hdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogbWF4KDhweCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIGJsYWNrIDE2cHgsIGJsYWNrIGNhbGMoMTAwJSAtIDE2cHgpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIGJsYWNrIDE2cHgsIGJsYWNrIGNhbGMoMTAwJSAtIDE2cHgpLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgIFxuICAgIC5zZXR0aW5ncy1uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIFxuICAgIC5zZXR0aW5ncy1jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLXNjcm9sbC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWF4KDEwMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyA4MHB4KTtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gICAgXG4gICAgLm1vZGFsLWFjdGlvbnMtYmFyIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG1heCgxNnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgIH1cbiAgICBcbiAgICAubW9kZWwtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgfVxuICAgIFxuICAgIC50aGVtZS1ncmlkIHtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgIH1cbiAgICBcbiAgICAudGhlbWUtb3B0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICB9XG4gICAgXG4gICAgLyogUHJldmVudCBpT1Mgem9vbSBvbiBpbnB1dHMgKi9cbiAgICAuaW5wdXQtbWluaW1hbCwgXG4gICAgLmlucHV0LXdyYXBwZXIgdGV4dGFyZWEsXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8qIEhpZGUgbmV3IGNoYXQgYnV0dG9uIGluIGNvbGxhcHNlZCBzaWRlYmFyIG9uIG1vYmlsZSAqL1xuICAgIC5idG4tbmV3LWNoYXQtY29sbGFwc2VkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLyogVG9hc3QgcG9zaXRpb25pbmcgZm9yIG1vYmlsZSAqL1xuICAgIC50b2FzdCB7XG4gICAgICAgIGJvdHRvbTogbWF4KDI0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDE2cHgpO1xuICAgICAgICBsZWZ0OiAxNnB4O1xuICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKiBEZWZhdWx0IHN0YXRlIGZvciBtb2JpbGUgaGVhZGVyICovXG4ubW9iaWxlLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2FmZSBBcmVhIFN1cHBvcnQgZm9yIGlQaG9uZSBYKyAqL1xuLmlucHV0LWFyZWEge1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXgoNDBweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMjBweCk7XG59XG5cbi5zaWRlYmFyLWZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCgyMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAyMHB4KTtcbn1cblxuLyogVGFibGV0IG9wdGltaXphdGlvbiAoaVBhZCwgZXRjLikgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5pbnB1dC1jb250YWluZXItaW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB9XG4gICAgXG4gICAgLmlucHV0LXRvb2xiYXIge1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG4gICAgXG4gICAgLyogRW5zdXJlIHRvdWNoLWZyaWVuZGx5IHNpemUgZm9yIHRvZ2dsZXMgKi9cbiAgICAudGhpbmtpbmctdG9nZ2xlLFxuICAgIC5yYWctdG9nZ2xlIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDZweDtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuICAgIFxuICAgIC50aGlua2luZy1zbGlkZXIsXG4gICAgLnJhZy1zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgICBcbiAgICAudGhpbmtpbmctc2xpZGVyLWhhbmRsZSxcbiAgICAucmFnLXNsaWRlci1oYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgICBcbiAgICAuYnRuLXRvb2wge1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgfVxufVxuXG4vKiBFeHRyYSBzbWFsbCBzY3JlZW5zIChpUGhvbmUgU0UsIGV0Yy4pICovXG5AbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAud2VsY29tZS1sb2dvLWltZyB7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZmVhdHVyZSB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTJweDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVzc2FnZSB7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLm1lc3NhZ2UtYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA0NHB4IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zZXR0aW5ncy1zY3JvbGwtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICB9XG59XG5cbi8qIExhbmRzY2FwZSBtb2RlIGZpeGVzIGZvciBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LWhlaWdodDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC53ZWxjb21lIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUtbG9nby1pbWcge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUtZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbiAgICBcbiAgICAuZmVhdHVyZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG59XG5cbi8qIFRoaW5raW5nIEJsb2NrICovXG4udGhpbmtpbmctYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRoaW5raW5nLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGhpbmtpbmctaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4udGhpbmtpbmctaGVhZGVyIGkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnRoaW5raW5nLWhlYWRlciAuY2hldnJvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRoaW5raW5nLWhlYWRlciAuY2hldnJvbi5leHBhbmRlZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnRoaW5raW5nLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50aGlua2luZy1jb250ZW50IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xufVxuXG4udGhpbmtpbmctY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFJBRyBSZWZlcmVuY2VzIEJ1YmJsZSAqL1xuLnJhZy1yZWZlcmVuY2VzIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtaGVhZGVyIGkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtaGVhZGVyIC5jaGV2cm9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtaGVhZGVyIC5jaGV2cm9uLmV4cGFuZGVkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucmFnLXJlZmVyZW5jZXMtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4ucmFnLXJlZmVyZW5jZS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4ucmFnLXJlZmVyZW5jZS1pdGVtIC5yZWYtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnJhZy1yZWZlcmVuY2UtaXRlbSAucmVmLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnJhZy1yZWZlcmVuY2UtaXRlbSAucmVmLXNjb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ucmFnLXJlZmVyZW5jZS1pdGVtIC5yZWYtY29udGVudCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qID09PT09PT09PT09PSBQbHVnaW4gU3lzdGVtIFN0eWxlcyA9PT09PT09PT09PT0gKi9cblxuLyogUGx1Z2luIEJ1dHRvbiBpbiBTaWRlYmFyICovXG4uYnRuLXBsdWdpbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1wbHVnaW5zOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG59XG5cbi5zaWRlYmFyLXBsdWdpbnMtY29sbGFwc2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1NnB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8qIFBsdWdpbiBNb2RhbCAtIHdpZGVyIGZvciAyLWNvbCBncmlkICovXG4ucGx1Z2luLW1vZGFsLnNldHRpbmdzLW1vZGFsIHtcbiAgICB3aWR0aDogMTIwMHB4O1xufVxuXG4ucGx1Z2luLW1vZGFsIC5zZXR0aW5ncy1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLyogUGx1Z2luIExvYWRpbmcgKi9cbi5wbHVnaW4tbG9hZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweCAyMHB4O1xuICAgIGdhcDogMTZweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucGx1Z2luLWxvYWRpbmcgLnNwaW5uZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLyogUGx1Z2luIEVycm9yICovXG4ucGx1Z2luLWVycm9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wbHVnaW4tZXJyb3IgaSB7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4ucGx1Z2luLWVycm9yIC5idG4tc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8qIFBsdWdpbiBNYXJrZXQgSGVhZGVyIHdpdGggU2VhcmNoICovXG4ucGx1Z2luLW1hcmtldC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4ucGx1Z2luLW1hcmtldC1oZWFkZXIgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGx1Z2luLW1hcmtldC1zZWFyY2gtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAyMDBweDtcbn1cblxuLnBsdWdpbi1tYXJrZXQtc2VhcmNoLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGx1Z2luLW1hcmtldC1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweCAxMHB4IDM2cHg7XG59XG5cbi8qIFBsdWdpbiBHcmlkIC0gMiBjb2x1bW5zIGZvciBtYXJrZXQgKi9cbi5wbHVnaW4tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMTZweDtcbn1cblxuLyogUGx1Z2luIExpc3QgLSBPbmUgcGVyIHJvdyBmb3IgaW5zdGFsbGVkIHBsdWdpbnMgKi9cbi5wbHVnaW4tbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLnBsdWdpbi1saXN0IC5wbHVnaW4tY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHVnaW4tbGlzdCAucGx1Z2luLWRlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4vKiBQbHVnaW4gQ2FyZCAtIENvbXBhY3QgaG9yaXpvbnRhbCBsYXlvdXQgKi9cbi5wbHVnaW4tY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4ucGx1Z2luLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFBsdWdpbiBDYXJkIC0gTWFya2V0IChob3Jpem9udGFsIHJvdzogbG9nbyB8IHRpdGxlK3ZlcnNpb24gfCBidXR0b25zKSAqL1xuLnBsdWdpbi1jYXJkLW1hcmtldCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbn1cblxuLnBsdWdpbi1jYXJkLW1hcmtldCAucGx1Z2luLWljb24tbWFya2V0IHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wbHVnaW4tY2FyZC1tYXJrZXQtYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5wbHVnaW4tbmFtZS1tYXJrZXQge1xuICAgIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wbHVnaW4tYWN0aW9ucy1tYXJrZXQge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucGx1Z2luLWNhcmQtbWFya2V0IC5wbHVnaW4tYWN0aW9ucy1tYXJrZXQgLmJ0bi1pY29uLXNtIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qIFBsdWdpbiBpbmZvIHBvcG92ZXIgKi9cbi5wbHVnaW4taW5mby13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wbHVnaW4taW5mby1wb3BvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIHotaW5kZXg6IDUwO1xufVxuXG4ucGx1Z2luLWluZm8tcG9wb3Zlci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ucGx1Z2luLWluZm8tcG9wb3Zlci12ZXJzaW9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnBsdWdpbi1pbmZvLXBvcG92ZXItZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wbHVnaW4tbWFya2V0LWhlYWRlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgXG4gICAgLnBsdWdpbi1tYXJrZXQtc2VhcmNoLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLnBsdWdpbi1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuXG4ucGx1Z2luLWljb24ge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucGx1Z2luLWluZm8ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLnBsdWdpbi1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5wbHVnaW4tdmVyc2lvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLnBsdWdpbi1kZXNjIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucGx1Z2luLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnBsdWdpbi1jYXJkLmluc3RhbGxlZCAucGx1Z2luLWFjdGlvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8qIFBsdWdpbiBjYXJkIHNldHRpbmdzL2RlbGV0ZSBpY29uczogc2FtZSBzaXplIGFzIHNpZGViYXIgc2V0dGluZ3MgaWNvbiAoLmJ0bi1pY29uIDM2w5czNikgKi9cbi5wbHVnaW4tY2FyZCAucGx1Z2luLWFjdGlvbnMgLmJ0bi1pY29uIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uYnRuLXNtIHtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi8qIFBsdWdpbiBFbXB0eSBTdGF0ZSAqL1xuLnBsdWdpbi1lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cblxuLyogUGx1Z2luIFVwbG9hZCBBcmVhICovXG4ucGx1Z2luLXVwbG9hZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGdhcDogMTJweDtcbn1cblxuLnBsdWdpbi11cGxvYWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xufVxuXG4ucGx1Z2luLXVwbG9hZCBpIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wbHVnaW4tdXBsb2FkLXByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnBsdWdpbi11cGxvYWQtcHJvZ3Jlc3MgLnNwaW5uZXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyogUGx1Z2luIERldiBHdWlkZSBMaW5rICovXG4ucGx1Z2luLWRldi1ndWlkZSB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wbHVnaW4tZGV2LWd1aWRlIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5wbHVnaW4tZGV2LWd1aWRlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qIFBsdWdpbiBTZXR0aW5ncyBNb2RhbCAqL1xuLnBsdWdpbi1zZXR0aW5ncy1tb2RhbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctbW9kYWwpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbn1cblxuLyogQ3VzdG9tIFNldHRpbmdzIE1vZGFsIC0gTGFyZ2VyIHNpemUgZm9yIGNvbXBsZXggVUlzICovXG4ucGx1Z2luLXNldHRpbmdzLW1vZGFsLmN1c3RvbS1zZXR0aW5ncy1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB3aWR0aDogOTUlO1xufVxuXG4ucGx1Z2luLXNldHRpbmdzLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4ucGx1Z2luLXNldHRpbmdzLWhlYWRlciBoMyB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnBsdWdpbi1zZXR0aW5ncy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZmxleDogMTtcbn1cblxuLnBsdWdpbi1zZXR0aW5ncy1jb250ZW50LmN1c3RvbS1zZXR0aW5ncy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47ICAvKiBMZXQgY2hpbGQgaGFuZGxlIHNjcm9sbGluZyAqL1xuICAgIG1pbi1oZWlnaHQ6IDA7ICAvKiBDcml0aWNhbCBmb3IgZmxleCBzaHJpbmtpbmcgKi9cbn1cblxuLyogUGx1Z2luIEN1c3RvbSBTZXR0aW5ncyBDb250YWluZXIgKi9cbi5wbHVnaW4tY3VzdG9tLXNldHRpbmdzIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7ICAvKiBDcml0aWNhbDogYWxsb3dzIGZsZXggY2hpbGQgdG8gc2hyaW5rIGJlbG93IGNvbnRlbnQgc2l6ZSAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucGx1Z2luLXNldHRpbmdzLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5idG4tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkYzI2MjY7XG59XG5cbi5wbHVnaW4tbm8tc2V0dGluZ3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucGx1Z2luLXByb3h5LXNldHRpbmdzIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4ucGx1Z2luLXByb3h5LXNldHRpbmdzIGg0IHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT0gUGx1Z2luIFRvb2xiYXIgRXh0ZW5zaW9uIEFyZWEgPT09PT09PT09PT09ICovXG5cbi8qIFBsdWdpbiBUb29sYmFyIEFyZWEgQ29udGFpbmVyICovXG4ucGx1Z2luLXRvb2xiYXItYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xufVxuXG4ucGx1Z2luLXRvb2xiYXItZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBtYXJnaW46IDAgNHB4O1xufVxuXG4vKiBQbHVnaW4gQnV0dG9uIEFjdGl2ZSBTdGF0ZSAqL1xuLmJ0bi10b29sLnBsdWdpbi1idG4uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbn1cblxuLmJ0bi10b29sLnBsdWdpbi1idG4uYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbn1cblxuLyogUGx1Z2luIEJ1dHRvbiBMb2FkaW5nIFN0YXRlICovXG4uYnRuLXRvb2wucGx1Z2luLWJ0bi5sb2FkaW5nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIFBsdWdpbiBNb3JlIERyb3Bkb3duICovXG4ucGx1Z2luLW1vcmUtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBsdWdpbi1tb3JlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAxMDA7XG59XG5cbi5wbHVnaW4tbW9yZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4ucGx1Z2luLW1vcmUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKSB2YXIoLS1yYWRpdXMtbWQpIDAgMDtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cy1tZCkgdmFyKC0tcmFkaXVzLW1kKTtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xufVxuXG4ucGx1Z2luLW1vcmUtaXRlbS5sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wbHVnaW4tbW9yZS1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wbHVnaW4tbW9yZS1pdGVtIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogUGx1Z2luIEZ1bGxzY3JlZW4gTW9kYWwgKi9cbi5wbHVnaW4tZnVsbHNjcmVlbi1tb2RhbCB7XG4gICAgei1pbmRleDogMTAwMDtcbn1cblxuLnBsdWdpbi1mdWxsc2NyZWVuLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4vKiBNb2JpbGU6IFBsdWdpbiBUb29sYmFyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucGx1Z2luLXRvb2xiYXItYXJlYSB7XG4gICAgICAgIGdhcDogMnB4O1xuICAgIH1cbiAgICBcbiAgICAucGx1Z2luLXRvb2xiYXItZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgfVxuICAgIFxuICAgIC5wbHVnaW4tZnVsbHNjcmVlbi1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5wbHVnaW4tbW9yZS1tZW51IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIH1cbn1cblxuLyogVGFibGV0OiBQbHVnaW4gVG9vbGJhciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJ0bi10b29sLnBsdWdpbi1idG4ge1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgfVxufVxuXG4vKiAtLS0gVG91Y2ggc2NyZWVuOiBkaXNhYmxlIHN0aWNreSBob3ZlciBlZmZlY3RzIC0tLSAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC5mZWF0dXJlOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5idG4tbmV3LWNoYXQ6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgfVxuICAgIFxuICAgIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmJ0bi1zZW5kOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYnRuLXN0b3A6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jaGF0LWl0ZW06aG92ZXIgLmJ0bi1kZWxldGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBcbiAgICAubW9kZWwtY2FyZDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICB9XG59XG4iXX0= */