@sam-senior/sam-utils 2.0.2 → 2.0.3
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/bundles/sam-senior-sam-utils.umd.js +22 -30
- package/bundles/sam-senior-sam-utils.umd.js.map +1 -1
- package/bundles/sam-senior-sam-utils.umd.min.js +1 -1
- package/bundles/sam-senior-sam-utils.umd.min.js.map +1 -1
- package/esm2015/lib/sam-utils.service.js +11 -27
- package/esm5/lib/sam-utils.service.js +14 -30
- package/fesm2015/sam-senior-sam-utils.js +7 -18
- package/fesm2015/sam-senior-sam-utils.js.map +1 -1
- package/fesm5/sam-senior-sam-utils.js +8 -19
- package/fesm5/sam-senior-sam-utils.js.map +1 -1
- package/lib/sam-utils.service.d.ts +2 -2
- package/package.json +4 -7
- package/sam-senior-sam-utils.metadata.json +1 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http')
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@sam-senior/sam-utils', ['exports', '@angular/core', 'rxjs', '@angular/common/http'
|
|
4
|
-
(factory((global['sam-senior'] = global['sam-senior'] || {}, global['sam-senior']['sam-utils'] = {}),global.ng.core,global.rxjs,global.ng.common.http
|
|
5
|
-
}(this, (function (exports,i0,rxjs,i1
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@sam-senior/sam-utils', ['exports', '@angular/core', 'rxjs', '@angular/common/http'], factory) :
|
|
4
|
+
(factory((global['sam-senior'] = global['sam-senior'] || {}, global['sam-senior']['sam-utils'] = {}),global.ng.core,global.rxjs,global.ng.common.http));
|
|
5
|
+
}(this, (function (exports,i0,rxjs,i1) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
|
-
Copyright (c) Microsoft Corporation.
|
|
9
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
10
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
11
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
Copyright (c) Microsoft Corporation.
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
16
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
10
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
+
purpose with or without fee is hereby granted.
|
|
17
12
|
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
15
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
16
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
17
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
18
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
19
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
20
20
|
***************************************************************************** */
|
|
21
21
|
var __assign = function () {
|
|
22
22
|
__assign = Object.assign || function __assign(t) {
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
return __assign.apply(this, arguments);
|
|
32
32
|
};
|
|
33
33
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
34
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
34
35
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
35
36
|
function fulfilled(value) { try {
|
|
36
37
|
step(generator.next(value));
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
catch (e) {
|
|
45
46
|
reject(e);
|
|
46
47
|
} }
|
|
47
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
48
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
48
49
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
49
50
|
});
|
|
50
51
|
}
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
case 0: return [4 /*yield*/, this.getActiveUser().toPromise()];
|
|
243
244
|
case 1:
|
|
244
245
|
user = _a.sent();
|
|
245
|
-
gtag('event', eventName, __assign({}, params, { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
246
|
+
gtag('event', eventName, __assign(__assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
246
247
|
return [2 /*return*/];
|
|
247
248
|
}
|
|
248
249
|
});
|
|
@@ -283,7 +284,7 @@
|
|
|
283
284
|
else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
|
|
284
285
|
return 'Firefox';
|
|
285
286
|
}
|
|
286
|
-
else if (/constructor/i.test(window['HTMLElement']) || (( /**
|
|
287
|
+
else if (/constructor/i.test(( /** @type {?} */(window['HTMLElement']))) || (( /**
|
|
287
288
|
* @param {?} p
|
|
288
289
|
* @return {?}
|
|
289
290
|
*/function (p) { return p.toString() === "[object SafariRemoteNotification]"; }))(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ "[object HTMLElementConstructor]"
|
|
@@ -331,17 +332,9 @@
|
|
|
331
332
|
* @return {?}
|
|
332
333
|
*/
|
|
333
334
|
function () {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
}).pipe(operators.map(( /**
|
|
338
|
-
* @param {?} user
|
|
339
|
-
* @return {?}
|
|
340
|
-
*/function (user) { return SamUtilsService.ACTIVE_USER = user; })))));
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);
|
|
344
|
-
}
|
|
335
|
+
return this.httpClient.get(this.getG7BridgeURL() + "/rest/platform/user/queries/getUser", {
|
|
336
|
+
headers: this.getHeaders()
|
|
337
|
+
});
|
|
345
338
|
};
|
|
346
339
|
/**
|
|
347
340
|
* @param {?} user
|
|
@@ -522,7 +515,6 @@
|
|
|
522
515
|
});
|
|
523
516
|
};
|
|
524
517
|
SamUtilsService.HAS_LOADED = false;
|
|
525
|
-
SamUtilsService.ACTIVE_USER = null;
|
|
526
518
|
SamUtilsService.decorators = [
|
|
527
519
|
{ type: i0.Injectable, args: [{
|
|
528
520
|
providedIn: 'root'
|
|
@@ -534,7 +526,7 @@
|
|
|
534
526
|
{ type: i1.HttpClient }
|
|
535
527
|
];
|
|
536
528
|
};
|
|
537
|
-
/** @nocollapse */ SamUtilsService
|
|
529
|
+
/** @nocollapse */ SamUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(i0.ɵɵinject(i1.HttpClient)); }, token: SamUtilsService, providedIn: "root" });
|
|
538
530
|
return SamUtilsService;
|
|
539
531
|
}());
|
|
540
532
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sam-senior-sam-utils.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n private static ACTIVE_USER = null;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement']) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n if (!SamUtilsService.ACTIVE_USER) {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n }).pipe(map(user => SamUtilsService.ACTIVE_USER = user)) as any;\r\n } else {\r\n return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);\r\n }\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":["Observable","map","HttpHeaders","Injectable","HttpClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sam-senior-sam-utils.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":["Observable","HttpHeaders","Injectable","HttpClient"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;AAcA,IAeO,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;AAED,aA2BgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;AAED,aAAgB,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;;;;;;;QCnFC,yBACU,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;SAC3B;;;;;QAEE,0CAAgB;;;;YAAvB,UAAwB,QAAQ;gBAC9B,OAAO,QAAQ,CAAC,GAAG;;;mBAAC,UAAA,OAAO;;wBACrB,GAAG,GAAG,OAAO;oBACjB,IAAI;;4BACI,EAAE,sBAAG,UAAU,CAAC,OAAO,CAAC,EAAO;wBACrC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE;4BAC1B,GAAG,GAAG,MAAM,CAAC;yBACd;qBACF;oBAAC,OAAO,CAAC,EAAE;wBACV,GAAG,GAAG,OAAO,CAAC;qBACf;oBACD,OAAO,GAAG,CAAC;iBACZ,EAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACd;;;;;QAEY,2CAAiB;;;;YAA9B,UAA+B,OAAe;;;;;oCAC/B,qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAA;;gCAA7C,IAAI,GAAG,SAAsC;gCACnD,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE;oCAC7B,UAAU,EAAE,OAAO;oCACnB,MAAM,EAAE,IAAI,CAAC,UAAU;oCACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iCACxB,CAAC,CAAC;;;;;aACJ;;;;;;QAEM,qCAAW;;;;;YAAlB,UAAmB,IAAY,EAAE,OAAe;gBAC9C,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE;oBACrD,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;;wBAC5B,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oBACvD,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;wBAC9C,UAAU,GAAG,iBAAiB,GAAG,IAAI,CAAC;wBACtC,IAAI,EAAE,IAAI;qBACX,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB;aACF;;;;QAEM,oCAAU;;;YAAjB;gBACE,IAAI;;wBACI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;;;uBAAC,UAAA,SAAS;wBACxD,OAAO,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;qBAClD,EAAC;oBACF,OAAO,kBAAkB,CACvB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAChB;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;iBACvD;aACF;;;;;;;QAEY,yCAAe;;;;;;YAA5B,UAA6B,SAAiB,EAAE,MAAW,EAAE,OAAgB;;;;;oCAC9D,qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAA;;gCAA7C,IAAI,GAAG,SAAsC;gCACnD,IAAI,CAAC,OAAO,EAAE,SAAS,wBAClB,MAAM,KACT,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,EAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,OAAO,EAC3C,UAAU,EAAE,IAAI,IAChB,CAAC;;;;;aACJ;;;;;;QAEM,mDAAyB;;;;;YAAhC,UAAoC,KAAK;gBACvC,OAAO,IAAIA,eAAU;;;mBAAI,UAAA,QAAQ;oBAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB,EAAC,CAAC;aACJ;;;;;;QAGM,oCAAU;;;;YAAjB;gBACE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACjH,OAAO,OAAO,CAAC;iBAChB;qBAAM,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;oBAChD,OAAO,SAAS,CAAC;iBAClB;qBAAM,IAAI,cAAc,CAAC,IAAI,oBAAC,MAAM,CAAC,aAAa,CAAC,GAAQ,IAAI;;;mBAAC,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,mCAAmC,CAAC,EAAE,GAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE;oBAChO,OAAO,QAAQ,CAAC;iBACjB;qBAAM,iBAAgB,AAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBAC1D,OAAO,mBAAmB,CAAC;iBAC5B;qBAAM,IAAI,eAAc,AAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;oBACvF,OAAO,MAAM,CAAC;iBACf;qBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;oBAC7B,OAAO,QAAQ,CAAC;iBACjB;gBACD,OAAO,SAAS,CAAC;aAClB;;;;;;QAGM,wCAAc;;;;YAArB;gBACE,IAAI;;wBACI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;;;uBAAC,UAAA,SAAS;wBACpD,OAAO,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;qBACtD,EAAC;oBACF,OAAO,kBAAkB,CACvB,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAChB;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;iBACvD;aACF;;;;QAEM,uCAAa;;;YAApB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAU,IAAI,CAAC,cAAc,EAAE,wCAAqC,EAAE;oBAC9F,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;aACJ;;;;;QAEM,8CAAoB;;;;YAA3B,UAA4B,IAAI;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAe,IAAI,CAAC,cAAc,EAAE,+DAA0D,IAAM,EAAE;oBAC9H,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;aACJ;;;;;QAEM,6CAAmB;;;;YAA1B,UAA2B,UAAkB;gBAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAuB,IAAI,CAAC,cAAc,EAAE,gDAA6C,EAAE;oBACnH,MAAM,EAAE;wBACN,UAAU,EAAE,UAAU;qBACvB;oBACD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;aACJ;;;;QAEM,2CAAiB;;;YAAxB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,IAAI,CAAC,cAAc,EAAE,oDAAiD,EAAE;oBAC5H,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;aACJ;;;;;QAEO,oCAAU;;;;YAAlB;;oBACQ,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC/B,OAAO,IAAIC,cAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAK,KAAK,CAAC,UAAU,SAAI,KAAK,CAAC,YAAc,CAAC,CAAC;aAC5F;;;;QAEM,oCAAU;;;YAAjB;gBACE,IAAI;;wBACI,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;;;uBAAC,UAAA,SAAS;wBAC7D,OAAO,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;qBAC/C,EAAC;oBACF,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrE;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;iBACvD;aACF;;;;;;;QAEY,mCAAS;;;;;;YAAtB,UAAuB,YAAoB,EAAE,iBAAyB,EAAE,OAAe;;;;;;gCACrF,IAAI,CAAC,oBAAC,MAAM,IAAS,aAAa,EAAE;oCAClC,sBAAO;iCACR;gCAEuB,qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAA;;gCAAxD,eAAe,GAAG,SAAsC;gCAE1D,KAAK,GAAG,EAAE;qCACV,oBAAC,MAAM,IAAS,gBAAgB;oCAAhC,wBAAgC;gCACrB,qBAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAA;;gCAA5E,IAAI,GAAG,SAAqE;gCAClF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;oCAGN,qBAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAA;;gCAA9D,iBAAiB,GAAG,SAA0C;gCAC1C,qBAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,EAAA;;gCAA1F,iBAAiB,GAAG,SAAsE;gCAC1F,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gCAC3B,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;gCACrD,KAAK,GAAG,eAAe,CAAC,KAAK;gCACnC,CAAC;;;;;mCAAA,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;;wCACV,CAAC,GAAG;wCACR,GAAG,EAAE,YAAY;wCACjB,QAAQ,EAAE,iBAAiB;wCAC3B,IAAI,EAAE,QAAQ;wCACd,KAAK,EAAE,KAAK;wCACZ,IAAI,EAAE;4CACJ,QAAQ,EAAE,eAAe,CAAC,UAAU;4CACpC,OAAO,EAAE,KAAK;4CACd,QAAQ,EAAE,OAAO;4CACjB,IAAI,EAAE,EAAE;4CACR,KAAK,EAAE,CAAC,iBAAiB,CAAC,iBAAiB;4CAC3C,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;4CAC1C,kBAAkB,EAAE,EAAE;4CACtB,SAAS,EAAE,EAAE;4CACb,iBAAiB,EAAE,EAAE;4CACrB,iBAAiB,EAAE,EAAE;4CACrB,QAAQ,EAAE,OAAO;4CACjB,QAAQ,EAAE,iBAAiB,CAAC,OAAO;yCACpC;qCACF;;;;wCAGG,CAAC;;wCACC,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCACtC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;wCACvB,OAAO;qCACR;oCACD,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oCACvB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oCACT,CAAC,CAAC,GAAG,GAAG,oDAAoD,CAAC;oCAC7D,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC;oCAC3B,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;oCACf,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,kBAAkB;;uCAAG;;4CAC1B,CAAC,GAAG,IAAI,CAAC,UAAU;wCACzB,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,QAAQ,EAAE;4CAC3C,OAAO;yCACR;wCACD,IAAI;;gDACI,CAAC,GAAG,IAAI,SAAS,EAAE;4CACzB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yCACX;wCAAC,OAAO,CAAC,EAAE,GAAG;qCAChB,CAAA,CAAC;oCACF,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iCACjC,EAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;;;;;aACxC;QAnNc,0BAAU,GAAG,KAAK,CAAC;;oBALnCC,aAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;wBAbQC,aAAU;;;;8BAFnB;KAaA;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/common/http")
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@sam-senior/sam-utils",["exports","@angular/core","rxjs","@angular/common/http"],t):t((e["sam-senior"]=e["sam-senior"]||{},e["sam-senior"]["sam-utils"]={}),e.ng.core,e.rxjs,e.ng.common.http)}(this,function(e,t,r,n){"use strict";var i=function(){return(i=Object.assign||function i(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function a(e,t,s,c){return new(s=s||Promise)(function(r,n){function o(e){try{a(c.next(e))}catch(t){n(t)}}function i(e){try{a(c["throw"](e))}catch(t){n(t)}}function a(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,i)}a((c=c.apply(e,t||[])).next())})}function m(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),"throw":t(1),"return":t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return c([t,e])}}function c(e){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&e[0]?i["return"]:e[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,e[1])).done)return a;switch(i=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,i=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!a||e[1]>a[0]&&e[1]<a[3]))s.label=e[1];else if(6===e[0]&&s.label<a[1])s.label=a[1],a=e;else{if(!(a&&s.label<a[2])){a[2]&&s.ops.pop(),s.trys.pop();continue}s.label=a[2],s.ops.push(e)}}e=n.call(r,s)}catch(t){e=[6,t],i=0}finally{o=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}function o(e){this.httpClient=e}o.prototype.getUrlWithoutIds=function(e){return e.map(function(e){var t=e;try{var r=parseFloat(e);(0<r||"new"===r)&&(t="{id}")}catch(n){t=e}return t}).join("/")},o.prototype.setUserProperties=function(r){return a(this,void 0,void 0,function(){var t;return m(this,function(e){switch(e.label){case 0:return[4,this.getActiveUser().toPromise()];case 1:return t=e.sent(),gtag("set","user_properties",{product_g7:r,tenant:t.tenantName,username:t.username}),[2]}})})},o.prototype.pageLoading=function(e,t){var r;!o.HAS_LOADED&&window.performance&&(o.HAS_LOADED=!0,r=Math.round(performance.now()),this.sendToAnalytics("tempo_carregamento_tela",{time_value:r/1e3,page:e},t).then())},o.prototype.getBaseURL=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.base.url")});return decodeURIComponent(e[0].split("=")[1]).slice(0,-1)}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.sendToAnalytics=function(r,n,o){return a(this,void 0,void 0,function(){var t;return m(this,function(e){switch(e.label){case 0:return[4,this.getActiveUser().toPromise()];case 1:return t=e.sent(),gtag("event",r,i(i({},n),{environment:this.getBaseURL(),user:t.username,tentant:t.tenantName,product:o||n.product,debug_mode:!0})),[2]}})})},o.prototype.createObservableWithValue=function(t){return new r.Observable(function(e){e.next(t),e.complete()})},o.prototype.getBrowser=function(){return window.opr&&window.opr.addons||window.opera||0<=navigator.userAgent.indexOf(" OPR/")?"Opera":"undefined"!=typeof InstallTrigger?"Firefox":/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!window.safari||"undefined"!=typeof safari&&safari.pushNotification).toString()?"Safari":document.documentMode?"Internet Explorer":!document.documentMode&&window.StyleMedia?"Edge":window.chrome?"Chrome":"unknown"},o.prototype.getG7BridgeURL=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.services.url")});return decodeURIComponent(e[0].split("=")[1]).slice(0,-1)}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.getActiveUser=function(){return this.httpClient.get(this.getG7BridgeURL()+"/rest/platform/user/queries/getUser",{headers:this.getHeaders()})},o.prototype.getRolesByActiveUser=function(e){return this.httpClient.get(this.getG7BridgeURL()+"/rest/platform/authorization/queries/getUserRoles?user="+e,{headers:this.getHeaders()})},o.prototype.getTenatInformation=function(e){return this.httpClient.get(this.getG7BridgeURL()+"/rest/sam/administration/queries/getErpCode",{params:{schemaName:e},headers:this.getHeaders()})},o.prototype.hasIntegratedRole=function(){return this.httpClient.get(this.getG7BridgeURL()+"/rest/sam/application/queries/hasIntegratedRole",{headers:this.getHeaders()})},o.prototype.getHeaders=function(){var e=this.getG7Token();return(new n.HttpHeaders).set("Authorization",e.token_type+" "+e.access_token)},o.prototype.getG7Token=function(){try{var e=document.cookie.split(";").filter(function(e){return e.includes("com.senior.token")});return JSON.parse(decodeURIComponent(e[0].split("=")[1]))}catch(t){throw Error("Platform G7 not configured in this app")}},o.prototype.trackSale=function(d,f,h){return a(this,void 0,void 0,function(){var i,a,s,c,u,l,p;return m(this,function(e){switch(e.label){case 0:return window.show_tacksale?[4,this.getActiveUser().toPromise()]:[2];case 1:return(i=e.sent(),a="",window.can_capture_role)?[4,this.getRolesByActiveUser(i.username).toPromise()]:[3,3];case 2:c=e.sent(),a=c.roles.join(", "),e.label=3;case 3:return[4,this.hasIntegratedRole().toPromise()];case 4:return s=e.sent(),[4,this.getTenatInformation(i.tenantName).toPromise()];case 5:return c=e.sent(),u=this.getBrowser(),l=i.fullName.replace("+"," "),p=i.email,t=document,r="tracksale-js",n={key:d,campaign:f,name:l,email:p,tags:{tenant:i.tenantName,papel:a,device:u,uf:"",SAM:!s.hasIntegratedRole,GAS:s.hasIntegratedRole,GestaoIncidentes:"",Cameras:"",PortariaVirtual:"",Autoatendimento:"",pagina:h,"ID ERP":c.erpCode}},o=t.getElementsByTagName("script")[0],t.getElementById(r)||((t=t.createElement("script")).id=r,t.src="https://cdn.tracksale.co/tracksale-js/tracksale.js",t.type="text/javascript",t["async"]=!0,t.onload=t.onreadystatechange=function(){var e=this.readyState;if(!e||"complete"===e||"loaded"===e)try{(new Tracksale).init(n)}catch(t){}},o.parentNode.insertBefore(t,o)),[2]}var t,r,n,o})})},o.HAS_LOADED=!1,o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[{type:n.HttpClient}]},o.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new o(t.ɵɵinject(n.HttpClient))},token:o,providedIn:"root"}),e.SamUtilsService=o,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=sam-senior-sam-utils.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","SamUtilsService","httpClient","getUrlWithoutIds","urlParts","map","urlPart","url","id","parseFloat","join","setUserProperties","product","getActiveUser","toPromise","user","_a","gtag","product_g7","tenant","tenantName","username","pageLoading","page","HAS_LOADED","window","performance","timeSincePageLoad","Math","round","now","sendToAnalytics","time_value","getBaseURL","cookie","document","split","filter","cookieStr","includes","decodeURIComponent","slice","err","Error","eventName","params","environment","tentant","debug_mode","createObservableWithValue","Observable","observer","complete","getBrowser","addons","navigator","userAgent","indexOf","InstallTrigger","test","safari","pushNotification","toString","getG7BridgeURL","dt","ACTIVE_USER","get","headers","getHeaders","pipe","getRolesByActiveUser","getTenatInformation","schemaName","hasIntegratedRole","token","getG7Token","HttpHeaders","set","token_type","access_token","seniorToken","JSON","parse","trackSale","tracksaleKey","tracksaleCampaign","pageUrl","show_tacksale","userInformation","roles","can_capture_role","role","tenantInformation","browser","fullname","fullName","replace","email","a","key","campaign","name","tags","papel","device","uf","SAM","GAS","GestaoIncidentes","Cameras","PortariaVirtual","Autoatendimento","pagina","ID ERP","erpCode","c","getElementsByTagName","getElementById","createElement","src","type","async","onload","onreadystatechange","h","readyState","Tracksale","init","parentNode","insertBefore","Injectable","args","providedIn","HttpClient"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n private static ACTIVE_USER = null;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement']) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n if (!SamUtilsService.ACTIVE_USER) {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n }).pipe(map(user => SamUtilsService.ACTIVE_USER = user)) as any;\r\n } else {\r\n return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);\r\n }\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","SamUtilsService","httpClient","getUrlWithoutIds","urlParts","map","urlPart","url","id","parseFloat","join","setUserProperties","product","getActiveUser","toPromise","user","_a","gtag","product_g7","tenant","tenantName","username","pageLoading","page","timeSincePageLoad","HAS_LOADED","window","performance","Math","round","now","sendToAnalytics","time_value","getBaseURL","cookie","document","split","filter","cookieStr","includes","decodeURIComponent","slice","err","Error","eventName","params","environment","tentant","debug_mode","createObservableWithValue","Observable","observer","complete","getBrowser","addons","navigator","userAgent","indexOf","InstallTrigger","test","safari","pushNotification","toString","getG7BridgeURL","dt","get","headers","getHeaders","getRolesByActiveUser","getTenatInformation","schemaName","hasIntegratedRole","token","getG7Token","HttpHeaders","set","token_type","access_token","seniorToken","JSON","parse","trackSale","tracksaleKey","tracksaleCampaign","pageUrl","show_tacksale","userInformation","roles","can_capture_role","role","tenantInformation","browser","fullname","fullName","replace","email","a","key","campaign","name","tags","papel","device","uf","SAM","GAS","GestaoIncidentes","Cameras","PortariaVirtual","Autoatendimento","pagina","ID ERP","erpCode","c","getElementsByTagName","getElementById","createElement","src","type","async","onload","onreadystatechange","h","readyState","Tracksale","init","parentNode","insertBefore","Injectable","args","providedIn","HttpClient"],"mappings":"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"}
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import { __awaiter } from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
9
|
-
import { map } from 'rxjs/operators';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@angular/common/http";
|
|
12
11
|
export class SamUtilsService {
|
|
@@ -46,7 +45,7 @@ export class SamUtilsService {
|
|
|
46
45
|
* @return {?}
|
|
47
46
|
*/
|
|
48
47
|
setUserProperties(product) {
|
|
49
|
-
return
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
49
|
/** @type {?} */
|
|
51
50
|
const user = yield this.getActiveUser().toPromise();
|
|
52
51
|
gtag('set', 'user_properties', {
|
|
@@ -98,10 +97,10 @@ export class SamUtilsService {
|
|
|
98
97
|
* @return {?}
|
|
99
98
|
*/
|
|
100
99
|
sendToAnalytics(eventName, params, product) {
|
|
101
|
-
return
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
101
|
/** @type {?} */
|
|
103
102
|
const user = yield this.getActiveUser().toPromise();
|
|
104
|
-
gtag('event', eventName, Object.assign({}, params, { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
103
|
+
gtag('event', eventName, Object.assign(Object.assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
105
104
|
});
|
|
106
105
|
}
|
|
107
106
|
/**
|
|
@@ -130,7 +129,7 @@ export class SamUtilsService {
|
|
|
130
129
|
else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
|
|
131
130
|
return 'Firefox';
|
|
132
131
|
}
|
|
133
|
-
else if (/constructor/i.test(window['HTMLElement']) || ((/**
|
|
132
|
+
else if (/constructor/i.test((/** @type {?} */ (window['HTMLElement']))) || ((/**
|
|
134
133
|
* @param {?} p
|
|
135
134
|
* @return {?}
|
|
136
135
|
*/
|
|
@@ -172,18 +171,9 @@ export class SamUtilsService {
|
|
|
172
171
|
* @return {?}
|
|
173
172
|
*/
|
|
174
173
|
getActiveUser() {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}).pipe(map((/**
|
|
179
|
-
* @param {?} user
|
|
180
|
-
* @return {?}
|
|
181
|
-
*/
|
|
182
|
-
user => SamUtilsService.ACTIVE_USER = user)))));
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);
|
|
186
|
-
}
|
|
174
|
+
return this.httpClient.get(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {
|
|
175
|
+
headers: this.getHeaders()
|
|
176
|
+
});
|
|
187
177
|
}
|
|
188
178
|
/**
|
|
189
179
|
* @param {?} user
|
|
@@ -249,7 +239,7 @@ export class SamUtilsService {
|
|
|
249
239
|
* @return {?}
|
|
250
240
|
*/
|
|
251
241
|
trackSale(tracksaleKey, tracksaleCampaign, pageUrl) {
|
|
252
|
-
return
|
|
242
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
243
|
if (!((/** @type {?} */ (window))).show_tacksale) {
|
|
254
244
|
return;
|
|
255
245
|
}
|
|
@@ -336,7 +326,6 @@ export class SamUtilsService {
|
|
|
336
326
|
}
|
|
337
327
|
}
|
|
338
328
|
SamUtilsService.HAS_LOADED = false;
|
|
339
|
-
SamUtilsService.ACTIVE_USER = null;
|
|
340
329
|
SamUtilsService.decorators = [
|
|
341
330
|
{ type: Injectable, args: [{
|
|
342
331
|
providedIn: 'root'
|
|
@@ -346,22 +335,17 @@ SamUtilsService.decorators = [
|
|
|
346
335
|
SamUtilsService.ctorParameters = () => [
|
|
347
336
|
{ type: HttpClient }
|
|
348
337
|
];
|
|
349
|
-
/** @nocollapse */ SamUtilsService
|
|
338
|
+
/** @nocollapse */ SamUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(i0.ɵɵinject(i1.HttpClient)); }, token: SamUtilsService, providedIn: "root" });
|
|
350
339
|
if (false) {
|
|
351
340
|
/**
|
|
352
341
|
* @type {?}
|
|
353
342
|
* @private
|
|
354
343
|
*/
|
|
355
344
|
SamUtilsService.HAS_LOADED;
|
|
356
|
-
/**
|
|
357
|
-
* @type {?}
|
|
358
|
-
* @private
|
|
359
|
-
*/
|
|
360
|
-
SamUtilsService.ACTIVE_USER;
|
|
361
345
|
/**
|
|
362
346
|
* @type {?}
|
|
363
347
|
* @private
|
|
364
348
|
*/
|
|
365
349
|
SamUtilsService.prototype.httpClient;
|
|
366
350
|
}
|
|
367
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2FtLXNlbmlvci9zYW0tdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2FtLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUsvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVVyQyxNQUFNLE9BQU8sZUFBZTs7OztJQUsxQixZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDNUIsQ0FBQzs7Ozs7SUFFRSxnQkFBZ0IsQ0FBQyxRQUFRO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUc7Ozs7UUFBQyxPQUFPLENBQUMsRUFBRTs7Z0JBQ3hCLEdBQUcsR0FBRyxPQUFPO1lBQ2pCLElBQUk7O3NCQUNJLEVBQUUsR0FBRyxtQkFBQSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQU87Z0JBQ3JDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFO29CQUMxQixHQUFHLEdBQUcsTUFBTSxDQUFDO2lCQUNkO2FBQ0Y7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixHQUFHLEdBQUcsT0FBTyxDQUFDO2FBQ2Y7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7Ozs7O0lBRVksaUJBQWlCLENBQUMsT0FBZTs7O2tCQUN0QyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzdCLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7Ozs7OztJQUVNLFdBQVcsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3JELGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDOztrQkFDNUIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsRUFBRTtnQkFDOUMsVUFBVSxFQUFFLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2dCQUN0QyxJQUFJLEVBQUUsSUFBSTthQUNYLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7O0lBRU0sVUFBVTtRQUNmLElBQUk7O2tCQUNJLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNOzs7O1lBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzNELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25ELENBQUMsRUFBQztZQUNGLE9BQU8sa0JBQWtCLENBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3hCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7Ozs7OztJQUVZLGVBQWUsQ0FBQyxTQUFpQixFQUFFLE1BQVcsRUFBRSxPQUFnQjs7O2tCQUNyRSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ25ELElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxvQkFDbEIsTUFBTSxJQUNULFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUMzQyxVQUFVLEVBQUUsSUFBSSxJQUNoQixDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7Ozs7SUFFTSx5QkFBeUIsQ0FBSSxLQUFLO1FBQ3ZDLE9BQU8sSUFBSSxVQUFVOzs7O1FBQUksUUFBUSxDQUFDLEVBQUU7WUFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUdNLFVBQVU7UUFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYTtZQUNoSSxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNLElBQUksT0FBTyxjQUFjLEtBQUssV0FBVyxFQUFFLEVBQUUsZUFBZTtZQUNqRSxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSTs7OztRQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLGdEQUFnRDtZQUMzUSxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLEtBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLHlCQUF5QjtZQUNyRixPQUFPLG1CQUFtQixDQUFDO1NBQzVCO2FBQU0sSUFBSSxDQUFDLEVBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxVQUFVO1lBQ25HLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBQyxZQUFZO1lBQzFDLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7Ozs7SUFHTSxjQUFjO1FBQ25CLElBQUk7O2tCQUNJLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNOzs7O1lBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsRUFBQztZQUNGLE9BQU8sa0JBQWtCLENBQ3ZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7OztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUU7WUFDaEMsT0FBTyxtQkFBQSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUscUNBQXFDLEVBQUU7Z0JBQzlGLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO2FBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRzs7OztZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUMsQ0FBQyxFQUFPLENBQUM7U0FDakU7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7Ozs7O0lBRU0sb0JBQW9CLENBQUMsSUFBSTtRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSwwREFBMEQsSUFBSSxFQUFFLEVBQUU7WUFDOUgsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxtQkFBbUIsQ0FBQyxVQUFrQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsNkNBQTZDLEVBQUU7WUFDbkgsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxVQUFVO2FBQ3ZCO1lBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUF5QixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsaURBQWlELEVBQUU7WUFDNUgsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTyxVQUFVOztjQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQy9CLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7O0lBRU0sVUFBVTtRQUNmLElBQUk7O2tCQUNJLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNOzs7O1lBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2hFLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hELENBQUMsRUFBQztZQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7Ozs7Ozs7SUFFWSxTQUFTLENBQUMsWUFBb0IsRUFBRSxpQkFBeUIsRUFBRSxPQUFlOztZQUNyRixJQUFJLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRTtnQkFDbEMsT0FBTzthQUNSOztrQkFFSyxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFOztnQkFFMUQsS0FBSyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRTs7c0JBQzlCLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFO2dCQUNsRixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7O2tCQUVLLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFOztrQkFDOUQsaUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRTs7a0JBQzFGLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFOztrQkFDM0IsUUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7O2tCQUNyRCxLQUFLLEdBQUcsZUFBZSxDQUFDLEtBQUs7WUFDbkMsQ0FBQzs7Ozs7O1lBQUEsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7O3NCQUNWLENBQUMsR0FBRztvQkFDUixHQUFHLEVBQUUsWUFBWTtvQkFDakIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsS0FBSyxFQUFFLEtBQUs7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLFFBQVEsRUFBRSxlQUFlLENBQUMsVUFBVTt3QkFDcEMsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLElBQUksRUFBRSxFQUFFO3dCQUNSLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQjt3QkFDM0MsS0FBSyxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQjt3QkFDMUMsa0JBQWtCLEVBQUUsRUFBRTt3QkFDdEIsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsaUJBQWlCLEVBQUUsRUFBRTt3QkFDckIsaUJBQWlCLEVBQUUsRUFBRTt3QkFDckIsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO3FCQUNwQztpQkFDRjs7OztvQkFHRyxDQUFDOztzQkFDQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN2QixPQUFPO2lCQUNSO2dCQUNELENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDVCxDQUFDLENBQUMsR0FBRyxHQUFHLG9EQUFvRCxDQUFDO2dCQUM3RCxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO2dCQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDZixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxrQkFBa0I7OztnQkFBRzs7MEJBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVTtvQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO3dCQUMzQyxPQUFPO3FCQUNSO29CQUNELElBQUk7OzhCQUNJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRTt3QkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDWDtvQkFBQyxPQUFPLENBQUMsRUFBRSxHQUFHO2dCQUNqQixDQUFDLENBQUEsQ0FBQztnQkFDRixDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7O0FBeE5jLDBCQUFVLEdBQUcsS0FBSyxDQUFDO0FBQ25CLDJCQUFXLEdBQUcsSUFBSSxDQUFDOztZQU5uQyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFkUSxVQUFVOzs7Ozs7OztJQWlCakIsMkJBQWtDOzs7OztJQUNsQyw0QkFBa0M7Ozs7O0lBR2hDLHFDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5tb2RlbCc7XHJcbmltcG9ydCB7IFVzZXJSb2xlcyB9IGZyb20gJy4vdXNlci1yb2xlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEhhc0ludGVncmF0ZWRSb2xlTW9kZWwgfSBmcm9tICcuL2hhcy1pbnRlZ3JhdGVkLXJvbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUZW5hbnRJbmZvcm1hdGlvbiB9IGZyb20gJy4vdGVuYW50LWluZm9ybWF0aW9uJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBJbnN0YWxsVHJpZ2dlcjogYW55O1xyXG5kZWNsYXJlIGNvbnN0IHNhZmFyaTogYW55O1xyXG5kZWNsYXJlIGNvbnN0IFRyYWNrc2FsZTogYW55O1xyXG5kZWNsYXJlIGxldCBndGFnOiBGdW5jdGlvbjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhbVV0aWxzU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIEhBU19MT0FERUQgPSBmYWxzZTtcclxuICBwcml2YXRlIHN0YXRpYyBBQ1RJVkVfVVNFUiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGdldFVybFdpdGhvdXRJZHModXJsUGFydHMpIHtcclxuICAgIHJldHVybiB1cmxQYXJ0cy5tYXAodXJsUGFydCA9PiB7XHJcbiAgICAgIGxldCB1cmwgPSB1cmxQYXJ0O1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGlkID0gcGFyc2VGbG9hdCh1cmxQYXJ0KSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGlkID4gMCB8fCBpZCA9PT0gJ25ldycpIHtcclxuICAgICAgICAgIHVybCA9ICd7aWR9JztcclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKF8pIHtcclxuICAgICAgICB1cmwgPSB1cmxQYXJ0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB1cmw7XHJcbiAgICB9KS5qb2luKCcvJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0VXNlclByb3BlcnRpZXMocHJvZHVjdDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVVc2VyKCkudG9Qcm9taXNlKCk7XHJcbiAgICBndGFnKCdzZXQnLCAndXNlcl9wcm9wZXJ0aWVzJywge1xyXG4gICAgICBwcm9kdWN0X2c3OiBwcm9kdWN0LFxyXG4gICAgICB0ZW5hbnQ6IHVzZXIudGVuYW50TmFtZSxcclxuICAgICAgdXNlcm5hbWU6IHVzZXIudXNlcm5hbWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VMb2FkaW5nKHBhZ2U6IHN0cmluZywgcHJvZHVjdDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIVNhbVV0aWxzU2VydmljZS5IQVNfTE9BREVEICYmIHdpbmRvdy5wZXJmb3JtYW5jZSkge1xyXG4gICAgICBTYW1VdGlsc1NlcnZpY2UuSEFTX0xPQURFRCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHRpbWVTaW5jZVBhZ2VMb2FkID0gTWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKSk7XHJcbiAgICAgIHRoaXMuc2VuZFRvQW5hbHl0aWNzKCd0ZW1wb19jYXJyZWdhbWVudG9fdGVsYScsIHtcclxuICAgICAgICB0aW1lX3ZhbHVlOiAodGltZVNpbmNlUGFnZUxvYWQgLyAxMDAwKSxcclxuICAgICAgICBwYWdlOiBwYWdlXHJcbiAgICAgIH0sIHByb2R1Y3QpLnRoZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRCYXNlVVJMKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY29va2llID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmlsdGVyKGNvb2tpZVN0ciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvb2tpZVN0ci5pbmNsdWRlcygnY29tLnNlbmlvci5iYXNlLnVybCcpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICBjb29raWVbMF0uc3BsaXQoJz0nKVsxXVxyXG4gICAgICApLnNsaWNlKDAsIC0xKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aHJvdyBFcnJvcignUGxhdGZvcm0gRzcgbm90IGNvbmZpZ3VyZWQgaW4gdGhpcyBhcHAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZW5kVG9BbmFseXRpY3MoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtczogYW55LCBwcm9kdWN0Pzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVVc2VyKCkudG9Qcm9taXNlKCk7XHJcbiAgICBndGFnKCdldmVudCcsIGV2ZW50TmFtZSwge1xyXG4gICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmdldEJhc2VVUkwoKSxcclxuICAgICAgdXNlcjogdXNlci51c2VybmFtZSxcclxuICAgICAgdGVudGFudDogdXNlci50ZW5hbnROYW1lLFxyXG4gICAgICBwcm9kdWN0OiBwcm9kdWN0ID8gcHJvZHVjdCA6IHBhcmFtcy5wcm9kdWN0LFxyXG4gICAgICBkZWJ1Z19tb2RlOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVPYnNlcnZhYmxlV2l0aFZhbHVlPFQ+KHZhbHVlKSB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICBvYnNlcnZlci5uZXh0KHZhbHVlKTtcclxuICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyogdHNsaW50OmRpc2FibGUgKi9cclxuICBwdWJsaWMgZ2V0QnJvd3NlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKCghIXdpbmRvd1snb3ByJ10gJiYgISF3aW5kb3dbJ29wciddLmFkZG9ucykgfHwgISF3aW5kb3dbJ29wZXJhJ10gfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCcgT1BSLycpID49IDApIHsgLy8gT3BlcmEgOC4wK1xyXG4gICAgICByZXR1cm4gJ09wZXJhJztcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIEluc3RhbGxUcmlnZ2VyICE9PSAndW5kZWZpbmVkJykgeyAvLyBGaXJlZm94IDEuMCtcclxuICAgICAgcmV0dXJuICdGaXJlZm94JztcclxuICAgIH0gZWxzZSBpZiAoL2NvbnN0cnVjdG9yL2kudGVzdCh3aW5kb3dbJ0hUTUxFbGVtZW50J10pIHx8IChmdW5jdGlvbiAocCkgeyByZXR1cm4gcC50b1N0cmluZygpID09PSBcIltvYmplY3QgU2FmYXJpUmVtb3RlTm90aWZpY2F0aW9uXVwiOyB9KSghd2luZG93WydzYWZhcmknXSB8fCAodHlwZW9mIHNhZmFyaSAhPT0gJ3VuZGVmaW5lZCcgJiYgc2FmYXJpLnB1c2hOb3RpZmljYXRpb24pKSkgeyAvLyBTYWZhcmkgMy4wKyBcIltvYmplY3QgSFRNTEVsZW1lbnRDb25zdHJ1Y3Rvcl1cIlxyXG4gICAgICByZXR1cm4gJ1NhZmFyaSc7XHJcbiAgICB9IGVsc2UgaWYgKC8qQGNjX29uIUAqL2ZhbHNlIHx8ICEhZG9jdW1lbnRbJ2RvY3VtZW50TW9kZSddKSB7IC8vIEludGVybmV0IEV4cGxvcmVyIDYtMTFcclxuICAgICAgcmV0dXJuICdJbnRlcm5ldCBFeHBsb3Jlcic7XHJcbiAgICB9IGVsc2UgaWYgKCEoLypAY2Nfb24hQCovZmFsc2UgfHwgISFkb2N1bWVudFsnZG9jdW1lbnRNb2RlJ10pICYmICEhd2luZG93WydTdHlsZU1lZGlhJ10pIHsgLy9FZGdlIDIwK1xyXG4gICAgICByZXR1cm4gJ0VkZ2UnO1xyXG4gICAgfSBlbHNlIGlmICghIXdpbmRvd1snY2hyb21lJ10pIHsvLyBDaHJvbWUgMStcclxuICAgICAgcmV0dXJuICdDaHJvbWUnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICd1bmtub3duJztcclxuICB9XHJcbiAgLyogdHNsaW50OmVuYWJsZSAqL1xyXG5cclxuICBwdWJsaWMgZ2V0RzdCcmlkZ2VVUkwoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkdCA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbHRlcihjb29raWVTdHIgPT4ge1xyXG4gICAgICAgIHJldHVybiBjb29raWVTdHIuaW5jbHVkZXMoJ2NvbS5zZW5pb3Iuc2VydmljZXMudXJsJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICAgIGR0WzBdLnNwbGl0KCc9JylbMV1cclxuICAgICAgKS5zbGljZSgwLCAtMSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1BsYXRmb3JtIEc3IG5vdCBjb25maWd1cmVkIGluIHRoaXMgYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZlVXNlcigpIHtcclxuICAgIGlmICghU2FtVXRpbHNTZXJ2aWNlLkFDVElWRV9VU0VSKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFVzZXI+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9wbGF0Zm9ybS91c2VyL3F1ZXJpZXMvZ2V0VXNlcmAsIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgICB9KS5waXBlKG1hcCh1c2VyID0+IFNhbVV0aWxzU2VydmljZS5BQ1RJVkVfVVNFUiA9IHVzZXIpKSBhcyBhbnk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVPYnNlcnZhYmxlV2l0aFZhbHVlKFNhbVV0aWxzU2VydmljZS5BQ1RJVkVfVVNFUik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Um9sZXNCeUFjdGl2ZVVzZXIodXNlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlclJvbGVzPihgJHt0aGlzLmdldEc3QnJpZGdlVVJMKCl9L3Jlc3QvcGxhdGZvcm0vYXV0aG9yaXphdGlvbi9xdWVyaWVzL2dldFVzZXJSb2xlcz91c2VyPSR7dXNlcn1gLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZW5hdEluZm9ybWF0aW9uKHNjaGVtYU5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VGVuYW50SW5mb3JtYXRpb24+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYWRtaW5pc3RyYXRpb24vcXVlcmllcy9nZXRFcnBDb2RlYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBzY2hlbWFOYW1lOiBzY2hlbWFOYW1lXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNJbnRlZ3JhdGVkUm9sZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEhhc0ludGVncmF0ZWRSb2xlTW9kZWw+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYXBwbGljYXRpb24vcXVlcmllcy9oYXNJbnRlZ3JhdGVkUm9sZWAsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldEc3VG9rZW4oKTtcclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgJHt0b2tlbi50b2tlbl90eXBlfSAke3Rva2VuLmFjY2Vzc190b2tlbn1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHN1Rva2VuKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc2VuaW9yVG9rZW4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maWx0ZXIoY29va2llU3RyID0+IHtcclxuICAgICAgICByZXR1cm4gY29va2llU3RyLmluY2x1ZGVzKCdjb20uc2VuaW9yLnRva2VuJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoc2VuaW9yVG9rZW5bMF0uc3BsaXQoJz0nKVsxXSkpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdQbGF0Zm9ybSBHNyBub3QgY29uZmlndXJlZCBpbiB0aGlzIGFwcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHRyYWNrU2FsZSh0cmFja3NhbGVLZXk6IHN0cmluZywgdHJhY2tzYWxlQ2FtcGFpZ246IHN0cmluZywgcGFnZVVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAoISh3aW5kb3cgYXMgYW55KS5zaG93X3RhY2tzYWxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1c2VySW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLmdldEFjdGl2ZVVzZXIoKS50b1Byb21pc2UoKTtcclxuXHJcbiAgICBsZXQgcm9sZXMgPSAnJztcclxuICAgIGlmICgod2luZG93IGFzIGFueSkuY2FuX2NhcHR1cmVfcm9sZSkge1xyXG4gICAgICBjb25zdCByb2xlID0gYXdhaXQgdGhpcy5nZXRSb2xlc0J5QWN0aXZlVXNlcih1c2VySW5mb3JtYXRpb24udXNlcm5hbWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICByb2xlcyA9IHJvbGUucm9sZXMuam9pbignLCAnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBoYXNJbnRlZ3JhdGVkUm9sZSA9IGF3YWl0IHRoaXMuaGFzSW50ZWdyYXRlZFJvbGUoKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IHRlbmFudEluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5nZXRUZW5hdEluZm9ybWF0aW9uKHVzZXJJbmZvcm1hdGlvbi50ZW5hbnROYW1lKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IGJyb3dzZXIgPSB0aGlzLmdldEJyb3dzZXIoKTtcclxuICAgIGNvbnN0IGZ1bGxuYW1lID0gdXNlckluZm9ybWF0aW9uLmZ1bGxOYW1lLnJlcGxhY2UoJysnLCAnICcpO1xyXG4gICAgY29uc3QgZW1haWwgPSB1c2VySW5mb3JtYXRpb24uZW1haWw7XHJcbiAgICAoZnVuY3Rpb24gKGYsIGIsIGcpIHtcclxuICAgICAgY29uc3QgYSA9IHtcclxuICAgICAgICBrZXk6IHRyYWNrc2FsZUtleSxcclxuICAgICAgICBjYW1wYWlnbjogdHJhY2tzYWxlQ2FtcGFpZ24sXHJcbiAgICAgICAgbmFtZTogZnVsbG5hbWUsXHJcbiAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgIHRhZ3M6IHtcclxuICAgICAgICAgICd0ZW5hbnQnOiB1c2VySW5mb3JtYXRpb24udGVuYW50TmFtZSxcclxuICAgICAgICAgICdwYXBlbCc6IHJvbGVzLFxyXG4gICAgICAgICAgJ2RldmljZSc6IGJyb3dzZXIsXHJcbiAgICAgICAgICAndWYnOiAnJyxcclxuICAgICAgICAgICdTQU0nOiAhaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR0FTJzogaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR2VzdGFvSW5jaWRlbnRlcyc6ICcnLFxyXG4gICAgICAgICAgJ0NhbWVyYXMnOiAnJyxcclxuICAgICAgICAgICdQb3J0YXJpYVZpcnR1YWwnOiAnJyxcclxuICAgICAgICAgICdBdXRvYXRlbmRpbWVudG8nOiAnJyxcclxuICAgICAgICAgICdwYWdpbmEnOiBwYWdlVXJsLFxyXG4gICAgICAgICAgJ0lEIEVSUCc6IHRlbmFudEluZm9ybWF0aW9uLmVycENvZGVcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIC8vIFNlZ3VpbmRvIG8gZXhlbXBsbyBkYSBhcnF1aXRlcmEuXHJcbiAgICAgIC8vIEZvbnRlIG7Do28gc2Vyw6EgYWx0ZXJhZG8gbmVzdGEgdGFzaztcclxuICAgICAgbGV0IGU7XHJcbiAgICAgIGNvbnN0IGMgPSBmLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdO1xyXG4gICAgICBpZiAoZi5nZXRFbGVtZW50QnlJZChnKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlID0gZi5jcmVhdGVFbGVtZW50KGIpO1xyXG4gICAgICBlLmlkID0gZztcclxuICAgICAgZS5zcmMgPSAnaHR0cHM6Ly9jZG4udHJhY2tzYWxlLmNvL3RyYWNrc2FsZS1qcy90cmFja3NhbGUuanMnO1xyXG4gICAgICBlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgZS5hc3luYyA9IHRydWU7XHJcbiAgICAgIGUub25sb2FkID0gZS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgY29uc3QgaCA9IHRoaXMucmVhZHlTdGF0ZTtcclxuICAgICAgICBpZiAoaCAmJiBoICE9PSAnY29tcGxldGUnICYmIGggIT09ICdsb2FkZWQnKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCBkID0gbmV3IFRyYWNrc2FsZSgpO1xyXG4gICAgICAgICAgZC5pbml0KGEpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGkpIHsgfVxyXG4gICAgICB9O1xyXG4gICAgICBjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsIGMpO1xyXG4gICAgfShkb2N1bWVudCwgJ3NjcmlwdCcsICd0cmFja3NhbGUtanMnKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2FtLXNlbmlvci9zYW0tdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2FtLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBYy9ELE1BQU0sT0FBTyxlQUFlOzs7O0lBSTFCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM1QixDQUFDOzs7OztJQUVFLGdCQUFnQixDQUFDLFFBQVE7UUFDOUIsT0FBTyxRQUFRLENBQUMsR0FBRzs7OztRQUFDLE9BQU8sQ0FBQyxFQUFFOztnQkFDeEIsR0FBRyxHQUFHLE9BQU87WUFDakIsSUFBSTs7c0JBQ0ksRUFBRSxHQUFHLG1CQUFBLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBTztnQkFDckMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUU7b0JBQzFCLEdBQUcsR0FBRyxNQUFNLENBQUM7aUJBQ2Q7YUFDRjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFWSxpQkFBaUIsQ0FBQyxPQUFlOzs7a0JBQ3RDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFDN0IsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLE1BQU0sRUFB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LG9EQUFvRCxDQUFDO2dCQUM3RCxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO2dCQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDZixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxrQkFBa0I7OztnQkFBRzs7MEJBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVTtvQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO3dCQUMzQyxPQUFPO3FCQUNSO29CQUNELElBQUk7OzhCQUNJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRTt3QkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDWDtvQkFBQyxPQUFPLENBQUMsRUFBRSxHQUFHO2dCQUNqQixDQUFDLENBQUEsQ0FBQztnQkFDRixDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7O0FBbk5jLDBCQUFVLEdBQUcsS0FBSyxDQUFDOztZQUxuQyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFiUSxVQUFVOzs7Ozs7OztJQWdCakIsMkJBQWtDOzs7OztJQUdoQyxxQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBVc2VyUm9sZXMgfSBmcm9tICcuL3VzZXItcm9sZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBIYXNJbnRlZ3JhdGVkUm9sZU1vZGVsIH0gZnJvbSAnLi9oYXMtaW50ZWdyYXRlZC1yb2xlLm1vZGVsJztcclxuaW1wb3J0IHsgVGVuYW50SW5mb3JtYXRpb24gfSBmcm9tICcuL3RlbmFudC1pbmZvcm1hdGlvbic7XHJcblxyXG5kZWNsYXJlIGNvbnN0IEluc3RhbGxUcmlnZ2VyOiBhbnk7XHJcbmRlY2xhcmUgY29uc3Qgc2FmYXJpOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgVHJhY2tzYWxlOiBhbnk7XHJcbmRlY2xhcmUgbGV0IGd0YWc6IEZ1bmN0aW9uO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FtVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgSEFTX0xPQURFRCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXRVcmxXaXRob3V0SWRzKHVybFBhcnRzKSB7XHJcbiAgICByZXR1cm4gdXJsUGFydHMubWFwKHVybFBhcnQgPT4ge1xyXG4gICAgICBsZXQgdXJsID0gdXJsUGFydDtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBpZCA9IHBhcnNlRmxvYXQodXJsUGFydCkgYXMgYW55O1xyXG4gICAgICAgIGlmIChpZCA+IDAgfHwgaWQgPT09ICduZXcnKSB7XHJcbiAgICAgICAgICB1cmwgPSAne2lkfSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChfKSB7XHJcbiAgICAgICAgdXJsID0gdXJsUGFydDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdXJsO1xyXG4gICAgfSkuam9pbignLycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNldFVzZXJQcm9wZXJ0aWVzKHByb2R1Y3Q6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG4gICAgZ3RhZygnc2V0JywgJ3VzZXJfcHJvcGVydGllcycsIHtcclxuICAgICAgcHJvZHVjdF9nNzogcHJvZHVjdCxcclxuICAgICAgdGVuYW50OiB1c2VyLnRlbmFudE5hbWUsXHJcbiAgICAgIHVzZXJuYW1lOiB1c2VyLnVzZXJuYW1lXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlTG9hZGluZyhwYWdlOiBzdHJpbmcsIHByb2R1Y3Q6IHN0cmluZykge1xyXG4gICAgaWYgKCFTYW1VdGlsc1NlcnZpY2UuSEFTX0xPQURFRCAmJiB3aW5kb3cucGVyZm9ybWFuY2UpIHtcclxuICAgICAgU2FtVXRpbHNTZXJ2aWNlLkhBU19MT0FERUQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB0aW1lU2luY2VQYWdlTG9hZCA9IE1hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpO1xyXG4gICAgICB0aGlzLnNlbmRUb0FuYWx5dGljcygndGVtcG9fY2FycmVnYW1lbnRvX3RlbGEnLCB7XHJcbiAgICAgICAgdGltZV92YWx1ZTogKHRpbWVTaW5jZVBhZ2VMb2FkIC8gMTAwMCksXHJcbiAgICAgICAgcGFnZTogcGFnZVxyXG4gICAgICB9LCBwcm9kdWN0KS50aGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QmFzZVVSTCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvb2tpZSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbHRlcihjb29raWVTdHIgPT4ge1xyXG4gICAgICAgIHJldHVybiBjb29raWVTdHIuaW5jbHVkZXMoJ2NvbS5zZW5pb3IuYmFzZS51cmwnKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoXHJcbiAgICAgICAgY29va2llWzBdLnNwbGl0KCc9JylbMV1cclxuICAgICAgKS5zbGljZSgwLCAtMSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1BsYXRmb3JtIEc3IG5vdCBjb25maWd1cmVkIGluIHRoaXMgYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2VuZFRvQW5hbHl0aWNzKGV2ZW50TmFtZTogc3RyaW5nLCBwYXJhbXM6IGFueSwgcHJvZHVjdD86IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG4gICAgZ3RhZygnZXZlbnQnLCBldmVudE5hbWUsIHtcclxuICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5nZXRCYXNlVVJMKCksXHJcbiAgICAgIHVzZXI6IHVzZXIudXNlcm5hbWUsXHJcbiAgICAgIHRlbnRhbnQ6IHVzZXIudGVuYW50TmFtZSxcclxuICAgICAgcHJvZHVjdDogcHJvZHVjdCA/IHByb2R1Y3QgOiBwYXJhbXMucHJvZHVjdCxcclxuICAgICAgZGVidWdfbW9kZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlT2JzZXJ2YWJsZVdpdGhWYWx1ZTxUPih2YWx1ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFQ+KG9ic2VydmVyID0+IHtcclxuICAgICAgb2JzZXJ2ZXIubmV4dCh2YWx1ZSk7XHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qIHRzbGludDpkaXNhYmxlICovXHJcbiAgcHVibGljIGdldEJyb3dzZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICgoISF3aW5kb3dbJ29wciddICYmICEhd2luZG93WydvcHInXS5hZGRvbnMpIHx8ICEhd2luZG93WydvcGVyYSddIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignIE9QUi8nKSA+PSAwKSB7IC8vIE9wZXJhIDguMCtcclxuICAgICAgcmV0dXJuICdPcGVyYSc7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBJbnN0YWxsVHJpZ2dlciAhPT0gJ3VuZGVmaW5lZCcpIHsgLy8gRmlyZWZveCAxLjArXHJcbiAgICAgIHJldHVybiAnRmlyZWZveCc7XHJcbiAgICB9IGVsc2UgaWYgKC9jb25zdHJ1Y3Rvci9pLnRlc3Qod2luZG93WydIVE1MRWxlbWVudCddIGFzIGFueSkgfHwgKGZ1bmN0aW9uIChwKSB7IHJldHVybiBwLnRvU3RyaW5nKCkgPT09IFwiW29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25dXCI7IH0pKCF3aW5kb3dbJ3NhZmFyaSddIHx8ICh0eXBlb2Ygc2FmYXJpICE9PSAndW5kZWZpbmVkJyAmJiBzYWZhcmkucHVzaE5vdGlmaWNhdGlvbikpKSB7IC8vIFNhZmFyaSAzLjArIFwiW29iamVjdCBIVE1MRWxlbWVudENvbnN0cnVjdG9yXVwiXHJcbiAgICAgIHJldHVybiAnU2FmYXJpJztcclxuICAgIH0gZWxzZSBpZiAoLypAY2Nfb24hQCovZmFsc2UgfHwgISFkb2N1bWVudFsnZG9jdW1lbnRNb2RlJ10pIHsgLy8gSW50ZXJuZXQgRXhwbG9yZXIgNi0xMVxyXG4gICAgICByZXR1cm4gJ0ludGVybmV0IEV4cGxvcmVyJztcclxuICAgIH0gZWxzZSBpZiAoISgvKkBjY19vbiFAKi9mYWxzZSB8fCAhIWRvY3VtZW50Wydkb2N1bWVudE1vZGUnXSkgJiYgISF3aW5kb3dbJ1N0eWxlTWVkaWEnXSkgeyAvL0VkZ2UgMjArXHJcbiAgICAgIHJldHVybiAnRWRnZSc7XHJcbiAgICB9IGVsc2UgaWYgKCEhd2luZG93WydjaHJvbWUnXSkgey8vIENocm9tZSAxK1xyXG4gICAgICByZXR1cm4gJ0Nocm9tZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJ3Vua25vd24nO1xyXG4gIH1cclxuICAvKiB0c2xpbnQ6ZW5hYmxlICovXHJcblxyXG4gIHB1YmxpYyBnZXRHN0JyaWRnZVVSTCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGR0ID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmlsdGVyKGNvb2tpZVN0ciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvb2tpZVN0ci5pbmNsdWRlcygnY29tLnNlbmlvci5zZXJ2aWNlcy51cmwnKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoXHJcbiAgICAgICAgZHRbMF0uc3BsaXQoJz0nKVsxXVxyXG4gICAgICApLnNsaWNlKDAsIC0xKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aHJvdyBFcnJvcignUGxhdGZvcm0gRzcgbm90IGNvbmZpZ3VyZWQgaW4gdGhpcyBhcHAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBY3RpdmVVc2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlcj4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3BsYXRmb3JtL3VzZXIvcXVlcmllcy9nZXRVc2VyYCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Um9sZXNCeUFjdGl2ZVVzZXIodXNlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlclJvbGVzPihgJHt0aGlzLmdldEc3QnJpZGdlVVJMKCl9L3Jlc3QvcGxhdGZvcm0vYXV0aG9yaXphdGlvbi9xdWVyaWVzL2dldFVzZXJSb2xlcz91c2VyPSR7dXNlcn1gLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZW5hdEluZm9ybWF0aW9uKHNjaGVtYU5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VGVuYW50SW5mb3JtYXRpb24+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYWRtaW5pc3RyYXRpb24vcXVlcmllcy9nZXRFcnBDb2RlYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBzY2hlbWFOYW1lOiBzY2hlbWFOYW1lXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNJbnRlZ3JhdGVkUm9sZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEhhc0ludGVncmF0ZWRSb2xlTW9kZWw+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9zYW0vYXBwbGljYXRpb24vcXVlcmllcy9oYXNJbnRlZ3JhdGVkUm9sZWAsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldEc3VG9rZW4oKTtcclxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgJHt0b2tlbi50b2tlbl90eXBlfSAke3Rva2VuLmFjY2Vzc190b2tlbn1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHN1Rva2VuKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc2VuaW9yVG9rZW4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maWx0ZXIoY29va2llU3RyID0+IHtcclxuICAgICAgICByZXR1cm4gY29va2llU3RyLmluY2x1ZGVzKCdjb20uc2VuaW9yLnRva2VuJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoc2VuaW9yVG9rZW5bMF0uc3BsaXQoJz0nKVsxXSkpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdQbGF0Zm9ybSBHNyBub3QgY29uZmlndXJlZCBpbiB0aGlzIGFwcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHRyYWNrU2FsZSh0cmFja3NhbGVLZXk6IHN0cmluZywgdHJhY2tzYWxlQ2FtcGFpZ246IHN0cmluZywgcGFnZVVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAoISh3aW5kb3cgYXMgYW55KS5zaG93X3RhY2tzYWxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1c2VySW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLmdldEFjdGl2ZVVzZXIoKS50b1Byb21pc2UoKTtcclxuXHJcbiAgICBsZXQgcm9sZXMgPSAnJztcclxuICAgIGlmICgod2luZG93IGFzIGFueSkuY2FuX2NhcHR1cmVfcm9sZSkge1xyXG4gICAgICBjb25zdCByb2xlID0gYXdhaXQgdGhpcy5nZXRSb2xlc0J5QWN0aXZlVXNlcih1c2VySW5mb3JtYXRpb24udXNlcm5hbWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICByb2xlcyA9IHJvbGUucm9sZXMuam9pbignLCAnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBoYXNJbnRlZ3JhdGVkUm9sZSA9IGF3YWl0IHRoaXMuaGFzSW50ZWdyYXRlZFJvbGUoKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IHRlbmFudEluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5nZXRUZW5hdEluZm9ybWF0aW9uKHVzZXJJbmZvcm1hdGlvbi50ZW5hbnROYW1lKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IGJyb3dzZXIgPSB0aGlzLmdldEJyb3dzZXIoKTtcclxuICAgIGNvbnN0IGZ1bGxuYW1lID0gdXNlckluZm9ybWF0aW9uLmZ1bGxOYW1lLnJlcGxhY2UoJysnLCAnICcpO1xyXG4gICAgY29uc3QgZW1haWwgPSB1c2VySW5mb3JtYXRpb24uZW1haWw7XHJcbiAgICAoZnVuY3Rpb24gKGYsIGIsIGcpIHtcclxuICAgICAgY29uc3QgYSA9IHtcclxuICAgICAgICBrZXk6IHRyYWNrc2FsZUtleSxcclxuICAgICAgICBjYW1wYWlnbjogdHJhY2tzYWxlQ2FtcGFpZ24sXHJcbiAgICAgICAgbmFtZTogZnVsbG5hbWUsXHJcbiAgICAgICAgZW1haWw6IGVtYWlsLFxyXG4gICAgICAgIHRhZ3M6IHtcclxuICAgICAgICAgICd0ZW5hbnQnOiB1c2VySW5mb3JtYXRpb24udGVuYW50TmFtZSxcclxuICAgICAgICAgICdwYXBlbCc6IHJvbGVzLFxyXG4gICAgICAgICAgJ2RldmljZSc6IGJyb3dzZXIsXHJcbiAgICAgICAgICAndWYnOiAnJyxcclxuICAgICAgICAgICdTQU0nOiAhaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR0FTJzogaGFzSW50ZWdyYXRlZFJvbGUuaGFzSW50ZWdyYXRlZFJvbGUsXHJcbiAgICAgICAgICAnR2VzdGFvSW5jaWRlbnRlcyc6ICcnLFxyXG4gICAgICAgICAgJ0NhbWVyYXMnOiAnJyxcclxuICAgICAgICAgICdQb3J0YXJpYVZpcnR1YWwnOiAnJyxcclxuICAgICAgICAgICdBdXRvYXRlbmRpbWVudG8nOiAnJyxcclxuICAgICAgICAgICdwYWdpbmEnOiBwYWdlVXJsLFxyXG4gICAgICAgICAgJ0lEIEVSUCc6IHRlbmFudEluZm9ybWF0aW9uLmVycENvZGVcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIC8vIFNlZ3VpbmRvIG8gZXhlbXBsbyBkYSBhcnF1aXRlcmEuXHJcbiAgICAgIC8vIEZvbnRlIG7Do28gc2Vyw6EgYWx0ZXJhZG8gbmVzdGEgdGFzaztcclxuICAgICAgbGV0IGU7XHJcbiAgICAgIGNvbnN0IGMgPSBmLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdO1xyXG4gICAgICBpZiAoZi5nZXRFbGVtZW50QnlJZChnKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlID0gZi5jcmVhdGVFbGVtZW50KGIpO1xyXG4gICAgICBlLmlkID0gZztcclxuICAgICAgZS5zcmMgPSAnaHR0cHM6Ly9jZG4udHJhY2tzYWxlLmNvL3RyYWNrc2FsZS1qcy90cmFja3NhbGUuanMnO1xyXG4gICAgICBlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgZS5hc3luYyA9IHRydWU7XHJcbiAgICAgIGUub25sb2FkID0gZS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgY29uc3QgaCA9IHRoaXMucmVhZHlTdGF0ZTtcclxuICAgICAgICBpZiAoaCAmJiBoICE9PSAnY29tcGxldGUnICYmIGggIT09ICdsb2FkZWQnKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCBkID0gbmV3IFRyYWNrc2FsZSgpO1xyXG4gICAgICAgICAgZC5pbml0KGEpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGkpIHsgfVxyXG4gICAgICB9O1xyXG4gICAgICBjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsIGMpO1xyXG4gICAgfShkb2N1bWVudCwgJ3NjcmlwdCcsICd0cmFja3NhbGUtanMnKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
9
|
-
import { map } from 'rxjs/operators';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@angular/common/http";
|
|
12
11
|
var SamUtilsService = /** @class */ (function () {
|
|
@@ -51,9 +50,9 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
51
50
|
* @return {?}
|
|
52
51
|
*/
|
|
53
52
|
function (product) {
|
|
54
|
-
return
|
|
53
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
55
54
|
var user;
|
|
56
|
-
return
|
|
55
|
+
return __generator(this, function (_a) {
|
|
57
56
|
switch (_a.label) {
|
|
58
57
|
case 0: return [4 /*yield*/, this.getActiveUser().toPromise()];
|
|
59
58
|
case 1:
|
|
@@ -124,14 +123,14 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
124
123
|
* @return {?}
|
|
125
124
|
*/
|
|
126
125
|
function (eventName, params, product) {
|
|
127
|
-
return
|
|
126
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
127
|
var user;
|
|
129
|
-
return
|
|
128
|
+
return __generator(this, function (_a) {
|
|
130
129
|
switch (_a.label) {
|
|
131
130
|
case 0: return [4 /*yield*/, this.getActiveUser().toPromise()];
|
|
132
131
|
case 1:
|
|
133
132
|
user = _a.sent();
|
|
134
|
-
gtag('event', eventName,
|
|
133
|
+
gtag('event', eventName, __assign(__assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
135
134
|
return [2 /*return*/];
|
|
136
135
|
}
|
|
137
136
|
});
|
|
@@ -173,7 +172,7 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
173
172
|
else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
|
|
174
173
|
return 'Firefox';
|
|
175
174
|
}
|
|
176
|
-
else if (/constructor/i.test(window['HTMLElement']) || ((/**
|
|
175
|
+
else if (/constructor/i.test((/** @type {?} */ (window['HTMLElement']))) || ((/**
|
|
177
176
|
* @param {?} p
|
|
178
177
|
* @return {?}
|
|
179
178
|
*/
|
|
@@ -223,18 +222,9 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
223
222
|
* @return {?}
|
|
224
223
|
*/
|
|
225
224
|
function () {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}).pipe(map((/**
|
|
230
|
-
* @param {?} user
|
|
231
|
-
* @return {?}
|
|
232
|
-
*/
|
|
233
|
-
function (user) { return SamUtilsService.ACTIVE_USER = user; })))));
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);
|
|
237
|
-
}
|
|
225
|
+
return this.httpClient.get(this.getG7BridgeURL() + "/rest/platform/user/queries/getUser", {
|
|
226
|
+
headers: this.getHeaders()
|
|
227
|
+
});
|
|
238
228
|
};
|
|
239
229
|
/**
|
|
240
230
|
* @param {?} user
|
|
@@ -324,9 +314,9 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
324
314
|
* @return {?}
|
|
325
315
|
*/
|
|
326
316
|
function (tracksaleKey, tracksaleCampaign, pageUrl) {
|
|
327
|
-
return
|
|
317
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
328
318
|
var userInformation, roles, role, hasIntegratedRole, tenantInformation, browser, fullname, email;
|
|
329
|
-
return
|
|
319
|
+
return __generator(this, function (_a) {
|
|
330
320
|
switch (_a.label) {
|
|
331
321
|
case 0:
|
|
332
322
|
if (!((/** @type {?} */ (window))).show_tacksale) {
|
|
@@ -417,7 +407,6 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
417
407
|
});
|
|
418
408
|
};
|
|
419
409
|
SamUtilsService.HAS_LOADED = false;
|
|
420
|
-
SamUtilsService.ACTIVE_USER = null;
|
|
421
410
|
SamUtilsService.decorators = [
|
|
422
411
|
{ type: Injectable, args: [{
|
|
423
412
|
providedIn: 'root'
|
|
@@ -427,7 +416,7 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
427
416
|
SamUtilsService.ctorParameters = function () { return [
|
|
428
417
|
{ type: HttpClient }
|
|
429
418
|
]; };
|
|
430
|
-
/** @nocollapse */ SamUtilsService
|
|
419
|
+
/** @nocollapse */ SamUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(i0.ɵɵinject(i1.HttpClient)); }, token: SamUtilsService, providedIn: "root" });
|
|
431
420
|
return SamUtilsService;
|
|
432
421
|
}());
|
|
433
422
|
export { SamUtilsService };
|
|
@@ -437,15 +426,10 @@ if (false) {
|
|
|
437
426
|
* @private
|
|
438
427
|
*/
|
|
439
428
|
SamUtilsService.HAS_LOADED;
|
|
440
|
-
/**
|
|
441
|
-
* @type {?}
|
|
442
|
-
* @private
|
|
443
|
-
*/
|
|
444
|
-
SamUtilsService.ACTIVE_USER;
|
|
445
429
|
/**
|
|
446
430
|
* @type {?}
|
|
447
431
|
* @private
|
|
448
432
|
*/
|
|
449
433
|
SamUtilsService.prototype.httpClient;
|
|
450
434
|
}
|
|
451
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2FtLXNlbmlvci9zYW0tdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2FtLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUsvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU9yQztJQVFFLHlCQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDNUIsQ0FBQzs7Ozs7SUFFRSwwQ0FBZ0I7Ozs7SUFBdkIsVUFBd0IsUUFBUTtRQUM5QixPQUFPLFFBQVEsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxPQUFPOztnQkFDckIsR0FBRyxHQUFHLE9BQU87WUFDakIsSUFBSTs7b0JBQ0ksRUFBRSxHQUFHLG1CQUFBLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBTztnQkFDckMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUU7b0JBQzFCLEdBQUcsR0FBRyxNQUFNLENBQUM7aUJBQ2Q7YUFDRjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFWSwyQ0FBaUI7Ozs7SUFBOUIsVUFBK0IsT0FBZTs7Ozs7NEJBQy9CLHFCQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBQTs7d0JBQTdDLElBQUksR0FBRyxTQUFzQzt3QkFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTs0QkFDN0IsVUFBVSxFQUFFLE9BQU87NEJBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3lCQUN4QixDQUFDLENBQUM7Ozs7O0tBQ0o7Ozs7OztJQUVNLHFDQUFXOzs7OztJQUFsQixVQUFtQixJQUFZLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3JELGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDOztnQkFDNUIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsRUFBRTtnQkFDOUMsVUFBVSxFQUFFLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2dCQUN0QyxJQUFJLEVBQUUsSUFBSTthQUNYLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7O0lBRU0sb0NBQVU7OztJQUFqQjtRQUNFLElBQUk7O2dCQUNJLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQSxTQUFTO2dCQUN4RCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNuRCxDQUFDLEVBQUM7WUFDRixPQUFPLGtCQUFrQixDQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN4QixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7Ozs7Ozs7SUFFWSx5Q0FBZTs7Ozs7O0lBQTVCLFVBQTZCLFNBQWlCLEVBQUUsTUFBVyxFQUFFLE9BQWdCOzs7Ozs0QkFDOUQscUJBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFBOzt3QkFBN0MsSUFBSSxHQUFHLFNBQXNDO3dCQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsdUJBQ2xCLE1BQU0sSUFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQ3hCLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFDM0MsVUFBVSxFQUFFLElBQUksSUFDaEIsQ0FBQzs7Ozs7S0FDSjs7Ozs7O0lBRU0sbURBQXlCOzs7OztJQUFoQyxVQUFvQyxLQUFLO1FBQ3ZDLE9BQU8sSUFBSSxVQUFVOzs7O1FBQUksVUFBQSxRQUFRO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQjs7Ozs7SUFDYixvQ0FBVTs7OztJQUFqQjtRQUNFLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhO1lBQ2hJLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLEVBQUUsRUFBRSxlQUFlO1lBQ2pFLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsZ0RBQWdEO1lBQzNRLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU0sS0FBSSxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUseUJBQXlCO1lBQ3JGLE9BQU8sbUJBQW1CLENBQUM7U0FDNUI7YUFBTSxJQUFJLENBQUMsRUFBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFVBQVU7WUFDbkcsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFDLFlBQVk7WUFDMUMsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsbUJBQW1COzs7OztJQUVaLHdDQUFjOzs7O0lBQXJCO1FBQ0UsSUFBSTs7Z0JBQ0ksRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07Ozs7WUFBQyxVQUFBLFNBQVM7Z0JBQ3BELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsRUFBQztZQUNGLE9BQU8sa0JBQWtCLENBQ3ZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7OztJQUVNLHVDQUFhOzs7SUFBcEI7UUFDRSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtZQUNoQyxPQUFPLG1CQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxjQUFjLEVBQUUsd0NBQXFDLEVBQUU7Z0JBQzlGLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO2FBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRzs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsZUFBZSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQWxDLENBQWtDLEVBQUMsQ0FBQyxFQUFPLENBQUM7U0FDakU7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7Ozs7O0lBRU0sOENBQW9COzs7O0lBQTNCLFVBQTRCLElBQUk7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxJQUFJLENBQUMsY0FBYyxFQUFFLCtEQUEwRCxJQUFNLEVBQUU7WUFDOUgsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTSw2Q0FBbUI7Ozs7SUFBMUIsVUFBMkIsVUFBa0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBdUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxnREFBNkMsRUFBRTtZQUNuSCxNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLFVBQVU7YUFDdkI7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRU0sMkNBQWlCOzs7SUFBeEI7UUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUE0QixJQUFJLENBQUMsY0FBYyxFQUFFLG9EQUFpRCxFQUFFO1lBQzVILE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRU8sb0NBQVU7Ozs7SUFBbEI7O1lBQ1EsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDL0IsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUssS0FBSyxDQUFDLFVBQVUsU0FBSSxLQUFLLENBQUMsWUFBYyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7OztJQUVNLG9DQUFVOzs7SUFBakI7UUFDRSxJQUFJOztnQkFDSSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTs7OztZQUFDLFVBQUEsU0FBUztnQkFDN0QsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDaEQsQ0FBQyxFQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JFO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7Ozs7OztJQUVZLG1DQUFTOzs7Ozs7SUFBdEIsVUFBdUIsWUFBb0IsRUFBRSxpQkFBeUIsRUFBRSxPQUFlOzs7Ozs7d0JBQ3JGLElBQUksQ0FBQyxDQUFDLG1CQUFBLE1BQU0sRUFBTyxDQUFDLENBQUMsYUFBYSxFQUFFOzRCQUNsQyxzQkFBTzt5QkFDUjt3QkFFdUIscUJBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFBOzt3QkFBeEQsZUFBZSxHQUFHLFNBQXNDO3dCQUUxRCxLQUFLLEdBQUcsRUFBRTs2QkFDVixDQUFDLG1CQUFBLE1BQU0sRUFBTyxDQUFDLENBQUMsZ0JBQWdCLEVBQWhDLHdCQUFnQzt3QkFDckIscUJBQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBQTs7d0JBQTVFLElBQUksR0FBRyxTQUFxRTt3QkFDbEYsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzs0QkFHTixxQkFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBQTs7d0JBQTlELGlCQUFpQixHQUFHLFNBQTBDO3dCQUMxQyxxQkFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFBOzt3QkFBMUYsaUJBQWlCLEdBQUcsU0FBc0U7d0JBQzFGLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUMzQixRQUFRLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQzt3QkFDckQsS0FBSyxHQUFHLGVBQWUsQ0FBQyxLQUFLO3dCQUNuQyxDQUFDOzs7Ozs7d0JBQUEsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7O2dDQUNWLENBQUMsR0FBRztnQ0FDUixHQUFHLEVBQUUsWUFBWTtnQ0FDakIsUUFBUSxFQUFFLGlCQUFpQjtnQ0FDM0IsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsS0FBSyxFQUFFLEtBQUs7Z0NBQ1osSUFBSSxFQUFFO29DQUNKLFFBQVEsRUFBRSxlQUFlLENBQUMsVUFBVTtvQ0FDcEMsT0FBTyxFQUFFLEtBQUs7b0NBQ2QsUUFBUSxFQUFFLE9BQU87b0NBQ2pCLElBQUksRUFBRSxFQUFFO29DQUNSLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQjtvQ0FDM0MsS0FBSyxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQjtvQ0FDMUMsa0JBQWtCLEVBQUUsRUFBRTtvQ0FDdEIsU0FBUyxFQUFFLEVBQUU7b0NBQ2IsaUJBQWlCLEVBQUUsRUFBRTtvQ0FDckIsaUJBQWlCLEVBQUUsRUFBRTtvQ0FDckIsUUFBUSxFQUFFLE9BQU87b0NBQ2pCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2lDQUNwQzs2QkFDRjs7OztnQ0FHRyxDQUFDOztnQ0FDQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDdEMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dDQUN2QixPQUFPOzZCQUNSOzRCQUNELENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2QixDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDVCxDQUFDLENBQUMsR0FBRyxHQUFHLG9EQUFvRCxDQUFDOzRCQUM3RCxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDOzRCQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzs0QkFDZixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxrQkFBa0I7Ozs0QkFBRzs7b0NBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVTtnQ0FDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO29DQUMzQyxPQUFPO2lDQUNSO2dDQUNELElBQUk7O3dDQUNJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRTtvQ0FDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQ0FDWDtnQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHOzRCQUNqQixDQUFDLENBQUEsQ0FBQzs0QkFDRixDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ2xDLENBQUMsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7Ozs7O0tBQ3hDO0lBeE5jLDBCQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLDJCQUFXLEdBQUcsSUFBSSxDQUFDOztnQkFObkMsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFkUSxVQUFVOzs7MEJBRm5CO0NBNE9DLEFBOU5ELElBOE5DO1NBM05ZLGVBQWU7Ozs7OztJQUUxQiwyQkFBa0M7Ozs7O0lBQ2xDLDRCQUFrQzs7Ozs7SUFHaEMscUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclJvbGVzIH0gZnJvbSAnLi91c2VyLXJvbGVzLm1vZGVsJztcclxuaW1wb3J0IHsgSGFzSW50ZWdyYXRlZFJvbGVNb2RlbCB9IGZyb20gJy4vaGFzLWludGVncmF0ZWQtcm9sZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRlbmFudEluZm9ybWF0aW9uIH0gZnJvbSAnLi90ZW5hbnQtaW5mb3JtYXRpb24nO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5kZWNsYXJlIGNvbnN0IEluc3RhbGxUcmlnZ2VyOiBhbnk7XHJcbmRlY2xhcmUgY29uc3Qgc2FmYXJpOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgVHJhY2tzYWxlOiBhbnk7XHJcbmRlY2xhcmUgbGV0IGd0YWc6IEZ1bmN0aW9uO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FtVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgSEFTX0xPQURFRCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgc3RhdGljIEFDVElWRV9VU0VSID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgZ2V0VXJsV2l0aG91dElkcyh1cmxQYXJ0cykge1xyXG4gICAgcmV0dXJuIHVybFBhcnRzLm1hcCh1cmxQYXJ0ID0+IHtcclxuICAgICAgbGV0IHVybCA9IHVybFBhcnQ7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgaWQgPSBwYXJzZUZsb2F0KHVybFBhcnQpIGFzIGFueTtcclxuICAgICAgICBpZiAoaWQgPiAwIHx8IGlkID09PSAnbmV3Jykge1xyXG4gICAgICAgICAgdXJsID0gJ3tpZH0nO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoXykge1xyXG4gICAgICAgIHVybCA9IHVybFBhcnQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVybDtcclxuICAgIH0pLmpvaW4oJy8nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZXRVc2VyUHJvcGVydGllcyhwcm9kdWN0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZVVzZXIoKS50b1Byb21pc2UoKTtcclxuICAgIGd0YWcoJ3NldCcsICd1c2VyX3Byb3BlcnRpZXMnLCB7XHJcbiAgICAgIHByb2R1Y3RfZzc6IHByb2R1Y3QsXHJcbiAgICAgIHRlbmFudDogdXNlci50ZW5hbnROYW1lLFxyXG4gICAgICB1c2VybmFtZTogdXNlci51c2VybmFtZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZUxvYWRpbmcocGFnZTogc3RyaW5nLCBwcm9kdWN0OiBzdHJpbmcpIHtcclxuICAgIGlmICghU2FtVXRpbHNTZXJ2aWNlLkhBU19MT0FERUQgJiYgd2luZG93LnBlcmZvcm1hbmNlKSB7XHJcbiAgICAgIFNhbVV0aWxzU2VydmljZS5IQVNfTE9BREVEID0gdHJ1ZTtcclxuICAgICAgY29uc3QgdGltZVNpbmNlUGFnZUxvYWQgPSBNYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTtcclxuICAgICAgdGhpcy5zZW5kVG9BbmFseXRpY3MoJ3RlbXBvX2NhcnJlZ2FtZW50b190ZWxhJywge1xyXG4gICAgICAgIHRpbWVfdmFsdWU6ICh0aW1lU2luY2VQYWdlTG9hZCAvIDEwMDApLFxyXG4gICAgICAgIHBhZ2U6IHBhZ2VcclxuICAgICAgfSwgcHJvZHVjdCkudGhlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEJhc2VVUkwoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBjb29raWUgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maWx0ZXIoY29va2llU3RyID0+IHtcclxuICAgICAgICByZXR1cm4gY29va2llU3RyLmluY2x1ZGVzKCdjb20uc2VuaW9yLmJhc2UudXJsJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICAgIGNvb2tpZVswXS5zcGxpdCgnPScpWzFdXHJcbiAgICAgICkuc2xpY2UoMCwgLTEpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdQbGF0Zm9ybSBHNyBub3QgY29uZmlndXJlZCBpbiB0aGlzIGFwcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlbmRUb0FuYWx5dGljcyhldmVudE5hbWU6IHN0cmluZywgcGFyYW1zOiBhbnksIHByb2R1Y3Q/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLmdldEFjdGl2ZVVzZXIoKS50b1Byb21pc2UoKTtcclxuICAgIGd0YWcoJ2V2ZW50JywgZXZlbnROYW1lLCB7XHJcbiAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZ2V0QmFzZVVSTCgpLFxyXG4gICAgICB1c2VyOiB1c2VyLnVzZXJuYW1lLFxyXG4gICAgICB0ZW50YW50OiB1c2VyLnRlbmFudE5hbWUsXHJcbiAgICAgIHByb2R1Y3Q6IHByb2R1Y3QgPyBwcm9kdWN0IDogcGFyYW1zLnByb2R1Y3QsXHJcbiAgICAgIGRlYnVnX21vZGU6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZU9ic2VydmFibGVXaXRoVmFsdWU8VD4odmFsdWUpIHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPihvYnNlcnZlciA9PiB7XHJcbiAgICAgIG9ic2VydmVyLm5leHQodmFsdWUpO1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xyXG4gIHB1YmxpYyBnZXRCcm93c2VyKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoKCEhd2luZG93WydvcHInXSAmJiAhIXdpbmRvd1snb3ByJ10uYWRkb25zKSB8fCAhIXdpbmRvd1snb3BlcmEnXSB8fCBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJyBPUFIvJykgPj0gMCkgeyAvLyBPcGVyYSA4LjArXHJcbiAgICAgIHJldHVybiAnT3BlcmEnO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgSW5zdGFsbFRyaWdnZXIgIT09ICd1bmRlZmluZWQnKSB7IC8vIEZpcmVmb3ggMS4wK1xyXG4gICAgICByZXR1cm4gJ0ZpcmVmb3gnO1xyXG4gICAgfSBlbHNlIGlmICgvY29uc3RydWN0b3IvaS50ZXN0KHdpbmRvd1snSFRNTEVsZW1lbnQnXSkgfHwgKGZ1bmN0aW9uIChwKSB7IHJldHVybiBwLnRvU3RyaW5nKCkgPT09IFwiW29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25dXCI7IH0pKCF3aW5kb3dbJ3NhZmFyaSddIHx8ICh0eXBlb2Ygc2FmYXJpICE9PSAndW5kZWZpbmVkJyAmJiBzYWZhcmkucHVzaE5vdGlmaWNhdGlvbikpKSB7IC8vIFNhZmFyaSAzLjArIFwiW29iamVjdCBIVE1MRWxlbWVudENvbnN0cnVjdG9yXVwiXHJcbiAgICAgIHJldHVybiAnU2FmYXJpJztcclxuICAgIH0gZWxzZSBpZiAoLypAY2Nfb24hQCovZmFsc2UgfHwgISFkb2N1bWVudFsnZG9jdW1lbnRNb2RlJ10pIHsgLy8gSW50ZXJuZXQgRXhwbG9yZXIgNi0xMVxyXG4gICAgICByZXR1cm4gJ0ludGVybmV0IEV4cGxvcmVyJztcclxuICAgIH0gZWxzZSBpZiAoISgvKkBjY19vbiFAKi9mYWxzZSB8fCAhIWRvY3VtZW50Wydkb2N1bWVudE1vZGUnXSkgJiYgISF3aW5kb3dbJ1N0eWxlTWVkaWEnXSkgeyAvL0VkZ2UgMjArXHJcbiAgICAgIHJldHVybiAnRWRnZSc7XHJcbiAgICB9IGVsc2UgaWYgKCEhd2luZG93WydjaHJvbWUnXSkgey8vIENocm9tZSAxK1xyXG4gICAgICByZXR1cm4gJ0Nocm9tZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJ3Vua25vd24nO1xyXG4gIH1cclxuICAvKiB0c2xpbnQ6ZW5hYmxlICovXHJcblxyXG4gIHB1YmxpYyBnZXRHN0JyaWRnZVVSTCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGR0ID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmlsdGVyKGNvb2tpZVN0ciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvb2tpZVN0ci5pbmNsdWRlcygnY29tLnNlbmlvci5zZXJ2aWNlcy51cmwnKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoXHJcbiAgICAgICAgZHRbMF0uc3BsaXQoJz0nKVsxXVxyXG4gICAgICApLnNsaWNlKDAsIC0xKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aHJvdyBFcnJvcignUGxhdGZvcm0gRzcgbm90IGNvbmZpZ3VyZWQgaW4gdGhpcyBhcHAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBY3RpdmVVc2VyKCkge1xyXG4gICAgaWYgKCFTYW1VdGlsc1NlcnZpY2UuQUNUSVZFX1VTRVIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlcj4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3BsYXRmb3JtL3VzZXIvcXVlcmllcy9nZXRVc2VyYCwge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICAgIH0pLnBpcGUobWFwKHVzZXIgPT4gU2FtVXRpbHNTZXJ2aWNlLkFDVElWRV9VU0VSID0gdXNlcikpIGFzIGFueTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU9ic2VydmFibGVXaXRoVmFsdWUoU2FtVXRpbHNTZXJ2aWNlLkFDVElWRV9VU0VSKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSb2xlc0J5QWN0aXZlVXNlcih1c2VyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxVc2VyUm9sZXM+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9wbGF0Zm9ybS9hdXRob3JpemF0aW9uL3F1ZXJpZXMvZ2V0VXNlclJvbGVzP3VzZXI9JHt1c2VyfWAsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlbmF0SW5mb3JtYXRpb24oc2NoZW1hTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUZW5hbnRJbmZvcm1hdGlvbj4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3NhbS9hZG1pbmlzdHJhdGlvbi9xdWVyaWVzL2dldEVycENvZGVgLCB7XHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHNjaGVtYU5hbWU6IHNjaGVtYU5hbWVcclxuICAgICAgfSxcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc0ludGVncmF0ZWRSb2xlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SGFzSW50ZWdyYXRlZFJvbGVNb2RlbD4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3NhbS9hcHBsaWNhdGlvbi9xdWVyaWVzL2hhc0ludGVncmF0ZWRSb2xlYCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEhlYWRlcnMoKSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0RzdUb2tlbigpO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpLnNldCgnQXV0aG9yaXphdGlvbicsIGAke3Rva2VuLnRva2VuX3R5cGV9ICR7dG9rZW4uYWNjZXNzX3Rva2VufWApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEc3VG9rZW4oKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzZW5pb3JUb2tlbiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbHRlcihjb29raWVTdHIgPT4ge1xyXG4gICAgICAgIHJldHVybiBjb29raWVTdHIuaW5jbHVkZXMoJ2NvbS5zZW5pb3IudG9rZW4nKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChzZW5pb3JUb2tlblswXS5zcGxpdCgnPScpWzFdKSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1BsYXRmb3JtIEc3IG5vdCBjb25maWd1cmVkIGluIHRoaXMgYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdHJhY2tTYWxlKHRyYWNrc2FsZUtleTogc3RyaW5nLCB0cmFja3NhbGVDYW1wYWlnbjogc3RyaW5nLCBwYWdlVXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghKHdpbmRvdyBhcyBhbnkpLnNob3dfdGFja3NhbGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVzZXJJbmZvcm1hdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGxldCByb2xlcyA9ICcnO1xyXG4gICAgaWYgKCh3aW5kb3cgYXMgYW55KS5jYW5fY2FwdHVyZV9yb2xlKSB7XHJcbiAgICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLmdldFJvbGVzQnlBY3RpdmVVc2VyKHVzZXJJbmZvcm1hdGlvbi51c2VybmFtZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgIHJvbGVzID0gcm9sZS5yb2xlcy5qb2luKCcsICcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc0ludGVncmF0ZWRSb2xlID0gYXdhaXQgdGhpcy5oYXNJbnRlZ3JhdGVkUm9sZSgpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgdGVuYW50SW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLmdldFRlbmF0SW5mb3JtYXRpb24odXNlckluZm9ybWF0aW9uLnRlbmFudE5hbWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgYnJvd3NlciA9IHRoaXMuZ2V0QnJvd3NlcigpO1xyXG4gICAgY29uc3QgZnVsbG5hbWUgPSB1c2VySW5mb3JtYXRpb24uZnVsbE5hbWUucmVwbGFjZSgnKycsICcgJyk7XHJcbiAgICBjb25zdCBlbWFpbCA9IHVzZXJJbmZvcm1hdGlvbi5lbWFpbDtcclxuICAgIChmdW5jdGlvbiAoZiwgYiwgZykge1xyXG4gICAgICBjb25zdCBhID0ge1xyXG4gICAgICAgIGtleTogdHJhY2tzYWxlS2V5LFxyXG4gICAgICAgIGNhbXBhaWduOiB0cmFja3NhbGVDYW1wYWlnbixcclxuICAgICAgICBuYW1lOiBmdWxsbmFtZSxcclxuICAgICAgICBlbWFpbDogZW1haWwsXHJcbiAgICAgICAgdGFnczoge1xyXG4gICAgICAgICAgJ3RlbmFudCc6IHVzZXJJbmZvcm1hdGlvbi50ZW5hbnROYW1lLFxyXG4gICAgICAgICAgJ3BhcGVsJzogcm9sZXMsXHJcbiAgICAgICAgICAnZGV2aWNlJzogYnJvd3NlcixcclxuICAgICAgICAgICd1Zic6ICcnLFxyXG4gICAgICAgICAgJ1NBTSc6ICFoYXNJbnRlZ3JhdGVkUm9sZS5oYXNJbnRlZ3JhdGVkUm9sZSxcclxuICAgICAgICAgICdHQVMnOiBoYXNJbnRlZ3JhdGVkUm9sZS5oYXNJbnRlZ3JhdGVkUm9sZSxcclxuICAgICAgICAgICdHZXN0YW9JbmNpZGVudGVzJzogJycsXHJcbiAgICAgICAgICAnQ2FtZXJhcyc6ICcnLFxyXG4gICAgICAgICAgJ1BvcnRhcmlhVmlydHVhbCc6ICcnLFxyXG4gICAgICAgICAgJ0F1dG9hdGVuZGltZW50byc6ICcnLFxyXG4gICAgICAgICAgJ3BhZ2luYSc6IHBhZ2VVcmwsXHJcbiAgICAgICAgICAnSUQgRVJQJzogdGVuYW50SW5mb3JtYXRpb24uZXJwQ29kZVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgLy8gU2VndWluZG8gbyBleGVtcGxvIGRhIGFycXVpdGVyYS5cclxuICAgICAgLy8gRm9udGUgbsOjbyBzZXLDoSBhbHRlcmFkbyBuZXN0YSB0YXNrO1xyXG4gICAgICBsZXQgZTtcclxuICAgICAgY29uc3QgYyA9IGYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYilbMF07XHJcbiAgICAgIGlmIChmLmdldEVsZW1lbnRCeUlkKGcpKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGUgPSBmLmNyZWF0ZUVsZW1lbnQoYik7XHJcbiAgICAgIGUuaWQgPSBnO1xyXG4gICAgICBlLnNyYyA9ICdodHRwczovL2Nkbi50cmFja3NhbGUuY28vdHJhY2tzYWxlLWpzL3RyYWNrc2FsZS5qcyc7XHJcbiAgICAgIGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgICBlLmFzeW5jID0gdHJ1ZTtcclxuICAgICAgZS5vbmxvYWQgPSBlLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBjb25zdCBoID0gdGhpcy5yZWFkeVN0YXRlO1xyXG4gICAgICAgIGlmIChoICYmIGggIT09ICdjb21wbGV0ZScgJiYgaCAhPT0gJ2xvYWRlZCcpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNvbnN0IGQgPSBuZXcgVHJhY2tzYWxlKCk7XHJcbiAgICAgICAgICBkLmluaXQoYSk7XHJcbiAgICAgICAgfSBjYXRjaCAoaSkgeyB9XHJcbiAgICAgIH07XHJcbiAgICAgIGMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgYyk7XHJcbiAgICB9KGRvY3VtZW50LCAnc2NyaXB0JywgJ3RyYWNrc2FsZS1qcycpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
435
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2FtLXNlbmlvci9zYW0tdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2FtLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVy9EO0lBT0UseUJBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM1QixDQUFDOzs7OztJQUVFLDBDQUFnQjs7OztJQUF2QixVQUF3QixRQUFRO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFBLE9BQU87O2dCQUNyQixHQUFHLEdBQUcsT0FBTztZQUNqQixJQUFJOztvQkFDSSxFQUFFLEdBQUcsbUJBQUEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFPO2dCQUNyQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRTtvQkFDMUIsR0FBRyxHQUFHLE1BQU0sQ0FBQztpQkFDZDthQUNGO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsR0FBRyxHQUFHLE9BQU8sQ0FBQzthQUNmO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDOzs7OztJQUVZLDJDQUFpQjs7OztJQUE5QixVQUErQixPQUFlOzs7Ozs0QkFDL0IscUJBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFBOzt3QkFBN0MsSUFBSSxHQUFHLFNBQXNDO3dCQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFOzRCQUM3QixVQUFVLEVBQUUs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ZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5tb2RlbCc7XHJcbmltcG9ydCB7IFVzZXJSb2xlcyB9IGZyb20gJy4vdXNlci1yb2xlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEhhc0ludGVncmF0ZWRSb2xlTW9kZWwgfSBmcm9tICcuL2hhcy1pbnRlZ3JhdGVkLXJvbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUZW5hbnRJbmZvcm1hdGlvbiB9IGZyb20gJy4vdGVuYW50LWluZm9ybWF0aW9uJztcclxuXHJcbmRlY2xhcmUgY29uc3QgSW5zdGFsbFRyaWdnZXI6IGFueTtcclxuZGVjbGFyZSBjb25zdCBzYWZhcmk6IGFueTtcclxuZGVjbGFyZSBjb25zdCBUcmFja3NhbGU6IGFueTtcclxuZGVjbGFyZSBsZXQgZ3RhZzogRnVuY3Rpb247XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYW1VdGlsc1NlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBIQVNfTE9BREVEID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGdldFVybFdpdGhvdXRJZHModXJsUGFydHMpIHtcclxuICAgIHJldHVybiB1cmxQYXJ0cy5tYXAodXJsUGFydCA9PiB7XHJcbiAgICAgIGxldCB1cmwgPSB1cmxQYXJ0O1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGlkID0gcGFyc2VGbG9hdCh1cmxQYXJ0KSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGlkID4gMCB8fCBpZCA9PT0gJ25ldycpIHtcclxuICAgICAgICAgIHVybCA9ICd7aWR9JztcclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKF8pIHtcclxuICAgICAgICB1cmwgPSB1cmxQYXJ0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB1cmw7XHJcbiAgICB9KS5qb2luKCcvJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0VXNlclByb3BlcnRpZXMocHJvZHVjdDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVVc2VyKCkudG9Qcm9taXNlKCk7XHJcbiAgICBndGFnKCdzZXQnLCAndXNlcl9wcm9wZXJ0aWVzJywge1xyXG4gICAgICBwcm9kdWN0X2c3OiBwcm9kdWN0LFxyXG4gICAgICB0ZW5hbnQ6IHVzZXIudGVuYW50TmFtZSxcclxuICAgICAgdXNlcm5hbWU6IHVzZXIudXNlcm5hbWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VMb2FkaW5nKHBhZ2U6IHN0cmluZywgcHJvZHVjdDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIVNhbVV0aWxzU2VydmljZS5IQVNfTE9BREVEICYmIHdpbmRvdy5wZXJmb3JtYW5jZSkge1xyXG4gICAgICBTYW1VdGlsc1NlcnZpY2UuSEFTX0xPQURFRCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHRpbWVTaW5jZVBhZ2VMb2FkID0gTWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKSk7XHJcbiAgICAgIHRoaXMuc2VuZFRvQW5hbHl0aWNzKCd0ZW1wb19jYXJyZWdhbWVudG9fdGVsYScsIHtcclxuICAgICAgICB0aW1lX3ZhbHVlOiAodGltZVNpbmNlUGFnZUxvYWQgLyAxMDAwKSxcclxuICAgICAgICBwYWdlOiBwYWdlXHJcbiAgICAgIH0sIHByb2R1Y3QpLnRoZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRCYXNlVVJMKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY29va2llID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmlsdGVyKGNvb2tpZVN0ciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvb2tpZVN0ci5pbmNsdWRlcygnY29tLnNlbmlvci5iYXNlLnVybCcpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICBjb29raWVbMF0uc3BsaXQoJz0nKVsxXVxyXG4gICAgICApLnNsaWNlKDAsIC0xKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aHJvdyBFcnJvcignUGxhdGZvcm0gRzcgbm90IGNvbmZpZ3VyZWQgaW4gdGhpcyBhcHAnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZW5kVG9BbmFseXRpY3MoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtczogYW55LCBwcm9kdWN0Pzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRBY3RpdmVVc2VyKCkudG9Qcm9taXNlKCk7XHJcbiAgICBndGFnKCdldmVudCcsIGV2ZW50TmFtZSwge1xyXG4gICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmdldEJhc2VVUkwoKSxcclxuICAgICAgdXNlcjogdXNlci51c2VybmFtZSxcclxuICAgICAgdGVudGFudDogdXNlci50ZW5hbnROYW1lLFxyXG4gICAgICBwcm9kdWN0OiBwcm9kdWN0ID8gcHJvZHVjdCA6IHBhcmFtcy5wcm9kdWN0LFxyXG4gICAgICBkZWJ1Z19tb2RlOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVPYnNlcnZhYmxlV2l0aFZhbHVlPFQ+KHZhbHVlKSB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICBvYnNlcnZlci5uZXh0KHZhbHVlKTtcclxuICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyogdHNsaW50OmRpc2FibGUgKi9cclxuICBwdWJsaWMgZ2V0QnJvd3NlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKCghIXdpbmRvd1snb3ByJ10gJiYgISF3aW5kb3dbJ29wciddLmFkZG9ucykgfHwgISF3aW5kb3dbJ29wZXJhJ10gfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCcgT1BSLycpID49IDApIHsgLy8gT3BlcmEgOC4wK1xyXG4gICAgICByZXR1cm4gJ09wZXJhJztcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIEluc3RhbGxUcmlnZ2VyICE9PSAndW5kZWZpbmVkJykgeyAvLyBGaXJlZm94IDEuMCtcclxuICAgICAgcmV0dXJuICdGaXJlZm94JztcclxuICAgIH0gZWxzZSBpZiAoL2NvbnN0cnVjdG9yL2kudGVzdCh3aW5kb3dbJ0hUTUxFbGVtZW50J10gYXMgYW55KSB8fCAoZnVuY3Rpb24gKHApIHsgcmV0dXJuIHAudG9TdHJpbmcoKSA9PT0gXCJbb2JqZWN0IFNhZmFyaVJlbW90ZU5vdGlmaWNhdGlvbl1cIjsgfSkoIXdpbmRvd1snc2FmYXJpJ10gfHwgKHR5cGVvZiBzYWZhcmkgIT09ICd1bmRlZmluZWQnICYmIHNhZmFyaS5wdXNoTm90aWZpY2F0aW9uKSkpIHsgLy8gU2FmYXJpIDMuMCsgXCJbb2JqZWN0IEhUTUxFbGVtZW50Q29uc3RydWN0b3JdXCJcclxuICAgICAgcmV0dXJuICdTYWZhcmknO1xyXG4gICAgfSBlbHNlIGlmICgvKkBjY19vbiFAKi9mYWxzZSB8fCAhIWRvY3VtZW50Wydkb2N1bWVudE1vZGUnXSkgeyAvLyBJbnRlcm5ldCBFeHBsb3JlciA2LTExXHJcbiAgICAgIHJldHVybiAnSW50ZXJuZXQgRXhwbG9yZXInO1xyXG4gICAgfSBlbHNlIGlmICghKC8qQGNjX29uIUAqL2ZhbHNlIHx8ICEhZG9jdW1lbnRbJ2RvY3VtZW50TW9kZSddKSAmJiAhIXdpbmRvd1snU3R5bGVNZWRpYSddKSB7IC8vRWRnZSAyMCtcclxuICAgICAgcmV0dXJuICdFZGdlJztcclxuICAgIH0gZWxzZSBpZiAoISF3aW5kb3dbJ2Nocm9tZSddKSB7Ly8gQ2hyb21lIDErXHJcbiAgICAgIHJldHVybiAnQ2hyb21lJztcclxuICAgIH1cclxuICAgIHJldHVybiAndW5rbm93bic7XHJcbiAgfVxyXG4gIC8qIHRzbGludDplbmFibGUgKi9cclxuXHJcbiAgcHVibGljIGdldEc3QnJpZGdlVVJMKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZHQgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5maWx0ZXIoY29va2llU3RyID0+IHtcclxuICAgICAgICByZXR1cm4gY29va2llU3RyLmluY2x1ZGVzKCdjb20uc2VuaW9yLnNlcnZpY2VzLnVybCcpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICBkdFswXS5zcGxpdCgnPScpWzFdXHJcbiAgICAgICkuc2xpY2UoMCwgLTEpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdQbGF0Zm9ybSBHNyBub3QgY29uZmlndXJlZCBpbiB0aGlzIGFwcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2ZVVzZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxVc2VyPihgJHt0aGlzLmdldEc3QnJpZGdlVVJMKCl9L3Jlc3QvcGxhdGZvcm0vdXNlci9xdWVyaWVzL2dldFVzZXJgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSb2xlc0J5QWN0aXZlVXNlcih1c2VyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxVc2VyUm9sZXM+KGAke3RoaXMuZ2V0RzdCcmlkZ2VVUkwoKX0vcmVzdC9wbGF0Zm9ybS9hdXRob3JpemF0aW9uL3F1ZXJpZXMvZ2V0VXNlclJvbGVzP3VzZXI9JHt1c2VyfWAsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlbmF0SW5mb3JtYXRpb24oc2NoZW1hTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUZW5hbnRJbmZvcm1hdGlvbj4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3NhbS9hZG1pbmlzdHJhdGlvbi9xdWVyaWVzL2dldEVycENvZGVgLCB7XHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHNjaGVtYU5hbWU6IHNjaGVtYU5hbWVcclxuICAgICAgfSxcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc0ludGVncmF0ZWRSb2xlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SGFzSW50ZWdyYXRlZFJvbGVNb2RlbD4oYCR7dGhpcy5nZXRHN0JyaWRnZVVSTCgpfS9yZXN0L3NhbS9hcHBsaWNhdGlvbi9xdWVyaWVzL2hhc0ludGVncmF0ZWRSb2xlYCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEhlYWRlcnMoKSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0RzdUb2tlbigpO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpLnNldCgnQXV0aG9yaXphdGlvbicsIGAke3Rva2VuLnRva2VuX3R5cGV9ICR7dG9rZW4uYWNjZXNzX3Rva2VufWApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEc3VG9rZW4oKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzZW5pb3JUb2tlbiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbHRlcihjb29raWVTdHIgPT4ge1xyXG4gICAgICAgIHJldHVybiBjb29raWVTdHIuaW5jbHVkZXMoJ2NvbS5zZW5pb3IudG9rZW4nKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChzZW5pb3JUb2tlblswXS5zcGxpdCgnPScpWzFdKSk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ1BsYXRmb3JtIEc3IG5vdCBjb25maWd1cmVkIGluIHRoaXMgYXBwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdHJhY2tTYWxlKHRyYWNrc2FsZUtleTogc3RyaW5nLCB0cmFja3NhbGVDYW1wYWlnbjogc3RyaW5nLCBwYWdlVXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghKHdpbmRvdyBhcyBhbnkpLnNob3dfdGFja3NhbGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVzZXJJbmZvcm1hdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QWN0aXZlVXNlcigpLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGxldCByb2xlcyA9ICcnO1xyXG4gICAgaWYgKCh3aW5kb3cgYXMgYW55KS5jYW5fY2FwdHVyZV9yb2xlKSB7XHJcbiAgICAgIGNvbnN0IHJvbGUgPSBhd2FpdCB0aGlzLmdldFJvbGVzQnlBY3RpdmVVc2VyKHVzZXJJbmZvcm1hdGlvbi51c2VybmFtZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgIHJvbGVzID0gcm9sZS5yb2xlcy5qb2luKCcsICcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc0ludGVncmF0ZWRSb2xlID0gYXdhaXQgdGhpcy5oYXNJbnRlZ3JhdGVkUm9sZSgpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgdGVuYW50SW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLmdldFRlbmF0SW5mb3JtYXRpb24odXNlckluZm9ybWF0aW9uLnRlbmFudE5hbWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgYnJvd3NlciA9IHRoaXMuZ2V0QnJvd3NlcigpO1xyXG4gICAgY29uc3QgZnVsbG5hbWUgPSB1c2VySW5mb3JtYXRpb24uZnVsbE5hbWUucmVwbGFjZSgnKycsICcgJyk7XHJcbiAgICBjb25zdCBlbWFpbCA9IHVzZXJJbmZvcm1hdGlvbi5lbWFpbDtcclxuICAgIChmdW5jdGlvbiAoZiwgYiwgZykge1xyXG4gICAgICBjb25zdCBhID0ge1xyXG4gICAgICAgIGtleTogdHJhY2tzYWxlS2V5LFxyXG4gICAgICAgIGNhbXBhaWduOiB0cmFja3NhbGVDYW1wYWlnbixcclxuICAgICAgICBuYW1lOiBmdWxsbmFtZSxcclxuICAgICAgICBlbWFpbDogZW1haWwsXHJcbiAgICAgICAgdGFnczoge1xyXG4gICAgICAgICAgJ3RlbmFudCc6IHVzZXJJbmZvcm1hdGlvbi50ZW5hbnROYW1lLFxyXG4gICAgICAgICAgJ3BhcGVsJzogcm9sZXMsXHJcbiAgICAgICAgICAnZGV2aWNlJzogYnJvd3NlcixcclxuICAgICAgICAgICd1Zic6ICcnLFxyXG4gICAgICAgICAgJ1NBTSc6ICFoYXNJbnRlZ3JhdGVkUm9sZS5oYXNJbnRlZ3JhdGVkUm9sZSxcclxuICAgICAgICAgICdHQVMnOiBoYXNJbnRlZ3JhdGVkUm9sZS5oYXNJbnRlZ3JhdGVkUm9sZSxcclxuICAgICAgICAgICdHZXN0YW9JbmNpZGVudGVzJzogJycsXHJcbiAgICAgICAgICAnQ2FtZXJhcyc6ICcnLFxyXG4gICAgICAgICAgJ1BvcnRhcmlhVmlydHVhbCc6ICcnLFxyXG4gICAgICAgICAgJ0F1dG9hdGVuZGltZW50byc6ICcnLFxyXG4gICAgICAgICAgJ3BhZ2luYSc6IHBhZ2VVcmwsXHJcbiAgICAgICAgICAnSUQgRVJQJzogdGVuYW50SW5mb3JtYXRpb24uZXJwQ29kZVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgLy8gU2VndWluZG8gbyBleGVtcGxvIGRhIGFycXVpdGVyYS5cclxuICAgICAgLy8gRm9udGUgbsOjbyBzZXLDoSBhbHRlcmFkbyBuZXN0YSB0YXNrO1xyXG4gICAgICBsZXQgZTtcclxuICAgICAgY29uc3QgYyA9IGYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYilbMF07XHJcbiAgICAgIGlmIChmLmdldEVsZW1lbnRCeUlkKGcpKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGUgPSBmLmNyZWF0ZUVsZW1lbnQoYik7XHJcbiAgICAgIGUuaWQgPSBnO1xyXG4gICAgICBlLnNyYyA9ICdodHRwczovL2Nkbi50cmFja3NhbGUuY28vdHJhY2tzYWxlLWpzL3RyYWNrc2FsZS5qcyc7XHJcbiAgICAgIGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgICBlLmFzeW5jID0gdHJ1ZTtcclxuICAgICAgZS5vbmxvYWQgPSBlLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBjb25zdCBoID0gdGhpcy5yZWFkeVN0YXRlO1xyXG4gICAgICAgIGlmIChoICYmIGggIT09ICdjb21wbGV0ZScgJiYgaCAhPT0gJ2xvYWRlZCcpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNvbnN0IGQgPSBuZXcgVHJhY2tzYWxlKCk7XHJcbiAgICAgICAgICBkLmluaXQoYSk7XHJcbiAgICAgICAgfSBjYXRjaCAoaSkgeyB9XHJcbiAgICAgIH07XHJcbiAgICAgIGMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgYyk7XHJcbiAgICB9KGRvY3VtZW50LCAnc2NyaXB0JywgJ3RyYWNrc2FsZS1qcycpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { Injectable,
|
|
2
|
+
import { Injectable, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* @fileoverview added by tsickle
|
|
@@ -100,7 +99,7 @@ class SamUtilsService {
|
|
|
100
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
101
100
|
/** @type {?} */
|
|
102
101
|
const user = yield this.getActiveUser().toPromise();
|
|
103
|
-
gtag('event', eventName, Object.assign({}, params, { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
102
|
+
gtag('event', eventName, Object.assign(Object.assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
104
103
|
});
|
|
105
104
|
}
|
|
106
105
|
/**
|
|
@@ -129,7 +128,7 @@ class SamUtilsService {
|
|
|
129
128
|
else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
|
|
130
129
|
return 'Firefox';
|
|
131
130
|
}
|
|
132
|
-
else if (/constructor/i.test(window['HTMLElement']) || ((/**
|
|
131
|
+
else if (/constructor/i.test((/** @type {?} */ (window['HTMLElement']))) || ((/**
|
|
133
132
|
* @param {?} p
|
|
134
133
|
* @return {?}
|
|
135
134
|
*/
|
|
@@ -171,18 +170,9 @@ class SamUtilsService {
|
|
|
171
170
|
* @return {?}
|
|
172
171
|
*/
|
|
173
172
|
getActiveUser() {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}).pipe(map((/**
|
|
178
|
-
* @param {?} user
|
|
179
|
-
* @return {?}
|
|
180
|
-
*/
|
|
181
|
-
user => SamUtilsService.ACTIVE_USER = user)))));
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);
|
|
185
|
-
}
|
|
173
|
+
return this.httpClient.get(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {
|
|
174
|
+
headers: this.getHeaders()
|
|
175
|
+
});
|
|
186
176
|
}
|
|
187
177
|
/**
|
|
188
178
|
* @param {?} user
|
|
@@ -335,7 +325,6 @@ class SamUtilsService {
|
|
|
335
325
|
}
|
|
336
326
|
}
|
|
337
327
|
SamUtilsService.HAS_LOADED = false;
|
|
338
|
-
SamUtilsService.ACTIVE_USER = null;
|
|
339
328
|
SamUtilsService.decorators = [
|
|
340
329
|
{ type: Injectable, args: [{
|
|
341
330
|
providedIn: 'root'
|
|
@@ -345,7 +334,7 @@ SamUtilsService.decorators = [
|
|
|
345
334
|
SamUtilsService.ctorParameters = () => [
|
|
346
335
|
{ type: HttpClient }
|
|
347
336
|
];
|
|
348
|
-
/** @nocollapse */ SamUtilsService
|
|
337
|
+
/** @nocollapse */ SamUtilsService.ɵprov = ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(ɵɵinject(HttpClient)); }, token: SamUtilsService, providedIn: "root" });
|
|
349
338
|
|
|
350
339
|
/**
|
|
351
340
|
* @fileoverview added by tsickle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sam-senior-sam-utils.js.map","sources":["ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n private static ACTIVE_USER = null;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement']) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n if (!SamUtilsService.ACTIVE_USER) {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n }).pipe(map(user => SamUtilsService.ACTIVE_USER = user)) as any;\r\n } else {\r\n return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);\r\n }\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sam-senior-sam-utils.js.map","sources":["ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { __awaiter, __generator
|
|
2
|
-
import { Injectable,
|
|
1
|
+
import { __assign, __awaiter, __generator } from 'tslib';
|
|
2
|
+
import { Injectable, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* @fileoverview added by tsickle
|
|
@@ -130,7 +129,7 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
130
129
|
case 0: return [4 /*yield*/, this.getActiveUser().toPromise()];
|
|
131
130
|
case 1:
|
|
132
131
|
user = _a.sent();
|
|
133
|
-
gtag('event', eventName, __assign({}, params, { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
132
|
+
gtag('event', eventName, __assign(__assign({}, params), { environment: this.getBaseURL(), user: user.username, tentant: user.tenantName, product: product ? product : params.product, debug_mode: true }));
|
|
134
133
|
return [2 /*return*/];
|
|
135
134
|
}
|
|
136
135
|
});
|
|
@@ -172,7 +171,7 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
172
171
|
else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+
|
|
173
172
|
return 'Firefox';
|
|
174
173
|
}
|
|
175
|
-
else if (/constructor/i.test(window['HTMLElement']) || ((/**
|
|
174
|
+
else if (/constructor/i.test((/** @type {?} */ (window['HTMLElement']))) || ((/**
|
|
176
175
|
* @param {?} p
|
|
177
176
|
* @return {?}
|
|
178
177
|
*/
|
|
@@ -222,18 +221,9 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
222
221
|
* @return {?}
|
|
223
222
|
*/
|
|
224
223
|
function () {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}).pipe(map((/**
|
|
229
|
-
* @param {?} user
|
|
230
|
-
* @return {?}
|
|
231
|
-
*/
|
|
232
|
-
function (user) { return SamUtilsService.ACTIVE_USER = user; })))));
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);
|
|
236
|
-
}
|
|
224
|
+
return this.httpClient.get(this.getG7BridgeURL() + "/rest/platform/user/queries/getUser", {
|
|
225
|
+
headers: this.getHeaders()
|
|
226
|
+
});
|
|
237
227
|
};
|
|
238
228
|
/**
|
|
239
229
|
* @param {?} user
|
|
@@ -416,7 +406,6 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
416
406
|
});
|
|
417
407
|
};
|
|
418
408
|
SamUtilsService.HAS_LOADED = false;
|
|
419
|
-
SamUtilsService.ACTIVE_USER = null;
|
|
420
409
|
SamUtilsService.decorators = [
|
|
421
410
|
{ type: Injectable, args: [{
|
|
422
411
|
providedIn: 'root'
|
|
@@ -426,7 +415,7 @@ var SamUtilsService = /** @class */ (function () {
|
|
|
426
415
|
SamUtilsService.ctorParameters = function () { return [
|
|
427
416
|
{ type: HttpClient }
|
|
428
417
|
]; };
|
|
429
|
-
/** @nocollapse */ SamUtilsService
|
|
418
|
+
/** @nocollapse */ SamUtilsService.ɵprov = ɵɵdefineInjectable({ factory: function SamUtilsService_Factory() { return new SamUtilsService(ɵɵinject(HttpClient)); }, token: SamUtilsService, providedIn: "root" });
|
|
430
419
|
return SamUtilsService;
|
|
431
420
|
}());
|
|
432
421
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sam-senior-sam-utils.js.map","sources":["ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n private static ACTIVE_USER = null;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement']) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n if (!SamUtilsService.ACTIVE_USER) {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n }).pipe(map(user => SamUtilsService.ACTIVE_USER = user)) as any;\r\n } else {\r\n return this.createObservableWithValue(SamUtilsService.ACTIVE_USER);\r\n }\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sam-senior-sam-utils.js.map","sources":["ng://@sam-senior/sam-utils/lib/sam-utils.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { User } from './user.model';\r\nimport { UserRoles } from './user-roles.model';\r\nimport { HasIntegratedRoleModel } from './has-integrated-role.model';\r\nimport { TenantInformation } from './tenant-information';\r\n\r\ndeclare const InstallTrigger: any;\r\ndeclare const safari: any;\r\ndeclare const Tracksale: any;\r\ndeclare let gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SamUtilsService {\r\n\r\n private static HAS_LOADED = false;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n public getUrlWithoutIds(urlParts) {\r\n return urlParts.map(urlPart => {\r\n let url = urlPart;\r\n try {\r\n const id = parseFloat(urlPart) as any;\r\n if (id > 0 || id === 'new') {\r\n url = '{id}';\r\n }\r\n } catch (_) {\r\n url = urlPart;\r\n }\r\n return url;\r\n }).join('/');\r\n }\r\n\r\n public async setUserProperties(product: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('set', 'user_properties', {\r\n product_g7: product,\r\n tenant: user.tenantName,\r\n username: user.username\r\n });\r\n }\r\n\r\n public pageLoading(page: string, product: string) {\r\n if (!SamUtilsService.HAS_LOADED && window.performance) {\r\n SamUtilsService.HAS_LOADED = true;\r\n const timeSincePageLoad = Math.round(performance.now());\r\n this.sendToAnalytics('tempo_carregamento_tela', {\r\n time_value: (timeSincePageLoad / 1000),\r\n page: page\r\n }, product).then();\r\n }\r\n }\r\n\r\n public getBaseURL() {\r\n try {\r\n const cookie = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.base.url');\r\n });\r\n return decodeURIComponent(\r\n cookie[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async sendToAnalytics(eventName: string, params: any, product?: string) {\r\n const user = await this.getActiveUser().toPromise();\r\n gtag('event', eventName, {\r\n ...params,\r\n environment: this.getBaseURL(),\r\n user: user.username,\r\n tentant: user.tenantName,\r\n product: product ? product : params.product,\r\n debug_mode: true\r\n });\r\n }\r\n\r\n public createObservableWithValue<T>(value) {\r\n return new Observable<T>(observer => {\r\n observer.next(value);\r\n observer.complete();\r\n });\r\n }\r\n\r\n /* tslint:disable */\r\n public getBrowser(): string {\r\n if ((!!window['opr'] && !!window['opr'].addons) || !!window['opera'] || navigator.userAgent.indexOf(' OPR/') >= 0) { // Opera 8.0+\r\n return 'Opera';\r\n } else if (typeof InstallTrigger !== 'undefined') { // Firefox 1.0+\r\n return 'Firefox';\r\n } else if (/constructor/i.test(window['HTMLElement'] as any) || (function (p) { return p.toString() === \"[object SafariRemoteNotification]\"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification))) { // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n return 'Safari';\r\n } else if (/*@cc_on!@*/false || !!document['documentMode']) { // Internet Explorer 6-11\r\n return 'Internet Explorer';\r\n } else if (!(/*@cc_on!@*/false || !!document['documentMode']) && !!window['StyleMedia']) { //Edge 20+\r\n return 'Edge';\r\n } else if (!!window['chrome']) {// Chrome 1+\r\n return 'Chrome';\r\n }\r\n return 'unknown';\r\n }\r\n /* tslint:enable */\r\n\r\n public getG7BridgeURL() {\r\n try {\r\n const dt = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.services.url');\r\n });\r\n return decodeURIComponent(\r\n dt[0].split('=')[1]\r\n ).slice(0, -1);\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public getActiveUser() {\r\n return this.httpClient.get<User>(`${this.getG7BridgeURL()}/rest/platform/user/queries/getUser`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getRolesByActiveUser(user) {\r\n return this.httpClient.get<UserRoles>(`${this.getG7BridgeURL()}/rest/platform/authorization/queries/getUserRoles?user=${user}`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public getTenatInformation(schemaName: string) {\r\n return this.httpClient.get<TenantInformation>(`${this.getG7BridgeURL()}/rest/sam/administration/queries/getErpCode`, {\r\n params: {\r\n schemaName: schemaName\r\n },\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n public hasIntegratedRole() {\r\n return this.httpClient.get<HasIntegratedRoleModel>(`${this.getG7BridgeURL()}/rest/sam/application/queries/hasIntegratedRole`, {\r\n headers: this.getHeaders()\r\n });\r\n }\r\n\r\n private getHeaders() {\r\n const token = this.getG7Token();\r\n return new HttpHeaders().set('Authorization', `${token.token_type} ${token.access_token}`);\r\n }\r\n\r\n public getG7Token() {\r\n try {\r\n const seniorToken = document.cookie.split(';').filter(cookieStr => {\r\n return cookieStr.includes('com.senior.token');\r\n });\r\n return JSON.parse(decodeURIComponent(seniorToken[0].split('=')[1]));\r\n } catch (err) {\r\n throw Error('Platform G7 not configured in this app');\r\n }\r\n }\r\n\r\n public async trackSale(tracksaleKey: string, tracksaleCampaign: string, pageUrl: string) {\r\n if (!(window as any).show_tacksale) {\r\n return;\r\n }\r\n\r\n const userInformation = await this.getActiveUser().toPromise();\r\n\r\n let roles = '';\r\n if ((window as any).can_capture_role) {\r\n const role = await this.getRolesByActiveUser(userInformation.username).toPromise();\r\n roles = role.roles.join(', ');\r\n }\r\n\r\n const hasIntegratedRole = await this.hasIntegratedRole().toPromise();\r\n const tenantInformation = await this.getTenatInformation(userInformation.tenantName).toPromise();\r\n const browser = this.getBrowser();\r\n const fullname = userInformation.fullName.replace('+', ' ');\r\n const email = userInformation.email;\r\n (function (f, b, g) {\r\n const a = {\r\n key: tracksaleKey,\r\n campaign: tracksaleCampaign,\r\n name: fullname,\r\n email: email,\r\n tags: {\r\n 'tenant': userInformation.tenantName,\r\n 'papel': roles,\r\n 'device': browser,\r\n 'uf': '',\r\n 'SAM': !hasIntegratedRole.hasIntegratedRole,\r\n 'GAS': hasIntegratedRole.hasIntegratedRole,\r\n 'GestaoIncidentes': '',\r\n 'Cameras': '',\r\n 'PortariaVirtual': '',\r\n 'Autoatendimento': '',\r\n 'pagina': pageUrl,\r\n 'ID ERP': tenantInformation.erpCode\r\n }\r\n };\r\n // Seguindo o exemplo da arquitera.\r\n // Fonte não será alterado nesta task;\r\n let e;\r\n const c = f.getElementsByTagName(b)[0];\r\n if (f.getElementById(g)) {\r\n return;\r\n }\r\n e = f.createElement(b);\r\n e.id = g;\r\n e.src = 'https://cdn.tracksale.co/tracksale-js/tracksale.js';\r\n e.type = 'text/javascript';\r\n e.async = true;\r\n e.onload = e.onreadystatechange = function () {\r\n const h = this.readyState;\r\n if (h && h !== 'complete' && h !== 'loaded') {\r\n return;\r\n }\r\n try {\r\n const d = new Tracksale();\r\n d.init(a);\r\n } catch (i) { }\r\n };\r\n c.parentNode.insertBefore(e, c);\r\n }(document, 'script', 'tracksale-js'));\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { User } from './user.model';
|
|
3
4
|
import { UserRoles } from './user-roles.model';
|
|
4
5
|
import { HasIntegratedRoleModel } from './has-integrated-role.model';
|
|
5
6
|
import { TenantInformation } from './tenant-information';
|
|
6
7
|
export declare class SamUtilsService {
|
|
7
8
|
private httpClient;
|
|
8
9
|
private static HAS_LOADED;
|
|
9
|
-
private static ACTIVE_USER;
|
|
10
10
|
constructor(httpClient: HttpClient);
|
|
11
11
|
getUrlWithoutIds(urlParts: any): any;
|
|
12
12
|
setUserProperties(product: string): Promise<void>;
|
|
@@ -16,7 +16,7 @@ export declare class SamUtilsService {
|
|
|
16
16
|
createObservableWithValue<T>(value: any): Observable<T>;
|
|
17
17
|
getBrowser(): string;
|
|
18
18
|
getG7BridgeURL(): string;
|
|
19
|
-
getActiveUser():
|
|
19
|
+
getActiveUser(): Observable<User>;
|
|
20
20
|
getRolesByActiveUser(user: any): Observable<UserRoles>;
|
|
21
21
|
getTenatInformation(schemaName: string): Observable<TenantInformation>;
|
|
22
22
|
hasIntegratedRole(): Observable<HasIntegratedRoleModel>;
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sam-senior/sam-utils",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "
|
|
6
|
-
"@angular/core": "
|
|
5
|
+
"@angular/common": "~9.1.13",
|
|
6
|
+
"@angular/core": "~9.1.13"
|
|
7
7
|
},
|
|
8
8
|
"main": "bundles/sam-senior-sam-utils.umd.js",
|
|
9
9
|
"module": "fesm5/sam-senior-sam-utils.js",
|
|
@@ -14,8 +14,5 @@
|
|
|
14
14
|
"fesm2015": "fesm2015/sam-senior-sam-utils.js",
|
|
15
15
|
"typings": "sam-senior-sam-utils.d.ts",
|
|
16
16
|
"metadata": "sam-senior-sam-utils.metadata.json",
|
|
17
|
-
"sideEffects": false
|
|
18
|
-
"dependencies": {
|
|
19
|
-
"tslib": "^1.9.0"
|
|
20
|
-
}
|
|
17
|
+
"sideEffects": false
|
|
21
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"SamUtilsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"SamUtilsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":24}]}],"getUrlWithoutIds":[{"__symbolic":"method"}],"setUserProperties":[{"__symbolic":"method"}],"pageLoading":[{"__symbolic":"method"}],"getBaseURL":[{"__symbolic":"method"}],"sendToAnalytics":[{"__symbolic":"method"}],"createObservableWithValue":[{"__symbolic":"method"}],"getBrowser":[{"__symbolic":"method"}],"getG7BridgeURL":[{"__symbolic":"method"}],"getActiveUser":[{"__symbolic":"method"}],"getRolesByActiveUser":[{"__symbolic":"method"}],"getTenatInformation":[{"__symbolic":"method"}],"hasIntegratedRole":[{"__symbolic":"method"}],"getHeaders":[{"__symbolic":"method"}],"getG7Token":[{"__symbolic":"method"}],"trackSale":[{"__symbolic":"method"}]},"statics":{"HAS_LOADED":false,"ɵprov":{}}}},"origins":{"SamUtilsService":"./lib/sam-utils.service"},"importAs":"@sam-senior/sam-utils"}
|