@senior-gestao-relacionamento/angular-components 2.4.0-master-b35869c1 → 2.5.0-master-5861fa25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -63,7 +63,13 @@ export class ExportDataComponent {
|
|
|
63
63
|
{ value: ExportFileFormat.A3, label: 'A3', description: 'Grande (297×420mm)' }
|
|
64
64
|
];
|
|
65
65
|
ngOnChanges() {
|
|
66
|
-
|
|
66
|
+
let cfg;
|
|
67
|
+
try {
|
|
68
|
+
cfg = this.config();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return; // config ainda não foi setado (required input)
|
|
72
|
+
}
|
|
67
73
|
if (cfg?.columns) {
|
|
68
74
|
this.columnSelections.set(cfg.columns.map(col => ({ column: this.normalizeColumn(col), selected: true })));
|
|
69
75
|
}
|
|
@@ -607,4 +613,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
607
613
|
</p-dialog>
|
|
608
614
|
`, styles: ["::ng-deep .s-export-dialog .p-dialog{border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d}::ng-deep .s-export-dialog .p-dialog-content{padding:0;background:#fff;max-height:70vh;overflow-y:auto}::ng-deep .s-export-dialog .p-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 32px}.custom-header{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600}.custom-header .header-icon{font-size:22px;color:var(--p-primary-500)}.export-content{padding:28px 32px}.export-section{margin-bottom:32px}.export-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--p-primary-rgb),.1),rgba(var(--p-primary-rgb),.15));border-radius:10px}.section-icon i{font-size:18px;color:var(--p-primary-500)}.section-header h3{margin:0;font-size:17px;font-weight:700;color:var(--neutral-color-800, #1f2937);flex:1}.column-actions{display:flex;align-items:center;gap:10px;font-size:13px}.action-link{background:none;border:none;color:var(--p-primary-500);cursor:pointer;font-weight:600;padding:0;transition:all .2s;font-size:13px}.separator{color:var(--neutral-color-300, #d1d5db)}.format-options{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.format-card{display:flex;align-items:center;gap:16px;padding:20px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden}.format-card:before{content:\"\";position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--p-primary-rgb),.03),rgba(var(--p-primary-rgb),.06));opacity:0;transition:opacity .3s}.format-card:hover{border-color:var(--p-primary-500);transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--p-primary-rgb),.15)}.format-card:hover:before{opacity:1}.format-card.selected{border-color:var(--p-primary-500);background:linear-gradient(135deg,rgba(var(--p-primary-rgb),.05),rgba(var(--p-primary-rgb),.08));box-shadow:0 0 0 4px rgba(var(--p-primary-rgb),.1)}.format-card.selected .card-icon{background:linear-gradient(135deg,var(--p-primary-500) 0%,var(--p-primary-500) 100%);transform:scale(1.05)}.format-card.selected .card-icon i{color:#fff}.card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s;position:relative;z-index:1;background:linear-gradient(135deg,var(--p-primary-50, #f0fdf4) 0%,var(--p-primary-100, #dcfce7) 100%)}.card-icon.excel{background:linear-gradient(135deg,var(--p-primary-50, #f0fdf4) 0%,var(--p-primary-100, #dcfce7) 100%)}.card-icon.excel i{color:#107c41;font-size:26px}.card-icon.pdf{background:linear-gradient(135deg,#fee8e8,#fdd4d4)}.card-icon.pdf i{color:#dc2626;font-size:26px}.card-icon i{font-size:22px;color:var(--p-primary-500)}.card-info{flex:1;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.card-label{font-size:16px;font-weight:700;color:var(--neutral-color-800, #1f2937);cursor:pointer;margin:0}.card-description{font-size:13px;color:var(--neutral-color-600, #4b5563);line-height:1.4}.scope-options{display:flex;flex-direction:column;gap:14px}.scope-card{display:flex;align-items:center;gap:16px;padding:20px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden}.scope-card:hover:not(.disabled){border-color:var(--p-primary-500);box-shadow:0 4px 16px rgba(var(--p-primary-rgb),.12)}.scope-card.selected{border-color:var(--p-primary-500);background:linear-gradient(135deg,rgba(var(--p-primary-rgb),.05),rgba(var(--p-primary-rgb),.08));box-shadow:0 0 0 4px rgba(var(--p-primary-rgb),.1)}.scope-card.selected .card-icon{background:linear-gradient(135deg,var(--p-primary-500) 0%,var(--p-primary-500) 100%);transform:scale(1.05)}.scope-card.selected .card-icon i{color:#fff}.scope-card.disabled{opacity:.5;cursor:not-allowed;background:#f9fafb}.card-count{font-size:13px;font-weight:600;color:var(--p-primary-500);margin-top:6px;display:inline-flex;align-items:center;gap:6px}.card-count i{font-size:6px}.columns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.column-item{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:10px;transition:all .2s;background:#fff;cursor:pointer}.column-item:hover{border-color:var(--p-primary-500);background:rgba(var(--p-primary-rgb),.03)}.column-item.selected{border-color:var(--p-primary-500);background:linear-gradient(135deg,rgba(var(--p-primary-rgb),.05),rgba(var(--p-primary-rgb),.08))}.column-label{font-size:14px;font-weight:600;color:var(--neutral-color-800, #1f2937);cursor:pointer;margin:0;-webkit-user-select:none;user-select:none}.columns-summary{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(135deg,var(--p-primary-50, #f0fdf4) 0%,var(--p-primary-100, #dcfce7) 100%);border-radius:10px;font-size:14px;color:var(--neutral-color-700, #374151);font-weight:600}.columns-summary i{color:var(--p-primary-500);font-size:18px}@media (max-width: 768px){::ng-deep .s-export-dialog .p-dialog{width:95vw!important;margin:0}.export-content{padding:24px}.format-options,.columns-grid{grid-template-columns:1fr}}\n"] }]
|
|
609
615
|
}] });
|
|
610
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9leHBvcnQtZGF0YS9leHBvcnQtZGF0YS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUdOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7OztBQThmbEYsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLGFBQWEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLGNBQWMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVOVCwyMktBOU5DLFlBQVkseVBBQ1osV0FBVyw4VkFDWCxZQUFZLDBnQ0FDWixZQUFZLGliQUNaLGlCQUFpQixpV0FDakIsY0FBYzs7NEZBbWZMLG1CQUFtQjtrQkE1Zi9CLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVOVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgTmdab25lXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRXhwb3J0RGF0YVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V4cG9ydC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0RGF0YUNvbmZpZywgRXhwb3J0Q29sdW1uLCBFeHBvcnRDb2x1bW5JbnB1dCB9IGZyb20gJy4vZW50aXRpZXMvZXhwb3J0LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4cG9ydEZpbGVUeXBlLCBFeHBvcnRPcmllbnRhdGlvbiwgRXhwb3J0RmlsZUZvcm1hdCwgRXhwb3J0Q29sdW1uVHlwZSB9IGZyb20gJy4vZW51bXMvZXhwb3J0LWRhdGEuZW51bXMnO1xuaW1wb3J0IHsgV2ViU29ja2V0U2VydmljZSwgV2ViU29ja2V0Q29uZmlnIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2NvbXBvbmVudHMtYWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLWV4cG9ydC1kYXRhJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHAtZGlhbG9nXG4gICAgICBbdmlzaWJsZV09XCJ2aXNpYmxlKClcIlxuICAgICAgKHZpc2libGVDaGFuZ2UpPVwidmlzaWJsZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgKG9uSGlkZSk9XCJvbkRpYWxvZ0hpZGUoKVwiXG4gICAgICBbbW9kYWxdPVwidHJ1ZVwiXG4gICAgICBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcbiAgICAgIFtyZXNpemFibGVdPVwiZmFsc2VcIlxuICAgICAgW3N0eWxlXT1cInsgd2lkdGg6ICc3MDBweCcgfVwiXG4gICAgICBzdHlsZUNsYXNzPVwicy1leHBvcnQtZGlhbG9nXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1kb3dubG9hZCBoZWFkZXItaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5FeHBvcnRhciBEYWRvczwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LWNvbnRlbnRcIj5cblxuICAgICAgICA8IS0tIEZvcm1hdG8gZGUgRXhwb3J0YcOnw6NvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LXNlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWljb25cIj48aSBjbGFzcz1cInBpIHBpLWZpbGVcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+Rm9ybWF0byBkbyBhcnF1aXZvPC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZtdCBvZiBmaWxlVHlwZXNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm1hdC1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkRmlsZVR5cGUoKSA9PT0gZm10LnZhbHVlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkRmlsZVR5cGUuc2V0KGZtdC52YWx1ZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZm10LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWxlVHlwZU1vZGVsXCJcbiAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIidmbXRfJyArIGZtdC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIiBbY2xhc3MuZXhjZWxdPVwiZm10LnZhbHVlID09PSAnRVhDRUwnXCIgW2NsYXNzLnBkZl09XCJmbXQudmFsdWUgPT09ICdQREYnXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaVwiIFtuZ0NsYXNzXT1cImZtdC5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5mb1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIidmbXRfJyArIGZtdC52YWx1ZVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IGZtdC5sYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWRlc2NyaXB0aW9uXCI+e3sgZm10LmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE9yaWVudGHDp8OjbyArIEZvcm1hdG8gZGEgZm9saGEgKGFwZW5hcyBQREYpIC0tPlxuICAgICAgICBAaWYgKHNlbGVjdGVkRmlsZVR5cGUoKSA9PT0gJ1BERicpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1pY29uXCI+PGkgY2xhc3M9XCJwaSBwaS1hcnJvd3MtYWx0XCI+PC9pPjwvZGl2PlxuICAgICAgICAgICAgICA8aDM+T3JpZW50YcOnw6NvIGRhIHDDoWdpbmE8L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvIG9mIG9yaWVudGF0aW9uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtYXQtY2FyZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkT3JpZW50YXRpb24oKSA9PT0gby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkT3JpZW50YXRpb24uc2V0KG8udmFsdWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXJhZGlvXCI+XG4gICAgICAgICAgICAgICAgICA8cC1yYWRpb0J1dHRvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcmllbnRhdGlvbk1vZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiJ29yaWVudF8nICsgby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGlcIiBbbmdDbGFzc109XCJvLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ29yaWVudF8nICsgby52YWx1ZVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IG8ubGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImV4cG9ydC1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taWNvblwiPjxpIGNsYXNzPVwicGkgcGktc3RvcFwiPjwvaT48L2Rpdj5cbiAgICAgICAgICAgICAgPGgzPkZvcm1hdG8gZGEgZm9saGE8L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmIG9mIGZpbGVGb3JtYXRzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1hdC1jYXJkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRGaWxlRm9ybWF0KCkgPT09IGYudmFsdWVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZEZpbGVGb3JtYXQuc2V0KGYudmFsdWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXJhZGlvXCI+XG4gICAgICAgICAgICAgICAgICA8cC1yYWRpb0J1dHRvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWxlRm9ybWF0TW9kZWxcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCInZm9ybWF0XycgKyBmLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgID48L3AtcmFkaW9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1maWxlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIidmb3JtYXRfJyArIGYudmFsdWVcIiBjbGFzcz1cImNhcmQtbGFiZWxcIj57eyBmLmxhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1kZXNjcmlwdGlvblwiPnt7IGYuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVzY29wbyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cG9ydC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1pY29uXCI+PGkgY2xhc3M9XCJwaSBwaS1maWx0ZXJcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+RXNjb3BvIGRhIGV4cG9ydGHDp8OjbzwvaDM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNjb3BlLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzY29wZS1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIiFoYXNTZWxlY3RlZElkcygpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImV4cG9ydFNjb3BlLnNldCgnYWxsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uIHZhbHVlPVwiYWxsXCIgWyhuZ01vZGVsKV09XCJleHBvcnRTY29wZU1vZGVsXCIgaW5wdXRJZD1cInNjb3BlX2FsbFwiPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIj48aSBjbGFzcz1cInBpIHBpLWxpc3RcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2NvcGVfYWxsXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+VG9kb3Mgb3MgcmVnaXN0cm9zPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtZGVzY3JpcHRpb25cIj5FeHBvcnRhIHRvZG9zIGNvbSBvIGZpbHRybyBhdGl2bzwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzY29wZS1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImhhc1NlbGVjdGVkSWRzKClcIlxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIWhhc1NlbGVjdGVkSWRzKClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFzU2VsZWN0ZWRJZHMoKSA/IGV4cG9ydFNjb3BlLnNldCgnc2VsZWN0ZWQnKSA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICB2YWx1ZT1cInNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZXhwb3J0U2NvcGVNb2RlbFwiXG4gICAgICAgICAgICAgICAgICBpbnB1dElkPVwic2NvcGVfc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFoYXNTZWxlY3RlZElkcygpXCJcbiAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaWNvblwiPjxpIGNsYXNzPVwicGkgcGktY2hlY2stc3F1YXJlXCI+PC9pPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbmZvXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNjb3BlX3NlbGVjdGVkXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+UmVnaXN0cm9zIHNlbGVjaW9uYWRvczwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWRlc2NyaXB0aW9uXCI+RXhwb3J0YSBhcGVuYXMgb3MgaXRlbnMgbWFyY2Fkb3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWNvdW50XCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWNpcmNsZS1maWxsXCI+PC9pPlxuICAgICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRJZHMoKS5sZW5ndGggfX0gcmVnaXN0cm8ocykgc2VsZWNpb25hZG8ocylcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gU2VsZcOnw6NvIGRlIENvbHVuYXMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJleHBvcnQtc2VjdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taWNvblwiPjxpIGNsYXNzPVwicGkgcGktdGFibGVcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+Q29sdW5hczwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhY3Rpb24tbGlua1wiIChjbGljayk9XCJzZWxlY3RBbGxDb2x1bW5zKClcIj5Ub2RhczwvYnV0dG9uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPnw8L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWN0aW9uLWxpbmtcIiAoY2xpY2spPVwiZGVzZWxlY3RBbGxDb2x1bW5zKClcIj5OZW5odW1hPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucy1ncmlkXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uU2VsZWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2x1bW4taXRlbVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjb2wuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29sdW1uKGNvbClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cC1jaGVja2JveFxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29sLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYmluYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIidjb2xfJyArIGNvbC5jb2x1bW4uY29sdW1uTmFtZVwiXG4gICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cInJlZnJlc2hDb2x1bW5zKClcIlxuICAgICAgICAgICAgICA+PC9wLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCInY29sXycgKyBjb2wuY29sdW1uLmNvbHVtbk5hbWVcIiBjbGFzcz1cImNvbHVtbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbC5jb2x1bW4udHJhbnNsYXRlS2V5IH19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucy1zdW1tYXJ5XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRDb2x1bW5zQ291bnQoKSB9fSBkZSB7eyBjb2x1bW5TZWxlY3Rpb25zKCkubGVuZ3RoIH19IGNvbHVuYXMgc2VsZWNpb25hZGFzPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgbGFiZWw9XCJDYW5jZWxhclwiXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXRpbWVzXCJcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgW3RleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25EaWFsb2dIaWRlKClcIlxuICAgICAgICAvPlxuICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICBsYWJlbD1cIkV4cG9ydGFyXCJcbiAgICAgICAgICBpY29uPVwicGkgcGktZG93bmxvYWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRXhwb3J0KClcIlxuICAgICAgICAgIFtsb2FkaW5nXT1cImV4cG9ydGluZygpXCJcbiAgICAgICAgICAob25DbGljayk9XCJkb0V4cG9ydCgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLWRpYWxvZz5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDo6bmctZGVlcCAucy1leHBvcnQtZGlhbG9nIC5wLWRpYWxvZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB9XG4gICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuY3VzdG9tLWhlYWRlciAuaGVhZGVyLWljb24ge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgIH1cblxuICAgIC5leHBvcnQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDMycHg7XG4gICAgfVxuXG4gICAgLmV4cG9ydC1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICAgIC5leHBvcnQtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnNlY3Rpb24taWNvbiB7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjEpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjE1KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbiAgICAuc2VjdGlvbi1pY29uIGkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgIH1cbiAgICAuc2VjdGlvbi1oZWFkZXIgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTgwMCwgIzFmMjkzNyk7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAuY29sdW1uLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuICAgIC5hY3Rpb24tbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvci0zMDAsICNkMWQ1ZGIpO1xuICAgIH1cblxuICAgIC8qIEZvcm1hdCBjYXJkcyAqL1xuICAgIC5mb3JtYXQtb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuZm9ybWF0LWNhcmQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjAzKSwgcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4wNikpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMTUpO1xuICAgIH1cbiAgICAuZm9ybWF0LWNhcmQ6aG92ZXI6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cbiAgICAuZm9ybWF0LWNhcmQuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wLXByaW1hcnktNTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMDUpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA4KSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4xKTtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkLnNlbGVjdGVkIC5jYXJkLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcC1wcmltYXJ5LTUwMCkgMCUsIHZhcigtLXAtcHJpbWFyeS01MDApIDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkLnNlbGVjdGVkIC5jYXJkLWljb24gaSB7IGNvbG9yOiAjZmZmOyB9XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAsICNmMGZkZjQpIDAlLCB2YXIoLS1wLXByaW1hcnktMTAwLCAjZGNmY2U3KSAxMDAlKTtcbiAgICB9XG4gICAgLmNhcmQtaWNvbi5leGNlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAsICNmMGZkZjQpIDAlLCB2YXIoLS1wLXByaW1hcnktMTAwLCAjZGNmY2U3KSAxMDAlKTtcbiAgICB9XG4gICAgLmNhcmQtaWNvbi5leGNlbCBpIHsgY29sb3I6ICMxMDdjNDE7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAgIC5jYXJkLWljb24ucGRmIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZlZThlOCwgI2ZkZDRkNCk7IH1cbiAgICAuY2FyZC1pY29uLnBkZiBpIHsgY29sb3I6ICNkYzI2MjY7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAgIC5jYXJkLWljb24gaSB7IGZvbnQtc2l6ZTogMjJweDsgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApOyB9XG5cbiAgICAuY2FyZC1pbmZvIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmNhcmQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTgwMCwgIzFmMjkzNyk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jYXJkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTYwMCwgIzRiNTU2Myk7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC8qIFNjb3BlIGNhcmRzICovXG4gICAgLnNjb3BlLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDE0cHg7XG4gICAgfVxuICAgIC5zY29wZS1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuc2NvcGUtY2FyZDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjEyKTtcbiAgICB9XG4gICAgLnNjb3BlLWNhcmQuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wLXByaW1hcnktNTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMDUpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA4KSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4xKTtcbiAgICB9XG4gICAgLnNjb3BlLWNhcmQuc2VsZWN0ZWQgLmNhcmQtaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAwKSAwJSwgdmFyKC0tcC1wcmltYXJ5LTUwMCkgMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgICAuc2NvcGUtY2FyZC5zZWxlY3RlZCAuY2FyZC1pY29uIGkgeyBjb2xvcjogI2ZmZjsgfVxuICAgIC5zY29wZS1jYXJkLmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICAgIH1cbiAgICAuY2FyZC1jb3VudCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5jYXJkLWNvdW50IGkgeyBmb250LXNpemU6IDZweDsgfVxuXG4gICAgLyogQ29sdW1ucyBncmlkICovXG4gICAgLmNvbHVtbnMtZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuICAgIC5jb2x1bW4taXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNvbHVtbi1pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjAzKTtcbiAgICB9XG4gICAgLmNvbHVtbi1pdGVtLnNlbGVjdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA1KSwgcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4wOCkpO1xuICAgIH1cbiAgICAuY29sdW1uLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvci04MDAsICMxZjI5MzcpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMtc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXAtcHJpbWFyeS01MCwgI2YwZmRmNCkgMCUsIHZhcigtLXAtcHJpbWFyeS0xMDAsICNkY2ZjZTcpIDEwMCUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTcwMCwgIzM3NDE1MSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuY29sdW1ucy1zdW1tYXJ5IGkge1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nIHsgd2lkdGg6IDk1dncgIWltcG9ydGFudDsgbWFyZ2luOiAwOyB9XG4gICAgICAuZXhwb3J0LWNvbnRlbnQgeyBwYWRkaW5nOiAyNHB4OyB9XG4gICAgICAuZm9ybWF0LW9wdGlvbnMsIC5jb2x1bW5zLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0RGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleHBvcnRTZXJ2aWNlID0gaW5qZWN0KEV4cG9ydERhdGFTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRTZXJ2aWNlID0gaW5qZWN0KFdlYlNvY2tldFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgd3NTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IHdzQ29uZmlnOiBXZWJTb2NrZXRDb25maWcgPSB7XG4gICAgZG9tYWluOiAnY3JteCcsXG4gICAgc2VydmljZTogJ2RhdGFleHBvcnQnLFxuICAgIHByaW1pdGl2ZTogJ3dzRXhwb3J0Q29tcGxldGVkJyxcbiAgICB1c2VyU2NvcGVkOiB0cnVlXG4gIH07XG5cbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdmlzaWJsZUNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxFeHBvcnREYXRhQ29uZmlnPigpO1xuICBzZWxlY3RlZElkcyA9IGlucHV0PHN0cmluZ1tdPihbXSk7XG4gIGV4cG9ydGVkID0gb3V0cHV0PHZvaWQ+KCk7XG4gIGV4cG9ydEVycm9yID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICByZWFkb25seSBzZWxlY3RlZEZpbGVUeXBlID0gc2lnbmFsPEV4cG9ydEZpbGVUeXBlPihFeHBvcnRGaWxlVHlwZS5FeGNlbCk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkT3JpZW50YXRpb24gPSBzaWduYWw8RXhwb3J0T3JpZW50YXRpb24+KEV4cG9ydE9yaWVudGF0aW9uLkxhbmRzY2FwZSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkRmlsZUZvcm1hdCA9IHNpZ25hbDxFeHBvcnRGaWxlRm9ybWF0PihFeHBvcnRGaWxlRm9ybWF0LkE0KTtcbiAgcmVhZG9ubHkgZXhwb3J0U2NvcGUgPSBzaWduYWw8J2FsbCcgfCAnc2VsZWN0ZWQnPignYWxsJyk7XG4gIHJlYWRvbmx5IGV4cG9ydGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbHVtblNlbGVjdGlvbnMgPSBzaWduYWw8eyBjb2x1bW46IEV4cG9ydENvbHVtbjsgc2VsZWN0ZWQ6IGJvb2xlYW4gfVtdPihbXSk7XG5cbiAgZ2V0IHNlbGVjdGVkRmlsZVR5cGVNb2RlbCgpOiBFeHBvcnRGaWxlVHlwZSB7IHJldHVybiB0aGlzLnNlbGVjdGVkRmlsZVR5cGUoKTsgfVxuICBzZXQgc2VsZWN0ZWRGaWxlVHlwZU1vZGVsKHY6IEV4cG9ydEZpbGVUeXBlKSB7IHRoaXMuc2VsZWN0ZWRGaWxlVHlwZS5zZXQodik7IH1cblxuICBnZXQgc2VsZWN0ZWRPcmllbnRhdGlvbk1vZGVsKCk6IEV4cG9ydE9yaWVudGF0aW9uIHsgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcmllbnRhdGlvbigpOyB9XG4gIHNldCBzZWxlY3RlZE9yaWVudGF0aW9uTW9kZWwodjogRXhwb3J0T3JpZW50YXRpb24pIHsgdGhpcy5zZWxlY3RlZE9yaWVudGF0aW9uLnNldCh2KTsgfVxuXG4gIGdldCBzZWxlY3RlZEZpbGVGb3JtYXRNb2RlbCgpOiBFeHBvcnRGaWxlRm9ybWF0IHsgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWxlRm9ybWF0KCk7IH1cbiAgc2V0IHNlbGVjdGVkRmlsZUZvcm1hdE1vZGVsKHY6IEV4cG9ydEZpbGVGb3JtYXQpIHsgdGhpcy5zZWxlY3RlZEZpbGVGb3JtYXQuc2V0KHYpOyB9XG5cbiAgZ2V0IGV4cG9ydFNjb3BlTW9kZWwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZXhwb3J0U2NvcGUoKTsgfVxuICBzZXQgZXhwb3J0U2NvcGVNb2RlbCh2OiBzdHJpbmcpIHsgdGhpcy5leHBvcnRTY29wZS5zZXQodiBhcyAnYWxsJyB8ICdzZWxlY3RlZCcpOyB9XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb2x1bW5zQ291bnQgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY29sdW1uU2VsZWN0aW9ucygpLmZpbHRlcihjID0+IGMuc2VsZWN0ZWQpLmxlbmd0aFxuICApO1xuICByZWFkb25seSBoYXNTZWxlY3RlZElkcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VsZWN0ZWRJZHMoKS5sZW5ndGggPiAwKTtcbiAgcmVhZG9ubHkgY2FuRXhwb3J0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3RlZENvbHVtbnNDb3VudCgpID4gMCAmJiAhdGhpcy5leHBvcnRpbmcoKSk7XG5cbiAgcmVhZG9ubHkgZmlsZVR5cGVzID0gW1xuICAgIHsgdmFsdWU6IEV4cG9ydEZpbGVUeXBlLkV4Y2VsLCBsYWJlbDogJ0V4Y2VsJywgaWNvbjogJ3BpLWZpbGUtZXhjZWwnLCBkZXNjcmlwdGlvbjogJ1BsYW5pbGhhIGNvbSBjb2x1bmFzIGFqdXN0w6F2ZWlzJyB9LFxuICAgIHsgdmFsdWU6IEV4cG9ydEZpbGVUeXBlLlBkZiwgICBsYWJlbDogJ1BERicsICAgaWNvbjogJ3BpLWZpbGUtcGRmJywgICBkZXNjcmlwdGlvbjogJ0RvY3VtZW50byBmb3JtYXRhZG8gcGFyYSBpbXByZXNzw6NvJyB9XG4gIF07XG4gIHJlYWRvbmx5IG9yaWVudGF0aW9ucyA9IFtcbiAgICB7IHZhbHVlOiBFeHBvcnRPcmllbnRhdGlvbi5MYW5kc2NhcGUsIGxhYmVsOiAnUGFpc2FnZW0gKEhvcml6b250YWwpJywgaWNvbjogJ3BpLWFycm93cy1oJyB9LFxuICAgIHsgdmFsdWU6IEV4cG9ydE9yaWVudGF0aW9uLlBvcnRyYWl0LCAgbGFiZWw6ICdSZXRyYXRvIChWZXJ0aWNhbCknLCAgICBpY29uOiAncGktYXJyb3dzLXYnIH1cbiAgXTtcbiAgcmVhZG9ubHkgZmlsZUZvcm1hdHMgPSBbXG4gICAgeyB2YWx1ZTogRXhwb3J0RmlsZUZvcm1hdC5BNCwgbGFiZWw6ICdBNCcsIGRlc2NyaXB0aW9uOiAnUGFkcsOjbyAoMjEww5cyOTdtbSknIH0sXG4gICAgeyB2YWx1ZTogRXhwb3J0RmlsZUZvcm1hdC5BMywgbGFiZWw6ICdBMycsIGRlc2NyaXB0aW9uOiAnR3JhbmRlICgyOTfDlzQyMG1tKScgfVxuICBdO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgaWYgKGNmZz8uY29sdW1ucykge1xuICAgICAgdGhpcy5jb2x1bW5TZWxlY3Rpb25zLnNldChcbiAgICAgICAgY2ZnLmNvbHVtbnMubWFwKGNvbCA9PiAoeyBjb2x1bW46IHRoaXMubm9ybWFsaXplQ29sdW1uKGNvbCksIHNlbGVjdGVkOiB0cnVlIH0pKVxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gU2luY3Jvbml6YSBlc2NvcG8gY29tIHByZXNlbsOnYSBkZSBJRHNcbiAgICB0aGlzLmV4cG9ydFNjb3BlLnNldCh0aGlzLnNlbGVjdGVkSWRzKCkubGVuZ3RoID4gMCA/ICdzZWxlY3RlZCcgOiAnYWxsJyk7XG5cbiAgICAvLyBTdWJzY3JpYmUgYW8gV2ViU29ja2V0IHF1YW5kbyBvIGRpYWxvZyBmaWNhIHZpc8OtdmVsXG4gICAgaWYgKHRoaXMudmlzaWJsZSgpICYmICF0aGlzLndzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvV2ViU29ja2V0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy53c1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLndlYlNvY2tldFNlcnZpY2UudW5zdWJzY3JpYmUodGhpcy53c0NvbmZpZyk7XG4gICAgdGhpcy53ZWJTb2NrZXRTZXJ2aWNlLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9XZWJTb2NrZXQoKTogdm9pZCB7XG4gICAgdGhpcy53c1N1YnNjcmlwdGlvbiA9IHRoaXMud2ViU29ja2V0U2VydmljZVxuICAgICAgLnN1YnNjcmliZTx7IGRhdGE6IHsgZW50aXR5TmFtZTogc3RyaW5nOyBzdWNjZXNzOiBib29sZWFuOyBkb3dubG9hZFVybDogc3RyaW5nIH0gfT4odGhpcy53c0NvbmZpZylcbiAgICAgIC5zdWJzY3JpYmUobXNnID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gbXNnLmJvZHkuZGF0YTtcbiAgICAgICAgICBpZiAoZGF0YT8uc3VjY2Vzcykge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRlZC5lbWl0KCk7XG4gICAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0RXJyb3IuZW1pdChkYXRhPy5lbnRpdHlOYW1lID8/ICcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5leHBvcnRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFeHBvcnRDb2x1bW4oY29sOiBFeHBvcnRDb2x1bW4gfCBFeHBvcnRDb2x1bW5JbnB1dCk6IGNvbCBpcyBFeHBvcnRDb2x1bW4ge1xuICAgIHJldHVybiAnY29sdW1uTmFtZScgaW4gY29sICYmICd0cmFuc2xhdGVLZXknIGluIGNvbCAmJiAnY29sdW1uVHlwZScgaW4gY29sO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVDb2x1bW4oY29sOiBFeHBvcnRDb2x1bW4gfCBFeHBvcnRDb2x1bW5JbnB1dCk6IEV4cG9ydENvbHVtbiB7XG4gICAgaWYgKHRoaXMuaXNFeHBvcnRDb2x1bW4oY29sKSkge1xuICAgICAgcmV0dXJuIGNvbDtcbiAgICB9XG4gICAgY29uc3QgaW5wdXQgPSBjb2wgYXMgRXhwb3J0Q29sdW1uSW5wdXQ7XG4gICAgY29uc3QgdHlwZU1hcDogUmVjb3JkPHN0cmluZywgRXhwb3J0Q29sdW1uVHlwZT4gPSB7XG4gICAgICAnVEVYVCc6IEV4cG9ydENvbHVtblR5cGUuVGV4dCwgJ05VTUJFUic6IEV4cG9ydENvbHVtblR5cGUuTnVtYmVyLFxuICAgICAgJ0VOVU0nOiBFeHBvcnRDb2x1bW5UeXBlLkVudW0sICdEQVRFJzogRXhwb3J0Q29sdW1uVHlwZS5EYXRlLFxuICAgICAgJ0RBVEVUSU1FJzogRXhwb3J0Q29sdW1uVHlwZS5EYXRldGltZSwgJ0NVUlJFTkNZJzogRXhwb3J0Q29sdW1uVHlwZS5DdXJyZW5jeSxcbiAgICAgICdzdGF0dXMnOiBFeHBvcnRDb2x1bW5UeXBlLkVudW0sICdudW1iZXInOiBFeHBvcnRDb2x1bW5UeXBlLk51bWJlciwgJ3RleHQnOiBFeHBvcnRDb2x1bW5UeXBlLlRleHRcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICBjb2x1bW5OYW1lOiBpbnB1dC5maWVsZCxcbiAgICAgIHRyYW5zbGF0ZUtleTogaW5wdXQuaGVhZGVyLFxuICAgICAgY29sdW1uVHlwZTogdHlwZU1hcFtpbnB1dC5leHBvcnRUeXBlID8/ICdURVhUJ10gPz8gRXhwb3J0Q29sdW1uVHlwZS5UZXh0LFxuICAgICAgdHJhbnNsYXRpb25LZXlQcmVmaXg6IGlucHV0LnRyYW5zbGF0aW9uS2V5UHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdEFsbENvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5TZWxlY3Rpb25zLnVwZGF0ZShjb2xzID0+IGNvbHMubWFwKGMgPT4gKHsgLi4uYywgc2VsZWN0ZWQ6IHRydWUgfSkpKTtcbiAgfVxuICBkZXNlbGVjdEFsbENvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5TZWxlY3Rpb25zLnVwZGF0ZShjb2xzID0+IGNvbHMubWFwKGMgPT4gKHsgLi4uYywgc2VsZWN0ZWQ6IGZhbHNlIH0pKSk7XG4gIH1cbiAgdG9nZ2xlQ29sdW1uKGNvbDogeyBjb2x1bW46IEV4cG9ydENvbHVtbjsgc2VsZWN0ZWQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIGNvbC5zZWxlY3RlZCA9ICFjb2wuc2VsZWN0ZWQ7XG4gICAgdGhpcy5yZWZyZXNoQ29sdW1ucygpO1xuICB9XG4gIHJlZnJlc2hDb2x1bW5zKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uU2VsZWN0aW9ucy51cGRhdGUoY29scyA9PiBbLi4uY29sc10pO1xuICB9XG4gIG9uRGlhbG9nSGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBhc3luYyBkb0V4cG9ydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmV4cG9ydGluZy5zZXQodHJ1ZSk7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcbiAgICBjb25zdCBzZWxlY3RlZENvbHMgPSB0aGlzLmNvbHVtblNlbGVjdGlvbnMoKS5maWx0ZXIoYyA9PiBjLnNlbGVjdGVkKS5tYXAoYyA9PiBjLmNvbHVtbik7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZXhwb3J0VmlhQmFja2VuZChjZmcsIHNlbGVjdGVkQ29scyk7XG4gICAgICAvLyBPIGRpYWxvZyBwZXJtYW5lY2UgYWJlcnRvIGNvbSBsb2FkaW5nIGF0w6kgbyBXZWJTb2NrZXQgbm90aWZpY2FyIG8gcmVzdWx0YWRvXG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aGlzLmV4cG9ydGluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5leHBvcnRFcnJvci5lbWl0KGNmZy5lbnRpdHlOYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4cG9ydFZpYUJhY2tlbmQoY2ZnOiBFeHBvcnREYXRhQ29uZmlnLCBjb2x1bW5zOiBFeHBvcnRDb2x1bW5bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVUeXBlID0gdGhpcy5zZWxlY3RlZEZpbGVUeXBlKCk7XG4gICAgY29uc3Qgb3JpZW50YXRpb24gPSB0aGlzLnNlbGVjdGVkT3JpZW50YXRpb24oKTtcbiAgICBjb25zdCBmaWxlRm9ybWF0ID0gdGhpcy5zZWxlY3RlZEZpbGVGb3JtYXQoKTtcblxuICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkSWRzKCkgJiYgdGhpcy5leHBvcnRTY29wZSgpID09PSAnc2VsZWN0ZWQnKSB7XG4gICAgICBhd2FpdCB0aGlzLmV4cG9ydFNlcnZpY2UuZXhwb3J0U2VsZWN0ZWRSZWNvcmRzKHtcbiAgICAgICAgZGF0YXNvdXJjZTogY2ZnLmRhdGFzb3VyY2UsIGZpZWxkczogY29sdW1ucyxcbiAgICAgICAgc2VsZWN0ZWRJZHM6IHRoaXMuc2VsZWN0ZWRJZHMoKSwgZW50aXR5TmFtZTogY2ZnLmVudGl0eU5hbWUsIGZpbGVUeXBlLCBvcmllbnRhdGlvbiwgZmlsZUZvcm1hdFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5leHBvcnRBbGxSZWNvcmRzKHtcbiAgICAgICAgZGF0YXNvdXJjZTogY2ZnLmRhdGFzb3VyY2UsIGZpZWxkczogY29sdW1ucyxcbiAgICAgICAgZmlsdGVyOiBjZmcuYWN0aXZlRmlsdGVyID8/ICcnLCBlbnRpdHlOYW1lOiBjZmcuZW50aXR5TmFtZSwgZmlsZVR5cGUsIG9yaWVudGF0aW9uLCBmaWxlRm9ybWF0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
616
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9leHBvcnQtZGF0YS9leHBvcnQtZGF0YS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUdOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7OztBQThmbEYsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLGFBQWEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLGNBQWMs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Qjs0RkFBbkIsbUJBQW1CLDJrQkFqZnBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVOVCwyMktBOU5DLFlBQVkseVBBQ1osV0FBVyw4VkFDWCxZQUFZLDBnQ0FDWixZQUFZLGliQUNaLGlCQUFpQixpV0FDakIsY0FBYzs7NEZBbWZMLG1CQUFtQjtrQkE1Zi9CLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVOVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgTmdab25lXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRXhwb3J0RGF0YVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2V4cG9ydC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0RGF0YUNvbmZpZywgRXhwb3J0Q29sdW1uLCBFeHBvcnRDb2x1bW5JbnB1dCB9IGZyb20gJy4vZW50aXRpZXMvZXhwb3J0LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4cG9ydEZpbGVUeXBlLCBFeHBvcnRPcmllbnRhdGlvbiwgRXhwb3J0RmlsZUZvcm1hdCwgRXhwb3J0Q29sdW1uVHlwZSB9IGZyb20gJy4vZW51bXMvZXhwb3J0LWRhdGEuZW51bXMnO1xuaW1wb3J0IHsgV2ViU29ja2V0U2VydmljZSwgV2ViU29ja2V0Q29uZmlnIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2NvbXBvbmVudHMtYWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLWV4cG9ydC1kYXRhJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHAtZGlhbG9nXG4gICAgICBbdmlzaWJsZV09XCJ2aXNpYmxlKClcIlxuICAgICAgKHZpc2libGVDaGFuZ2UpPVwidmlzaWJsZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgKG9uSGlkZSk9XCJvbkRpYWxvZ0hpZGUoKVwiXG4gICAgICBbbW9kYWxdPVwidHJ1ZVwiXG4gICAgICBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcbiAgICAgIFtyZXNpemFibGVdPVwiZmFsc2VcIlxuICAgICAgW3N0eWxlXT1cInsgd2lkdGg6ICc3MDBweCcgfVwiXG4gICAgICBzdHlsZUNsYXNzPVwicy1leHBvcnQtZGlhbG9nXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1kb3dubG9hZCBoZWFkZXItaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5FeHBvcnRhciBEYWRvczwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LWNvbnRlbnRcIj5cblxuICAgICAgICA8IS0tIEZvcm1hdG8gZGUgRXhwb3J0YcOnw6NvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LXNlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWljb25cIj48aSBjbGFzcz1cInBpIHBpLWZpbGVcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+Rm9ybWF0byBkbyBhcnF1aXZvPC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZtdCBvZiBmaWxlVHlwZXNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm1hdC1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkRmlsZVR5cGUoKSA9PT0gZm10LnZhbHVlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkRmlsZVR5cGUuc2V0KGZtdC52YWx1ZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZm10LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWxlVHlwZU1vZGVsXCJcbiAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIidmbXRfJyArIGZtdC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIiBbY2xhc3MuZXhjZWxdPVwiZm10LnZhbHVlID09PSAnRVhDRUwnXCIgW2NsYXNzLnBkZl09XCJmbXQudmFsdWUgPT09ICdQREYnXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaVwiIFtuZ0NsYXNzXT1cImZtdC5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5mb1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIidmbXRfJyArIGZtdC52YWx1ZVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IGZtdC5sYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWRlc2NyaXB0aW9uXCI+e3sgZm10LmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE9yaWVudGHDp8OjbyArIEZvcm1hdG8gZGEgZm9saGEgKGFwZW5hcyBQREYpIC0tPlxuICAgICAgICBAaWYgKHNlbGVjdGVkRmlsZVR5cGUoKSA9PT0gJ1BERicpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhwb3J0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1pY29uXCI+PGkgY2xhc3M9XCJwaSBwaS1hcnJvd3MtYWx0XCI+PC9pPjwvZGl2PlxuICAgICAgICAgICAgICA8aDM+T3JpZW50YcOnw6NvIGRhIHDDoWdpbmE8L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvIG9mIG9yaWVudGF0aW9uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtYXQtY2FyZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkT3JpZW50YXRpb24oKSA9PT0gby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkT3JpZW50YXRpb24uc2V0KG8udmFsdWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXJhZGlvXCI+XG4gICAgICAgICAgICAgICAgICA8cC1yYWRpb0J1dHRvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcmllbnRhdGlvbk1vZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiJ29yaWVudF8nICsgby52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGlcIiBbbmdDbGFzc109XCJvLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ29yaWVudF8nICsgby52YWx1ZVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IG8ubGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImV4cG9ydC1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taWNvblwiPjxpIGNsYXNzPVwicGkgcGktc3RvcFwiPjwvaT48L2Rpdj5cbiAgICAgICAgICAgICAgPGgzPkZvcm1hdG8gZGEgZm9saGE8L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmIG9mIGZpbGVGb3JtYXRzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1hdC1jYXJkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRGaWxlRm9ybWF0KCkgPT09IGYudmFsdWVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZEZpbGVGb3JtYXQuc2V0KGYudmFsdWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXJhZGlvXCI+XG4gICAgICAgICAgICAgICAgICA8cC1yYWRpb0J1dHRvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWxlRm9ybWF0TW9kZWxcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCInZm9ybWF0XycgKyBmLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgID48L3AtcmFkaW9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1maWxlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIidmb3JtYXRfJyArIGYudmFsdWVcIiBjbGFzcz1cImNhcmQtbGFiZWxcIj57eyBmLmxhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1kZXNjcmlwdGlvblwiPnt7IGYuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVzY29wbyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cG9ydC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1pY29uXCI+PGkgY2xhc3M9XCJwaSBwaS1maWx0ZXJcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+RXNjb3BvIGRhIGV4cG9ydGHDp8OjbzwvaDM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNjb3BlLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzY29wZS1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIiFoYXNTZWxlY3RlZElkcygpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImV4cG9ydFNjb3BlLnNldCgnYWxsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uIHZhbHVlPVwiYWxsXCIgWyhuZ01vZGVsKV09XCJleHBvcnRTY29wZU1vZGVsXCIgaW5wdXRJZD1cInNjb3BlX2FsbFwiPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWljb25cIj48aSBjbGFzcz1cInBpIHBpLWxpc3RcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2NvcGVfYWxsXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+VG9kb3Mgb3MgcmVnaXN0cm9zPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtZGVzY3JpcHRpb25cIj5FeHBvcnRhIHRvZG9zIGNvbSBvIGZpbHRybyBhdGl2bzwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzY29wZS1jYXJkXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImhhc1NlbGVjdGVkSWRzKClcIlxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIWhhc1NlbGVjdGVkSWRzKClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFzU2VsZWN0ZWRJZHMoKSA/IGV4cG9ydFNjb3BlLnNldCgnc2VsZWN0ZWQnKSA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1yYWRpb1wiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICB2YWx1ZT1cInNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZXhwb3J0U2NvcGVNb2RlbFwiXG4gICAgICAgICAgICAgICAgICBpbnB1dElkPVwic2NvcGVfc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFoYXNTZWxlY3RlZElkcygpXCJcbiAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaWNvblwiPjxpIGNsYXNzPVwicGkgcGktY2hlY2stc3F1YXJlXCI+PC9pPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbmZvXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNjb3BlX3NlbGVjdGVkXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+UmVnaXN0cm9zIHNlbGVjaW9uYWRvczwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWRlc2NyaXB0aW9uXCI+RXhwb3J0YSBhcGVuYXMgb3MgaXRlbnMgbWFyY2Fkb3M8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWNvdW50XCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWNpcmNsZS1maWxsXCI+PC9pPlxuICAgICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRJZHMoKS5sZW5ndGggfX0gcmVnaXN0cm8ocykgc2VsZWNpb25hZG8ocylcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gU2VsZcOnw6NvIGRlIENvbHVuYXMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJleHBvcnQtc2VjdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taWNvblwiPjxpIGNsYXNzPVwicGkgcGktdGFibGVcIj48L2k+PC9kaXY+XG4gICAgICAgICAgICA8aDM+Q29sdW5hczwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhY3Rpb24tbGlua1wiIChjbGljayk9XCJzZWxlY3RBbGxDb2x1bW5zKClcIj5Ub2RhczwvYnV0dG9uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPnw8L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWN0aW9uLWxpbmtcIiAoY2xpY2spPVwiZGVzZWxlY3RBbGxDb2x1bW5zKClcIj5OZW5odW1hPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucy1ncmlkXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uU2VsZWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb2x1bW4taXRlbVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjb2wuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29sdW1uKGNvbClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cC1jaGVja2JveFxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29sLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYmluYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIidjb2xfJyArIGNvbC5jb2x1bW4uY29sdW1uTmFtZVwiXG4gICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cInJlZnJlc2hDb2x1bW5zKClcIlxuICAgICAgICAgICAgICA+PC9wLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCInY29sXycgKyBjb2wuY29sdW1uLmNvbHVtbk5hbWVcIiBjbGFzcz1cImNvbHVtbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbC5jb2x1bW4udHJhbnNsYXRlS2V5IH19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucy1zdW1tYXJ5XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRDb2x1bW5zQ291bnQoKSB9fSBkZSB7eyBjb2x1bW5TZWxlY3Rpb25zKCkubGVuZ3RoIH19IGNvbHVuYXMgc2VsZWNpb25hZGFzPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgbGFiZWw9XCJDYW5jZWxhclwiXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXRpbWVzXCJcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgW3RleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25EaWFsb2dIaWRlKClcIlxuICAgICAgICAvPlxuICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICBsYWJlbD1cIkV4cG9ydGFyXCJcbiAgICAgICAgICBpY29uPVwicGkgcGktZG93bmxvYWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRXhwb3J0KClcIlxuICAgICAgICAgIFtsb2FkaW5nXT1cImV4cG9ydGluZygpXCJcbiAgICAgICAgICAob25DbGljayk9XCJkb0V4cG9ydCgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLWRpYWxvZz5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDo6bmctZGVlcCAucy1leHBvcnQtZGlhbG9nIC5wLWRpYWxvZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB9XG4gICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuY3VzdG9tLWhlYWRlciAuaGVhZGVyLWljb24ge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgIH1cblxuICAgIC5leHBvcnQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDMycHg7XG4gICAgfVxuXG4gICAgLmV4cG9ydC1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICAgIC5leHBvcnQtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnNlY3Rpb24taWNvbiB7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjEpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjE1KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbiAgICAuc2VjdGlvbi1pY29uIGkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgIH1cbiAgICAuc2VjdGlvbi1oZWFkZXIgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTgwMCwgIzFmMjkzNyk7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAuY29sdW1uLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuICAgIC5hY3Rpb24tbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvci0zMDAsICNkMWQ1ZGIpO1xuICAgIH1cblxuICAgIC8qIEZvcm1hdCBjYXJkcyAqL1xuICAgIC5mb3JtYXQtb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuZm9ybWF0LWNhcmQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjAzKSwgcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4wNikpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMTUpO1xuICAgIH1cbiAgICAuZm9ybWF0LWNhcmQ6aG92ZXI6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cbiAgICAuZm9ybWF0LWNhcmQuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wLXByaW1hcnktNTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMDUpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA4KSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4xKTtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkLnNlbGVjdGVkIC5jYXJkLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcC1wcmltYXJ5LTUwMCkgMCUsIHZhcigtLXAtcHJpbWFyeS01MDApIDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gICAgLmZvcm1hdC1jYXJkLnNlbGVjdGVkIC5jYXJkLWljb24gaSB7IGNvbG9yOiAjZmZmOyB9XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAsICNmMGZkZjQpIDAlLCB2YXIoLS1wLXByaW1hcnktMTAwLCAjZGNmY2U3KSAxMDAlKTtcbiAgICB9XG4gICAgLmNhcmQtaWNvbi5leGNlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAsICNmMGZkZjQpIDAlLCB2YXIoLS1wLXByaW1hcnktMTAwLCAjZGNmY2U3KSAxMDAlKTtcbiAgICB9XG4gICAgLmNhcmQtaWNvbi5leGNlbCBpIHsgY29sb3I6ICMxMDdjNDE7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAgIC5jYXJkLWljb24ucGRmIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZlZThlOCwgI2ZkZDRkNCk7IH1cbiAgICAuY2FyZC1pY29uLnBkZiBpIHsgY29sb3I6ICNkYzI2MjY7IGZvbnQtc2l6ZTogMjZweDsgfVxuICAgIC5jYXJkLWljb24gaSB7IGZvbnQtc2l6ZTogMjJweDsgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApOyB9XG5cbiAgICAuY2FyZC1pbmZvIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmNhcmQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTgwMCwgIzFmMjkzNyk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jYXJkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTYwMCwgIzRiNTU2Myk7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC8qIFNjb3BlIGNhcmRzICovXG4gICAgLnNjb3BlLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDE0cHg7XG4gICAgfVxuICAgIC5zY29wZS1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuc2NvcGUtY2FyZDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjEyKTtcbiAgICB9XG4gICAgLnNjb3BlLWNhcmQuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wLXByaW1hcnktNTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEodmFyKC0tcC1wcmltYXJ5LXJnYiksIDAuMDUpLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA4KSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4xKTtcbiAgICB9XG4gICAgLnNjb3BlLWNhcmQuc2VsZWN0ZWQgLmNhcmQtaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wLXByaW1hcnktNTAwKSAwJSwgdmFyKC0tcC1wcmltYXJ5LTUwMCkgMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgICAuc2NvcGUtY2FyZC5zZWxlY3RlZCAuY2FyZC1pY29uIGkgeyBjb2xvcjogI2ZmZjsgfVxuICAgIC5zY29wZS1jYXJkLmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICAgIH1cbiAgICAuY2FyZC1jb3VudCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5jYXJkLWNvdW50IGkgeyBmb250LXNpemU6IDZweDsgfVxuXG4gICAgLyogQ29sdW1ucyBncmlkICovXG4gICAgLmNvbHVtbnMtZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuICAgIC5jb2x1bW4taXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNvbHVtbi1pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjAzKTtcbiAgICB9XG4gICAgLmNvbHVtbi1pdGVtLnNlbGVjdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcC1wcmltYXJ5LTUwMCk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKHZhcigtLXAtcHJpbWFyeS1yZ2IpLCAwLjA1KSwgcmdiYSh2YXIoLS1wLXByaW1hcnktcmdiKSwgMC4wOCkpO1xuICAgIH1cbiAgICAuY29sdW1uLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvci04MDAsICMxZjI5MzcpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMtc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXAtcHJpbWFyeS01MCwgI2YwZmRmNCkgMCUsIHZhcigtLXAtcHJpbWFyeS0xMDAsICNkY2ZjZTcpIDEwMCUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG9yLTcwMCwgIzM3NDE1MSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAuY29sdW1ucy1zdW1tYXJ5IGkge1xuICAgICAgY29sb3I6IHZhcigtLXAtcHJpbWFyeS01MDApO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgOjpuZy1kZWVwIC5zLWV4cG9ydC1kaWFsb2cgLnAtZGlhbG9nIHsgd2lkdGg6IDk1dncgIWltcG9ydGFudDsgbWFyZ2luOiAwOyB9XG4gICAgICAuZXhwb3J0LWNvbnRlbnQgeyBwYWRkaW5nOiAyNHB4OyB9XG4gICAgICAuZm9ybWF0LW9wdGlvbnMsIC5jb2x1bW5zLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0RGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleHBvcnRTZXJ2aWNlID0gaW5qZWN0KEV4cG9ydERhdGFTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRTZXJ2aWNlID0gaW5qZWN0KFdlYlNvY2tldFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgd3NTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IHdzQ29uZmlnOiBXZWJTb2NrZXRDb25maWcgPSB7XG4gICAgZG9tYWluOiAnY3JteCcsXG4gICAgc2VydmljZTogJ2RhdGFleHBvcnQnLFxuICAgIHByaW1pdGl2ZTogJ3dzRXhwb3J0Q29tcGxldGVkJyxcbiAgICB1c2VyU2NvcGVkOiB0cnVlXG4gIH07XG5cbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdmlzaWJsZUNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxFeHBvcnREYXRhQ29uZmlnPigpO1xuICBzZWxlY3RlZElkcyA9IGlucHV0PHN0cmluZ1tdPihbXSk7XG4gIGV4cG9ydGVkID0gb3V0cHV0PHZvaWQ+KCk7XG4gIGV4cG9ydEVycm9yID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICByZWFkb25seSBzZWxlY3RlZEZpbGVUeXBlID0gc2lnbmFsPEV4cG9ydEZpbGVUeXBlPihFeHBvcnRGaWxlVHlwZS5FeGNlbCk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkT3JpZW50YXRpb24gPSBzaWduYWw8RXhwb3J0T3JpZW50YXRpb24+KEV4cG9ydE9yaWVudGF0aW9uLkxhbmRzY2FwZSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkRmlsZUZvcm1hdCA9IHNpZ25hbDxFeHBvcnRGaWxlRm9ybWF0PihFeHBvcnRGaWxlRm9ybWF0LkE0KTtcbiAgcmVhZG9ubHkgZXhwb3J0U2NvcGUgPSBzaWduYWw8J2FsbCcgfCAnc2VsZWN0ZWQnPignYWxsJyk7XG4gIHJlYWRvbmx5IGV4cG9ydGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbHVtblNlbGVjdGlvbnMgPSBzaWduYWw8eyBjb2x1bW46IEV4cG9ydENvbHVtbjsgc2VsZWN0ZWQ6IGJvb2xlYW4gfVtdPihbXSk7XG5cbiAgZ2V0IHNlbGVjdGVkRmlsZVR5cGVNb2RlbCgpOiBFeHBvcnRGaWxlVHlwZSB7IHJldHVybiB0aGlzLnNlbGVjdGVkRmlsZVR5cGUoKTsgfVxuICBzZXQgc2VsZWN0ZWRGaWxlVHlwZU1vZGVsKHY6IEV4cG9ydEZpbGVUeXBlKSB7IHRoaXMuc2VsZWN0ZWRGaWxlVHlwZS5zZXQodik7IH1cblxuICBnZXQgc2VsZWN0ZWRPcmllbnRhdGlvbk1vZGVsKCk6IEV4cG9ydE9yaWVudGF0aW9uIHsgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcmllbnRhdGlvbigpOyB9XG4gIHNldCBzZWxlY3RlZE9yaWVudGF0aW9uTW9kZWwodjogRXhwb3J0T3JpZW50YXRpb24pIHsgdGhpcy5zZWxlY3RlZE9yaWVudGF0aW9uLnNldCh2KTsgfVxuXG4gIGdldCBzZWxlY3RlZEZpbGVGb3JtYXRNb2RlbCgpOiBFeHBvcnRGaWxlRm9ybWF0IHsgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWxlRm9ybWF0KCk7IH1cbiAgc2V0IHNlbGVjdGVkRmlsZUZvcm1hdE1vZGVsKHY6IEV4cG9ydEZpbGVGb3JtYXQpIHsgdGhpcy5zZWxlY3RlZEZpbGVGb3JtYXQuc2V0KHYpOyB9XG5cbiAgZ2V0IGV4cG9ydFNjb3BlTW9kZWwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZXhwb3J0U2NvcGUoKTsgfVxuICBzZXQgZXhwb3J0U2NvcGVNb2RlbCh2OiBzdHJpbmcpIHsgdGhpcy5leHBvcnRTY29wZS5zZXQodiBhcyAnYWxsJyB8ICdzZWxlY3RlZCcpOyB9XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb2x1bW5zQ291bnQgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY29sdW1uU2VsZWN0aW9ucygpLmZpbHRlcihjID0+IGMuc2VsZWN0ZWQpLmxlbmd0aFxuICApO1xuICByZWFkb25seSBoYXNTZWxlY3RlZElkcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VsZWN0ZWRJZHMoKS5sZW5ndGggPiAwKTtcbiAgcmVhZG9ubHkgY2FuRXhwb3J0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3RlZENvbHVtbnNDb3VudCgpID4gMCAmJiAhdGhpcy5leHBvcnRpbmcoKSk7XG5cbiAgcmVhZG9ubHkgZmlsZVR5cGVzID0gW1xuICAgIHsgdmFsdWU6IEV4cG9ydEZpbGVUeXBlLkV4Y2VsLCBsYWJlbDogJ0V4Y2VsJywgaWNvbjogJ3BpLWZpbGUtZXhjZWwnLCBkZXNjcmlwdGlvbjogJ1BsYW5pbGhhIGNvbSBjb2x1bmFzIGFqdXN0w6F2ZWlzJyB9LFxuICAgIHsgdmFsdWU6IEV4cG9ydEZpbGVUeXBlLlBkZiwgICBsYWJlbDogJ1BERicsICAgaWNvbjogJ3BpLWZpbGUtcGRmJywgICBkZXNjcmlwdGlvbjogJ0RvY3VtZW50byBmb3JtYXRhZG8gcGFyYSBpbXByZXNzw6NvJyB9XG4gIF07XG4gIHJlYWRvbmx5IG9yaWVudGF0aW9ucyA9IFtcbiAgICB7IHZhbHVlOiBFeHBvcnRPcmllbnRhdGlvbi5MYW5kc2NhcGUsIGxhYmVsOiAnUGFpc2FnZW0gKEhvcml6b250YWwpJywgaWNvbjogJ3BpLWFycm93cy1oJyB9LFxuICAgIHsgdmFsdWU6IEV4cG9ydE9yaWVudGF0aW9uLlBvcnRyYWl0LCAgbGFiZWw6ICdSZXRyYXRvIChWZXJ0aWNhbCknLCAgICBpY29uOiAncGktYXJyb3dzLXYnIH1cbiAgXTtcbiAgcmVhZG9ubHkgZmlsZUZvcm1hdHMgPSBbXG4gICAgeyB2YWx1ZTogRXhwb3J0RmlsZUZvcm1hdC5BNCwgbGFiZWw6ICdBNCcsIGRlc2NyaXB0aW9uOiAnUGFkcsOjbyAoMjEww5cyOTdtbSknIH0sXG4gICAgeyB2YWx1ZTogRXhwb3J0RmlsZUZvcm1hdC5BMywgbGFiZWw6ICdBMycsIGRlc2NyaXB0aW9uOiAnR3JhbmRlICgyOTfDlzQyMG1tKScgfVxuICBdO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGxldCBjZmc6IEV4cG9ydERhdGFDb25maWcgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm47IC8vIGNvbmZpZyBhaW5kYSBuw6NvIGZvaSBzZXRhZG8gKHJlcXVpcmVkIGlucHV0KVxuICAgIH1cbiAgICBpZiAoY2ZnPy5jb2x1bW5zKSB7XG4gICAgICB0aGlzLmNvbHVtblNlbGVjdGlvbnMuc2V0KFxuICAgICAgICBjZmcuY29sdW1ucy5tYXAoY29sID0+ICh7IGNvbHVtbjogdGhpcy5ub3JtYWxpemVDb2x1bW4oY29sKSwgc2VsZWN0ZWQ6IHRydWUgfSkpXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBTaW5jcm9uaXphIGVzY29wbyBjb20gcHJlc2Vuw6dhIGRlIElEc1xuICAgIHRoaXMuZXhwb3J0U2NvcGUuc2V0KHRoaXMuc2VsZWN0ZWRJZHMoKS5sZW5ndGggPiAwID8gJ3NlbGVjdGVkJyA6ICdhbGwnKTtcblxuICAgIC8vIFN1YnNjcmliZSBhbyBXZWJTb2NrZXQgcXVhbmRvIG8gZGlhbG9nIGZpY2Egdmlzw612ZWxcbiAgICBpZiAodGhpcy52aXNpYmxlKCkgJiYgIXRoaXMud3NTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9XZWJTb2NrZXQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLndzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0U2VydmljZS51bnN1YnNjcmliZSh0aGlzLndzQ29uZmlnKTtcbiAgICB0aGlzLndlYlNvY2tldFNlcnZpY2UuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1dlYlNvY2tldCgpOiB2b2lkIHtcbiAgICB0aGlzLndzU3Vic2NyaXB0aW9uID0gdGhpcy53ZWJTb2NrZXRTZXJ2aWNlXG4gICAgICAuc3Vic2NyaWJlPHsgZGF0YTogeyBlbnRpdHlOYW1lOiBzdHJpbmc7IHN1Y2Nlc3M6IGJvb2xlYW47IGRvd25sb2FkVXJsOiBzdHJpbmcgfSB9Pih0aGlzLndzQ29uZmlnKVxuICAgICAgLnN1YnNjcmliZShtc2cgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBtc2cuYm9keS5kYXRhO1xuICAgICAgICAgIGlmIChkYXRhPy5zdWNjZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmV4cG9ydGVkLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRFcnJvci5lbWl0KGRhdGE/LmVudGl0eU5hbWUgPz8gJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmV4cG9ydGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4cG9ydENvbHVtbihjb2w6IEV4cG9ydENvbHVtbiB8IEV4cG9ydENvbHVtbklucHV0KTogY29sIGlzIEV4cG9ydENvbHVtbiB7XG4gICAgcmV0dXJuICdjb2x1bW5OYW1lJyBpbiBjb2wgJiYgJ3RyYW5zbGF0ZUtleScgaW4gY29sICYmICdjb2x1bW5UeXBlJyBpbiBjb2w7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUNvbHVtbihjb2w6IEV4cG9ydENvbHVtbiB8IEV4cG9ydENvbHVtbklucHV0KTogRXhwb3J0Q29sdW1uIHtcbiAgICBpZiAodGhpcy5pc0V4cG9ydENvbHVtbihjb2wpKSB7XG4gICAgICByZXR1cm4gY29sO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dCA9IGNvbCBhcyBFeHBvcnRDb2x1bW5JbnB1dDtcbiAgICBjb25zdCB0eXBlTWFwOiBSZWNvcmQ8c3RyaW5nLCBFeHBvcnRDb2x1bW5UeXBlPiA9IHtcbiAgICAgICdURVhUJzogRXhwb3J0Q29sdW1uVHlwZS5UZXh0LCAnTlVNQkVSJzogRXhwb3J0Q29sdW1uVHlwZS5OdW1iZXIsXG4gICAgICAnRU5VTSc6IEV4cG9ydENvbHVtblR5cGUuRW51bSwgJ0RBVEUnOiBFeHBvcnRDb2x1bW5UeXBlLkRhdGUsXG4gICAgICAnREFURVRJTUUnOiBFeHBvcnRDb2x1bW5UeXBlLkRhdGV0aW1lLCAnQ1VSUkVOQ1knOiBFeHBvcnRDb2x1bW5UeXBlLkN1cnJlbmN5LFxuICAgICAgJ3N0YXR1cyc6IEV4cG9ydENvbHVtblR5cGUuRW51bSwgJ251bWJlcic6IEV4cG9ydENvbHVtblR5cGUuTnVtYmVyLCAndGV4dCc6IEV4cG9ydENvbHVtblR5cGUuVGV4dFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbHVtbk5hbWU6IGlucHV0LmZpZWxkLFxuICAgICAgdHJhbnNsYXRlS2V5OiBpbnB1dC5oZWFkZXIsXG4gICAgICBjb2x1bW5UeXBlOiB0eXBlTWFwW2lucHV0LmV4cG9ydFR5cGUgPz8gJ1RFWFQnXSA/PyBFeHBvcnRDb2x1bW5UeXBlLlRleHQsXG4gICAgICB0cmFuc2xhdGlvbktleVByZWZpeDogaW5wdXQudHJhbnNsYXRpb25LZXlQcmVmaXhcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0QWxsQ29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtblNlbGVjdGlvbnMudXBkYXRlKGNvbHMgPT4gY29scy5tYXAoYyA9PiAoeyAuLi5jLCBzZWxlY3RlZDogdHJ1ZSB9KSkpO1xuICB9XG4gIGRlc2VsZWN0QWxsQ29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtblNlbGVjdGlvbnMudXBkYXRlKGNvbHMgPT4gY29scy5tYXAoYyA9PiAoeyAuLi5jLCBzZWxlY3RlZDogZmFsc2UgfSkpKTtcbiAgfVxuICB0b2dnbGVDb2x1bW4oY29sOiB7IGNvbHVtbjogRXhwb3J0Q29sdW1uOyBzZWxlY3RlZDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgY29sLnNlbGVjdGVkID0gIWNvbC5zZWxlY3RlZDtcbiAgICB0aGlzLnJlZnJlc2hDb2x1bW5zKCk7XG4gIH1cbiAgcmVmcmVzaENvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5TZWxlY3Rpb25zLnVwZGF0ZShjb2xzID0+IFsuLi5jb2xzXSk7XG4gIH1cbiAgb25EaWFsb2dIaWRlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGFzeW5jIGRvRXhwb3J0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXhwb3J0aW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIGNvbnN0IHNlbGVjdGVkQ29scyA9IHRoaXMuY29sdW1uU2VsZWN0aW9ucygpLmZpbHRlcihjID0+IGMuc2VsZWN0ZWQpLm1hcChjID0+IGMuY29sdW1uKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5leHBvcnRWaWFCYWNrZW5kKGNmZywgc2VsZWN0ZWRDb2xzKTtcbiAgICAgIC8vIE8gZGlhbG9nIHBlcm1hbmVjZSBhYmVydG8gY29tIGxvYWRpbmcgYXTDqSBvIFdlYlNvY2tldCBub3RpZmljYXIgbyByZXN1bHRhZG9cbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRoaXMuZXhwb3J0aW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLmV4cG9ydEVycm9yLmVtaXQoY2ZnLmVudGl0eU5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXhwb3J0VmlhQmFja2VuZChjZmc6IEV4cG9ydERhdGFDb25maWcsIGNvbHVtbnM6IEV4cG9ydENvbHVtbltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZVR5cGUgPSB0aGlzLnNlbGVjdGVkRmlsZVR5cGUoKTtcbiAgICBjb25zdCBvcmllbnRhdGlvbiA9IHRoaXMuc2VsZWN0ZWRPcmllbnRhdGlvbigpO1xuICAgIGNvbnN0IGZpbGVGb3JtYXQgPSB0aGlzLnNlbGVjdGVkRmlsZUZvcm1hdCgpO1xuXG4gICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRJZHMoKSAmJiB0aGlzLmV4cG9ydFNjb3BlKCkgPT09ICdzZWxlY3RlZCcpIHtcbiAgICAgIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5leHBvcnRTZWxlY3RlZFJlY29yZHMoe1xuICAgICAgICBkYXRhc291cmNlOiBjZmcuZGF0YXNvdXJjZSwgZmllbGRzOiBjb2x1bW5zLFxuICAgICAgICBzZWxlY3RlZElkczogdGhpcy5zZWxlY3RlZElkcygpLCBlbnRpdHlOYW1lOiBjZmcuZW50aXR5TmFtZSwgZmlsZVR5cGUsIG9yaWVudGF0aW9uLCBmaWxlRm9ybWF0XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydEFsbFJlY29yZHMoe1xuICAgICAgICBkYXRhc291cmNlOiBjZmcuZGF0YXNvdXJjZSwgZmllbGRzOiBjb2x1bW5zLFxuICAgICAgICBmaWx0ZXI6IGNmZy5hY3RpdmVGaWx0ZXIgPz8gJycsIGVudGl0eU5hbWU6IGNmZy5lbnRpdHlOYW1lLCBmaWxlVHlwZSwgb3JpZW50YXRpb24sIGZpbGVGb3JtYXRcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -2131,7 +2131,13 @@ class ExportDataComponent {
|
|
|
2131
2131
|
{ value: ExportFileFormat.A3, label: 'A3', description: 'Grande (297×420mm)' }
|
|
2132
2132
|
];
|
|
2133
2133
|
ngOnChanges() {
|
|
2134
|
-
|
|
2134
|
+
let cfg;
|
|
2135
|
+
try {
|
|
2136
|
+
cfg = this.config();
|
|
2137
|
+
}
|
|
2138
|
+
catch {
|
|
2139
|
+
return; // config ainda não foi setado (required input)
|
|
2140
|
+
}
|
|
2135
2141
|
if (cfg?.columns) {
|
|
2136
2142
|
this.columnSelections.set(cfg.columns.map(col => ({ column: this.normalizeColumn(col), selected: true })));
|
|
2137
2143
|
}
|