zek 16.0.25 → 16.0.29
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.
- package/esm2022/lib/modules/google-login-button/google-login-button.mjs +97 -0
- package/esm2022/lib/modules/google-login-button/index.mjs +3 -0
- package/esm2022/lib/modules/google-login-button/loader.mjs +10 -0
- package/esm2022/lib/modules/google-login-button/module.mjs +41 -0
- package/esm2022/lib/modules/index.mjs +2 -1
- package/esm2022/lib/services/web.api.mjs +1 -1
- package/esm2022/lib/tokens.mjs +2 -1
- package/fesm2022/zek.mjs +136 -1
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/modules/google-login-button/google-login-button.d.ts +27 -0
- package/lib/modules/google-login-button/index.d.ts +2 -0
- package/lib/modules/google-login-button/loader.d.ts +10 -0
- package/lib/modules/google-login-button/module.d.ts +12 -0
- package/lib/modules/index.d.ts +1 -0
- package/lib/tokens.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Inject, Input, Output } from "@angular/core";
|
|
2
|
+
import { loader } from './loader';
|
|
3
|
+
import { GOOGLE_CLIENT_ID } from "../../tokens";
|
|
4
|
+
import { CoreComponent } from "../../components";
|
|
5
|
+
import { Convert } from "../../utils";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
class ZekGoogleLoginButton extends CoreComponent {
|
|
8
|
+
constructor(client_id) {
|
|
9
|
+
super();
|
|
10
|
+
this.client_id = client_id;
|
|
11
|
+
this._prompt = true;
|
|
12
|
+
this.onLoginResponse = new EventEmitter();
|
|
13
|
+
this.onLogin = new EventEmitter();
|
|
14
|
+
this._buttonContainer = 'google-login-container';
|
|
15
|
+
this.onLoadComplete = (google) => {
|
|
16
|
+
this.google = google;
|
|
17
|
+
this.initialize();
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
get prompt() {
|
|
21
|
+
return this._prompt;
|
|
22
|
+
}
|
|
23
|
+
set prompt(v) {
|
|
24
|
+
this._prompt = Convert.toBooleanProperty(v);
|
|
25
|
+
}
|
|
26
|
+
get buttonContainer() {
|
|
27
|
+
return this._buttonContainer;
|
|
28
|
+
}
|
|
29
|
+
set buttonContainer(v) {
|
|
30
|
+
if (!v)
|
|
31
|
+
throw new Error('buttonContainer is required');
|
|
32
|
+
this._buttonContainer = v;
|
|
33
|
+
}
|
|
34
|
+
async init() {
|
|
35
|
+
super.init();
|
|
36
|
+
// await GoogleLoginButton.loadScript();
|
|
37
|
+
if ("google" in window) {
|
|
38
|
+
this.google = google;
|
|
39
|
+
this.initialize();
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
loader.loadScript(this.onLoadComplete);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
initialize() {
|
|
46
|
+
this.google.accounts.id.initialize({
|
|
47
|
+
client_id: this.client_id,
|
|
48
|
+
callback: (response) => {
|
|
49
|
+
this.handleCredentialResponse(response);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.renderButton();
|
|
53
|
+
this.autoPrompt();
|
|
54
|
+
}
|
|
55
|
+
renderButton() {
|
|
56
|
+
this.google.accounts.id.renderButton(document.getElementById(this._buttonContainer),
|
|
57
|
+
// this._elementRef.nativeElement.parentElement,
|
|
58
|
+
{ theme: "outline", size: "large" } // customization attributes
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
autoPrompt() {
|
|
62
|
+
if (this._prompt)
|
|
63
|
+
this.google.accounts.id.prompt(); // also display the One Tap dialog
|
|
64
|
+
}
|
|
65
|
+
handleCredentialResponse(response) {
|
|
66
|
+
this.onLoginResponse?.emit(response);
|
|
67
|
+
this.onLogin?.emit(response.credential);
|
|
68
|
+
// let payload = JwtHelper.decode(response.credential);
|
|
69
|
+
// console.log("ID: " + payload.sub);
|
|
70
|
+
// console.log('Full Name: ' + payload.name);
|
|
71
|
+
// console.log('Given Name: ' + payload.given_name);
|
|
72
|
+
// console.log('Family Name: ' + payload.family_name);
|
|
73
|
+
// console.log("Image URL: " + payload.picture);
|
|
74
|
+
// console.log("Email: " + payload.email);
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekGoogleLoginButton, deps: [{ token: GOOGLE_CLIENT_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
77
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: ZekGoogleLoginButton, selector: "zek-google-login", inputs: { prompt: "prompt", buttonContainer: "buttonContainer" }, outputs: { onLoginResponse: "onLoginResponse", onLogin: "onLogin" }, usesInheritance: true, ngImport: i0 }); }
|
|
78
|
+
}
|
|
79
|
+
export { ZekGoogleLoginButton };
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekGoogleLoginButton, decorators: [{
|
|
81
|
+
type: Directive,
|
|
82
|
+
args: [{
|
|
83
|
+
selector: 'zek-google-login',
|
|
84
|
+
}]
|
|
85
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
86
|
+
type: Inject,
|
|
87
|
+
args: [GOOGLE_CLIENT_ID]
|
|
88
|
+
}] }]; }, propDecorators: { prompt: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], onLoginResponse: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], onLogin: [{
|
|
93
|
+
type: Output
|
|
94
|
+
}], buttonContainer: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWxvZ2luLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvZ29vZ2xlLWxvZ2luLWJ1dHRvbi9nb29nbGUtbG9naW4tYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTdEMsTUFHYSxvQkFBcUIsU0FBUSxhQUFhO0lBRW5ELFlBQXVELFNBQWlCO1FBQ3BFLEtBQUssRUFBRSxDQUFDO1FBRDJDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFJaEUsWUFBTyxHQUFZLElBQUksQ0FBQztRQVF0QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0IscUJBQWdCLEdBQUcsd0JBQXdCLENBQUM7UUF3QzVDLG1CQUFjLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFBO0lBdkRELENBQUM7SUFFRCxJQUFhLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLENBQWU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQU1ELElBQWEsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsQ0FBYztRQUM5QixJQUFJLENBQUMsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFxQlEsS0FBSyxDQUFDLElBQUk7UUFDZixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYix3Q0FBd0M7UUFFeEMsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBTUQsVUFBVTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELFlBQVk7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNoQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxnREFBZ0Q7UUFDaEQsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBRSwyQkFBMkI7U0FDbkUsQ0FBQztJQUNOLENBQUM7SUFDRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztJQUM1RSxDQUFDO0lBR0Qsd0JBQXdCLENBQUMsUUFBYTtRQUNsQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsdURBQXVEO1FBQ3ZELHFDQUFxQztRQUNyQyw2Q0FBNkM7UUFDN0Msb0RBQW9EO1FBQ3BELHNEQUFzRDtRQUN0RCxnREFBZ0Q7UUFDaEQsMENBQTBDO0lBQzlDLENBQUM7OEdBakdRLG9CQUFvQixrQkFFVCxnQkFBZ0I7a0dBRjNCLG9CQUFvQjs7U0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7OzBCQUdnQixNQUFNOzJCQUFDLGdCQUFnQjs0Q0FLdkIsTUFBTTtzQkFBbEIsS0FBSztnQkFPSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBR00sZUFBZTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBsb2FkZXIgfSBmcm9tICcuL2xvYWRlcic7XHJcbmltcG9ydCB7IEdPT0dMRV9DTElFTlRfSUQgfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcbmltcG9ydCB7IENvcmVDb21wb25lbnQsIEJvb2xlYW5JbnB1dCwgU3RyaW5nSW5wdXQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBDb252ZXJ0IH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5kZWNsYXJlIGxldCBnb29nbGU6IGFueTtcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZUxvZ2luQ29uZmlnIHtcclxuICAgIGNsaWVudF9pZDogc3RyaW5nO1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWdvb2dsZS1sb2dpbicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtHb29nbGVMb2dpbkJ1dHRvbiBleHRlbmRzIENvcmVDb21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoR09PR0xFX0NMSUVOVF9JRCkgcHJpdmF0ZSByZWFkb25seSBjbGllbnRfaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcHJvbXB0OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGdldCBwcm9tcHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb21wdDtcclxuICAgIH1cclxuICAgIHNldCBwcm9tcHQodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fcHJvbXB0ID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgb25Mb2dpblJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uTG9naW4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfYnV0dG9uQ29udGFpbmVyID0gJ2dvb2dsZS1sb2dpbi1jb250YWluZXInO1xyXG4gICAgQElucHV0KCkgZ2V0IGJ1dHRvbkNvbnRhaW5lcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYnV0dG9uQ29udGFpbmVyO1xyXG4gICAgfVxyXG4gICAgc2V0IGJ1dHRvbkNvbnRhaW5lcih2OiBTdHJpbmdJbnB1dCkge1xyXG4gICAgICAgIGlmICghdilcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdidXR0b25Db250YWluZXIgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgICB0aGlzLl9idXR0b25Db250YWluZXIgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHByaXZhdGUgX3R5cGU6ICdzdGFuZGFyZCcgfCAnaWNvbic7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IHR5cGUoKTogJycge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl90eXBlO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcHVibGljIHNldCB0eXBlKHY6ICdzdGFuZGFyZCcgfCAnaWNvbicpIHtcclxuICAgIC8vICAgICB0aGlzLl90eXBlID0gdjtcclxuICAgIC8vIH1cclxuXHJcblxyXG5cclxuICAgIC8vIHByaXZhdGUgc3RhdGljIF9sb2FkZWQgPSBmYWxzZTtcclxuICAgIC8vIHN0YXRpYyBhc3luYyBsb2FkU2NyaXB0KCkge1xyXG4gICAgLy8gICAgIGlmICh0aGlzLl9sb2FkZWQpIHJldHVybjtcclxuICAgIC8vICAgICBhd2FpdCBIdG1sSGVscGVyLmxvYWRTY3JpcHRzKCdodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vZ3NpL2NsaWVudCcpO1xyXG4gICAgLy8gICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgZ29vZ2xlPzogYW55O1xyXG4gICAgb3ZlcnJpZGUgYXN5bmMgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KCk7XHJcbiAgICAgICAgLy8gYXdhaXQgR29vZ2xlTG9naW5CdXR0b24ubG9hZFNjcmlwdCgpO1xyXG5cclxuICAgICAgICBpZiAoXCJnb29nbGVcIiBpbiB3aW5kb3cpIHtcclxuICAgICAgICAgICAgdGhpcy5nb29nbGUgPSBnb29nbGU7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxvYWRlci5sb2FkU2NyaXB0KHRoaXMub25Mb2FkQ29tcGxldGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgb25Mb2FkQ29tcGxldGUgPSAoZ29vZ2xlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmdvb2dsZSA9IGdvb2dsZTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIHRoaXMuZ29vZ2xlLmFjY291bnRzLmlkLmluaXRpYWxpemUoe1xyXG4gICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50X2lkLFxyXG4gICAgICAgICAgICBjYWxsYmFjazogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ3JlZGVudGlhbFJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlckJ1dHRvbigpO1xyXG4gICAgICAgIHRoaXMuYXV0b1Byb21wdCgpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyQnV0dG9uKCkge1xyXG4gICAgICAgIHRoaXMuZ29vZ2xlLmFjY291bnRzLmlkLnJlbmRlckJ1dHRvbihcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fYnV0dG9uQ29udGFpbmVyKSxcclxuICAgICAgICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsXHJcbiAgICAgICAgICAgIHsgdGhlbWU6IFwib3V0bGluZVwiLCBzaXplOiBcImxhcmdlXCIgfSAgLy8gY3VzdG9taXphdGlvbiBhdHRyaWJ1dGVzXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIGF1dG9Qcm9tcHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Byb21wdClcclxuICAgICAgICAgICAgdGhpcy5nb29nbGUuYWNjb3VudHMuaWQucHJvbXB0KCk7IC8vIGFsc28gZGlzcGxheSB0aGUgT25lIFRhcCBkaWFsb2dcclxuICAgIH1cclxuXHJcblxyXG4gICAgaGFuZGxlQ3JlZGVudGlhbFJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uTG9naW5SZXNwb25zZT8uZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgdGhpcy5vbkxvZ2luPy5lbWl0KHJlc3BvbnNlLmNyZWRlbnRpYWwpO1xyXG5cclxuICAgICAgICAvLyBsZXQgcGF5bG9hZCA9IEp3dEhlbHBlci5kZWNvZGUocmVzcG9uc2UuY3JlZGVudGlhbCk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJJRDogXCIgKyBwYXlsb2FkLnN1Yik7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0Z1bGwgTmFtZTogJyArIHBheWxvYWQubmFtZSk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0dpdmVuIE5hbWU6ICcgKyBwYXlsb2FkLmdpdmVuX25hbWUpO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdGYW1pbHkgTmFtZTogJyArIHBheWxvYWQuZmFtaWx5X25hbWUpO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiSW1hZ2UgVVJMOiBcIiArIHBheWxvYWQucGljdHVyZSk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJFbWFpbDogXCIgKyBwYXlsb2FkLmVtYWlsKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './google-login-button';
|
|
2
|
+
export * from './module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2dvb2dsZS1sb2dpbi1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ29vZ2xlLWxvZ2luLWJ1dHRvbidcclxuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnOyJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HtmlHelper } from "../../utils";
|
|
2
|
+
function loadScript(onLoaded, url, nonce) {
|
|
3
|
+
window.onGoogleLibraryLoad = () => {
|
|
4
|
+
onLoaded(google);
|
|
5
|
+
};
|
|
6
|
+
const src = url || "https://accounts.google.com/gsi/client";
|
|
7
|
+
HtmlHelper.loadScript(src, nonce, true, true);
|
|
8
|
+
}
|
|
9
|
+
export const loader = { loadScript };
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9nb29nbGUtbG9naW4tYnV0dG9uL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBV3pDLFNBQVMsVUFBVSxDQUNmLFFBQStCLEVBQy9CLEdBQVksRUFDWixLQUFjO0lBRWQsTUFBTSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRTtRQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLHdDQUF3QyxDQUFDO0lBQzVELFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbEhlbHBlciB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5cclxuZGVjbGFyZSB2YXIgZ29vZ2xlOiBhbnk7XHJcblxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICAgICAgb25Hb29nbGVMaWJyYXJ5TG9hZDogKCkgPT4gdm9pZDtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gbG9hZFNjcmlwdChcclxuICAgIG9uTG9hZGVkOiAoZ29vZ2xlOiBhbnkpID0+IHZvaWQsXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBub25jZT86IHN0cmluZ1xyXG4pOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vbkdvb2dsZUxpYnJhcnlMb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIG9uTG9hZGVkKGdvb2dsZSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNyYyA9IHVybCB8fCBcImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9nc2kvY2xpZW50XCI7XHJcbiAgICBIdG1sSGVscGVyLmxvYWRTY3JpcHQoc3JjLCBub25jZSwgdHJ1ZSwgdHJ1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkZXIgPSB7IGxvYWRTY3JpcHQgfTsiXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ZekGoogleLoginButton } from './google-login-button';
|
|
4
|
+
import { GOOGLE_CLIENT_ID } from '../../tokens';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class GoogleLoginModule {
|
|
7
|
+
static forRoot(config) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: GoogleLoginModule,
|
|
10
|
+
providers: [
|
|
11
|
+
ZekGoogleLoginButton,
|
|
12
|
+
{
|
|
13
|
+
provide: GOOGLE_CLIENT_ID,
|
|
14
|
+
useValue: config.client_id
|
|
15
|
+
},
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
static forChild(config) {
|
|
20
|
+
return this.forRoot(config);
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, declarations: [ZekGoogleLoginButton], imports: [CommonModule], exports: [ZekGoogleLoginButton] }); }
|
|
24
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, imports: [CommonModule] }); }
|
|
25
|
+
}
|
|
26
|
+
export { GoogleLoginModule };
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, decorators: [{
|
|
28
|
+
type: NgModule,
|
|
29
|
+
args: [{
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule
|
|
32
|
+
],
|
|
33
|
+
declarations: [
|
|
34
|
+
ZekGoogleLoginButton
|
|
35
|
+
],
|
|
36
|
+
exports: [
|
|
37
|
+
ZekGoogleLoginButton
|
|
38
|
+
]
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9nb29nbGUtbG9naW4tYnV0dG9uL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFxQixvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFaEQsTUFXYSxpQkFBaUI7SUFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF5QjtRQUMzQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1Qsb0JBQW9CO2dCQUNwQjtvQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVM7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUdJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBeUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBakJRLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQU50QixvQkFBb0IsYUFIcEIsWUFBWSxhQU1aLG9CQUFvQjsrR0FHZixpQkFBaUIsWUFUdEIsWUFBWTs7U0FTUCxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFYN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1Ysb0JBQW9CO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBHb29nbGVMb2dpbkNvbmZpZywgWmVrR29vZ2xlTG9naW5CdXR0b24gfSBmcm9tICcuL2dvb2dsZS1sb2dpbi1idXR0b24nO1xyXG5pbXBvcnQgeyBHT09HTEVfQ0xJRU5UX0lEIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgWmVrR29vZ2xlTG9naW5CdXR0b25cclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgWmVrR29vZ2xlTG9naW5CdXR0b25cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEdvb2dsZUxvZ2luTW9kdWxlIHtcclxuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEdvb2dsZUxvZ2luQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxHb29nbGVMb2dpbk1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuZ01vZHVsZTogR29vZ2xlTG9naW5Nb2R1bGUsXHJcbiAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgWmVrR29vZ2xlTG9naW5CdXR0b24sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwcm92aWRlOiBHT09HTEVfQ0xJRU5UX0lELFxyXG4gICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcuY2xpZW50X2lkXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogR29vZ2xlTG9naW5Db25maWcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSb290KGNvbmZpZyk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -9,6 +9,7 @@ export * from './datepicker';
|
|
|
9
9
|
export * from './edit-toolbar';
|
|
10
10
|
export * from './file';
|
|
11
11
|
export * from './file-viewer';
|
|
12
|
+
export * from './google-login-button';
|
|
12
13
|
export * from './grid-toolbar';
|
|
13
14
|
export * from './list-toolbar';
|
|
14
15
|
export * from './loading';
|
|
@@ -30,4 +31,4 @@ export * from './validator';
|
|
|
30
31
|
export * from './validators';
|
|
31
32
|
export * from './wizard';
|
|
32
33
|
// export * from './'
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFFekIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JiJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWxsYmFjayc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1hZ28nO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2VkaXQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS12aWV3ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2dvb2dsZS1sb2dpbi1idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyaWQtdG9vbGJhcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC10b29sYmFyJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS10aXRsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8nO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlYWRvbmx5JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWNhcHRjaGEvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NhZmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGltZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi93aXphcmQnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi8nIl19
|
|
@@ -127,4 +127,4 @@ export class CustomHttpParamEncoder {
|
|
|
127
127
|
return decodeURIComponent(value);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL3dlYi5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLENBQUEsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQW9KbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQXRJekMsTUFDYSxZQUFZO0lBQ3JCLFlBQ3VCLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ0osT0FBZTtRQUZuQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ0osWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUMxRCxDQUFDO0lBRUQsR0FBRyxDQUFVLEdBQVcsRUFBRSxNQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRzs7Ozs7Ozs7O01BU0Y7SUFDRixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFlO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RJLENBQUM7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Q0FBQztJQUNELFNBQVMsQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLyosIEh0dHBFcnJvclJlc3BvbnNlKi8gfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuLy9pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9vZic7XHJcbi8vaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG4vL2ltcG9ydCB7IGRlbGV0ZU51bGxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG4vL2ltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXIsIEhhbmRsZUVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJBcGlDb25maWcge1xyXG4gICAgYmFzZVVybDogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBXZWJBcGlDbGllbnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KEFQSV9CQVNFX1VSTCkgcHJpdmF0ZSByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXQ8VCA9IGFueT4odXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgICAgIC8qLmNhdGNoKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKSlcclxuICAgICAgICAuZG8oKHJlczogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIHN1Y2Nlc3MsIG1heWJlIGRpc3BsYXkgbm90aWZpY2F0aW9uXHJcbiAgICAgICAgfSwgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIGVycm9yc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBSZXF1ZXN0IGNvbXBsZXRlZFxyXG4gICAgICAgIH0pO1xyXG4gICAgKi9cclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHJpbmcodXJsOiBzdHJpbmcsIHBhcmFtcz86IG9iamVjdCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAndGV4dCcsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuICAgIGdldEJ5dGVzKHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEFycmF5QnVmZmVyPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuICAgIGdldEJsb2IodXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYmxvYicsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHByb3RlY3RlZCB0b0h0dHBQYXJhbXMob2JqOiBhbnkpIHtcclxuICAgICAgICBpZiAoIW9iailcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBQYXJhbUVuY29kZXIoKSB9KTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gb2JqW2tleV07XHJcblxyXG4gICAgICAgICAgICBpZiAoZmllbGQgPT09IHVuZGVmaW5lZCB8fCBmaWVsZCA9PT0gbnVsbCB8fCAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJyAmJiBmaWVsZC5sZW5ndGggPT09IDApKVxyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBmaWVsZDtcclxuICAgICAgICAgICAgLy8gaWYgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdmFsdWUgPSBmaWVsZC5yZXBsYWNlKC9cXCsvZ2ksICclMkInKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgLy8gaWYgKGZpZWxkIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoYCR7a2V5fVtdYCwgaXRlbSk7XHJcbiAgICAgICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCBmaWVsZCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcclxuXHJcblxyXG4gICAgICAgIC8vZGVsZXRlTnVsbFByb3BlcnRpZXMob2JqKTtcclxuICAgICAgICAvL2NvbW1lbnQgYmVjYXVzZSBpbnRbXSBub3Qgc2VuZGluZyBpbiBjIyBpdCBzZW5kIFwiMSwyLDMsNFwiXHJcbiAgICAgICAgLy8gcmV0dXJuIG9ialxyXG4gICAgICAgIC8vICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgb2JqW2tleV0pLCBuZXcgSHR0cFBhcmFtcygpKVxyXG4gICAgICAgIC8vICAgICA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvS2V5UGFpcnMob2JqOiBhbnkpOiBLZXlQYWlyW10gfCB1bmRlZmluZWQge1xyXG4gICAgLy8gICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxLZXlQYWlyPigpO1xyXG4gICAgLy8gICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpbcHJvcGVydHldO1xyXG4gICAgLy8gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogcHJvcGVydHksIHZhbHVlOiB2YWx1ZSB9KTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvL31cclxuXHJcbiAgICBwb3N0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIHB1dDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdCgnZGVsZXRlJywgdGhpcy5iYXNlVXJsICsgdXJsLCB7IGJvZHksIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoZW52aXJvbm1lbnQudXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vLnBpcGUoXHJcbiAgICAgICAgLy9jYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodXJsKSlcclxuICAgICAgICAvLyk7XHJcbiAgICB9XHJcbiAgICBwYXRjaDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFQ+KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG4gICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuYXV0aFNlcnZpY2UudXNlcjtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IHRtcCA/IHRtcC50b2tlbiA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodG9rZW4pXHJcbiAgICAgICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdG9rZW4pO1xyXG4gICAgICAgIHJldHVybiBodHRwSGVhZGVycztcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8vcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zPzogS2V5UGFpcltdIHwgbnVsbCkge1xyXG4gICAgLy8gICAgaWYgKCFwYXJhbXMgfHwgcGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAvLyAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChwYXJhbS5rZXksIHBhcmFtLnZhbHVlKTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICByZXR1cm4gaHR0cFBhcmFtcztcclxuICAgIC8vfVxyXG59XHJcblxyXG5cclxuaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUElfQkFTRV9VUkwgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5leHBvcnQgY2xhc3MgQ3VzdG9tSHR0cFBhcmFtRW5jb2RlciBpbXBsZW1lbnRzIEh0dHBQYXJhbWV0ZXJDb2RlYyB7XHJcbiAgICBlbmNvZGVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoa2V5KTtcclxuICAgIH1cclxuICAgIGVuY29kZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgZGVjb2RlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGtleSk7XHJcbiAgICB9XHJcbiAgICBkZWNvZGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcclxuICAgIH1cclxufSJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL3dlYi5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLENBQUEsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBTXpDLE1BQ2EsWUFBWTtJQUNyQixZQUN1QixJQUFnQixFQUNoQixXQUF3QixFQUNKLE9BQWU7UUFGbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNKLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDMUQsQ0FBQztJQUVELEdBQUcsQ0FBVSxHQUFXLEVBQUUsTUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0c7Ozs7Ozs7OztNQVNGO0lBQ0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXLEVBQUUsTUFBZTtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0SSxDQUFDO0lBQ0QsUUFBUSxDQUFDLEdBQVcsRUFBRSxNQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdJLENBQUM7SUFDRCxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQVk7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEksQ0FBQztJQUlTLFlBQVksQ0FBQyxHQUFRO1FBQzNCLElBQUksQ0FBQyxHQUFHO1lBQ0osT0FBTyxTQUFTLENBQUM7UUFFckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXZCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO2dCQUMxRixTQUFTO1lBRWIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLHVEQUF1RDtZQUN2RCw0Q0FBNEM7WUFDNUMsSUFBSTtZQUVKLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuQyxnQ0FBZ0M7WUFDaEMscUNBQXFDO1lBQ3JDLG9EQUFvRDtZQUNwRCxVQUFVO1lBQ1YsV0FBVztZQUNYLDBDQUEwQztZQUMxQyxJQUFJO1NBQ1A7UUFDRCxPQUFPLE1BQU0sQ0FBQztRQUdkLDRCQUE0QjtRQUM1QiwyREFBMkQ7UUFDM0QsYUFBYTtRQUNiLG1HQUFtRztRQUNuRyxtQkFBbUI7SUFDdkIsQ0FBQztJQUVELCtDQUErQztJQUMvQyxrQ0FBa0M7SUFDbEMsNkRBQTZEO0lBQzdELDhDQUE4QztJQUM5Qyw0Q0FBNEM7SUFDNUMsMENBQTBDO0lBQzFDLDJEQUEyRDtJQUMzRCxXQUFXO0lBQ1gsd0JBQXdCO0lBQ3hCLE9BQU87SUFDUCx1QkFBdUI7SUFDdkIsR0FBRztJQUVILElBQUksQ0FBVSxHQUFXLEVBQUUsSUFBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRixRQUFRO1FBQ1IsbUNBQW1DO1FBQ25DLElBQUk7SUFDUixDQUFDO0lBQ0QsR0FBRyxDQUFVLEdBQVcsRUFBRSxJQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLFFBQVE7UUFDUixtQ0FBbUM7UUFDbkMsSUFBSTtJQUNSLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWlCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLGlGQUFpRjtRQUNqRixRQUFRO1FBQ1IsbUNBQW1DO1FBQ25DLElBQUk7SUFDUixDQUFDO0lBQ0QsS0FBSyxDQUFVLEdBQVcsRUFBRSxJQUFpQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFHUyxVQUFVO1FBQ2hCLElBQUksV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDcEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDbEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDMUMsSUFBSSxLQUFLO1lBQ0wsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OEdBakhRLFlBQVksdUVBSVQsWUFBWTtrSEFKZixZQUFZOztTQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTs7MEJBS0YsTUFBTTsyQkFBQyxZQUFZOztBQWlJNUIsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcy8qLCBIdHRwRXJyb3JSZXNwb25zZSovIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbi8vaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL29ic2VydmFibGUvb2YnO1xyXG4vL2ltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuLy9pbXBvcnQgeyBkZWxldGVOdWxsUHJvcGVydGllcyB9IGZyb20gJy4uL3V0aWxzJztcclxuLy9pbXBvcnQgeyBIdHRwRXJyb3JIYW5kbGVyLCBIYW5kbGVFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQSV9CQVNFX1VSTCB9IGZyb20gJy4uL3Rva2Vucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYkFwaUNvbmZpZyB7XHJcbiAgICBiYXNlVXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFdlYkFwaUNsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQVBJX0JBU0VfVVJMKSBwcml2YXRlIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZykge1xyXG4gICAgfVxyXG5cclxuICAgIGdldDxUID0gYW55Pih1cmw6IHN0cmluZywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5iYXNlVXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCBwYXJhbXM6IHRoaXMudG9IdHRwUGFyYW1zKHBhcmFtcykgfSk7XHJcbiAgICAgICAgLyouY2F0Y2goY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHVybCkpKVxyXG4gICAgICAgIC5kbygocmVzOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAvLyBIYW5kbGUgc3VjY2VzcywgbWF5YmUgZGlzcGxheSBub3RpZmljYXRpb25cclxuICAgICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvLyBIYW5kbGUgZXJyb3JzXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIFJlcXVlc3QgY29tcGxldGVkXHJcbiAgICAgICAgfSk7XHJcbiAgICAqL1xyXG4gICAgfVxyXG5cclxuICAgIGdldFN0cmluZyh1cmw6IHN0cmluZywgcGFyYW1zPzogb2JqZWN0KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCByZXNwb25zZVR5cGU6ICd0ZXh0JywgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0Qnl0ZXModXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QXJyYXlCdWZmZXI+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyB1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJywgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0QmxvYih1cmw6IHN0cmluZywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCByZXNwb25zZVR5cGU6ICdibG9iJywgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIHRvSHR0cFBhcmFtcyhvYmo6IGFueSkge1xyXG4gICAgICAgIGlmICghb2JqKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFBhcmFtRW5jb2RlcigpIH0pO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcclxuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBvYmpba2V5XTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmaWVsZCA9PT0gdW5kZWZpbmVkIHx8IGZpZWxkID09PSBudWxsIHx8ICh0eXBlb2YgZmllbGQgPT09ICdzdHJpbmcnICYmIGZpZWxkLmxlbmd0aCA9PT0gMCkpXHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGZpZWxkO1xyXG4gICAgICAgICAgICAvLyBpZiAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJyAmJiBmaWVsZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB2YWx1ZSA9IGZpZWxkLnJlcGxhY2UoL1xcKy9naSwgJyUyQicpO1xyXG4gICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xyXG4gICAgICAgICAgICAvLyBpZiAoZmllbGQgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICAvLyAgICAgZmllbGQuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChgJHtrZXl9W11gLCBpdGVtKTtcclxuICAgICAgICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIGZpZWxkKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcGFyYW1zO1xyXG5cclxuXHJcbiAgICAgICAgLy9kZWxldGVOdWxsUHJvcGVydGllcyhvYmopO1xyXG4gICAgICAgIC8vY29tbWVudCBiZWNhdXNlIGludFtdIG5vdCBzZW5kaW5nIGluIGMjIGl0IHNlbmQgXCIxLDIsMyw0XCJcclxuICAgICAgICAvLyByZXR1cm4gb2JqXHJcbiAgICAgICAgLy8gICAgID8gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5yZWR1Y2UoKHAsIGtleSkgPT4gcC5zZXQoa2V5LCBvYmpba2V5XSksIG5ldyBIdHRwUGFyYW1zKCkpXHJcbiAgICAgICAgLy8gICAgIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vdG9LZXlQYWlycyhvYmo6IGFueSk6IEtleVBhaXJbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyAgICBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAvLyAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XHJcbiAgICAvLyAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PEtleVBhaXI+KCk7XHJcbiAgICAvLyAgICAgICAgZm9yIChsZXQgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgLy8gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9ialtwcm9wZXJ0eV07XHJcbiAgICAvLyAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsga2V5OiBwcm9wZXJ0eSwgdmFsdWU6IHZhbHVlIH0pO1xyXG4gICAgLy8gICAgICAgIH1cclxuICAgIC8vICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgLy8gICAgfVxyXG4gICAgLy8gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIC8vfVxyXG5cclxuICAgIHBvc3Q8VCA9IGFueT4odXJsOiBzdHJpbmcsIGJvZHk/OiBhbnkgfCBudWxsKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgICAgICAvLy5waXBlKFxyXG4gICAgICAgIC8vY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHVybCkpXHJcbiAgICAgICAgLy8pO1xyXG4gICAgfVxyXG4gICAgcHV0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFQ+KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgICAgICAvLy5waXBlKFxyXG4gICAgICAgIC8vY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKHVybCkpXHJcbiAgICAgICAgLy8pO1xyXG4gICAgfVxyXG4gICAgZGVsZXRlKHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5yZXF1ZXN0KCdkZWxldGUnLCB0aGlzLmJhc2VVcmwgKyB1cmwsIHsgYm9keSwgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy9yZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShlbnZpcm9ubWVudC51cmwgKyB1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIHBhdGNoPFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy5iYXNlVXJsICsgdXJsLCBib2R5LCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SGVhZGVycygpOiBIdHRwSGVhZGVycyB7XHJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XHJcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5hdXRoU2VydmljZS51c2VyO1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gdG1wID8gdG1wLnRva2VuIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0b2tlbilcclxuICAgICAgICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0b2tlbik7XHJcbiAgICAgICAgcmV0dXJuIGh0dHBIZWFkZXJzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLy9wcml2YXRlIGdldFBhcmFtcyhwYXJhbXM/OiBLZXlQYWlyW10gfCBudWxsKSB7XHJcbiAgICAvLyAgICBpZiAoIXBhcmFtcyB8fCBwYXJhbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIC8vICAgIGlmIChwYXJhbXMpIHtcclxuICAgIC8vICAgICAgICBmb3IgKGxldCBwYXJhbSBvZiBwYXJhbXMpIHtcclxuICAgIC8vICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KHBhcmFtLmtleSwgcGFyYW0udmFsdWUpO1xyXG4gICAgLy8gICAgICAgIH1cclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gICAgLy99XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUh0dHBQYXJhbUVuY29kZXIgaW1wbGVtZW50cyBIdHRwUGFyYW1ldGVyQ29kZWMge1xyXG4gICAgZW5jb2RlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGtleSk7XHJcbiAgICB9XHJcbiAgICBlbmNvZGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcclxuICAgIH1cclxuICAgIGRlY29kZUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChrZXkpO1xyXG4gICAgfVxyXG4gICAgZGVjb2RlVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XHJcbiAgICB9XHJcbn0iXX0=
|
package/esm2022/lib/tokens.mjs
CHANGED
|
@@ -3,4 +3,5 @@ export const API_BASE_URL = new InjectionToken('API_BASE_URL');
|
|
|
3
3
|
export const DATE_FORMAT = new InjectionToken('DATE_FORMAT');
|
|
4
4
|
export const LANGUAGE = new InjectionToken('LANGUAGE');
|
|
5
5
|
export const RECAPTCHA_SITE_KEY = new InjectionToken('RECAPTCHA_SITE_KEY');
|
|
6
|
-
|
|
6
|
+
export const GOOGLE_CLIENT_ID = new InjectionToken('GOOGLE_CLIENT_ID');
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBUyxhQUFhLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQVMsVUFBVSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUNuRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSV9CQVNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBUElfQkFTRV9VUkwnKTtcclxuZXhwb3J0IGNvbnN0IERBVEVfRk9STUFUID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0RBVEVfRk9STUFUJyk7XHJcbmV4cG9ydCBjb25zdCBMQU5HVUFHRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdMQU5HVUFHRScpO1xyXG5leHBvcnQgY29uc3QgUkVDQVBUQ0hBX1NJVEVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1JFQ0FQVENIQV9TSVRFX0tFWScpO1xyXG5leHBvcnQgY29uc3QgR09PR0xFX0NMSUVOVF9JRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdHT09HTEVfQ0xJRU5UX0lEJyk7Il19
|
package/fesm2022/zek.mjs
CHANGED
|
@@ -1610,6 +1610,7 @@ const API_BASE_URL = new InjectionToken('API_BASE_URL');
|
|
|
1610
1610
|
const DATE_FORMAT = new InjectionToken('DATE_FORMAT');
|
|
1611
1611
|
const LANGUAGE = new InjectionToken('LANGUAGE');
|
|
1612
1612
|
const RECAPTCHA_SITE_KEY = new InjectionToken('RECAPTCHA_SITE_KEY');
|
|
1613
|
+
const GOOGLE_CLIENT_ID = new InjectionToken('GOOGLE_CLIENT_ID');
|
|
1613
1614
|
|
|
1614
1615
|
class WebApiClient {
|
|
1615
1616
|
constructor(http, authService, baseUrl) {
|
|
@@ -4356,6 +4357,140 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
4356
4357
|
}]
|
|
4357
4358
|
}] });
|
|
4358
4359
|
|
|
4360
|
+
function loadScript$1(onLoaded, url, nonce) {
|
|
4361
|
+
window.onGoogleLibraryLoad = () => {
|
|
4362
|
+
onLoaded(google);
|
|
4363
|
+
};
|
|
4364
|
+
const src = url || "https://accounts.google.com/gsi/client";
|
|
4365
|
+
HtmlHelper.loadScript(src, nonce, true, true);
|
|
4366
|
+
}
|
|
4367
|
+
const loader$1 = { loadScript: loadScript$1 };
|
|
4368
|
+
|
|
4369
|
+
class ZekGoogleLoginButton extends CoreComponent {
|
|
4370
|
+
constructor(client_id) {
|
|
4371
|
+
super();
|
|
4372
|
+
this.client_id = client_id;
|
|
4373
|
+
this._prompt = true;
|
|
4374
|
+
this.onLoginResponse = new EventEmitter();
|
|
4375
|
+
this.onLogin = new EventEmitter();
|
|
4376
|
+
this._buttonContainer = 'google-login-container';
|
|
4377
|
+
this.onLoadComplete = (google) => {
|
|
4378
|
+
this.google = google;
|
|
4379
|
+
this.initialize();
|
|
4380
|
+
};
|
|
4381
|
+
}
|
|
4382
|
+
get prompt() {
|
|
4383
|
+
return this._prompt;
|
|
4384
|
+
}
|
|
4385
|
+
set prompt(v) {
|
|
4386
|
+
this._prompt = Convert.toBooleanProperty(v);
|
|
4387
|
+
}
|
|
4388
|
+
get buttonContainer() {
|
|
4389
|
+
return this._buttonContainer;
|
|
4390
|
+
}
|
|
4391
|
+
set buttonContainer(v) {
|
|
4392
|
+
if (!v)
|
|
4393
|
+
throw new Error('buttonContainer is required');
|
|
4394
|
+
this._buttonContainer = v;
|
|
4395
|
+
}
|
|
4396
|
+
async init() {
|
|
4397
|
+
super.init();
|
|
4398
|
+
// await GoogleLoginButton.loadScript();
|
|
4399
|
+
if ("google" in window) {
|
|
4400
|
+
this.google = google;
|
|
4401
|
+
this.initialize();
|
|
4402
|
+
}
|
|
4403
|
+
else {
|
|
4404
|
+
loader$1.loadScript(this.onLoadComplete);
|
|
4405
|
+
}
|
|
4406
|
+
}
|
|
4407
|
+
initialize() {
|
|
4408
|
+
this.google.accounts.id.initialize({
|
|
4409
|
+
client_id: this.client_id,
|
|
4410
|
+
callback: (response) => {
|
|
4411
|
+
this.handleCredentialResponse(response);
|
|
4412
|
+
}
|
|
4413
|
+
});
|
|
4414
|
+
this.renderButton();
|
|
4415
|
+
this.autoPrompt();
|
|
4416
|
+
}
|
|
4417
|
+
renderButton() {
|
|
4418
|
+
this.google.accounts.id.renderButton(document.getElementById(this._buttonContainer),
|
|
4419
|
+
// this._elementRef.nativeElement.parentElement,
|
|
4420
|
+
{ theme: "outline", size: "large" } // customization attributes
|
|
4421
|
+
);
|
|
4422
|
+
}
|
|
4423
|
+
autoPrompt() {
|
|
4424
|
+
if (this._prompt)
|
|
4425
|
+
this.google.accounts.id.prompt(); // also display the One Tap dialog
|
|
4426
|
+
}
|
|
4427
|
+
handleCredentialResponse(response) {
|
|
4428
|
+
this.onLoginResponse?.emit(response);
|
|
4429
|
+
this.onLogin?.emit(response.credential);
|
|
4430
|
+
// let payload = JwtHelper.decode(response.credential);
|
|
4431
|
+
// console.log("ID: " + payload.sub);
|
|
4432
|
+
// console.log('Full Name: ' + payload.name);
|
|
4433
|
+
// console.log('Given Name: ' + payload.given_name);
|
|
4434
|
+
// console.log('Family Name: ' + payload.family_name);
|
|
4435
|
+
// console.log("Image URL: " + payload.picture);
|
|
4436
|
+
// console.log("Email: " + payload.email);
|
|
4437
|
+
}
|
|
4438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekGoogleLoginButton, deps: [{ token: GOOGLE_CLIENT_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4439
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: ZekGoogleLoginButton, selector: "zek-google-login", inputs: { prompt: "prompt", buttonContainer: "buttonContainer" }, outputs: { onLoginResponse: "onLoginResponse", onLogin: "onLogin" }, usesInheritance: true, ngImport: i0 }); }
|
|
4440
|
+
}
|
|
4441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ZekGoogleLoginButton, decorators: [{
|
|
4442
|
+
type: Directive,
|
|
4443
|
+
args: [{
|
|
4444
|
+
selector: 'zek-google-login',
|
|
4445
|
+
}]
|
|
4446
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
4447
|
+
type: Inject,
|
|
4448
|
+
args: [GOOGLE_CLIENT_ID]
|
|
4449
|
+
}] }]; }, propDecorators: { prompt: [{
|
|
4450
|
+
type: Input
|
|
4451
|
+
}], onLoginResponse: [{
|
|
4452
|
+
type: Output
|
|
4453
|
+
}], onLogin: [{
|
|
4454
|
+
type: Output
|
|
4455
|
+
}], buttonContainer: [{
|
|
4456
|
+
type: Input
|
|
4457
|
+
}] } });
|
|
4458
|
+
|
|
4459
|
+
class GoogleLoginModule {
|
|
4460
|
+
static forRoot(config) {
|
|
4461
|
+
return {
|
|
4462
|
+
ngModule: GoogleLoginModule,
|
|
4463
|
+
providers: [
|
|
4464
|
+
ZekGoogleLoginButton,
|
|
4465
|
+
{
|
|
4466
|
+
provide: GOOGLE_CLIENT_ID,
|
|
4467
|
+
useValue: config.client_id
|
|
4468
|
+
},
|
|
4469
|
+
]
|
|
4470
|
+
};
|
|
4471
|
+
}
|
|
4472
|
+
static forChild(config) {
|
|
4473
|
+
return this.forRoot(config);
|
|
4474
|
+
}
|
|
4475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4476
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, declarations: [ZekGoogleLoginButton], imports: [CommonModule], exports: [ZekGoogleLoginButton] }); }
|
|
4477
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, imports: [CommonModule] }); }
|
|
4478
|
+
}
|
|
4479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GoogleLoginModule, decorators: [{
|
|
4480
|
+
type: NgModule,
|
|
4481
|
+
args: [{
|
|
4482
|
+
imports: [
|
|
4483
|
+
CommonModule
|
|
4484
|
+
],
|
|
4485
|
+
declarations: [
|
|
4486
|
+
ZekGoogleLoginButton
|
|
4487
|
+
],
|
|
4488
|
+
exports: [
|
|
4489
|
+
ZekGoogleLoginButton
|
|
4490
|
+
]
|
|
4491
|
+
}]
|
|
4492
|
+
}] });
|
|
4493
|
+
|
|
4359
4494
|
class GridToolbarComponent {
|
|
4360
4495
|
constructor() {
|
|
4361
4496
|
this._showEdit = true;
|
|
@@ -6723,5 +6858,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
6723
6858
|
* Generated bundle index. Do not edit.
|
|
6724
6859
|
*/
|
|
6725
6860
|
|
|
6726
|
-
export { API_BASE_URL, AgeModule, AgePipe, Alert, AlertModule, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, AutoCompleteDirective, AutoCompleteModule, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseComponent, ButtonBrowseModalBaseComponent, ButtonBrowseModalToolbarComponent, ButtonBrowseModule, CallbackModule, CallbackPipe, CardComponent, CardModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoModule, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, EditToolbarComponent, EditToolbarModule, FileBase, FileBytes, FileHelper, FileModule, FileSizePipe, FileString, FileViewerModule, FilterBase, FilterHelper, Gender, GridToolbarBarComponent, GridToolbarComponent, GridToolbarModule, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, ListToolbarComponent, ListToolbarModule, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PageTitleComponent, PageTitleModule, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PasswordModule, PeriodRelation, PrintType, ProgressModule, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RadioComponent, RadioModule, RandomHelper, RangeValidator, ReCaptchaService, ReadOnlyDirective, ReadOnlyModule, RecaptchaModule, Select2Component, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, ValidatorModule, Validators, ValidatorsModule, WebApiClient, WebApiModule, WizardComponent, WizardComponent2, WizardModule, ZekAlert, ZekApproveModal, ZekDeleteModal, ZekDisapproveModal, ZekFieldValidator, ZekFileViewer, ZekFilterModal, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPager, ZekPagerModule, ZekPassword, ZekProgress, ZekRestoreModal, ZekSafeModule, ZekSafePipe, ZekSelect2Multiple, ZekSelect2MultipleModule, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSortModule, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, firstBy, handler, matchValidator, nullValidator, rangeValidator };
|
|
6861
|
+
export { API_BASE_URL, AgeModule, AgePipe, Alert, AlertModule, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, AutoCompleteDirective, AutoCompleteModule, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseComponent, ButtonBrowseModalBaseComponent, ButtonBrowseModalToolbarComponent, ButtonBrowseModule, CallbackModule, CallbackPipe, CardComponent, CardModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoModule, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, EditToolbarComponent, EditToolbarModule, FileBase, FileBytes, FileHelper, FileModule, FileSizePipe, FileString, FileViewerModule, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, GoogleLoginModule, GridToolbarBarComponent, GridToolbarComponent, GridToolbarModule, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, ListToolbarComponent, ListToolbarModule, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PageTitleComponent, PageTitleModule, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PasswordModule, PeriodRelation, PrintType, ProgressModule, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RadioComponent, RadioModule, RandomHelper, RangeValidator, ReCaptchaService, ReadOnlyDirective, ReadOnlyModule, RecaptchaModule, Select2Component, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, ValidatorModule, Validators, ValidatorsModule, WebApiClient, WebApiModule, WizardComponent, WizardComponent2, WizardModule, ZekAlert, ZekApproveModal, ZekDeleteModal, ZekDisapproveModal, ZekFieldValidator, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPager, ZekPagerModule, ZekPassword, ZekProgress, ZekRestoreModal, ZekSafeModule, ZekSafePipe, ZekSelect2Multiple, ZekSelect2MultipleModule, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSortModule, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, firstBy, handler, matchValidator, nullValidator, rangeValidator };
|
|
6727
6862
|
//# sourceMappingURL=zek.mjs.map
|