:root{--color-primary:#3B82F6;--color-primary-dark:#1D4ED8;--color-secondary:#64748B;--color-accent:#93C5FD;--color-success:#10B981;--color-warning:#F59E0B;--color-danger:#EF4444;--color-chat-mine-bg:#dbf3ff;--color-chat-theirs-bg:#f5f5f7;--color-highlight-bg:rgba(59, 130, 246, 0.08);--color-highlight-glow:#FFA500;--color-node-selected-fill:#F0F4FF;--color-group-highlight-fill:#FFFBE6;--color-decorative-gold:#FFD700;--color-syntax-primary:#3B82F6;--color-syntax-secondary:#64748B;--color-syntax-decorator:#8B5CF6;--color-syntax-accent:#EC4899;--color-syntax-error:#EF4444;--color-syntax-comment:#94A3B8;--color-syntax-success:#10B981;--color-text-dark:#1E293B;--color-text-muted:#64748B;--color-text-light:#FFFFFF;--color-text-on-primary:#FFFFFF;--color-bg-app:#FAF9F6;--color-bg-panel:rgba(59, 130, 246, 0.06);--color-bg-glass:rgba(59, 130, 246, 0.06);--color-border:#E2E8F0;--color-border-light:#F1F5F9;--color-shadow:rgba(148, 163, 184, 0.1);--color-shadow-dark:rgba(15, 23, 42, 0.05);--glass-bg:rgba(59, 130, 246, 0.05);--glass-border:rgba(59, 130, 246, 0.2);--glass-shadow:rgba(0, 0, 0, 0.05);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-xxl:24px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-pill:50px;--radius-circle:50%;--font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.85rem;--font-size-base:0.9rem;--font-size-md:1rem;--font-size-lg:1.2rem;--font-size-xl:1.5rem;--z-canvas:1;--z-docks:10;--z-session-header:20;--z-settings:50;--z-interface:5000;--z-home:2000;--z-nexus:2100;--z-popup:100000;--z-modal:100100;--z-stack-top:120000;--popup-bg:rgba(255, 255, 255, 0.95);--popup-backdrop:rgba(59, 130, 246, 0.35);--popup-border:var(--color-border);--popup-text:var(--color-text-dark);--component-bg:rgba(255, 255, 255, 0.95);--component-text:var(--color-text-dark);--transition-fast:0.1s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-bezier:0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);--panel-radius:16px;--panel-padding:16px;--popup-z-index:9999;--nexus-transition:var(--transition-base)}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:flex-start;justify-content:flex-start}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px;transition:background .2s}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.input-field{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);outline:0;transition:all var(--transition-base);background:0 0;color:var(--color-text-dark);caret-color:var(--color-text-dark);font-family:var(--font-family)}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input-field::placeholder{color:var(--color-text-muted);opacity:.6}.btn-base{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);border:none;white-space:nowrap}.btn-base:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--color-primary);color:var(--color-text-light);box-shadow:0 2px 5px rgba(59,130,246,.3)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px rgba(59,130,246,.4)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 5px rgba(59,130,246,.3)}.btn-secondary{background:var(--color-bg-panel);color:var(--color-text-dark);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border-light);border-color:var(--color-primary)}.btn-icon{width:32px;height:32px;padding:0;justify-content:center;border-radius:var(--radius-circle)}.btn-icon:hover{background:var(--color-primary);color:#fff}.stat-container{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-panel);border:1px solid var(--color-border-light);border-radius:var(--radius-pill);font-size:var(--font-size-sm);color:var(--color-text-muted);transition:all var(--transition-base)}.stat-container:hover{border-color:var(--color-primary);transform:translateY(-1px)}.stat-container i{color:var(--color-primary);font-size:var(--font-size-sm)}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-family)}body{overflow:hidden;background-color:var(--color-bg-app);color:var(--color-text-dark);height:100vh;width:100vw;font-size:var(--font-size-base);line-height:1.5}.app-container{position:relative;height:100%;width:100%}.hidden{display:none!important}.chat-panel,.profile-panel{position:fixed;right:16px;bottom:16px;width:min(420px,90vw);max-height:min(80vh,80vh);background:rgba(255,255,255,.94);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 24px rgba(15,23,42,.15);z-index:var(--z-interface);display:flex;flex-direction:column;overflow:hidden}.chat-header,.profile-panel h3{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border-light);background:rgba(255,255,255,.9)}.chat-body{display:flex;flex-grow:1;overflow:hidden}.contacts-list{width:40%;border-right:1px solid var(--color-border-light);overflow-y:auto;padding:8px}.chat-window{width:60%;display:flex;flex-direction:column;justify-content:flex-end;overflow-y:auto;padding:8px}.chat-window .message{margin-bottom:6px;border-radius:8px;padding:8px;font-size:.9rem}.chat-window .message.mine{background:var(--color-chat-mine-bg);align-self:flex-end}.chat-window .message.theirs{background:var(--color-chat-theirs-bg);align-self:flex-start}.chat-footer{display:flex;padding:8px;gap:8px;border-top:1px solid var(--color-border-light)}.chat-footer input{flex:1;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.profile-panel{width:300px;right:16px;top:16px;bottom:auto;max-height:320px}#profile-details{padding:10px;overflow-y:auto;font-size:.9rem}.canvas-wrapper,.node-group text,.storage-canvas{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.canvas-wrapper{width:100%;height:100%;position:absolute;top:0;left:0;cursor:grab;z-index:var(--z-canvas)}.canvas-wrapper:active{cursor:grabbing}svg{width:100%;height:100%;overflow:visible}.edge{fill:none;stroke:var(--color-text-muted);stroke-width:2px;stroke-linecap:round;pointer-events:none}.edge[stroke-dasharray="3,3"]{animation:dashFlow 20s linear infinite}.gps-link{animation:gpsFlow 2s linear infinite;transition:all .2s ease}.gps-link-hit{transition:none}@keyframes gpsFlow{0%{stroke-dashoffset:0}100%{stroke-dashoffset:24}}.gps-tag-bg{fill:var(--color-bg-panel);stroke:var(--color-border);stroke-width:1px;transition:fill .3s,stroke .3s}.gps-tag-text{fill:var(--color-text-dark);font-weight:700;font-size:11px;font-family:var(--font-family);pointer-events:none;transition:fill .3s}.gps-tag-label{user-select:none;-webkit-user-select:none}.node-group{cursor:pointer;transition:opacity var(--transition-base)}.node-group circle,.node-group path,.node-group rect{transition:d var(--transition-slow),fill var(--transition-slow),stroke var(--transition-slow),transform var(--transition-bezier)}.root-node circle{fill:var(--color-primary);stroke:var(--color-text-light);stroke-width:4px;filter:drop-shadow(0 4px 6px rgba(0, 0, 0, .15));transition:transform var(--transition-base)}.root-node text{fill:var(--color-text-light);font-weight:700;font-size:var(--font-size-md);stroke:none;text-shadow:none;pointer-events:none}.root-node.selected circle{stroke:var(--color-accent);stroke-width:5px}.word-node path{fill:var(--color-text-light);stroke:var(--color-primary);stroke-width:2px;transition:all var(--transition-base)}.word-node.selected path{stroke:var(--color-secondary);stroke-width:3px;fill:var(--color-node-selected-fill);animation:pulse 2s infinite}.node-group text{font-size:var(--font-size-sm);font-weight:600;fill:var(--color-text-dark);stroke:none;text-shadow:none;pointer-events:none}.node-group:hover circle,.node-group:hover path{transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(102, 126, 234, .4))}.node-group.preview-node{animation:previewGlow 1.5s ease-in-out infinite;pointer-events:none}.node-group.preview-node circle,.node-group.preview-node path{stroke-dasharray:5,5;opacity:.9}.node-group.preview-node text{font-style:italic;opacity:.95}@keyframes previewGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255, 183, 108, .4))}50%{filter:drop-shadow(0 0 12px rgba(255, 183, 108, .6))}}.preview-mode-hint{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(255,183,108,.1);color:#ffb76c;padding:10px 20px;border-radius:20px;border:1px solid #ffb76c;font-size:.85rem;pointer-events:none;z-index:999;backdrop-filter:blur(10px);white-space:nowrap}.ghost-tspan{fill:var(--color-text-muted);opacity:.6;font-weight:400}.floating-dock-top-left{top:var(--spacing-xl);left:var(--spacing-xl);width:auto;min-width:240px;max-width:100%;display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.floating-dock-top-left>*{pointer-events:auto}.phase-nav{display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--glass-bg);padding:var(--spacing-md);border-radius:var(--radius-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 15px var(--glass-shadow);border:1px solid var(--glass-border)}.workspace-timeline-panel{background:var(--glass-bg);border-radius:var(--radius-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 15px var(--glass-shadow);border:1px solid var(--glass-border);overflow:hidden;display:flex;flex-direction:column;max-height:280px}.timeline-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:2px solid var(--color-border-light);background:linear-gradient(135deg,rgba(59,130,246,.05),transparent)}.timeline-title{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.5px}.timeline-title i{font-size:.9rem;color:var(--color-primary)}.timeline-new-btn{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all var(--transition-base);box-shadow:0 2px 6px rgba(59,130,246,.3)}.timeline-new-btn:hover{transform:rotate(90deg) scale(1.1);box-shadow:0 4px 12px rgba(59,130,246,.5)}.timeline-scroll-wrapper{flex:1;overflow-x:hidden;overflow-y:auto;padding:12px 8px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.timeline-scroll-wrapper::-webkit-scrollbar{height:4px}.timeline-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.timeline-track{display:flex;flex-direction:column;gap:8px;min-height:100%}.timeline-card{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.7));border:2px solid var(--color-border);border-radius:10px;padding:10px;cursor:pointer;transition:all var(--transition-base);display:flex;gap:10px;align-items:center;overflow:hidden}.timeline-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-border);transition:background var(--transition-base)}.timeline-card:hover{transform:translateX(4px);border-color:var(--color-primary);box-shadow:0 4px 12px rgba(59,130,246,.15)}.timeline-card:hover::before{background:var(--color-primary)}.timeline-card.active{border-color:var(--color-primary);background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(248,250,252,.9));box-shadow:0 2px 8px rgba(59,130,246,.2)}.timeline-card.active::before{background:linear-gradient(180deg,var(--color-primary),var(--color-secondary));width:5px}.timeline-thumbnail{width:50px;height:50px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.1);position:relative;overflow:hidden}.timeline-thumbnail::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3),transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(0,0)}}.timeline-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.timeline-name{font-size:.85rem;font-weight:700;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-meta{display:flex;gap:12px;font-size:.65rem;color:var(--color-text-muted)}.timeline-meta-item{display:flex;align-items:center;gap:4px}.timeline-meta-item i{font-size:.7rem;opacity:.7}.timeline-controls{display:flex;flex-direction:column;gap:4px}.timeline-card-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--color-border);background:0 0;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .15s}.timeline-card-btn:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger);transform:scale(1.05)}.timeline-actions{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--color-border-light);background:rgba(0,0,0,.01)}.timeline-action-btn{flex:1;padding:8px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-dark);font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition-base)}.timeline-action-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.timeline-action-btn.save{background:linear-gradient(135deg,var(--color-success),#059669);color:#fff;border:none}.timeline-action-btn.save:hover{box-shadow:0 4px 12px rgba(16,185,129,.4)}.timeline-empty{text-align:center;padding:30px 20px;color:var(--color-text-muted)}.timeline-empty i{font-size:2rem;opacity:.3;margin-bottom:10px}.timeline-empty p{font-size:.8rem;line-height:1.4}.ai-suggestion-ghost{position:absolute;top:12px;left:12px;right:50px;pointer-events:none;color:rgba(0,0,0,.35);font-size:15px;line-height:1.5;font-family:inherit;white-space:pre-wrap;word-wrap:break-word;z-index:1;overflow:hidden;margin:0;max-height:120px}.floating-dock::after{content:'🤖 AI';position:absolute;right:12px;bottom:12px;font-size:10px;opacity:.4;pointer-events:none;z-index:3;line-height:1}.key-badge{background:var(--color-bg-panel);border:1px solid var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-dark);box-shadow:0 2px 6px rgba(0,0,0,.04);min-width:70px;text-align:center;letter-spacing:.5px}.secondary-btn{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-panel);color:var(--color-text-dark);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;box-shadow:0 4px 6px var(--color-shadow-dark);transition:all var(--transition-base);width:auto;white-space:nowrap}.secondary-btn i{color:var(--color-text-muted)}.secondary-btn:hover{background:var(--color-primary);color:var(--color-text-light);border-color:var(--color-primary)}.secondary-btn:hover i{color:var(--color-text-light)}.back-btn{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--color-text-dark);padding:8px 12px;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition-base);white-space:nowrap;flex-shrink:0}.back-btn:hover{background:var(--color-bg-panel);border-color:var(--color-primary);transform:translateX(-2px)}.back-btn:active{transform:translateX(0)}.animation-toggle-switch{position:relative;width:44px;height:24px;background:var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-base);border:1px solid var(--color-border)}.animation-toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform var(--transition-base),background var(--transition-base)}.animation-toggle-switch.active{background:var(--color-primary);border-color:var(--color-primary)}.animation-toggle-switch.active::after{transform:translateX(20px)}.animation-toggle-switch:hover{opacity:.8}.setting-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-dark);margin-bottom:var(--spacing-sm)}#selection-lasso{position:absolute;border:2px dashed var(--color-warning);background-color:rgba(255,159,28,.1);pointer-events:none;z-index:100;display:none}.emoji-icon{font-size:12px;pointer-events:none}.stretchy-handle{fill:var(--color-success);stroke:var(--color-text-light);stroke-width:1px;opacity:0;transition:opacity var(--transition-base),transform var(--transition-base);cursor:col-resize}.node-group:hover .stretchy-handle,.stretchy-handle.active{opacity:1}.stretchy-handle:hover{fill:var(--color-primary);transform:scale(1.2)}.glass-popup.onclick{pointer-events:auto}.group-member-tint{fill:rgba(255,159,28,0.08)!important;stroke:var(--color-warning)!important}.lasso-highlight{stroke:var(--color-warning)!important;stroke-width:4px!important;filter:drop-shadow(0 0 4px var(--color-highlight-glow));animation:lassoFade 1.2s forwards}.elaboration-node-path{filter:drop-shadow(0 2px 4px rgba(255, 159, 28, .3));transition:all var(--transition-slow)}.elaboration-node-path:hover{stroke-width:3.5px!important;filter:drop-shadow(0 4px 8px rgba(255, 159, 28, .5))}.node-group.selected .elaboration-node-path{stroke:var(--color-primary-dark)!important;stroke-width:4px!important;filter:drop-shadow(0 4px 12px rgba(255, 159, 28, .6))}.elaboration-node-text{font-weight:700;font-size:13px;letter-spacing:.3px}.node-group .elaboration-node-path~rect{fill-opacity:0.3!important}.group-connection-line{stroke-dasharray:4,4;animation:dashOffset 30s linear infinite;opacity:0;animation:fadeInLine .5s forwards}.group-bracket-path:hover{stroke-width:4px;filter:drop-shadow(0 0 2px var(--color-primary))}.pulsing path{animation:pulseSoft 1.5s infinite}.node-group.group-highlight path{stroke:var(--color-primary)!important;stroke-width:3px!important;fill:var(--color-group-highlight-fill)!important;filter:drop-shadow(0 0 5px rgba(255, 159, 28, .5))}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{stroke-opacity:1;stroke-width:3px}50%{stroke-opacity:0.5;stroke-width:5px}100%{stroke-opacity:1;stroke-width:3px}}@keyframes pulseSoft{0%{stroke:var(--color-primary);stroke-width:2px;filter:drop-shadow(0 0 0 rgba(255, 159, 28, 0))}50%{stroke:var(--color-warning);stroke-width:4px;filter:drop-shadow(0 0 8px rgba(255, 159, 28, .6))}100%{stroke:var(--color-primary);stroke-width:2px;filter:drop-shadow(0 0 0 rgba(255, 159, 28, 0))}}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes dashOffset{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes dashFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:100}}@keyframes fadeInLine{from{opacity:0}to{opacity:1}}@keyframes lassoFade{0%{stroke:var(--color-warning);stroke-width:4px;opacity:1;filter:drop-shadow(0 0 4px #FFA500)}30%{stroke:var(--color-warning);stroke-width:4px;opacity:1}100%{stroke:var(--color-primary);stroke-width:2px;opacity:.6;filter:none}}@keyframes selectionPulse{0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.08);filter:drop-shadow(0 0 12px var(--color-primary))}100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sparkle{0%,100%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 15px var(--color-primary))}}.thinking-dots{display:inline-flex;gap:4px;align-items:center}.thinking-dots span{width:6px;height:6px;background:var(--color-primary);border-radius:50%;animation:thinkingBounce 1.4s infinite ease-in-out both}.thinking-dots span:first-child{animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}@keyframes thinkingBounce{0%,100%,80%{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}#particle-layer{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%}@keyframes progressRing{0%{stroke-dashoffset:251}100%{stroke-dashoffset:0}}@keyframes slideInRight{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100px)}}@keyframes ghostFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes fadeInOverlay{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}@keyframes revealNode{0%{opacity:0;transform:scale(0) rotate(-10deg)}50%{transform:scale(1.1) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@keyframes correctAnswer{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes incorrectAnswer{0%,100%{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@keyframes builderPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes builderPulseGlow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 16px var(--color-primary)) drop-shadow(0 0 24px var(--color-primary))}}@keyframes builderUnlock{0%{opacity:.5;filter:drop-shadow(0 0 20px rgba(16, 185, 129, .8));transform:scale(.9) rotate(-5deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}100%{opacity:1;filter:drop-shadow(0 0 0 transparent);transform:scale(1) rotate(0)}}@keyframes blueprintFlash{0%{opacity:0;transform:scale(.95);filter:blur(2px)}10%{opacity:1;transform:scale(1.05);filter:blur(0px)}20%{transform:scale(1)}80%{opacity:1}100%{opacity:.6}}@keyframes fillGapPulseGlow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 16px var(--color-primary)) drop-shadow(0 0 24px var(--color-primary))}}@keyframes ghostPulseGlow{0%,100%{filter:drop-shadow(0 0 0 transparent);opacity:.6}50%{filter:drop-shadow(0 0 16px var(--color-primary)) drop-shadow(0 0 24px var(--color-primary));opacity:.9}}@keyframes ghostRevealText{0%{opacity:.3;letter-spacing:2px;filter:blur(2px)}100%{opacity:1;letter-spacing:normal;filter:blur(0)}}@keyframes ghostRevealPath{0%{stroke:var(--color-text-muted)}100%{stroke:var(--color-primary)}}@keyframes ectoFlicker{0%{opacity:.1;filter:blur(4px)}5%{opacity:1;filter:blur(0px)}10%{opacity:.8;filter:blur(1px)}15%{opacity:1;filter:blur(0px)}100%{opacity:1;filter:blur(0px)}}@keyframes hintPulse{0%,100%{opacity:1}50%{opacity:.6}}@keyframes sonarPulse{0%{filter:drop-shadow(0 0 0 rgba(245, 158, 11, 0));stroke-opacity:1}50%{filter:drop-shadow(0 0 15px rgba(245, 158, 11, .8));stroke-opacity:0.5}100%{filter:drop-shadow(0 0 0 rgba(245, 158, 11, 0));stroke-opacity:1}}@keyframes sonarWave{0%{box-shadow:0 0 0 0 rgba(59,130,246,.8);opacity:1;stroke-opacity:1}100%{box-shadow:0 0 0 50px rgba(59,130,246,0);opacity:0;stroke-opacity:0}}@keyframes streakPulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}70%{box-shadow:0 0 0 6px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}@keyframes marchingAnts{0%{stroke-dashoffset:0}100%{stroke-dashoffset:12}}@keyframes radarPing{0%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}100%{transform:scale(1);opacity:1}}@keyframes scaffoldFade{0%{opacity:0;transform:scale(.9)}10%{opacity:1;transform:scale(1.1)}20%{transform:scale(1)}80%{opacity:1}}@keyframes fadeInHub{from{opacity:0;transform:scale(.96);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes nexusFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.av-controls{position:fixed;bottom:160px;right:var(--spacing-xl);left:auto;transform:none;display:flex;flex-direction:column;width:44px;padding:16px 0;gap:25px;align-items:center;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-pill);box-shadow:0 4px 20px var(--glass-shadow);z-index:var(--z-docks);pointer-events:auto;border:1px solid var(--glass-border)}.av-control-btn{width:32px;height:32px;border:none;background:0 0;color:var(--color-text-muted);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);font-size:14px;flex-shrink:0}.av-control-btn:hover{background:rgba(0,0,0,.05);color:var(--color-text-dark);transform:scale(1.1)}.av-control-btn.active{color:var(--color-primary);background:rgba(var(--color-primary),.1)}.volume-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-border-light);border-radius:2px;outline:0;transform:rotate(-90deg);margin:10px 0}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-primary);border-radius:50%;cursor:pointer;transition:transform .2s}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.home-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-home);display:flex;justify-content:center;align-items:center;background:0 0;overflow-y:auto;padding:20px}.home-content{width:100%;max-width:900px;display:flex;flex-direction:column;gap:40px;align-items:center;animation:fadeIn .5s ease-out}.home-header{text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.1)}.app-title{font-size:3.5rem;font-weight:800;color:var(--color-primary-dark);margin-bottom:5px;letter-spacing:-1px}.app-subtitle{font-size:1.2rem;color:var(--color-text-muted);font-weight:500}.home-input-section{width:100%;max-width:600px;padding:25px!important;display:flex;flex-direction:column;gap:15px;width:auto!important}.home-input-section label{font-size:.9rem;font-weight:700;color:var(--color-text-dark);margin-left:5px}.input-wrapper{position:relative;width:100%}.input-wrapper i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:1.1rem}#home-topic-input{width:100%;padding:15px 15px 15px 45px;border-radius:12px;border:2px solid var(--color-border);background:rgba(255,255,255,.5);font-size:1.1rem;color:var(--color-text-dark);outline:0;transition:all var(--transition-base)}#home-topic-input:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.1)}.phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;width:100%}.phase-card.glass-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px!important;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);width:auto!important}.phase-card.glass-panel:hover{transform:translateY(-5px);box-shadow:0 15px 30px var(--glass-shadow);border-color:var(--color-primary)}.card-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px;color:#fff;font-size:1.5rem;box-shadow:0 4px 10px rgba(0,0,0,.1)}.phase-card h3{font-size:1.1rem;font-weight:700;color:var(--color-text-dark);margin-bottom:8px}.phase-card p{font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.session-item{padding:8px 10px;background:rgba(255,255,255,.5);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--color-text-dark);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.session-item:hover{background:var(--color-bg-app);border-color:var(--color-primary);transform:translateX(2px)}.app-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--popup-backdrop);backdrop-filter:blur(4px);z-index:9999;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out;opacity:1;pointer-events:auto;transition:opacity .2s ease-out}.app-modal-overlay.hidden{opacity:0;pointer-events:none}.app-modal-content{background:var(--popup-bg);color:var(--popup-text);width:90%;max-width:400px;padding:24px;border-radius:16px;border:1px solid var(--popup-border);box-shadow:0 20px 50px rgba(0,0,0,.2);text-align:center;transform:scale(.95);animation:scaleIn .2s ease-out forwards}.app-modal-header{font-size:1.1rem;font-weight:700;color:var(--popup-text);margin-bottom:12px}.app-modal-body{font-size:.9rem;color:var(--popup-text);opacity:.8;margin-bottom:24px;line-height:1.5}.app-modal-actions{display:flex;gap:12px;justify-content:center}.app-modal-btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:transform .1s,opacity .2s}.app-modal-btn:active{transform:scale(.96)}.app-modal-btn.cancel{background:0 0;color:var(--popup-text);border:1px solid var(--popup-border)}.app-modal-btn.cancel:hover{background:rgba(0,0,0,.1)}.app-modal-btn.confirm{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.3)}.app-modal-btn.confirm:hover{opacity:.9;transform:translateY(-1px)}.app-modal-btn.danger{background:var(--color-danger);color:#fff}.app-modal-btn.danger:hover{opacity:.9;transform:translateY(-1px)}.app-modal-btn.danger{background:var(--color-danger);color:#fff;box-shadow:0 4px 12px rgba(239,68,68,.3)}.bubble-link-active{stroke:#8B5CF6!important;stroke-width:2px!important;fill:rgba(139,92,246,0.1)!important}.gps-slot-container{display:flex;gap:8px;margin-bottom:10px;background:rgba(0,0,0,.05);padding:8px;border-radius:8px;justify-content:center}.gps-slot{width:32px;height:32px;border:1px dashed var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--color-text-muted);cursor:pointer;background:var(--color-bg-panel);transition:all .2s;position:relative}.gps-slot.center{border-color:var(--color-primary);background:rgba(59,130,246,.1);font-weight:700;color:var(--color-primary);cursor:default}.gps-slot.filled{border-style:solid;background:#fff;color:var(--color-text-dark);border-color:var(--color-success)}.gps-slot.filled:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.gps-slot.filled::after{content:'\f00d';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:-6px;right:-6px;width:14px;height:14px;background:var(--color-danger);color:#fff;border-radius:50%;font-size:8px;display:none;align-items:center;justify-content:center}.gps-slot.filled:hover::after{display:flex}.gps-slot:not(.center):not(.filled):hover{transform:scale(1.1);border-color:var(--color-primary);background:rgba(59,130,246,.05)}.node-group.drop-target-active circle,.node-group.drop-target-active path,.node-group.drop-target-active rect{stroke:var(--color-success)!important;stroke-width:5px!important;fill:rgba(16,185,129,0.15)!important;filter:drop-shadow(0 0 12px var(--color-success))!important;transition:all .1s ease-out;cursor:copy!important}.node-group.dragging-ghost{pointer-events:none;opacity:.7}.node-group.dragging-ghost circle,.node-group.dragging-ghost path{stroke-dasharray:5,5;animation:ghostFloat 1s ease-in-out infinite}.global-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.icon-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;border:none;background:0 0;color:inherit;padding:.5rem;border-radius:4px;transition:all .2s ease}.icon-btn:hover{background:rgba(0,0,0,.05)}.icon-btn-sm{padding:.25rem .5rem;font-size:.9rem}.icon-btn-secondary{background:var(--color-secondary);color:#fff}.icon-btn-secondary:hover{opacity:.9}.icon-btn-danger{background:var(--color-danger);color:#fff}.icon-btn-danger:hover{opacity:.9}.icon-btn-settings{background:0 0;border:1px solid var(--color-border);border-radius:50%;width:40px;height:40px;padding:0}.icon-btn-settings:hover{background:var(--color-hover-light)}.floating-dock{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;backdrop-filter:blur(10px)}.btn-glass{background:var(--glass-bg);border:1px solid var(--glass-border)}.btn-glass:hover{background:rgba(0,0,0,.05)}.btn-wiki{background:#fff;color:#000;border:1px solid #a2a9b1}.btn-wiki:hover{background:#f5f5f5}.setting-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.setting-group-bordered{border-top:1px solid rgba(0,0,0,.05);padding-top:1rem;margin-bottom:1.25rem}.setting-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.av-settings-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.av-settings-row:last-child{margin-bottom:0}.storage-bar-container{width:100%;height:6px;background:var(--color-border-light);border-radius:3px;overflow:hidden;margin:.5rem 0}.storage-bar-fill{width:0%;height:100%;background:var(--color-primary);transition:width .5s ease}.storage-stats-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.storage-percent-text{font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem;text-align:right}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.theme-option{width:100%;height:60px;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.theme-option:hover{transform:scale(1.05)}.theme-option.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.theme-daylight{background:linear-gradient(135deg,#3b82f6,#f8fafc);border:1px solid #e2e8f0}.theme-sunrise{background:linear-gradient(135deg,#ea580c,#fff7ed);border:1px solid #fed7aa}.theme-midnight{background:linear-gradient(135deg,#e11d48,#020617);border:1px solid #334155}.theme-cyber{background:linear-gradient(135deg,#a855f7,#09090b);border:1px solid #27272a}header h1,header h2{font-size:1rem;margin:0;font-weight:700;color:var(--color-primary-dark);white-space:nowrap}dialog{border:none;border-radius:12px;background:0 0;padding:0}dialog::backdrop{background:rgba(0,0,0,.5)}[role=switch]{cursor:pointer}@media (max-width:768px){.theme-grid{grid-template-columns:repeat(2,1fr)}.floating-dock{padding:.75rem;gap:.5rem}.icon-btn-settings{width:36px;height:36px}}@keyframes alertPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.4);transform:scale(1)}50%{box-shadow:0 0 0 6px rgba(16,185,129,0);transform:scale(1.05)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0);transform:scale(1)}}#chat-alert{--alert-color:var(--color-primary);--alert-bg:var(--popup-bg);position:relative;display:inline-flex;align-items:center;background:var(--alert-bg);border:1.5px solid var(--alert-color);color:var(--alert-color)!important;border-radius:12px;font-size:.85rem!important;font-weight:700;opacity:0;max-width:0;padding:0;margin-left:0!important;overflow:hidden;transform:scale(.8) translateX(-20px);transition:all .35s cubic-bezier(.34, 1.56, .64, 1);pointer-events:none;white-space:nowrap}#chat-alert.show{opacity:1;max-width:400px;padding:6px 14px;margin-left:20px!important;transform:scale(1) translateX(0);overflow:visible;box-shadow:0 4px 12px rgba(0,0,0,.15)}#chat-alert::before{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;background:var(--alert-bg);border-left:1.5px solid var(--alert-color);border-bottom:1.5px solid var(--alert-color);border-radius:2px 0 0 0;opacity:0;transition:opacity .2s}#chat-alert.show::before{opacity:1;transition-delay:0.2s}@keyframes alertBubbleGlow{0%,100%{filter:drop-shadow(0 0 4px var(--alert-color))}50%{filter:drop-shadow(0 0 12px var(--alert-color))}}#chat-alert.glow{animation:alertBubbleGlow 1.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.slide{transition:none!important;opacity:0!important}.slide.active{transition:none!important;opacity:1!important}.toast,.toast.removing,.toast.show{animation:none!important;transform:translateX(0)!important;opacity:1!important}}
/*# sourceMappingURL=data:application/json;base64,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QWlCLGVBSXJCLE9BQ0ksV0FBWSxlQUNaLFFBQVMsWUFHYixjQUNJLFdBQVksZUFDWixRQUFTLFlBSWIsT0FFQSxnQkFEQSxZQUVJLFVBQVcsZUFDWCxVQUFXLHdCQUNYLFFBQVMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTVFVEWUJVRERZIC0gTUVUQUNPR05JVElWRSBNQVBQSU5HIEVOR0lORVxuICAgUmVmYWN0b3JlZCBDU1MgdjIuMFxuICAgT3JnYW5pemVkIGJ5OiBWYXJpYWJsZXMg4oaSIEJhc2Ug4oaSIExheW91dCDihpIgQ29tcG9uZW50cyDihpIgVGhlbWluZyDihpIgQW5pbWF0aW9uc1xuICAgRml4ZWQgaXNzdWVzOiBUaGVtZSBjb25mbGljdHMsIGR1cGxpY2F0ZSBzZWxlY3RvcnMsIHJlc3BvbnNpdmUgaXNzdWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PSBDU1MgVkFSSUFCTEVTID09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAgIC8qIC0tLSBUSEVNRSAxOiBEQVlMSUdIVCAoRGVmYXVsdCBMaWdodCkgLS0tICovXG4gICAgLyogQ2xlYW4sIFByb2Zlc3Npb25hbCwgQmx1ZSAmIFNsYXRlICovXG5cbiAgICAtLWNvbG9yLXByaW1hcnk6ICMzQjgyRjY7XG4gICAgLS1jb2xvci1wcmltYXJ5LWRhcms6ICMxRDRFRDg7XG4gICAgLS1jb2xvci1zZWNvbmRhcnk6ICM2NDc0OEI7XG4gICAgLS1jb2xvci1hY2NlbnQ6ICM5M0M1RkQ7XG4gICAgLyogU2VtYW50aWMgU3RhdHVzIENvbG9ycyAqL1xuICAgIC0tY29sb3Itc3VjY2VzczogIzEwQjk4MTtcbiAgICAtLWNvbG9yLXdhcm5pbmc6ICNGNTlFMEI7XG4gICAgLS1jb2xvci1kYW5nZXI6ICNFRjQ0NDQ7XG5cbiAgICAvKiBDaGF0IENvbG9ycyAqL1xuICAgIC0tY29sb3ItY2hhdC1taW5lLWJnOiAjZGJmM2ZmO1xuICAgIC0tY29sb3ItY2hhdC10aGVpcnMtYmc6ICNmNWY1Zjc7XG5cbiAgICAvKiBIaWdobGlnaHQgJiBHbG93IENvbG9ycyAqL1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0LWJnOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCk7XG4gICAgLS1jb2xvci1oaWdobGlnaHQtZ2xvdzogI0ZGQTUwMDtcbiAgICAtLWNvbG9yLW5vZGUtc2VsZWN0ZWQtZmlsbDogI0YwRjRGRjtcbiAgICAtLWNvbG9yLWdyb3VwLWhpZ2hsaWdodC1maWxsOiAjRkZGQkU2O1xuICAgIC0tY29sb3ItZGVjb3JhdGl2ZS1nb2xkOiAjRkZENzAwO1xuXG4gICAgLyogU3ludGF4IEhpZ2hsaWdodGluZyBDb2xvcnMgKi9cbiAgICAtLWNvbG9yLXN5bnRheC1wcmltYXJ5OiAjM0I4MkY2O1xuICAgIC0tY29sb3Itc3ludGF4LXNlY29uZGFyeTogIzY0NzQ4QjtcbiAgICAtLWNvbG9yLXN5bnRheC1kZWNvcmF0b3I6ICM4QjVDRjY7XG4gICAgLS1jb2xvci1zeW50YXgtYWNjZW50OiAjRUM0ODk5O1xuICAgIC0tY29sb3Itc3ludGF4LWVycm9yOiAjRUY0NDQ0O1xuICAgIC0tY29sb3Itc3ludGF4LWNvbW1lbnQ6ICM5NEEzQjg7XG4gICAgLS1jb2xvci1zeW50YXgtc3VjY2VzczogIzEwQjk4MTtcblxuICAgIC8qIFRleHQgQ29sb3JzICovXG4gICAgLS1jb2xvci10ZXh0LWRhcms6ICMxRTI5M0I7XG4gICAgLS1jb2xvci10ZXh0LW11dGVkOiAjNjQ3NDhCO1xuICAgIC0tY29sb3ItdGV4dC1saWdodDogI0ZGRkZGRjtcbiAgICAtLWNvbG9yLXRleHQtb24tcHJpbWFyeTogI0ZGRkZGRjtcblxuICAgIC8qIEJhY2tncm91bmQgQ29sb3JzIC0gTUlMSyBXSElURSAqL1xuICAgIC0tY29sb3ItYmctYXBwOiAjRkFGOUY2O1xuICAgIC0tY29sb3ItYmctcGFuZWw6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA2KTtcbiAgICAtLWNvbG9yLWJnLWdsYXNzOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNik7XG5cbiAgICAvKiBCb3JkZXIgJiBTaGFkb3cgKi9cbiAgICAtLWNvbG9yLWJvcmRlcjogI0UyRThGMDtcbiAgICAtLWNvbG9yLWJvcmRlci1saWdodDogI0YxRjVGOTtcbiAgICAtLWNvbG9yLXNoYWRvdzogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjEpO1xuICAgIC0tY29sb3Itc2hhZG93LWRhcms6IHJnYmEoMTUsIDIzLCA0MiwgMC4wNSk7XG5cbiAgICAvKiBHbGFzcyBFZmZlY3RzIC0gU1VCVExFIFBSSU1BUlkgQ09MT1IgVElOVCAqL1xuICAgIC0tZ2xhc3MtYmc6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KTtcbiAgICAtLWdsYXNzLWJvcmRlcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG4gICAgLS1nbGFzcy1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cbiAgICAvKiBTcGFjaW5nICYgRGltZW5zaW9ucyAqL1xuICAgIC0tc3BhY2luZy14czogNHB4O1xuICAgIC0tc3BhY2luZy1zbTogOHB4O1xuICAgIC0tc3BhY2luZy1tZDogMTJweDtcbiAgICAtLXNwYWNpbmctbGc6IDE2cHg7XG4gICAgLS1zcGFjaW5nLXhsOiAyMHB4O1xuICAgIC0tc3BhY2luZy14eGw6IDI0cHg7XG5cbiAgICAvKiBCb3JkZXIgUmFkaXVzICovXG4gICAgLS1yYWRpdXMtc206IDZweDtcbiAgICAtLXJhZGl1cy1tZDogMTJweDtcbiAgICAtLXJhZGl1cy1sZzogMTZweDtcbiAgICAtLXJhZGl1cy1waWxsOiA1MHB4O1xuICAgIC0tcmFkaXVzLWNpcmNsZTogNTAlO1xuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC0tZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIFRhaG9tYSwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1zaXplLXhzOiAwLjc1cmVtO1xuICAgIC0tZm9udC1zaXplLXNtOiAwLjg1cmVtO1xuICAgIC0tZm9udC1zaXplLWJhc2U6IDAuOXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1tZDogMXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1sZzogMS4ycmVtO1xuICAgIC0tZm9udC1zaXplLXhsOiAxLjVyZW07XG5cbiAgICAvKiBaLUluZGV4IExheWVycyAqL1xuICAgIC0tei1jYW52YXM6IDE7XG4gICAgLS16LWRvY2tzOiAxMDtcbiAgICAtLXotc2Vzc2lvbi1oZWFkZXI6IDIwO1xuICAgIC0tei1zZXR0aW5nczogNTA7XG4gICAgLS16LWludGVyZmFjZTogNTAwMDtcbiAgICAtLXotaG9tZTogMjAwMDtcbiAgICAtLXotbmV4dXM6IDIxMDA7XG4gICAgLS16LXBvcHVwOiAxMDAwMDA7XG4gICAgLS16LW1vZGFsOiAxMDAxMDA7XG4gICAgLS16LXN0YWNrLXRvcDogMTIwMDAwO1xuXG4gICAgLS1wb3B1cC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICAtLXBvcHVwLWJhY2tkcm9wOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zNSk7XG4gICAgLS1wb3B1cC1ib3JkZXI6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgLS1wb3B1cC10ZXh0OiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIC8qIENvbXBvbmVudCBzdHlsaW5nIC0gZGVmYXVsdCB0aGVtZSAqL1xuICAgIC0tY29tcG9uZW50LWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIC0tY29tcG9uZW50LXRleHQ6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG5cbiAgICAvKiBUcmFuc2l0aW9ucyAqL1xuICAgIC0tdHJhbnNpdGlvbi1mYXN0OiAwLjFzIGVhc2U7XG4gICAgLS10cmFuc2l0aW9uLWJhc2U6IDAuMnMgZWFzZTtcbiAgICAtLXRyYW5zaXRpb24tc2xvdzogMC4zcyBlYXNlO1xuICAgIC0tdHJhbnNpdGlvbi1iZXppZXI6IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuXG4gICAgLyogUGFuZWwtc3BlY2lmaWMgdmFyaWFibGVzICovXG4gICAgLS1wYW5lbC1yYWRpdXM6IDE2cHg7XG4gICAgLS1wYW5lbC1wYWRkaW5nOiAxNnB4O1xuICAgIC0tcG9wdXAtei1pbmRleDogOTk5OTtcblxuICAgIC8qIE5leHVzIHRyYW5zaXRpb25zICh1bmlmaWVkIHdpdGggYmFzZSkgKi9cbiAgICAtLW5leHVzLXRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBVVElMSVRZIENMQVNTRVMgPT09PT09PT09PT09PT09ICovXG5cbi8qIEZsZXhib3ggVXRpbGl0aWVzICovXG4uZmxleC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1iZXR3ZWVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxleC1zdGFydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi8qIEdhcCBVdGlsaXRpZXMgKi9cbi5nYXAteHMge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5nYXAtc20ge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zbSk7XG59XG5cbi5nYXAtbWQge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1tZCk7XG59XG5cbi5nYXAtbGcge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1sZyk7XG59XG5cbi5nYXAteGwge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy14bCk7XG59XG5cbi8qIFNjcm9sbGJhciBTdHlsaW5nIC0gVW5pZmllZCAqL1xuLnNjcm9sbGJhci10aGluIHtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpIHRyYW5zcGFyZW50O1xufVxuXG4uc2Nyb2xsYmFyLXRoaW46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uc2Nyb2xsYmFyLXRoaW46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnNjcm9sbGJhci10aGluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLXRoaW46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogSW5wdXQgRmllbGQgQmFzZSBTdHlsZSAqL1xuLmlucHV0LWZpZWxkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGNhcmV0LWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG59XG5cbi5pbnB1dC1maWVsZDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7XG59XG5cbi5pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIEJ1dHRvbiBCYXNlIFN0eWxlcyAqL1xuLmJ0bi1iYXNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbSkgdmFyKC0tc3BhY2luZy1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXBpbGwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJ0bi1iYXNlOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpO1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC40KTtcbn1cblxuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXBhbmVsKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uYnRuLXNlY29uZGFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYnRuLWljb24ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xufVxuXG4uYnRuLWljb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogQmFkZ2UvU3RhdCBDb250YWluZXIgQmFzZSAqL1xuLnN0YXQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtKSB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcGlsbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLnN0YXQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnN0YXQtY29udGFpbmVyIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBCQVNFIFNUWUxFUyA9PT09PT09PT09PT09PT0gKi9cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbn1cblxuYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1hcHApO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5hcHAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBVdGlsaXR5IENsYXNzZXMgKi9cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNoYXQtcGFuZWwsXG4ucHJvZmlsZS1wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIGJvdHRvbTogMTZweDtcbiAgICB3aWR0aDogbWluKDQyMHB4LCA5MHZ3KTtcbiAgICBtYXgtaGVpZ2h0OiBtaW4oODB2aCwgODB2aCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE1KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWludGVyZmFjZSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jaGF0LWhlYWRlcixcbi5wcm9maWxlLXBhbmVsIGgzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi5jaGF0LWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb250YWN0cy1saXN0IHtcbiAgICB3aWR0aDogNDAlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA4cHg7XG59XG5cbi5jaGF0LXdpbmRvdyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDhweDtcbn1cblxuLmNoYXQtd2luZG93IC5tZXNzYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmNoYXQtd2luZG93IC5tZXNzYWdlLm1pbmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWNoYXQtbWluZS1iZyk7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi5jaGF0LXdpbmRvdyAubWVzc2FnZS50aGVpcnMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWNoYXQtdGhlaXJzLWJnKTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uY2hhdC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGdhcDogOHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uY2hhdC1mb290ZXIgaW5wdXQge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xufVxuXG4ucHJvZmlsZS1wYW5lbCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHRvcDogMTZweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG59XG5cbiNwcm9maWxlLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyBub2RlcyBvciBjYW52YXMgKi9cbi5jYW52YXMtd3JhcHBlcixcbi5ub2RlLWdyb3VwIHRleHQsXG4uc3RvcmFnZS1jYW52YXMge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogU2FmYXJpICovXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKiBGaXJlZm94ICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIElFMTArL0VkZ2UgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKiBTdGFuZGFyZCAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT0gQ0FOVkFTICYgU1ZHID09PT09PT09PT09PT09PSAqL1xuLmNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICB6LWluZGV4OiB2YXIoLS16LWNhbnZhcyk7XG59XG5cbi5jYW52YXMtd3JhcHBlcjphY3RpdmUge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbnN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiBTVkcgRWRnZXMgKi9cbi5lZGdlIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZWRnZVtzdHJva2UtZGFzaGFycmF5PVwiMywzXCJdIHtcbiAgICBhbmltYXRpb246IGRhc2hGbG93IDIwcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIEdQUyBMaW5rIFN0eWxpbmcgKi9cbi5ncHMtbGluayB7XG4gICAgYW5pbWF0aW9uOiBncHNGbG93IDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZ3BzLWxpbmstaGl0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG5cbkBrZXlmcmFtZXMgZ3BzRmxvdyB7XG4gICAgMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI0O1xuICAgIH1cbn1cblxuLyogR1BTIFRhZyBMYWJlbCBTdHlsaW5nICovXG4vKiBHUFMgVGFnIFN0eWxpbmcgLSBUaGVtZSBBd2FyZSAqL1xuLmdwcy10YWctYmcge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWJnLXBhbmVsKTtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzLCBzdHJva2UgMC4zcztcbn1cblxuLmdwcy10YWctdGV4dCB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcztcbn1cblxuLmdwcy10YWctbGFiZWwge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8qIFNWRyBOb2RlcyAqL1xuLm5vZGUtZ3JvdXAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ub2RlLWdyb3VwIGNpcmNsZSxcbi5ub2RlLWdyb3VwIHBhdGgsXG4ubm9kZS1ncm91cCByZWN0IHtcbiAgICB0cmFuc2l0aW9uOiBkIHZhcigtLXRyYW5zaXRpb24tc2xvdyksXG4gICAgICAgIGZpbGwgdmFyKC0tdHJhbnNpdGlvbi1zbG93KSxcbiAgICAgICAgc3Ryb2tlIHZhcigtLXRyYW5zaXRpb24tc2xvdyksXG4gICAgICAgIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJlemllcik7XG59XG5cbi8qIFJvb3QgTm9kZXMgKi9cbi5yb290LW5vZGUgY2lyY2xlIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICAgIHN0cm9rZS13aWR0aDogNHB4O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ucm9vdC1ub2RlIHRleHQge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBzdHJva2U6IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5yb290LW5vZGUuc2VsZWN0ZWQgY2lyY2xlIHtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgc3Ryb2tlLXdpZHRoOiA1cHg7XG59XG5cbi8qIFdvcmQgTm9kZXMgKi9cbi53b3JkLW5vZGUgcGF0aCB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG4gICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBzdHJva2Utd2lkdGg6IDJweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLndvcmQtbm9kZS5zZWxlY3RlZCBwYXRoIHtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgc3Ryb2tlLXdpZHRoOiAzcHg7XG4gICAgZmlsbDogdmFyKC0tY29sb3Itbm9kZS1zZWxlY3RlZC1maWxsKTtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlO1xufVxuXG4vKiBOb2RlIFRleHQgKi9cbi5ub2RlLWdyb3VwIHRleHQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgc3Ryb2tlOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBOb2RlIEhvdmVyIEVmZmVjdHMgKi9cbi5ub2RlLWdyb3VwOmhvdmVyIGNpcmNsZSxcbi5ub2RlLWdyb3VwOmhvdmVyIHBhdGgge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgOHB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC40KSk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBQUkVWSUVXIE5PREUgU1RZTElORyAoUmVhbC10aW1lIFR5cGluZyBGZWVkYmFjaykgPT09PT09PT09PT09PT09ICovXG4ubm9kZS1ncm91cC5wcmV2aWV3LW5vZGUge1xuICAgIGFuaW1hdGlvbjogcHJldmlld0dsb3cgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvKiBQcmV2ZW50IGludGVyYWN0aW9uIHdoaWxlIHByZXZpZXdpbmcgKi9cbn1cblxuLm5vZGUtZ3JvdXAucHJldmlldy1ub2RlIGNpcmNsZSxcbi5ub2RlLWdyb3VwLnByZXZpZXctbm9kZSBwYXRoIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1O1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLm5vZGUtZ3JvdXAucHJldmlldy1ub2RlIHRleHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBvcGFjaXR5OiAwLjk1O1xufVxuXG5Aa2V5ZnJhbWVzIHByZXZpZXdHbG93IHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggcmdiYSgyNTUsIDE4MywgMTA4LCAwLjQpKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMnB4IHJnYmEoMjU1LCAxODMsIDEwOCwgMC42KSk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT0gUFJFVklFVyBNT0RFIElORk8gVEVYVCA9PT09PT09PT09PT09PT0gKi9cbi5wcmV2aWV3LW1vZGUtaGludCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxODMsIDEwOCwgMC4xKTtcbiAgICBjb2xvcjogI0ZGQjc2QztcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZCNzZDO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIEdob3N0IFRleHQgZm9yIEFJIFN1Z2dlc3Rpb25zICovXG4uZ2hvc3QtdHNwYW4ge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT0gTEFZT1VUIENPTVBPTkVOVFMgPT09PT09PT09PT09PT09ICovXG5cblxuLyogVG9wIExlZnQgLSBQaGFzZSBOYXZpZ2F0aW9uICYgU2Vzc2lvbiBNYW5hZ2VyICovXG4uZmxvYXRpbmctZG9jay10b3AtbGVmdCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjaW5nLXhsKTtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjaW5nLXhsKTtcbiAgICAvKiBDaGFuZ2VkIGZyb20gZml4ZWQgd2lkdGggdG8gYXV0byB0byBhY2NvbW1vZGF0ZSBleHBhbmRpbmcgYnV0dG9ucyAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNpbmctc20pO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC8qIEVuc3VyZXMgY2hpbGRyZW4gZG9uJ3Qgc3RyZXRjaCB1bm5hdHVyYWxseSAqL1xufVxuXG4vKiBFbnN1cmUgY2hpbGRyZW4gY2F0Y2ggcG9pbnRlciBldmVudHMgKi9cbi5mbG9hdGluZy1kb2NrLXRvcC1sZWZ0Pioge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ucGhhc2UtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nbGFzcy1iZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTVweCB2YXIoLS1nbGFzcy1zaGFkb3cpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdsYXNzLWJvcmRlcik7XG59XG5cbi8qID09PT09PT09PT09PT09PSBXT1JLU1BBQ0UgVElNRUxJTkUgTUFOQUdFUiA9PT09PT09PT09PT09PT0gKi9cbi53b3Jrc3BhY2UtdGltZWxpbmUtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdsYXNzLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHZhcigtLWdsYXNzLXNoYWRvdyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ2xhc3MtYm9yZGVyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbn1cblxuLnRpbWVsaW5lLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDUpLCB0cmFuc3BhcmVudCk7XG59XG5cbi50aW1lbGluZS10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50aW1lbGluZS10aXRsZSBpIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50aW1lbGluZS1uZXctYnRuIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpO1xufVxuXG4udGltZWxpbmUtbmV3LWJ0bjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDEuMSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTtcbn1cblxuLnRpbWVsaW5lLXNjcm9sbC13cmFwcGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcikgdHJhbnNwYXJlbnQ7XG59XG5cbi50aW1lbGluZS1zY3JvbGwtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNHB4O1xufVxuXG4udGltZWxpbmUtc2Nyb2xsLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnRpbWVsaW5lLXRyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLnRpbWVsaW5lLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSksIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC43KSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRpbWVsaW5lLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4udGltZWxpbmUtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KTtcbn1cblxuLnRpbWVsaW5lLWNhcmQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50aW1lbGluZS1jYXJkLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCksIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4udGltZWxpbmUtY2FyZC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY29sb3ItcHJpbWFyeSksIHZhcigtLWNvbG9yLXNlY29uZGFyeSkpO1xuICAgIHdpZHRoOiA1cHg7XG59XG5cbi50aW1lbGluZS10aHVtYm5haWwge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeSksIHZhcigtLWNvbG9yLXNlY29uZGFyeSkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGltZWxpbmUtdGh1bWJuYWlsOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTUwJTtcbiAgICBsZWZ0OiAtNTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIHRyYW5zcGFyZW50IDcwJSk7XG4gICAgYW5pbWF0aW9uOiBzaGltbWVyIDNzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuXG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSk7XG4gICAgfVxufVxuXG4udGltZWxpbmUtaW5mbyB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4udGltZWxpbmUtbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGltZWxpbmUtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRpbWVsaW5lLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xufVxuXG4udGltZWxpbmUtbWV0YS1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnRpbWVsaW5lLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi50aW1lbGluZS1jYXJkLWJ0biB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG5cbi50aW1lbGluZS1jYXJkLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi50aW1lbGluZS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDEpO1xufVxuXG4udGltZWxpbmUtYWN0aW9uLWJ0biB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi50aW1lbGluZS1hY3Rpb24tYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi50aW1lbGluZS1hY3Rpb24tYnRuLnNhdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpLCAjMDU5NjY5KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4udGltZWxpbmUtYWN0aW9uLWJ0bi5zYXZlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjQpO1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLnRpbWVsaW5lLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRpbWVsaW5lLWVtcHR5IGkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnRpbWVsaW5lLWVtcHR5IHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qIEFJIFN1Z2dlc3Rpb24gR2hvc3QgVGV4dCAqL1xuLmFpLXN1Z2dlc3Rpb24tZ2hvc3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogMTJweDtcbiAgICByaWdodDogNTBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG59XG5cbi5mbG9hdGluZy1kb2NrOjphZnRlciB7XG4gICAgY29udGVudDogJ/CfpJYgQUknO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTJweDtcbiAgICBib3R0b206IDEycHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5cbi8qIEJvdHRvbSBSaWdodCAtIFpvb20gQ29udHJvbHMgKi9cblxuLmtleS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIHZhcigtLXNwYWNpbmctc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgbWluLXdpZHRoOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PSBCVVRUT05TICYgQ09OVFJPTFMgPT09PT09PT09PT09PT09ICovXG5cbi8qIFNlY29uZGFyeSBCdXR0b25zICovXG4uc2Vjb25kYXJ5LWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbSkgdmFyKC0tc3BhY2luZy14bCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXBpbGwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggdmFyKC0tY29sb3Itc2hhZG93LWRhcmspO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWNvbmRhcnktYnRuIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnNlY29uZGFyeS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc2Vjb25kYXJ5LWJ0bjpob3ZlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG59XG5cbi8qIFNoYXJlZCBDb250cm9scyAqL1xuLmJhY2stYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nbGFzcy1iZyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdsYXNzLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXBpbGwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5iYWNrLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xufVxuXG4uYmFjay1idG46YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5hbmltYXRpb24tdG9nZ2xlLXN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1waWxsKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5hbmltYXRpb24tdG9nZ2xlLXN3aXRjaDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4uYW5pbWF0aW9uLXRvZ2dsZS1zd2l0Y2guYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYW5pbWF0aW9uLXRvZ2dsZS1zd2l0Y2guYWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xufVxuXG4uYW5pbWF0aW9uLXRvZ2dsZS1zd2l0Y2g6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLyogWm9vbSBCdXR0b25zICovXG5cbi8qIFNldHRpbmdzIEljb24gQnV0dG9uICovXG5cblxuLnNldHRpbmctZ3JvdXAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT0gSU5URVJBQ1RJT04gRUxFTUVOVFMgPT09PT09PT09PT09PT09ICovXG5cbi8qIFNlbGVjdGlvbiBMYXNzbyAqL1xuI3NlbGVjdGlvbi1sYXNzbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTU5LCAyOCwgMC4xKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVtb2ppLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogU3RyZXRjaHkgSGFuZGxlICovXG4uc3RyZXRjaHktaGFuZGxlIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICAgIHN0cm9rZS13aWR0aDogMXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLFxuICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG59XG5cbi5ub2RlLWdyb3VwOmhvdmVyIC5zdHJldGNoeS1oYW5kbGUsXG4uc3RyZXRjaHktaGFuZGxlLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnN0cmV0Y2h5LWhhbmRsZTpob3ZlciB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT0gUE9QVVBTICYgTU9EQUxTID09PT09PT09PT09PT09PSAqL1xuXG4uZ2xhc3MtcG9wdXAub25jbGljayB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PSBTUEVDSUFMIE5PREUgU1RZTEVTID09PT09PT09PT09PT09PSAqL1xuXG4vKiBHcm91cCBNZW1iZXIgVGludCAqL1xuLmdyb3VwLW1lbWJlci10aW50IHtcbiAgICBmaWxsOiByZ2JhKDI1NSwgMTU5LCAyOCwgMC4wOCkgIWltcG9ydGFudDtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLXdhcm5pbmcpICFpbXBvcnRhbnQ7XG59XG5cbi8qIExhc3NvIEhpZ2hsaWdodCAqL1xuLmxhc3NvLWhpZ2hsaWdodCB7XG4gICAgc3Ryb2tlOiB2YXIoLS1jb2xvci13YXJuaW5nKSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZS13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNHB4IHZhcigtLWNvbG9yLWhpZ2hsaWdodC1nbG93KSk7XG4gICAgYW5pbWF0aW9uOiBsYXNzb0ZhZGUgMS4ycyBmb3J3YXJkcztcbn1cblxuLyogRWxhYm9yYXRpb24gTm9kZXMgKi9cbi5lbGFib3JhdGlvbi1ub2RlLXBhdGgge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNHB4IHJnYmEoMjU1LCAxNTksIDI4LCAwLjMpKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1zbG93KTtcbn1cblxuLmVsYWJvcmF0aW9uLW5vZGUtcGF0aDpob3ZlciB7XG4gICAgc3Ryb2tlLXdpZHRoOiAzLjVweCAhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggOHB4IHJnYmEoMjU1LCAxNTksIDI4LCAwLjUpKTtcbn1cblxuLm5vZGUtZ3JvdXAuc2VsZWN0ZWQgLmVsYWJvcmF0aW9uLW5vZGUtcGF0aCB7XG4gICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlLXdpZHRoOiA0cHggIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDEycHggcmdiYSgyNTUsIDE1OSwgMjgsIDAuNikpO1xufVxuXG4uZWxhYm9yYXRpb24tbm9kZS10ZXh0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi5ub2RlLWdyb3VwIC5lbGFib3JhdGlvbi1ub2RlLXBhdGh+cmVjdCB7XG4gICAgZmlsbC1vcGFjaXR5OiAwLjMgIWltcG9ydGFudDtcbn1cblxuLyogR3JvdXAgQ29ubmVjdGlvbiBMaW5lcyAqL1xuLmdyb3VwLWNvbm5lY3Rpb24tbGluZSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogNCwgNDtcbiAgICBhbmltYXRpb246IGRhc2hPZmZzZXQgMzBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogZmFkZUluTGluZSAwLjVzIGZvcndhcmRzO1xufVxuXG4vKiBHcm91cCBCcmFja2V0ICovXG4uZ3JvdXAtYnJhY2tldC1wYXRoOmhvdmVyIHtcbiAgICBzdHJva2Utd2lkdGg6IDRweDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xufVxuXG4vKiBQdWxzaW5nIEVmZmVjdCAqL1xuLnB1bHNpbmcgcGF0aCB7XG4gICAgYW5pbWF0aW9uOiBwdWxzZVNvZnQgMS41cyBpbmZpbml0ZTtcbn1cblxuLm5vZGUtZ3JvdXAuZ3JvdXAtaGlnaGxpZ2h0IHBhdGgge1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBzdHJva2Utd2lkdGg6IDNweCAhaW1wb3J0YW50O1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWdyb3VwLWhpZ2hsaWdodC1maWxsKSAhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDVweCByZ2JhKDI1NSwgMTU5LCAyOCwgMC41KSk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBBTklNQVRJT05TID09PT09PT09PT09PT09PSAqL1xuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDE7XG4gICAgICAgIHN0cm9rZS13aWR0aDogM3B4O1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwLjU7XG4gICAgICAgIHN0cm9rZS13aWR0aDogNXB4O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2Utb3BhY2l0eTogMTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzcHg7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwdWxzZVNvZnQge1xuICAgIDAlIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAgcmdiYSgyNTUsIDE1OSwgMjgsIDApKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDRweDtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgOHB4IHJnYmEoMjU1LCAxNTksIDI4LCAwLjYpKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAgcmdiYSgyNTUsIDE1OSwgMjgsIDApKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkYXNoT2Zmc2V0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkYXNoRmxvdyB7XG4gICAgZnJvbSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGluZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsYXNzb0ZhZGUge1xuICAgIDAlIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiA0cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDRweCAjRkZBNTAwKTtcbiAgICB9XG5cbiAgICAzMCUge1xuICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDRweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgZmlsdGVyOiBub25lO1xuICAgIH1cbn1cblxuLyogTmV3IEVuaGFuY2VtZW50IEFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgc2VsZWN0aW9uUHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMCB0cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTJweCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIDEwJSxcbiAgICAzMCUsXG4gICAgNTAlLFxuICAgIDcwJSxcbiAgICA5MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG4gICAgfVxuXG4gICAgMjAlLFxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0IHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzcGFya2xlIHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBnbG93IHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxNXB4IHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgICB9XG59XG5cbi8qIFRoaW5raW5nIERvdHMgQW5pbWF0aW9uICovXG4udGhpbmtpbmctZG90cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZ2FwOiA0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRoaW5raW5nLWRvdHMgc3BhbiB7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB0aGlua2luZ0JvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XG59XG5cbi50aGlua2luZy1kb3RzIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cblxuLnRoaW5raW5nLWRvdHMgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xufVxuXG5Aa2V5ZnJhbWVzIHRoaW5raW5nQm91bmNlIHtcblxuICAgIDAlLFxuICAgIDgwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBQYXJ0aWNsZSBMYXllciBTdHlsaW5nICovXG4jcGFydGljbGUtbGF5ZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEF1ZGlvL1Zpc3VhbCBDb250cm9scyBQYW5lbCByZWxvY2F0ZWQgdG8gdmVydGljYWwvcmlnaHQtc2lkZSB2YXJpYW50IGRlZmluaXRpb25zIGJlbG93ICovXG5cbi8qIFByb2dyZXNzIFJpbmcgQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIHByb2dyZXNzUmluZyB7XG4gICAgMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogMjUxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PSBCQVNFIEFOSU1BVElPTlMgKENvbnNvbGlkYXRlZCBrZXlmcmFtZXMgZnJvbSBmZWF0dXJlIENTUykgPT09PT09PT09PT09PT09ICovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBnaG9zdEZsb2F0IHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5PdmVybGF5IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuOCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJldmVhbE5vZGUge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDJkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgY29ycmVjdEFuc3dlciB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBpbmNvcnJlY3RBbnN3ZXIge1xuXG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAyNSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYnVpbGRlclB1bHNlIHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBidWlsZGVyUHVsc2VHbG93IHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxNnB4IHZhcigtLWNvbG9yLXByaW1hcnkpKSBkcm9wLXNoYWRvdygwIDAgMjRweCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJ1aWxkZXJVbmxvY2sge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAyMHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjgpKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtNWRlZyk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSg1ZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMCB0cmFuc3BhcmVudCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBibHVlcHJpbnRGbGFzaCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcbiAgICB9XG5cbiAgICAxMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcbiAgICB9XG5cbiAgICAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmlsbEdhcFB1bHNlR2xvdyB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMCB0cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTZweCB2YXIoLS1jb2xvci1wcmltYXJ5KSkgZHJvcC1zaGFkb3coMCAwIDI0cHggdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBnaG9zdFB1bHNlR2xvdyB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMCB0cmFuc3BhcmVudCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxNnB4IHZhcigtLWNvbG9yLXByaW1hcnkpKSBkcm9wLXNoYWRvdygwIDAgMjRweCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZ2hvc3RSZXZlYWxUZXh0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgZmlsdGVyOiBibHVyKDJweCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZ2hvc3RSZXZlYWxQYXRoIHtcbiAgICAwJSB7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGVjdG9GbGlja2VyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgfVxuXG4gICAgNSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcbiAgICB9XG5cbiAgICAxMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGZpbHRlcjogYmx1cigxcHgpO1xuICAgIH1cblxuICAgIDE1JSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZpbHRlcjogYmx1cigwcHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGludFB1bHNlIHtcblxuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc29uYXJQdWxzZSB7XG4gICAgMCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwIHJnYmEoMjQ1LCAxNTgsIDExLCAwKSk7XG4gICAgICAgIHN0cm9rZS1vcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDE1cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuOCkpO1xuICAgICAgICBzdHJva2Utb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwIHJnYmEoMjQ1LCAxNTgsIDExLCAwKSk7XG4gICAgICAgIHN0cm9rZS1vcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzb25hcldhdmUge1xuICAgIDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBzdHJva2Utb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNTBweCByZ2JhKDU5LCAxMzAsIDI0NiwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzdHJlYWtQdWxzZSB7XG4gICAgMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjQ1LCAxNTgsIDExLCAwLjQpO1xuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDI0NSwgMTU4LCAxMSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNDUsIDE1OCwgMTEsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtYXJjaGluZ0FudHMge1xuICAgIDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxMjtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmFkYXJQaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzY2FmZm9sZEZhZGUge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIH1cblxuICAgIDEwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG5cbiAgICAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkh1YiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7XG4gICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmV4dXNGbG9hdCB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PSBBViBDT05UUk9MUyAoVmVydGljYWwgLyBSaWdodCBTaWRlKSA9PT09PT09PT09PT09PT0gKi9cbi5hdi1jb250cm9scyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC8qIEluY3JlYXNlZCBmcm9tIDEzMHB4IHRvIDE2MHB4IHRvIGNsZWFyIHpvb20gY29udHJvbHMgY29tZm9ydGFibHkgKi9cbiAgICBib3R0b206IDE2MHB4O1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLXhsKTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIFJlc2V0IGxlZnQgcG9zaXRpb25pbmcgKi9cbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogUmVzZXQgY2VudGVyIHRyYW5zZm9ybSAqL1xuXG4gICAgLyogVmVydGljYWwgT3JpZW50YXRpb24gKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgLyogTWF0Y2ggd2lkdGggb2Ygem9vbSBidXR0b25zICovXG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIGdhcDogMjVweDtcbiAgICAvKiBFeHRyYSBnYXAgdG8gYWNjb21tb2RhdGUgcm90YXRlZCBzbGlkZXIgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLyogR2xhc3Mgc3R5bGluZyAqL1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdsYXNzLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXBpbGwpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggdmFyKC0tZ2xhc3Mtc2hhZG93KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWRvY2tzKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nbGFzcy1ib3JkZXIpO1xufVxuXG4uYXYtY29udHJvbC1idG4ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmF2LWNvbnRyb2wtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmF2LWNvbnRyb2wtYnRuLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcHJpbWFyeSksIDAuMSk7XG59XG5cbi52b2x1bWUtc2xpZGVyIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIFJvdGF0ZSBzbGlkZXIgZm9yIHZlcnRpY2FsIGxheW91dCAqL1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgLyogTWFyZ2luIGVuc3VyZXMgdGhlIHJvdGF0aW9uIGRvZXNuJ3Qgb3ZlcmxhcCBidXR0b25zIHZpc3VhbGx5ICovXG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG59XG5cbi52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT0gSE9NRSBQQUdFIFNUWUxFUyA9PT09PT09PT09PT09PT0gKi9cbi5ob21lLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWhvbWUpO1xuICAgIC8qIEhpZ2hlciB0aGFuIFN0b3JhZ2UgKDEwMCkgYW5kIFNldHRpbmdzICg1MCkgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uaG9tZS1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDQwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjVzIGVhc2Utb3V0O1xufVxuXG4uaG9tZS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5hcHAtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xufVxuXG4uYXBwLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogSG9tZSBJbnB1dCBTZWN0aW9uICovXG4uaG9tZS1pbnB1dC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHBhZGRpbmc6IDI1cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogT3ZlcnJpZGUgZ2xhc3MtcGFuZWwgZml4ZWQgd2lkdGggKi9cbn1cblxuLmhvbWUtaW5wdXQtc2VjdGlvbiBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uaW5wdXQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wdXQtd3JhcHBlciBpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4jaG9tZS10b3BpYy1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggNDVweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbiNob21lLXRvcGljLWlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xufVxuXG4vKiBQaGFzZSBHcmlkIENvbnRhaW5lciAtIENvbnNpc3RlbnQgc3R5bGluZyAqL1xuLnBoYXNlLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIEdyaWQgY29udGFpbmVyIGZvciBwaGFzZS1jYXJkcyBiZWxvdyAqL1xufVxuXG4vKiBQaGFzZSBDYXJkcyAtIE5vdyB1c2VzIHVuaWZpZWQgZ2xhc3MtcGFuZWwgc3R5bGluZyAqL1xuLnBoYXNlLWNhcmQuZ2xhc3MtcGFuZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHggIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIE92ZXJyaWRlIGdsYXNzLXBhbmVsIGZpeGVkIHdpZHRoIGZvciBncmlkIHJlc3BvbnNpdmVuZXNzICovXG4gICAgLyogR2xhc3MtcGFuZWwgYmFzZSBzdHlsZXMgYXBwbGllZDogYmFja2dyb3VuZCwgYm9yZGVyLCBib3JkZXItcmFkaXVzLCBib3gtc2hhZG93LCBiYWNrZHJvcC1maWx0ZXIgKi9cbn1cblxuLnBoYXNlLWNhcmQuZ2xhc3MtcGFuZWw6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE1cHggMzBweCB2YXIoLS1nbGFzcy1zaGFkb3cpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5jYXJkLWljb24ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ucGhhc2UtY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5waGFzZS1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuXG4vKiBTZXNzaW9uIExpc3QgSXRlbXMgKi9cbi5zZXNzaW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2Vzc2lvbi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1hcHApO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBDVVNUT00gQVBQIENPTkZJUk1BVElPTiBNT0RBTCA9PT09PT09PT09PT09PT0gKi9cbi5hcHAtbW9kYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wb3B1cC1iYWNrZHJvcCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICAvKiBBYm92ZSBldmVyeXRoaW5nICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5hcHAtbW9kYWwtb3ZlcmxheS5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5hcHAtbW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcG9wdXAtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1wb3B1cC10ZXh0KTtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBvcHVwLWJvcmRlcik7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGFuaW1hdGlvbjogc2NhbGVJbiAwLjJzIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuXG4uYXBwLW1vZGFsLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tcG9wdXAtdGV4dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmFwcC1tb2RhbC1ib2R5IHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogdmFyKC0tcG9wdXAtdGV4dCk7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmFwcC1tb2RhbC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFwcC1tb2RhbC1idG4ge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzLCBvcGFjaXR5IDAuMnM7XG59XG5cbi5hcHAtbW9kYWwtYnRuOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTtcbn1cblxuLmFwcC1tb2RhbC1idG4uY2FuY2VsIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tcG9wdXAtdGV4dCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcG9wdXAtYm9yZGVyKTtcbn1cblxuLmFwcC1tb2RhbC1idG4uY2FuY2VsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5hcHAtbW9kYWwtYnRuLmNvbmZpcm0ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpO1xufVxuXG4uYXBwLW1vZGFsLWJ0bi5jb25maXJtOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uYXBwLW1vZGFsLWJ0bi5kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uYXBwLW1vZGFsLWJ0bi5kYW5nZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5hcHAtbW9kYWwtYnRuLmRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG4vKiAtLS0gQUREIFRPIFNWRyBHTEFTUyBCVUJCTEVTIFNFQ1RJT04gLS0tICovXG4uYnViYmxlLWxpbmstYWN0aXZlIHtcbiAgICBzdHJva2U6ICM4QjVDRjYgIWltcG9ydGFudDtcbiAgICAvKiBQdXJwbGUgZm9yIExpbmsvR1BTICovXG4gICAgc3Ryb2tlLXdpZHRoOiAycHggIWltcG9ydGFudDtcbiAgICBmaWxsOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiBTdHlsZXMgZm9yIEdQUy9MaW5rIFBvcHVwIENvbnRlbnQgKi9cbi5ncHMtc2xvdC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncHMtc2xvdCB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1wYW5lbCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ3BzLXNsb3QuY2VudGVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5ncHMtc2xvdC5maWxsZWQge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4uZ3BzLXNsb3QuZmlsbGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5ncHMtc2xvdC5maWxsZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMDBkJztcbiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICByaWdodDogLTZweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmdwcy1zbG90LmZpbGxlZDpob3Zlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5ncHMtc2xvdDpub3QoLmNlbnRlcik6bm90KC5maWxsZWQpOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PSBJTlRFUkFDVElPTiBGRUVEQkFDSyA9PT09PT09PT09PT09PT0gKi9cblxuLyogVmlzdWFsIHJlc3BvbnNlIGZvciBkcm9wIHRhcmdldHMgaW4gR1BTL1BvcCAmIERyb3AgbW9kZSAqL1xuLm5vZGUtZ3JvdXAuZHJvcC10YXJnZXQtYWN0aXZlIGNpcmNsZSxcbi5ub2RlLWdyb3VwLmRyb3AtdGFyZ2V0LWFjdGl2ZSBwYXRoLFxuLm5vZGUtZ3JvdXAuZHJvcC10YXJnZXQtYWN0aXZlIHJlY3Qge1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3Itc3VjY2VzcykgIWltcG9ydGFudDtcbiAgICBzdHJva2Utd2lkdGg6IDVweCAhaW1wb3J0YW50O1xuICAgIGZpbGw6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjE1KSAhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDEycHggdmFyKC0tY29sb3Itc3VjY2VzcykpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1vdXQ7XG4gICAgY3Vyc29yOiBjb3B5ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEV4dHJhIGVtcGhhc2lzIGZvciB0aGUgZHJhZ2dlZCBnaG9zdCBub2RlICovXG4ubm9kZS1ncm91cC5kcmFnZ2luZy1naG9zdCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4ubm9kZS1ncm91cC5kcmFnZ2luZy1naG9zdCBjaXJjbGUsXG4ubm9kZS1ncm91cC5kcmFnZ2luZy1naG9zdCBwYXRoIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1O1xuICAgIGFuaW1hdGlvbjogZ2hvc3RGbG9hdCAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09IFJFRkFDVE9SRUQgSFRNTCBDTEFTU0VTID09PT09PT09PT09PT09PSAqL1xuXG4vKiBHbG9iYWwgQ2FudmFzICovXG4uZ2xvYmFsLWNhbnZhcyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSWNvbiBCdXR0b24gVmFyaWFudHMgKi9cbi5pY29uLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uaWNvbi1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5pY29uLWJ0bi1zbSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5pY29uLWJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uaWNvbi1idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5pY29uLWJ0bi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uaWNvbi1idG4tZGFuZ2VyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5pY29uLWJ0bi1zZXR0aW5ncyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLWJ0bi1zZXR0aW5nczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaG92ZXItbGlnaHQpO1xufVxuXG4vKiBGbG9hdGluZyBEb2NrIEJhc2UgKi9cbi5mbG9hdGluZy1kb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ2xhc3MtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdsYXNzLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi8qIEJ1dHRvbiBWYXJpYW50cyAqL1xuLmJ0bi1nbGFzcyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ2xhc3MtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdsYXNzLWJvcmRlcik7XG59XG5cbi5idG4tZ2xhc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5idG4td2lraSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQTJBOUIxO1xufVxuXG4uYnRuLXdpa2k6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7XG59XG5cbi8qIFNldHRpbmdzIFBhbmVsIFN0eWxlcyAqL1xuLnNldHRpbmctZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnNldHRpbmctZ3JvdXAtYm9yZGVyZWQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5zZXR0aW5nLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmF2LXNldHRpbmdzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4uYXYtc2V0dGluZ3Mtcm93Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFN0b3JhZ2UgQmFyIFN0eWxlcyAqL1xuLnN0b3JhZ2UtYmFyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4uc3RvcmFnZS1iYXItZmlsbCB7XG4gICAgd2lkdGg6IDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGVhc2U7XG59XG5cbi8qIFN0b3JhZ2UgU3RhdHMgKi9cbi5zdG9yYWdlLXN0YXRzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnN0b3JhZ2UtcGVyY2VudC10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogVGhlbWUgT3B0aW9ucyAqL1xuLnRoZW1lLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi50aGVtZS1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi50aGVtZS1vcHRpb246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi50aGVtZS1vcHRpb24uYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogVGhlbWUgU3BlY2lmaWMgR3JhZGllbnRzICovXG4udGhlbWUtZGF5bGlnaHQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzQjgyRjYsICNGOEZBRkMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMkU4RjA7XG59XG5cbi50aGVtZS1zdW5yaXNlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRUE1ODBDLCAjRkZGN0VEKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkVEN0FBO1xufVxuXG4udGhlbWUtbWlkbmlnaHQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNFMTFENDgsICMwMjA2MTcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1jeWJlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0E4NTVGNywgIzA5MDkwQik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI3MjcyQTtcbn1cblxuLyogU2VtYW50aWMgSFRNTCBJbXByb3ZlbWVudHMgKi9cbnNlY3Rpb25bcm9sZT1cInJlZ2lvblwiXSB7XG4gICAgLyogRW5zdXJlcyBwcm9wZXIgc2VtYW50aWMgbWVhbmluZyBmb3Igc2NyZWVuIHJlYWRlcnMgKi9cbn1cblxuaGVhZGVyIGgxLFxuaGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuZGlhbG9nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5kaWFsb2c6OmJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbmFydGljbGUucGhhc2UtY2FyZCB7XG4gICAgLyogUGhhc2UgY2FyZCBzdHlsaW5nIGFscmVhZHkgZXhpc3RzICAqL1xufVxuXG4vKiBBY2Nlc3NpYmlsaXR5IEltcHJvdmVtZW50cyAqL1xuW3JvbGU9XCJzd2l0Y2hcIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2FyaWEtbGl2ZT1cInBvbGl0ZVwiXSB7XG4gICAgLyogZW5zdXJlcyBzY3JlZW4gcmVhZGVyIGFubm91bmNlcyB1cGRhdGVzICovXG59XG5cblthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgIC8qIGVuc3VyZXMgZGVjb3JhdGl2ZSBlbGVtZW50cyBhcmUgc2tpcHBlZCAqL1xufVxuXG4vKiBSZXNwb25zaXZlIEltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnRoZW1lLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIC5mbG9hdGluZy1kb2NrIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmljb24tYnRuLXNldHRpbmdzIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYWxlcnRQdWxzZSB7XG4gICAgMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTYsIDE4NSwgMTI5LCAwLjQpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDE2LCAxODUsIDEyOSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNiwgMTg1LCAxMjksIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09IENIQVQgQUxFUlQgU1BFRUNIIEJVQkJMRSA9PT09PT09PT09PT09PT0gKi9cbiNjaGF0LWFsZXJ0IHtcbiAgICAtLWFsZXJ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAtLWFsZXJ0LWJnOiB2YXIoLS1wb3B1cC1iZyk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hbGVydC1iZyk7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1hbGVydC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLWFsZXJ0LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIC8qIEhpZGRlbiBzdGF0ZSAoQ29sbGFwc2VzIHNwYWNlIGdyYWNlZnVsbHkpICovXG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuI2NoYXQtYWxlcnQuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVYKDApO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIENydWNpYWwgdG8gc2hvdyB0aGUgdGFpbCAqL1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogU3BlZWNoIGJ1YmJsZSB0YWlsIHVzaW5nIHJvdGF0ZWQgc3F1YXJlICovXG4jY2hhdC1hbGVydDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTZweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWxlcnQtYmcpO1xuICAgIGJvcmRlci1sZWZ0OiAxLjVweCBzb2xpZCB2YXIoLS1hbGVydC1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgdmFyKC0tYWxlcnQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuI2NoYXQtYWxlcnQuc2hvdzo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgLyogU2hvdyB0YWlsIHNtb290aGx5IGFmdGVyIGJ1YmJsZSBleHBhbmRzICovXG59XG5cbi8qIEdsb3dpbmcgYW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIGFsZXJ0QnViYmxlR2xvdyB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNHB4IHZhcigtLWFsZXJ0LWNvbG9yKSk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTJweCB2YXIoLS1hbGVydC1jb2xvcikpO1xuICAgIH1cbn1cblxuI2NoYXQtYWxlcnQuZ2xvdyB7XG4gICAgYW5pbWF0aW9uOiBhbGVydEJ1YmJsZUdsb3cgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNDRVNTSUJJTElUWSDigJQgUkVEVUNFRCBNT1RJT05cbiAgIFJlc3BlY3RzIHRoZSBPUy1sZXZlbCBcInJlZHVjZSBtb3Rpb25cIiBwcmVmZXJlbmNlLlxuICAgRGlzYWJsZXMgb3IgbWluaW1pc2VzIGFsbCB0cmFuc2l0aW9ucyBhbmQga2V5ZnJhbWUgYW5pbWF0aW9ucy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEZyZWV6ZSBzbGlkZXNob3cg4oCUIHNob3cgZmlyc3Qgc2xpZGUgc3RhdGljYWxseSAqL1xuICAgIC5zbGlkZSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zbGlkZS5hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBGcmVlemUgdG9hc3QgZW50cnkvZXhpdCBhbmltYXRpb25zICovXG4gICAgLnRvYXN0LFxuICAgIC50b2FzdC5zaG93LFxuICAgIC50b2FzdC5yZW1vdmluZyB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIH1cbn0iXX0= */