@materia/users
Version:
Signin/signup your users in your Materia application
387 lines • 43.1 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { AddonView } from '@materia/addons';
import { HttpClient } from '@angular/common/http';
import { SignupFormComponent } from '../signup-form/signup-form.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@angular/common/http";
import * as i3 from "@angular/flex-layout/flex";
import * as i4 from "@angular/common";
import * as i5 from "@angular/material/card";
import * as i6 from "../signup-form/signup-form.component";
import * as i7 from "@angular/material/toolbar";
import * as i8 from "@angular/material/icon";
import * as i9 from "@angular/material/badge";
import * as i10 from "@angular/material/button";
import * as i11 from "@angular/material/tooltip";
import * as i12 from "@angular/material/paginator";
import * as i13 from "@angular/material/progress-spinner";
import * as i14 from "../emails-settings/email-settings.component";
function UserManagementViewComponent_div_1_Template(rf, ctx) { if (rf & 1) {
var _r9 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 9);
i0.ɵɵtext(1);
i0.ɵɵelementStart(2, "a", 10);
i0.ɵɵlistener("click", function UserManagementViewComponent_div_1_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r9); var ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.logout(); });
i0.ɵɵtext(3, "Logout");
i0.ɵɵelementEnd();
i0.ɵɵtext(4, ") ");
i0.ɵɵelementEnd();
} if (rf & 2) {
var ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate1(" Currently connected as ", ctx_r0.me.email, " (");
} }
function UserManagementViewComponent_ng_container_4_button_7_Template(rf, ctx) { if (rf & 1) {
var _r13 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "button", 17);
i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); var ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.configureEmails(); });
i0.ɵɵtext(1, "Configure emails");
i0.ɵɵelementEnd();
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span");
i0.ɵɵtext(1, "verified");
i0.ɵɵelementEnd();
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
var _r25 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "button", 30);
i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); var user_r18 = i0.ɵɵnextContext(2).$implicit; var ctx_r23 = i0.ɵɵnextContext(4); return ctx_r23.resendVerification(user_r18.id_user); });
i0.ɵɵtext(1, "Resend verification");
i0.ɵɵelementEnd();
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 28);
i0.ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template, 2, 0, "span", 3);
i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template, 2, 0, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor);
i0.ɵɵelementEnd();
} if (rf & 2) {
var _r21 = i0.ɵɵreference(3);
var user_r18 = i0.ɵɵnextContext().$implicit;
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", user_r18.verified)("ngIfElse", _r21);
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 24);
i0.ɵɵelement(1, "img", 25);
i0.ɵɵelementStart(2, "div", 26);
i0.ɵɵtext(3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template, 4, 2, "div", 27);
i0.ɵɵelementEnd();
} if (rf & 2) {
var user_r18 = ctx.$implicit;
var ctx_r17 = i0.ɵɵnextContext(4);
i0.ɵɵadvance(1);
i0.ɵɵproperty("src", user_r18.gravatar, i0.ɵɵsanitizeUrl);
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(user_r18.email);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r17.settings == null ? null : ctx_r17.settings.email_verification);
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template(rf, ctx) { if (rf & 1) {
var _r28 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 20);
i0.ɵɵelementStart(1, "div", 21);
i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template, 5, 3, "div", 22);
i0.ɵɵelementEnd();
i0.ɵɵelementStart(3, "mat-paginator", 23);
i0.ɵɵlistener("page", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template_mat_paginator_page_3_listener($event) { i0.ɵɵrestoreView(_r28); var ctx_r27 = i0.ɵɵnextContext(3); return ctx_r27.paginationEvent($event); });
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
var ctx_r14 = i0.ɵɵnextContext(3);
i0.ɵɵadvance(1);
i0.ɵɵstyleProp("overflow-y", "auto");
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngForOf", ctx_r14.users);
i0.ɵɵadvance(1);
i0.ɵɵproperty("length", ctx_r14.nbUsers)("pageIndex", ctx_r14.defaultPageIndex);
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template(rf, ctx) { if (rf & 1) {
var _r30 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 31);
i0.ɵɵelementStart(1, "span");
i0.ɵɵtext(2, "There is no users registered yet");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(3, "div");
i0.ɵɵelementStart(4, "button", 32);
i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r30); var ctx_r29 = i0.ɵɵnextContext(3); return ctx_r29.openSignupDialog(); });
i0.ɵɵtext(5, " Create a user ");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(4);
i0.ɵɵstyleProp("margin", "15px")("color", "white");
} }
function UserManagementViewComponent_ng_container_4_ng_container_11_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template, 4, 5, "div", 18);
i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template, 6, 4, "ng-template", null, 19, i0.ɵɵtemplateRefExtractor);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
var _r15 = i0.ɵɵreference(3);
var ctx_r11 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r11.users && ctx_r11.users.length)("ngIfElse", _r15);
} }
function UserManagementViewComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
var _r32 = i0.ɵɵgetCurrentView();
i0.ɵɵelementContainerStart(0);
i0.ɵɵelementStart(1, "mat-toolbar", 11);
i0.ɵɵelementStart(2, "mat-icon");
i0.ɵɵtext(3, "people");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(4, "span", 12);
i0.ɵɵtext(5, " Users ");
i0.ɵɵelementEnd();
i0.ɵɵelement(6, "span", 13);
i0.ɵɵtemplate(7, UserManagementViewComponent_ng_container_4_button_7_Template, 2, 0, "button", 14);
i0.ɵɵelementStart(8, "button", 15);
i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r32); var ctx_r31 = i0.ɵɵnextContext(); return ctx_r31.openSignupDialog(); });
i0.ɵɵelementStart(9, "mat-icon", 16);
i0.ɵɵtext(10, "add");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵtemplate(11, UserManagementViewComponent_ng_container_4_ng_container_11_Template, 4, 2, "ng-container", 3);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
var ctx_r1 = i0.ɵɵnextContext();
var _r2 = i0.ɵɵreference(6);
i0.ɵɵadvance(4);
i0.ɵɵproperty("matBadge", ctx_r1.nbUsers);
i0.ɵɵadvance(3);
i0.ɵɵproperty("ngIf", !ctx_r1.displayEmailSettings && ctx_r1.settings.email_verification && ctx_r1.settings.email_addon);
i0.ɵɵadvance(4);
i0.ɵɵproperty("ngIf", !ctx_r1.loading)("ngIfElse", _r2);
} }
function UserManagementViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 33);
i0.ɵɵelement(1, "mat-spinner");
i0.ɵɵelementEnd();
} }
function UserManagementViewComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
var _r34 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 31);
i0.ɵɵelementStart(1, "span");
i0.ɵɵtext(2, "It seems ");
i0.ɵɵelementStart(3, "strong");
i0.ɵɵtext(4, "@materia/users");
i0.ɵɵelementEnd();
i0.ɵɵtext(5, " addon is not configured yet");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(6, "div");
i0.ɵɵelementStart(7, "button", 32);
i0.ɵɵlistener("click", function UserManagementViewComponent_ng_template_7_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r34); var ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.openSetup.emit(); });
i0.ɵɵtext(8, " Settings ");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(7);
i0.ɵɵstyleProp("margin", "15px")("color", "white");
} }
function UserManagementViewComponent_div_9_Template(rf, ctx) { if (rf & 1) {
var _r36 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 34);
i0.ɵɵelementStart(1, "mat-toolbar", 11);
i0.ɵɵelementStart(2, "button", 35);
i0.ɵɵlistener("click", function UserManagementViewComponent_div_9_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r36); var ctx_r35 = i0.ɵɵnextContext(); return ctx_r35.hideEmailSettings(); });
i0.ɵɵelementStart(3, "mat-icon");
i0.ɵɵtext(4, "arrow_back");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementStart(5, "mat-icon");
i0.ɵɵtext(6, "mail");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(7, "span");
i0.ɵɵtext(8, " Emails ");
i0.ɵɵelementEnd();
i0.ɵɵelement(9, "span", 13);
i0.ɵɵelementEnd();
i0.ɵɵelementStart(10, "materia-user-management-email-settings", 36);
i0.ɵɵlistener("hide", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_hide_10_listener() { i0.ɵɵrestoreView(_r36); var ctx_r37 = i0.ɵɵnextContext(); return ctx_r37.hideEmailSettings(); })("save", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_save_10_listener($event) { i0.ɵɵrestoreView(_r36); var ctx_r38 = i0.ɵɵnextContext(); return ctx_r38.saveEmailSettings($event); });
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
var ctx_r6 = i0.ɵɵnextContext();
i0.ɵɵadvance(10);
i0.ɵɵproperty("settings", ctx_r6.settings)("baseUrl", ctx_r6.baseUrl);
} }
var UserManagementViewComponent = /** @class */ (function () {
function UserManagementViewComponent(dialog, http) {
this.dialog = dialog;
this.http = http;
this.openSetup = new EventEmitter();
this.snackbarSuccess = new EventEmitter();
this.loading = true;
this.users = [];
this.nbUsers = 0;
this.defaultPageIndex = 0;
}
UserManagementViewComponent.prototype.ngOnInit = function () {
this.refreshList();
this.refreshConnectedUser();
this.getProfileParams();
};
UserManagementViewComponent.prototype.getProfileParams = function () {
var _this = this;
if (this.settings &&
this.settings.user_profile_enabled &&
this.settings.user_profile_entity) {
return this.http
.get(this.baseUrl + "/infos")
.toPromise()
.then(function (res) {
var profileEntity = res.entities.find(function (entity) { return entity.name === _this.settings.user_profile_entity; });
_this.profileFields = profileEntity.fields.filter(function (field) {
return field.name !== 'id_user' &&
(!field.primary || (field.primary && !field.autoIncrement));
});
})
.catch(function (e) {
_this.profileFields = [];
});
}
else {
this.profileFields = [];
return Promise.resolve();
}
};
UserManagementViewComponent.prototype.refreshList = function (params) {
var _this = this;
this.loading = true;
this.http
.post(this.baseUrl + "/entities/user/queries/listWithGravatar", params)
.subscribe(function (res) {
_this.users = res.data;
_this.nbUsers = res.count;
_this.loading = false;
});
};
UserManagementViewComponent.prototype.refreshConnectedUser = function () {
var _this = this;
this.http.get(this.apiUrl + "/user/me").subscribe(function (res) {
_this.me = res;
}, function () { return (_this.me = null); });
};
UserManagementViewComponent.prototype.paginationEvent = function (event) {
this.defaultPageIndex = event.pageIndex;
this.refreshList({ limit: event.pageSize, page: event.pageIndex + 1 });
};
UserManagementViewComponent.prototype.configureEmails = function () {
this.displayEmailSettings = true;
};
UserManagementViewComponent.prototype.hideEmailSettings = function () {
this.displayEmailSettings = false;
};
UserManagementViewComponent.prototype.openSignupDialog = function () {
this.signupDialog = this.dialog.open(this.signupDialogComp.template, {
panelClass: 'no-padding'
});
};
UserManagementViewComponent.prototype.saveEmailSettings = function (settings) {
var _this = this;
this.http
.post(this.baseUrl + "/addons/@materia/users/setup", settings)
.subscribe(function () {
_this.snackbarSuccess.emit('Settings saved!');
_this.hideEmailSettings();
_this.settings = settings;
});
};
UserManagementViewComponent.prototype.closeSignupDialog = function () {
this.signupDialog.close();
};
UserManagementViewComponent.prototype.signup = function (user) {
var _this = this;
this.http.post(this.apiUrl + "/user/signup", user).subscribe(function () {
_this.closeSignupDialog();
_this.refreshList();
_this.refreshConnectedUser();
});
};
UserManagementViewComponent.prototype.logout = function () {
var _this = this;
this.http.post(this.apiUrl + "/user/logout", {}).subscribe(function () {
_this.refreshConnectedUser();
}, function () { return _this.refreshConnectedUser(); });
};
UserManagementViewComponent.prototype.resendVerification = function (id) {
var _this = this;
this.http.post(this.baseUrl + "/entities/user/queries/sendVerificationEmail", { id_user: id })
.subscribe(function () { return _this.snackbarSuccess.emit('Verification email sent!'); });
};
UserManagementViewComponent.ctorParameters = function () { return [
{ type: MatDialog },
{ type: HttpClient }
]; };
UserManagementViewComponent.ɵfac = function UserManagementViewComponent_Factory(t) { return new (t || UserManagementViewComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.HttpClient)); };
UserManagementViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: UserManagementViewComponent, selectors: [["materia-user-management"]], viewQuery: function UserManagementViewComponent_Query(rf, ctx) { if (rf & 1) {
i0.ɵɵstaticViewQuery(SignupFormComponent, true);
} if (rf & 2) {
var _t;
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.signupDialogComp = _t.first);
} }, inputs: { app: "app", settings: "settings", baseUrl: "baseUrl", apiUrl: "apiUrl" }, outputs: { openSetup: "openSetup", snackbarSuccess: "snackbarSuccess" }, decls: 12, vars: 5, consts: [["fxLayout", "column", "fxFlex", ""], ["style", "padding: 8px 16px; background-color: #4CAF50; color: white;", 4, "ngIf"], ["fxLayout", "row", "fxFlex", ""], [4, "ngIf", "ngIfElse"], ["loadingUsers", ""], ["noSettings", ""], ["style", "margin: 8px;", "fxLayout", "column", "fxFlex", "", 4, "ngIf"], [3, "profileFields", "signup", "cancel"], ["signupFormTemplate", ""], [2, "padding", "8px 16px", "background-color", "#4CAF50", "color", "white"], [2, "text-decoration", "underline", "cursor", "pointer", 3, "click"], ["fxLayout", "row", "fxLayoutAlign", "start center"], ["matBadgeOverlap", "false", 3, "matBadge"], ["fxFlex", ""], ["style", "margin-right: 8px;", "mat-button", "", 3, "click", 4, "ngIf"], ["mat-mini-fab", "", "matTooltip", "New User", "matTooltipPosition", "left", 2, "width", "31px", "height", "31px", 3, "click"], [2, "position", "relative", "top", "-6px", "left", "-4px"], ["mat-button", "", 2, "margin-right", "8px", 3, "click"], ["style", "border-top: 1px solid #EEE; overflow-y: auto;", "fxLayout", "column", "fxFlex", "", 4, "ngIf", "ngIfElse"], ["noUser", ""], ["fxLayout", "column", "fxFlex", "", 2, "border-top", "1px solid #EEE", "overflow-y", "auto"], ["fxFlex", "", "fxLayout", "column"], ["fxLayout", "row", "fxLayoutAlign", "start center", "style", "border-bottom: 1px solid #EEE; cursor: pointer;min-height: 40px", 4, "ngFor", "ngForOf"], ["hidePageSize", "true", "showFirstLastButtons", "true", 3, "length", "pageIndex", "page"], ["fxLayout", "row", "fxLayoutAlign", "start center", 2, "border-bottom", "1px solid #EEE", "cursor", "pointer", "min-height", "40px"], [1, "avatar", 2, "margin", "0 8px", "width", "32px", "height", "32px", "border-radius", "100%", 3, "src"], ["fxFlex", "", 2, "color", "#999", "padding-top", "0"], ["class", "verified", 4, "ngIf"], [1, "verified"], ["resendTemplate", ""], ["mat-button", "", 3, "click"], ["fxFlex", "", "fxLayout", "column", "fxLayoutAlign", "center center", 1, "no-users"], ["mat-raised-button", "", "color", "primary", 3, "click"], ["fxLayout", "column", "fxFlex", "", "fxLayoutAlign", "center center"], ["fxLayout", "column", "fxFlex", "", 2, "margin", "8px"], ["mat-icon-button", "", "matTooltip", "Hide email settings", "matTooltipPosition", "right", 3, "click"], ["fxFlex", "", 2, "overflow-y", "auto", 3, "settings", "baseUrl", "hide", "save"]], template: function UserManagementViewComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 0);
i0.ɵɵtemplate(1, UserManagementViewComponent_div_1_Template, 5, 1, "div", 1);
i0.ɵɵelementStart(2, "div", 2);
i0.ɵɵelementStart(3, "mat-card", 0);
i0.ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_Template, 12, 4, "ng-container", 3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(5, UserManagementViewComponent_ng_template_5_Template, 2, 0, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(7, UserManagementViewComponent_ng_template_7_Template, 9, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(9, UserManagementViewComponent_div_9_Template, 11, 2, "div", 6);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementStart(10, "materia-signup-form", 7, 8);
i0.ɵɵlistener("signup", function UserManagementViewComponent_Template_materia_signup_form_signup_10_listener($event) { return ctx.signup($event); })("cancel", function UserManagementViewComponent_Template_materia_signup_form_cancel_10_listener() { return ctx.closeSignupDialog(); });
i0.ɵɵelementEnd();
} if (rf & 2) {
var _r4 = i0.ɵɵreference(8);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.me);
i0.ɵɵadvance(3);
i0.ɵɵproperty("ngIf", ctx.settings == null ? null : ctx.settings.method)("ngIfElse", _r4);
i0.ɵɵadvance(5);
i0.ɵɵproperty("ngIf", ctx.displayEmailSettings);
i0.ɵɵadvance(1);
i0.ɵɵproperty("profileFields", ctx.profileFields);
} }, directives: [i3.DefaultLayoutDirective, i3.DefaultFlexDirective, i4.NgIf, i5.MatCard, i6.SignupFormComponent, i7.MatToolbar, i3.DefaultLayoutAlignDirective, i8.MatIcon, i9.MatBadge, i10.MatButton, i11.MatTooltip, i4.NgForOf, i12.MatPaginator, i13.MatSpinner, i14.EmailSettingsComponent], styles: ["[_nghost-%COMP%]{flex:1 1 0} .mat-paginator-container{background:#f5f5f5}mat-card[_ngcontent-%COMP%]{margin:8px;padding:0}mat-icon[_ngcontent-%COMP%]{margin:2px 8px}.no-users[_ngcontent-%COMP%]{font-style:italic}.verified[_ngcontent-%COMP%]{margin:0 15px}.verified[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#4caf50;font-size:14px;font-weight:700;margin:0 16px}"] });
UserManagementViewComponent = __decorate([
AddonView('@materia/users'),
__metadata("design:paramtypes", [MatDialog,
HttpClient])
], UserManagementViewComponent);
return UserManagementViewComponent;
}());
export { UserManagementViewComponent };
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(UserManagementViewComponent, [{
type: Component,
args: [{
selector: 'materia-user-management',
templateUrl: './user-management.component.html',
styleUrls: ['./user-management.component.scss']
}]
}], function () { return [{ type: i1.MatDialog }, { type: i2.HttpClient }]; }, { app: [{
type: Input
}], settings: [{
type: Input
}], baseUrl: [{
type: Input
}], apiUrl: [{
type: Input
}], openSetup: [{
type: Output
}], snackbarSuccess: [{
type: Output
}], signupDialogComp: [{
type: ViewChild,
args: [SignupFormComponent, { static: true }]
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtYXRlcmlhL3VzZXJzLyIsInNvdXJjZXMiOlsidXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQudHMiLCJ1c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2QxRSw4QkFDQztJQUFBLFlBQXFDO0lBQUEsNkJBQTJFO0lBQW5CLG9MQUFrQjtJQUFDLHNCQUFNO0lBQUEsaUJBQUk7SUFBQSxrQkFDM0g7SUFBQSxpQkFBTTs7O0lBREwsZUFBcUM7SUFBckMsd0VBQXFDOzs7O0lBV2xDLGtDQUErSjtJQUF2Qyx3TkFBMkI7SUFBWSxnQ0FBZ0I7SUFBQSxpQkFBUzs7O0lBWXBMLDRCQUFpRDtJQUFBLHdCQUFRO0lBQUEsaUJBQU87Ozs7SUFFL0Qsa0NBQThEO0lBQTNDLGdVQUEwQztJQUFDLG1DQUFtQjtJQUFBLGlCQUFTOzs7SUFINUYsK0JBQ0M7SUFBQSwrSEFBaUQ7SUFDakQsK0tBQ0M7SUFFRixpQkFBTTs7OztJQUpDLGVBQTBDO0lBQTFDLHdDQUEwQyxrQkFBQTs7O0lBSmxELCtCQUNDO0lBQUEsMEJBQ0E7SUFBQSwrQkFBZ0Q7SUFBQSxZQUFjO0lBQUEsaUJBQU07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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQWRkb25WaWV3IH0gZnJvbSAnQG1hdGVyaWEvYWRkb25zJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IElBcHAgfSBmcm9tICdAbWF0ZXJpYS9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgU2lnbnVwRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NpZ251cC1mb3JtL3NpZ251cC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlbWVudFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItc2V0dGluZy5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGdyYXZhdGFyOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyaWZpZWQ/OiBib29sZWFuO1xuICBpZF9zdHJpcGU/OiBzdHJpbmc7XG4gIGlkX3VzZXI/OiBudW1iZXI7XG59XG5cbkBBZGRvblZpZXcoJ0BtYXRlcmlhL3VzZXJzJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdGVyaWEtdXNlci1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNYW5hZ2VtZW50Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFwcDogSUFwcDtcbiAgQElucHV0KCkgc2V0dGluZ3M6IFVzZXJNYW5hZ2VtZW50U2V0dGluZ3M7XG4gIEBJbnB1dCgpIGJhc2VVcmw6IHN0cmluZztcbiAgQElucHV0KCkgYXBpVXJsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9wZW5TZXR1cCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNuYWNrYmFyU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoU2lnbnVwRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgc2lnbnVwRGlhbG9nQ29tcDogU2lnbnVwRm9ybUNvbXBvbmVudDtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgbWU6IGFueTtcbiAgdXNlcnM6IFVzZXJbXSA9IFtdO1xuICBuYlVzZXJzID0gMDtcbiAgc2lnbnVwRGlhbG9nOiBNYXREaWFsb2dSZWY8YW55PjtcbiAgcHJvZmlsZUZpZWxkczogYW55W107XG4gIGRpc3BsYXlFbWFpbFNldHRpbmdzOiBib29sZWFuO1xuICBkZWZhdWx0UGFnZUluZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoTGlzdCgpO1xuICAgIHRoaXMucmVmcmVzaENvbm5lY3RlZFVzZXIoKTtcbiAgICB0aGlzLmdldFByb2ZpbGVQYXJhbXMoKTtcbiAgfVxuXG4gIGdldFByb2ZpbGVQYXJhbXMoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZXR0aW5ncyAmJlxuICAgICAgdGhpcy5zZXR0aW5ncy51c2VyX3Byb2ZpbGVfZW5hYmxlZCAmJlxuICAgICAgdGhpcy5zZXR0aW5ncy51c2VyX3Byb2ZpbGVfZW50aXR5XG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8YW55PihgJHt0aGlzLmJhc2VVcmx9L2luZm9zYClcbiAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvZmlsZUVudGl0eSA9IHJlcy5lbnRpdGllcy5maW5kKFxuICAgICAgICAgICAgZW50aXR5ID0+IGVudGl0eS5uYW1lID09PSB0aGlzLnNldHRpbmdzLnVzZXJfcHJvZmlsZV9lbnRpdHlcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucHJvZmlsZUZpZWxkcyA9IHByb2ZpbGVFbnRpdHkuZmllbGRzLmZpbHRlcihcbiAgICAgICAgICAgIGZpZWxkID0+XG4gICAgICAgICAgICAgIGZpZWxkLm5hbWUgIT09ICdpZF91c2VyJyAmJlxuICAgICAgICAgICAgICAoIWZpZWxkLnByaW1hcnkgfHwgKGZpZWxkLnByaW1hcnkgJiYgIWZpZWxkLmF1dG9JbmNyZW1lbnQpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlID0+IHtcbiAgICAgICAgICB0aGlzLnByb2ZpbGVGaWVsZHMgPSBbXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvZmlsZUZpZWxkcyA9IFtdO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hMaXN0KHBhcmFtcz8pIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmJhc2VVcmx9L2VudGl0aWVzL3VzZXIvcXVlcmllcy9saXN0V2l0aEdyYXZhdGFyYCwgcGFyYW1zKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLnVzZXJzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubmJVc2VycyA9IHJlcy5jb3VudDtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hDb25uZWN0ZWRVc2VyKCkge1xuICAgIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFwaVVybH0vdXNlci9tZWApLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIHRoaXMubWUgPSByZXM7XG4gICAgICB9LFxuICAgICAgKCkgPT4gKHRoaXMubWUgPSBudWxsKVxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0aW9uRXZlbnQoZXZlbnQ6IFBhZ2VFdmVudCkge1xuICAgIHRoaXMuZGVmYXVsdFBhZ2VJbmRleCA9IGV2ZW50LnBhZ2VJbmRleDtcbiAgICB0aGlzLnJlZnJlc2hMaXN0KHtsaW1pdDogZXZlbnQucGFnZVNpemUsIHBhZ2U6IGV2ZW50LnBhZ2VJbmRleCArIDF9KTtcbiAgfVxuXG4gIGNvbmZpZ3VyZUVtYWlscygpIHtcbiAgICB0aGlzLmRpc3BsYXlFbWFpbFNldHRpbmdzID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGVFbWFpbFNldHRpbmdzKCkge1xuICAgIHRoaXMuZGlzcGxheUVtYWlsU2V0dGluZ3MgPSBmYWxzZTtcbiAgfVxuXG4gIG9wZW5TaWdudXBEaWFsb2coKSB7XG4gICAgdGhpcy5zaWdudXBEaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuc2lnbnVwRGlhbG9nQ29tcC50ZW1wbGF0ZSwge1xuICAgICAgcGFuZWxDbGFzczogJ25vLXBhZGRpbmcnXG4gICAgfSk7XG4gIH1cblxuICBzYXZlRW1haWxTZXR0aW5ncyhzZXR0aW5ncykge1xuICAgIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmJhc2VVcmx9L2FkZG9ucy9AbWF0ZXJpYS91c2Vycy9zZXR1cGAsIHNldHRpbmdzKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tiYXJTdWNjZXNzLmVtaXQoJ1NldHRpbmdzIHNhdmVkIScpO1xuICAgICAgICB0aGlzLmhpZGVFbWFpbFNldHRpbmdzKCk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VTaWdudXBEaWFsb2coKSB7XG4gICAgdGhpcy5zaWdudXBEaWFsb2cuY2xvc2UoKTtcbiAgfVxuXG4gIHNpZ251cCh1c2VyKSB7XG4gICAgdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmFwaVVybH0vdXNlci9zaWdudXBgLCB1c2VyKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZVNpZ251cERpYWxvZygpO1xuICAgICAgdGhpcy5yZWZyZXNoTGlzdCgpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29ubmVjdGVkVXNlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hcGlVcmx9L3VzZXIvbG9nb3V0YCwge30pLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ29ubmVjdGVkVXNlcigpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHRoaXMucmVmcmVzaENvbm5lY3RlZFVzZXIoKVxuICAgICk7XG4gIH1cblxuICByZXNlbmRWZXJpZmljYXRpb24oaWQpIHtcbiAgICB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYmFzZVVybH0vZW50aXRpZXMvdXNlci9xdWVyaWVzL3NlbmRWZXJpZmljYXRpb25FbWFpbGAsIHtpZF91c2VyOiBpZH0pXG4gICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNuYWNrYmFyU3VjY2Vzcy5lbWl0KCdWZXJpZmljYXRpb24gZW1haWwgc2VudCEnKSk7XG4gIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXg+XG5cdDxkaXYgKm5nSWY9XCJtZVwiIHN0eWxlPVwicGFkZGluZzogOHB4IDE2cHg7IGJhY2tncm91bmQtY29sb3I6ICM0Q0FGNTA7IGNvbG9yOiB3aGl0ZTtcIj5cblx0XHRDdXJyZW50bHkgY29ubmVjdGVkIGFzIHt7bWUuZW1haWx9fSAoPGEgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJsb2dvdXQoKVwiPkxvZ291dDwvYT4pXG5cdDwvZGl2PlxuXHQ8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PlxuXHRcdDxtYXQtY2FyZCBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5ncz8ubWV0aG9kOyBlbHNlIG5vU2V0dGluZ3NcIj5cblx0XHRcdFx0PG1hdC10b29sYmFyIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuXHRcdFx0XHRcdDxtYXQtaWNvbj5wZW9wbGU8L21hdC1pY29uPlxuXHRcdFx0XHRcdDxzcGFuIFttYXRCYWRnZV09XCJuYlVzZXJzXCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5cblx0XHRcdFx0XHRcdFVzZXJzXG5cdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGZ4RmxleD48L3NwYW4+XG5cdFx0XHRcdFx0PGJ1dHRvbiAqbmdJZj1cIiFkaXNwbGF5RW1haWxTZXR0aW5ncyAmJiBzZXR0aW5ncy5lbWFpbF92ZXJpZmljYXRpb24gJiYgc2V0dGluZ3MuZW1haWxfYWRkb25cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogOHB4O1wiIChjbGljayk9XCJjb25maWd1cmVFbWFpbHMoKVwiIG1hdC1idXR0b24+Q29uZmlndXJlIGVtYWlsczwvYnV0dG9uPlxuXHRcdFx0XHRcdDxidXR0b24gbWF0LW1pbmktZmFiIChjbGljayk9XCJvcGVuU2lnbnVwRGlhbG9nKClcIiBtYXRUb29sdGlwPVwiTmV3IFVzZXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCIgc3R5bGU9XCJ3aWR0aDogMzFweDsgaGVpZ2h0OiAzMXB4O1wiPlxuXHRcdFx0XHRcdFx0PG1hdC1pY29uIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC02cHg7IGxlZnQ6IC00cHg7XCI+YWRkPC9tYXQtaWNvbj5cblx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0PC9tYXQtdG9vbGJhcj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRpbmdVc2Vyc1wiPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJ1c2VycyAmJiB1c2Vycy5sZW5ndGg7IGVsc2Ugbm9Vc2VyXCIgc3R5bGU9XCJib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTsgb3ZlcmZsb3cteTogYXV0bztcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdFx0XHRcdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgW3N0eWxlLm92ZXJmbG93WV09XCInYXV0bydcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2Vyc1wiIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUU7IGN1cnNvcjogcG9pbnRlcjttaW4taGVpZ2h0OiA0MHB4XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltZyBbc3JjXT1cInVzZXIuZ3JhdmF0YXJcIiBjbGFzcz1cImF2YXRhclwiIHN0eWxlPVwibWFyZ2luOiAwIDhweDsgd2lkdGg6MzJweDsgaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czogMTAwJVwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBzdHlsZT1cImNvbG9yOiAjOTk5OyBwYWRkaW5nLXRvcDogMFwiIGZ4RmxleD57e3VzZXIuZW1haWx9fTwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ2ZXJpZmllZFwiICpuZ0lmPVwic2V0dGluZ3M/LmVtYWlsX3ZlcmlmaWNhdGlvblwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gKm5nSWY9XCJ1c2VyLnZlcmlmaWVkOyBlbHNlIHJlc2VuZFRlbXBsYXRlXCI+dmVyaWZpZWQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgI3Jlc2VuZFRlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbih1c2VyLmlkX3VzZXIpXCI+UmVzZW5kIHZlcmlmaWNhdGlvbjwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDxtYXQtcGFnaW5hdG9yXG5cdFx0XHRcdFx0XHRcdGhpZGVQYWdlU2l6ZT1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRzaG93Rmlyc3RMYXN0QnV0dG9ucz1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRbbGVuZ3RoXT1cIm5iVXNlcnNcIlxuXHRcdFx0XHRcdFx0XHRbcGFnZUluZGV4XT1cImRlZmF1bHRQYWdlSW5kZXhcIlxuXHRcdFx0XHRcdFx0XHQocGFnZSk9XCJwYWdpbmF0aW9uRXZlbnQoJGV2ZW50KVwiPlxuXHRcdFx0XHRcdFx0PC9tYXQtcGFnaW5hdG9yPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjbm9Vc2VyPlxuXHRcdFx0XHRcdFx0PGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibm8tdXNlcnNcIj5cblx0XHRcdFx0XHRcdFx0PHNwYW4+VGhlcmUgaXMgbm8gdXNlcnMgcmVnaXN0ZXJlZCB5ZXQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0XHRcdFx0PGJ1dHRvbiAoY2xpY2spPVwib3BlblNpZ251cERpYWxvZygpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3N0eWxlLm1hcmdpbl09XCInMTVweCdcIiBbc3R5bGUuY29sb3JdPVwiJ3doaXRlJ1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0Q3JlYXRlIGEgdXNlclxuXHRcdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9tYXQtY2FyZD5cblx0XHQ8bmctdGVtcGxhdGUgI2xvYWRpbmdVc2Vycz5cblx0XHRcdDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXggZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cblx0XHRcdFx0PG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjbm9TZXR0aW5ncz5cblx0XHRcdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm5vLXVzZXJzXCI+XG5cdFx0XHRcdDxzcGFuPkl0IHNlZW1zIDxzdHJvbmc+QG1hdGVyaWEvdXNlcnM8L3N0cm9uZz4gYWRkb24gaXMgbm90IGNvbmZpZ3VyZWQgeWV0PC9zcGFuPlxuXHRcdFx0XHQ8ZGl2PlxuXHRcdFx0XHRcdDxidXR0b24gKGNsaWNrKT1cIm9wZW5TZXR1cC5lbWl0KClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbc3R5bGUubWFyZ2luXT1cIicxNXB4J1wiIFtzdHlsZS5jb2xvcl09XCInd2hpdGUnXCI+XG5cdFx0XHRcdFx0XHRTZXR0aW5nc1xuXHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PGRpdiBzdHlsZT1cIm1hcmdpbjogOHB4O1wiICpuZ0lmPVwiZGlzcGxheUVtYWlsU2V0dGluZ3NcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdDxtYXQtdG9vbGJhciBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cblx0XHRcdFx0PGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImhpZGVFbWFpbFNldHRpbmdzKClcIiBtYXRUb29sdGlwPVwiSGlkZSBlbWFpbCBzZXR0aW5nc1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG5cdFx0XHRcdFx0PG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuXHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0PG1hdC1pY29uPm1haWw8L21hdC1pY29uPlxuXHRcdFx0XHQ8c3Bhbj5cblx0XHRcdFx0XHRFbWFpbHNcblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBmeEZsZXg+PC9zcGFuPlxuXHRcdFx0PC9tYXQtdG9vbGJhcj5cblx0XHRcdDxtYXRlcmlhLXVzZXItbWFuYWdlbWVudC1lbWFpbC1zZXR0aW5ncyBbc2V0dGluZ3NdPVwic2V0dGluZ3NcIiBbYmFzZVVybF09XCJiYXNlVXJsXCJcblx0XHRcdFx0KGhpZGUpPVwiaGlkZUVtYWlsU2V0dGluZ3MoKVwiIChzYXZlKT1cInNhdmVFbWFpbFNldHRpbmdzKCRldmVudClcIiBmeEZsZXggc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvO1wiPlxuXHRcdFx0PC9tYXRlcmlhLXVzZXItbWFuYWdlbWVudC1lbWFpbC1zZXR0aW5ncz5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxtYXRlcmlhLXNpZ251cC1mb3JtICNzaWdudXBGb3JtVGVtcGxhdGUgW3Byb2ZpbGVGaWVsZHNdPVwicHJvZmlsZUZpZWxkc1wiIChzaWdudXApPVwic2lnbnVwKCRldmVudClcIiAoY2FuY2VsKT1cImNsb3NlU2lnbnVwRGlhbG9nKClcIj48L21hdGVyaWEtc2lnbnVwLWZvcm0+Il19