ng-easycommerce-v18 0.3.18-beta.2 → 0.3.18-beta.4

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.
Files changed (27) hide show
  1. package/README.md +6 -0
  2. package/esm2022/lib/constants/core.constants.service.mjs +5 -5
  3. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +17 -1
  4. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +26 -16
  5. package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +25 -21
  6. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +2 -16
  7. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +36 -7
  8. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +5 -5
  9. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +12 -7
  10. package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +18 -9
  11. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +12 -6
  12. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +6 -4
  13. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
  14. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +10 -6
  15. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +17 -18
  16. package/esm2022/lib/interfaces/filter.mjs +1 -1
  17. package/esm2022/lib/interfaces/options.mjs +1 -1
  18. package/fesm2022/ng-easycommerce-v18.mjs +179 -109
  19. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  20. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +12 -0
  21. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  22. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +12 -4
  23. package/lib/ec-services/analytics/google-analytics.service.d.ts +1 -1
  24. package/lib/ec-services/analytics/gtm.service.d.ts +2 -2
  25. package/lib/interfaces/filter.d.ts +1 -0
  26. package/lib/interfaces/options.d.ts +2 -0
  27. package/package.json +1 -1
@@ -35,7 +35,7 @@ export class GoogleAnalyticsService {
35
35
  * @param gtm_id id provisto por Google Tag Manager.
36
36
  */
37
37
  initialize(gtm_id) {
38
- if (typeof document !== 'undefined' && !document.getElementById('google_tag_manager')) {
38
+ if (isPlatformBrowser(this.platformId) && this.document && !this.document.getElementById('google_tag_manager')) {
39
39
  console.log('hay elemento');
40
40
  const declaration = this.renderer.createElement('script');
41
41
  declaration.async = true;
@@ -43,8 +43,8 @@ export class GoogleAnalyticsService {
43
43
  declaration.src = `https://www.googletagmanager.com/gtag/js?id=${gtm_id}`;
44
44
  const initialization = this.renderer.createElement('script');
45
45
  initialization.text = `window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '${gtm_id}')`;
46
- this.renderer.appendChild(this.document?.head, initialization);
47
- this.renderer.appendChild(this.document?.head, declaration);
46
+ this.renderer.appendChild(this.document.head, initialization);
47
+ this.renderer.appendChild(this.document.head, declaration);
48
48
  this.enabled = true;
49
49
  }
50
50
  setTimeout(() => this.startListeningPageViews(gtm_id), 1000);
@@ -280,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
280
280
  providedIn: 'root'
281
281
  }]
282
282
  }], ctorParameters: () => [] });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2FuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzlCOzs7R0FHRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFDbEM7OztPQUdHO0lBQ0ssUUFBUSxDQUFZO0lBQzVCOztPQUVHO0lBQ0ssT0FBTyxHQUFZLEtBQUssQ0FBQztJQUV6QixlQUFlLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBQ2pDLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFekM7O09BRUc7SUFDSyxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDO1FBQ0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFD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QUFJLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSztZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7Z0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3ZCLENBQUMsQ0FBQztZQUNILGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksY0FBYztZQUNoRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQztTQUM5QixDQUFBO0lBQ0YsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFTO1FBQ3pCLE9BQU87WUFDTixHQUFHLElBQUk7U0FDUCxDQUFBO0lBQ0YsQ0FBQzt3R0E3UVcsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGdEIsTUFBTTs7NEZBRU4sc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbmFseXRpY0V2ZW50S2V5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG4vKipcclxuICogRnVuY2lvbiBxdWUgc2VyYSBkYWRhIHBvciBlbCBzY3JpcHQgcXVlIHNlIGluc2VydGEgZW4gZWwgaW5pY2lhbGl6YWRvciBkZSBHb29nbGUgQW5hbHl0aWNzLlxyXG4gKi9cclxuZGVjbGFyZSB2YXIgZ3RhZzogRnVuY3Rpb247XHJcbmRlY2xhcmUgdmFyIGRhdGFMYXllcjogYW55W107XHJcblxyXG4vKipcclxuICogU2VydmljaW8gZW5jYXJnYWRvIGRlIG1hbmVqYXIgZWwgYW5hbHl0aWNzIGRlIGdvb2dsZS5cclxuICogQGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xyXG5cdC8qKlxyXG5cdCAqIFNlIGVuY2FyZ2EgZGUgY3JlYXIgZWwgZWxlbWVudG8gSFRNTCBjb24gbGFzIGNvbmZpZ3VyYWNpb25lcyBwYXJhIFxyXG5cdCAqIHF1ZSBzZSBwdWVkYSBlamVjdXRhciBlbCBzZXJ2aWNpby5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcblx0LyoqXHJcblx0ICogSW5kaWNhIGN1YW5kbyBlbCBzZXJ2aWNpbyBlc3RhIGhhYmlsaXRhZG8uXHJcblx0ICovXHJcblx0cHJpdmF0ZSBlbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xyXG5cdHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbCA9IG51bGw7XHJcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcblx0LyoqXHJcblx0ICogU2VydmljaW8gZGUgcnV0ZW8gZGUgYW5ndWxhci5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuXHRcdFx0dGhpcy5kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7IC8vIFNvbG8gc2UgaW55ZWN0YSBlbiBlbCBuYXZlZ2Fkb3JcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogSW5pY2lhbGl6YSBlbCBTZXJ2aWNpbyBkZSBhbmFseXRpY3MgY29uIHN1cyBjb25maWd1cmFjaW9uZXMuXHJcblx0ICogQHBhcmFtIGd0bV9pZCBpZCBwcm92aXN0byBwb3IgR29vZ2xlIFRhZyBNYW5hZ2VyLlxyXG5cdCAqL1xyXG5cdGluaXRpYWxpemUoZ3RtX2lkOiBzdHJpbmcpIHtcclxuXHRcdGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RhZ19tYW5hZ2VyJykpIHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ2hheSBlbGVtZW50bycpXHJcblx0XHRcdGNvbnN0IGRlY2xhcmF0aW9uID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuXHRcdFx0ZGVjbGFyYXRpb24uYXN5bmMgPSB0cnVlO1xyXG5cdFx0XHRkZWNsYXJhdGlvbi5pZCA9ICdnb29nbGVfdGFnX21hbmFnZXInO1xyXG5cdFx0XHRkZWNsYXJhdGlvbi5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD0ke2d0bV9pZH1gO1xyXG5cdFx0XHRjb25zdCBpbml0aWFsaXphdGlvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcblx0XHRcdGluaXRpYWxpemF0aW9uLnRleHQgPSBgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107IGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpO30gZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsgZ3RhZygnY29uZmlnJywgJyR7Z3RtX2lkfScpYDtcclxuXHRcdFx0dGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50Py5oZWFkLCBpbml0aWFsaXphdGlvbik7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudD8uaGVhZCwgZGVjbGFyYXRpb24pO1xyXG5cdFx0XHR0aGlzLmVuYWJsZWQgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLnN0YXJ0TGlzdGVuaW5nUGFnZVZpZXdzKGd0bV9pZCksIDEwMDApO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gZ3RtX2lkIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhcnRMaXN0ZW5pbmdQYWdlVmlld3MoZ3RtX2lkOiBhbnkpIHtcclxuXHRcdHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxyXG5cdFx0XHRmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxyXG5cdFx0KS5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcblx0XHRcdGd0YWcoJ2NvbmZpZycsIGd0bV9pZCwge1xyXG5cdFx0XHRcdCdwYWdlX3BhdGgnOiBldmVudC51cmxBZnRlclJlZGlyZWN0c1xyXG5cdFx0XHR9KVxyXG5cdFx0fSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogRWplY3V0YSBlbCBldmVudG8gcGFzYWRvIHBvciBwYXJhbWV0cm8uIFxyXG5cdCAqIEBwYXJhbSBldmVudF9uYW1lIE5vbWJyZSBkZWwgZXZlbnRvLlxyXG5cdCAqIEBwYXJhbSBkYXRhIERhdGEgZXh0cmEgcGFyYSBhZ3JlZ2FyIGFsIGV2ZW50by5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRjYWxsRXZlbnQoZXZlbnRfbmFtZTogQW5hbHl0aWNFdmVudEtleSwgZGF0YSA9IHt9KSB7XHJcblx0XHRpZiAoIXRoaXMuZW5hYmxlZCkgcmV0dXJuO1xyXG5cdFx0bGV0IGV2ZW50ID0gdGhpcy50cmFuc2xhdGVFdmVudE5hbWUoZXZlbnRfbmFtZSk7XHJcblx0XHRldmVudCAmJiBndGFnKCdldmVudCcsIHRoaXMudHJhbnNsYXRlRXZlbnROYW1lKGV2ZW50X25hbWUpLCB0aGlzLmV2YWxFdmVudChldmVudF9uYW1lLCBkYXRhKSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFRyYWR1Y2UgZWwgZXZlbnRvIHJlY2liaWRvIHkgZGV2dWVsdmUgZWwgbm9tYnJlIGRlIGxhIGZ1bmNpw7NuIHF1ZSBsbyB2YSBhIHRyYXRhci5cclxuXHQgKiBAcGFyYW0gZXZlbnRfbmFtZSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHR0cmFuc2xhdGVFdmVudE5hbWUoZXZlbnRfbmFtZTogQW5hbHl0aWNFdmVudEtleSkge1xyXG5cdFx0c3dpdGNoIChldmVudF9uYW1lKSB7XHJcblx0XHRcdGNhc2UgJ3ZpZXdfaXRlbSc6IHJldHVybiAndmlld19pdGVtJztcclxuXHRcdFx0Y2FzZSAndmlld19pdGVtX2xpc3QnOiByZXR1cm4gJ3ZpZXdfaXRlbV9saXN0JztcclxuXHRcdFx0Y2FzZSAnY2hlY2tvdXRfaW5pdCc6IHJldHVybiAnYmVnaW5fY2hlY2tvdXQnO1xyXG5cdFx0XHRjYXNlICdzaGlwcGluZ19pbmZvJzogcmV0dXJuICdhZGRfc2hpcHBpbmdfaW5mbyc7XHJcblx0XHRcdGNhc2UgJ2FkZF9wYXltZW50X2luZm8nOiByZXR1cm4gJ2FkZF9wYXltZW50X2luZm8nO1xyXG5cdFx0XHRjYXNlICdwdXJjaGFzZSc6IHJldHVybiAncHVyY2hhc2UnO1xyXG5cdFx0XHRjYXNlICdhZGRfdG9fY2FydCc6IHJldHVybiAnYWRkX3RvX2NhcnQnO1xyXG5cdFx0XHRjYXNlICdyZW1vdmVfZnJvbV9jYXJ0JzogcmV0dXJuICdyZW1vdmVfZnJvbV9jYXJ0JztcclxuXHRcdFx0Y2FzZSAnc2lnbl91cCc6IHJldHVybiAnc2lnbl91cCc7XHJcblx0XHRcdGRlZmF1bHQ6IHJldHVybiBudWxsO1xyXG5cdFx0XHQvL2RlZmF1bHQ6IHJldHVybiBldmVudF9uYW1lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmFsdWEgZWwgZXZlbnRvIHkgZGV2dWVsdmUgbG9zIGRhdG9zIGRlIGxhcyBmdW5jaW9uZXMgcmVsYWNpb25hZGFzLlxyXG5cdCAqIEBwYXJhbSBldmVudF9uYW1lIE5vbWJyZSBkZWwgZXZlbnRvXHJcblx0ICogQHBhcmFtIGRhdGEgRGF0YSBleHRyYSBwYXJhIGFncmVnYXIgYWwgZXZlbnRvXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0ZXZhbEV2ZW50KGV2ZW50X25hbWU6IEFuYWx5dGljRXZlbnRLZXksIGRhdGE6IGFueSkge1xyXG5cdFx0c3dpdGNoIChldmVudF9uYW1lKSB7XHJcblx0XHRcdGNhc2UgJ3ZpZXdfaXRlbSc6IHJldHVybiB0aGlzLnRvVmlld0l0ZW0oZGF0YSk7XHJcblx0XHRcdGNhc2UgJ3ZpZXdfaXRlbV9saXN0JzogcmV0dXJuIHRoaXMudG9WaWV3SXRlbUxpc3QoZGF0YSk7XHJcblx0XHRcdGNhc2UgJ2NoZWNrb3V0X2luaXQnOiByZXR1cm4gdGhpcy50b0NoZWNrb3V0SW5pdChkYXRhKTtcclxuXHRcdFx0Y2FzZSAnc2hpcHBpbmdfaW5mbyc6IHJldHVybiB0aGlzLnRvU2hpcHBpbmdJbmZvKGRhdGEpO1xyXG5cdFx0XHRjYXNlICdhZGRfcGF5bWVudF9pbmZvJzogcmV0dXJuIHRoaXMudG9QYXltZW50SW5mbyhkYXRhKTtcclxuXHRcdFx0Y2FzZSAncHVyY2hhc2UnOiByZXR1cm4gdGhpcy50b1B1cmNoYXNlKGRhdGEpO1xyXG5cdFx0XHRjYXNlICdhZGRfdG9fY2FydCc6IHJldHVybiB0aGlzLnRvQWRkVG9DYXJ0KGRhdGEpO1xyXG5cdFx0XHRjYXNlICdyZW1vdmVfZnJvbV9jYXJ0JzogcmV0dXJuIHRoaXMudG9SZW1vdmVUb0NhcnQoZGF0YSk7XHJcblx0XHRcdGNhc2UgJ3NpZ25fdXAnOiByZXR1cm4gdGhpcy50b1NpZ25VcChkYXRhKTtcclxuXHRcdFx0ZGVmYXVsdDogcmV0dXJuIGRhdGE7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgcXVpZXJlIGNvbXByYXIgdW4gcHJvZHVjdG8uXHJcblx0ICogQHBhcmFtIGRhdGEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b1B1cmNoYXNlKGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG5cdFx0XHRjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSxcclxuXHRcdFx0c2hpcHBpbmc6IGRhdGEudG90YWxzLnNoaXBwaW5nLFxyXG5cdFx0XHR0YXg6IGRhdGEudG90YWxzLnRheGVzLFxyXG5cdFx0XHR2YWx1ZTogZGF0YS50b3RhbHMudG90YWwsXHJcblx0XHRcdHRyYW5zYWN0aW9uX2lkOiBkYXRhLm51bWJlcixcclxuXHRcdFx0aXRlbXM6IGRhdGEuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcblx0XHRcdFx0aWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuXHRcdFx0XHRuYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuXHRcdFx0XHRjYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG5cdFx0XHRcdHByaWNlOiBpdGVtLnRvdGFsLFxyXG5cdFx0XHRcdHF1YW50aXR5OiBpdGVtLnF1YW50aXR5XHJcblx0XHRcdH0pKVxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGluaWNpYWxpemEgZW4gY2hlY2tvdXQuXHJcblx0ICogQHBhcmFtIGRhdGEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b0NoZWNrb3V0SW5pdChkYXRhOiBhbnkpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGNvdXBvbjogdGhpcy50b0NhcnREaXNjb3VudChkYXRhKSxcclxuXHRcdFx0Y3VycmVuY3k6IGRhdGEuY3VycmVuY3kgfHwgXCJVU0RcIixcclxuXHRcdFx0aXRlbXM6IGRhdGEuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcblx0XHRcdFx0aWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuXHRcdFx0XHRuYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuXHRcdFx0XHRjYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG5cdFx0XHRcdHByaWNlOiBpdGVtLnRvdGFsLFxyXG5cdFx0XHRcdHF1YW50aXR5OiBpdGVtLnF1YW50aXR5XHJcblx0XHRcdH0pKSxcclxuXHRcdFx0dmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY29uIGxvcyBkZXNjdWVudG9zIGVuIGVsIGNhcnJpdG8uXHJcblx0ICogQHBhcmFtIGRhdGEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b0NhcnREaXNjb3VudChkYXRhOiBhbnkpIHtcclxuXHRcdGxldCBzdHJEaXNjb3VudCA9ICcnXHJcblx0XHRzdHJEaXNjb3VudCA9IGRhdGEuY2FydERpc2NvdW50cy5tYXAoKGl0ZW1EaXNjb3VudDogYW55KSA9PiBpdGVtRGlzY291bnQ/LnR5cGUpLmpvaW4oKVxyXG5cdFx0cmV0dXJuIHN0ckRpc2NvdW50ID09ICcnID8gJ25vdC1kaXNjb3VudCcgOiBzdHJEaXNjb3VudFxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGFncmVnYSB1biBwcm9kdWN0byBhbCBjYXJyaXRvLiBcclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvQWRkVG9DYXJ0KGRhdGE6IGFueSkge1xyXG5cdFx0bGV0IGxhc3RQcm9kdWN0ID0gZGF0YS5pdGVtcz8ubGVuZ3RoICYmIGRhdGEuaXRlbXNbZGF0YS5pdGVtcy5sZW5ndGggLSAxXVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y3VycmVuY3k6IGRhdGEuY3VycmVuY3kgfHwgXCJVU0RcIixcclxuXHRcdFx0aXRlbXM6IFt0aGlzLnRvSXRlbSh7IHF1YW50aXR5OiBsYXN0UHJvZHVjdC5xdWFudGl0eSwgLi4ubGFzdFByb2R1Y3QucHJvZHVjdCB9KV0sXHJcblx0XHRcdHZhbHVlOiBsYXN0UHJvZHVjdC50b3RhbCB8fCAwLFxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBDYW1iaWEgbGEgdmFyaWFibGUgKiplbmFibGVkKiogYSBgZmFsc2VgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0ZGlzYWJsZSgpIHsgdGhpcy5lbmFibGVkID0gZmFsc2U7IH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgYSBsYXMgdmlzdGEgZGVsIHByb2R1Y3RvLlxyXG5cdCAqIEBwYXJhbSBwcm9kdWN0IFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdG9WaWV3SXRlbShwcm9kdWN0OiBhbnkpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGN1cnJlbmN5OiBwcm9kdWN0LmN1cnJlbmN5LFxyXG5cdFx0XHRpdGVtczogW3RoaXMudG9JdGVtKHByb2R1Y3QpXSxcclxuXHRcdFx0dmFsdWU6IHByb2R1Y3QudmFyaWFudHNbMF0/LnNhbGVwcmljZSB8fCBwcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBpbnRlcmFjdHVhIGNvbiBlbCBsaXN0YWRvIGRlIHByb2R1Y3Rvcy5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvVmlld0l0ZW1MaXN0KGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0aXRlbXM6IGRhdGEucHJvZHVjdHMubWFwKChwcm9kdWN0OiBhbnkpID0+IHRoaXMudG9JdGVtKHByb2R1Y3QpKSxcclxuXHRcdFx0aXRlbV9saXN0X25hbWU6IGRhdGEuaXRlbV9saXN0X25hbWUgfHwgJ0NvbGxlY3Rpb24nLFxyXG5cdFx0XHRpdGVtX2xpc3RfaWQ6IGRhdGEuaXRlbV9saXN0X2lkIHx8ICdjb2xsZWN0aW9uJ1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIHF1aXRhIHVuIGl0ZW0gZGVsIGNhcnJpdG8uXHJcblx0ICogQHBhcmFtIHByb2R1Y3QgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b1JlbW92ZVRvQ2FydChwcm9kdWN0OiBhbnkpIHtcclxuXHRcdGxldCBwcm9kdWN0UGFyYW0gPSBwcm9kdWN0LnByb2R1Y3RcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGN1cnJlbmN5OiBwcm9kdWN0LmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcblx0XHRcdGl0ZW1zOiBbdGhpcy50b0l0ZW0oeyBxdWFudGl0eTogcHJvZHVjdC5xdWFudGl0eSwgLi4ucHJvZHVjdFBhcmFtIH0pXSxcclxuXHRcdFx0dmFsdWU6IChwcm9kdWN0UGFyYW0udmFyaWFudHNbMF0/LnNhbGVwcmljZSB8fCBwcm9kdWN0UGFyYW0udmFyaWFudHNbMF0/LnByaWNlKSAqIHByb2R1Y3QucXVhbnRpdHkgfHwgMSxcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgdG9JdGVtID0gKHByb2R1Y3Q6IGFueSkgPT4gKHtcclxuXHRcdGl0ZW1fbmFtZTogcHJvZHVjdC5uYW1lLFxyXG5cdFx0aXRlbV9pZDogcHJvZHVjdC5pZCxcclxuXHRcdGl0ZW1fYnJhbmQ6IHByb2R1Y3QuYXR0cmlidXRlcz8ubGVuZ3RoID8gcHJvZHVjdC5hdHRyaWJ1dGVzWzBdLm5hbWUgOiAnJyxcclxuXHRcdGl0ZW1fY2F0ZWdvcnk6IHByb2R1Y3QuY2F0ZWdvcnksXHJcblx0XHRwcmljZTogcHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IHByb2R1Y3QudmFyaWFudHNbMF0/LnByaWNlLFxyXG5cdFx0cXVhbnRpdHk6IHByb2R1Y3QucXVhbnRpdHkgfHwgMSxcclxuXHR9KVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgY29uc3VsdGEgbGEgaW5mb3JtYWNpw7NuIGRlIHBhZ28uXHJcblx0ICogQHBhcmFtIGRhdGEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b1BheW1lbnRJbmZvKGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG5cdFx0XHRjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG5cdFx0XHRpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuXHRcdFx0XHRpZDogaXRlbS5wcm9kdWN0LmlkLFxyXG5cdFx0XHRcdG5hbWU6IGl0ZW0ucHJvZHVjdC5uYW1lLFxyXG5cdFx0XHRcdGNhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcblx0XHRcdFx0cHJpY2U6IGl0ZW0udG90YWwsXHJcblx0XHRcdFx0cXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHlcclxuXHRcdFx0fSkpLFxyXG5cdFx0XHRwYXltZW50X3R5cGU6IGRhdGEucGF5bWVudHNbMF0/Lm1ldGhvZD8uY29kZSB8fCAnbm90LXBheW1lbnRzJyxcclxuXHRcdFx0dmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgY29uIGxvcyBtw6l0b2RvcyBkZSBlbnbDrW8uXHJcblx0ICogQHBhcmFtIGRhdGEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b1NoaXBwaW5nSW5mbyhkYXRhOiBhbnkpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGNvdXBvbjogdGhpcy50b0NhcnREaXNjb3VudChkYXRhKSxcclxuXHRcdFx0Y3VycmVuY3k6IGRhdGEuY3VycmVuY3kgfHwgXCJVU0RcIixcclxuXHRcdFx0aXRlbXM6IGRhdGEuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcblx0XHRcdFx0aWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuXHRcdFx0XHRuYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuXHRcdFx0XHRjYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG5cdFx0XHRcdHByaWNlOiBpdGVtLnRvdGFsLFxyXG5cdFx0XHRcdHF1YW50aXR5OiBpdGVtLnF1YW50aXR5XHJcblx0XHRcdH0pKSxcclxuXHRcdFx0c2hpcHBpbmdfdGllcjogZGF0YS5zaGlwbWVudHNbMF0/Lm1ldGhvZD8uY29kZSB8fCAnbm90LXNoaXBwaW5nJyxcclxuXHRcdFx0dmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB0b1NpZ25VcChkYXRhOiBhbnkpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdC4uLmRhdGFcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2FuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzlCOzs7R0FHRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFDbEM7OztPQUdHO0lBQ0ssUUFBUSxDQUFZO0lBQzVCOztPQUVHO0lBQ0ssT0FBTyxHQUFZLEtBQUssQ0FBQztJQUV6QixlQUFlLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBQ2pDLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFekM7O09BRUc7SUFDSyxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDO1FBQ0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFD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LE9BQU87WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSztZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7Z0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3ZCLENBQUMsQ0FBQztZQUNILGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksY0FBYztZQUNoRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQztTQUM5QixDQUFBO0lBQ0YsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFTO1FBQ3pCLE9BQU87WUFDTixHQUFHLElBQUk7U0FDUCxDQUFBO0lBQ0YsQ0FBQzt3R0E3UVcsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGdEIsTUFBTTs7NEZBRU4sc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbmFseXRpY0V2ZW50S2V5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG4vKipcclxuICogRnVuY2lvbiBxdWUgc2VyYSBkYWRhIHBvciBlbCBzY3JpcHQgcXVlIHNlIGluc2VydGEgZW4gZWwgaW5pY2lhbGl6YWRvciBkZSBHb29nbGUgQW5hbHl0aWNzLlxyXG4gKi9cclxuZGVjbGFyZSB2YXIgZ3RhZzogRnVuY3Rpb247XHJcbmRlY2xhcmUgdmFyIGRhdGFMYXllcjogYW55W107XHJcblxyXG4vKipcclxuICogU2VydmljaW8gZW5jYXJnYWRvIGRlIG1hbmVqYXIgZWwgYW5hbHl0aWNzIGRlIGdvb2dsZS5cclxuICogQGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xyXG5cdC8qKlxyXG5cdCAqIFNlIGVuY2FyZ2EgZGUgY3JlYXIgZWwgZWxlbWVudG8gSFRNTCBjb24gbGFzIGNvbmZpZ3VyYWNpb25lcyBwYXJhIFxyXG5cdCAqIHF1ZSBzZSBwdWVkYSBlamVjdXRhciBlbCBzZXJ2aWNpby5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcblx0LyoqXHJcblx0ICogSW5kaWNhIGN1YW5kbyBlbCBzZXJ2aWNpbyBlc3RhIGhhYmlsaXRhZG8uXHJcblx0ICovXHJcblx0cHJpdmF0ZSBlbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xyXG5cdHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbCA9IG51bGw7XHJcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcblx0LyoqXHJcblx0ICogU2VydmljaW8gZGUgcnV0ZW8gZGUgYW5ndWxhci5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuXHRcdFx0dGhpcy5kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7IC8vIFNvbG8gc2UgaW55ZWN0YSBlbiBlbCBuYXZlZ2Fkb3JcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogSW5pY2lhbGl6YSBlbCBTZXJ2aWNpbyBkZSBhbmFseXRpY3MgY29uIHN1cyBjb25maWd1cmFjaW9uZXMuXHJcblx0ICogQHBhcmFtIGd0bV9pZCBpZCBwcm92aXN0byBwb3IgR29vZ2xlIFRhZyBNYW5hZ2VyLlxyXG5cdCAqL1xyXG5cdGluaXRpYWxpemUoZ3RtX2lkOiBzdHJpbmcpIHtcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMuZG9jdW1lbnQgJiYgIXRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dvb2dsZV90YWdfbWFuYWdlcicpKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdoYXkgZWxlbWVudG8nKVxyXG5cdFx0XHRjb25zdCBkZWNsYXJhdGlvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcblx0XHRcdGRlY2xhcmF0aW9uLmFzeW5jID0gdHJ1ZTtcclxuXHRcdFx0ZGVjbGFyYXRpb24uaWQgPSAnZ29vZ2xlX3RhZ19tYW5hZ2VyJztcclxuXHRcdFx0ZGVjbGFyYXRpb24uc3JjID0gYGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9JHtndG1faWR9YDtcclxuXHRcdFx0Y29uc3QgaW5pdGlhbGl6YXRpb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG5cdFx0XHRpbml0aWFsaXphdGlvbi50ZXh0ID0gYHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOyBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9IGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7IGd0YWcoJ2NvbmZpZycsICcke2d0bV9pZH0nKWA7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBpbml0aWFsaXphdGlvbik7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBkZWNsYXJhdGlvbik7XHJcblx0XHRcdHRoaXMuZW5hYmxlZCA9IHRydWU7XHJcblx0XHR9XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuc3RhcnRMaXN0ZW5pbmdQYWdlVmlld3MoZ3RtX2lkKSwgMTAwMCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBndG1faWQgXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGFydExpc3RlbmluZ1BhZ2VWaWV3cyhndG1faWQ6IGFueSkge1xyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcblx0XHRcdGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXHJcblx0XHQpLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuXHRcdFx0Z3RhZygnY29uZmlnJywgZ3RtX2lkLCB7XHJcblx0XHRcdFx0J3BhZ2VfcGF0aCc6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzXHJcblx0XHRcdH0pXHJcblx0XHR9KVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFamVjdXRhIGVsIGV2ZW50byBwYXNhZG8gcG9yIHBhcmFtZXRyby4gXHJcblx0ICogQHBhcmFtIGV2ZW50X25hbWUgTm9tYnJlIGRlbCBldmVudG8uXHJcblx0ICogQHBhcmFtIGRhdGEgRGF0YSBleHRyYSBwYXJhIGFncmVnYXIgYWwgZXZlbnRvLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGNhbGxFdmVudChldmVudF9uYW1lOiBBbmFseXRpY0V2ZW50S2V5LCBkYXRhID0ge30pIHtcclxuXHRcdGlmICghdGhpcy5lbmFibGVkKSByZXR1cm47XHJcblx0XHRsZXQgZXZlbnQgPSB0aGlzLnRyYW5zbGF0ZUV2ZW50TmFtZShldmVudF9uYW1lKTtcclxuXHRcdGV2ZW50ICYmIGd0YWcoJ2V2ZW50JywgdGhpcy50cmFuc2xhdGVFdmVudE5hbWUoZXZlbnRfbmFtZSksIHRoaXMuZXZhbEV2ZW50KGV2ZW50X25hbWUsIGRhdGEpKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogVHJhZHVjZSBlbCBldmVudG8gcmVjaWJpZG8geSBkZXZ1ZWx2ZSBlbCBub21icmUgZGUgbGEgZnVuY2nDs24gcXVlIGxvIHZhIGEgdHJhdGFyLlxyXG5cdCAqIEBwYXJhbSBldmVudF9uYW1lIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHRyYW5zbGF0ZUV2ZW50TmFtZShldmVudF9uYW1lOiBBbmFseXRpY0V2ZW50S2V5KSB7XHJcblx0XHRzd2l0Y2ggKGV2ZW50X25hbWUpIHtcclxuXHRcdFx0Y2FzZSAndmlld19pdGVtJzogcmV0dXJuICd2aWV3X2l0ZW0nO1xyXG5cdFx0XHRjYXNlICd2aWV3X2l0ZW1fbGlzdCc6IHJldHVybiAndmlld19pdGVtX2xpc3QnO1xyXG5cdFx0XHRjYXNlICdjaGVja291dF9pbml0JzogcmV0dXJuICdiZWdpbl9jaGVja291dCc7XHJcblx0XHRcdGNhc2UgJ3NoaXBwaW5nX2luZm8nOiByZXR1cm4gJ2FkZF9zaGlwcGluZ19pbmZvJztcclxuXHRcdFx0Y2FzZSAnYWRkX3BheW1lbnRfaW5mbyc6IHJldHVybiAnYWRkX3BheW1lbnRfaW5mbyc7XHJcblx0XHRcdGNhc2UgJ3B1cmNoYXNlJzogcmV0dXJuICdwdXJjaGFzZSc7XHJcblx0XHRcdGNhc2UgJ2FkZF90b19jYXJ0JzogcmV0dXJuICdhZGRfdG9fY2FydCc7XHJcblx0XHRcdGNhc2UgJ3JlbW92ZV9mcm9tX2NhcnQnOiByZXR1cm4gJ3JlbW92ZV9mcm9tX2NhcnQnO1xyXG5cdFx0XHRjYXNlICdzaWduX3VwJzogcmV0dXJuICdzaWduX3VwJztcclxuXHRcdFx0ZGVmYXVsdDogcmV0dXJuIG51bGw7XHJcblx0XHRcdC8vZGVmYXVsdDogcmV0dXJuIGV2ZW50X25hbWU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2YWx1YSBlbCBldmVudG8geSBkZXZ1ZWx2ZSBsb3MgZGF0b3MgZGUgbGFzIGZ1bmNpb25lcyByZWxhY2lvbmFkYXMuXHJcblx0ICogQHBhcmFtIGV2ZW50X25hbWUgTm9tYnJlIGRlbCBldmVudG9cclxuXHQgKiBAcGFyYW0gZGF0YSBEYXRhIGV4dHJhIHBhcmEgYWdyZWdhciBhbCBldmVudG9cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRldmFsRXZlbnQoZXZlbnRfbmFtZTogQW5hbHl0aWNFdmVudEtleSwgZGF0YTogYW55KSB7XHJcblx0XHRzd2l0Y2ggKGV2ZW50X25hbWUpIHtcclxuXHRcdFx0Y2FzZSAndmlld19pdGVtJzogcmV0dXJuIHRoaXMudG9WaWV3SXRlbShkYXRhKTtcclxuXHRcdFx0Y2FzZSAndmlld19pdGVtX2xpc3QnOiByZXR1cm4gdGhpcy50b1ZpZXdJdGVtTGlzdChkYXRhKTtcclxuXHRcdFx0Y2FzZSAnY2hlY2tvdXRfaW5pdCc6IHJldHVybiB0aGlzLnRvQ2hlY2tvdXRJbml0KGRhdGEpO1xyXG5cdFx0XHRjYXNlICdzaGlwcGluZ19pbmZvJzogcmV0dXJuIHRoaXMudG9TaGlwcGluZ0luZm8oZGF0YSk7XHJcblx0XHRcdGNhc2UgJ2FkZF9wYXltZW50X2luZm8nOiByZXR1cm4gdGhpcy50b1BheW1lbnRJbmZvKGRhdGEpO1xyXG5cdFx0XHRjYXNlICdwdXJjaGFzZSc6IHJldHVybiB0aGlzLnRvUHVyY2hhc2UoZGF0YSk7XHJcblx0XHRcdGNhc2UgJ2FkZF90b19jYXJ0JzogcmV0dXJuIHRoaXMudG9BZGRUb0NhcnQoZGF0YSk7XHJcblx0XHRcdGNhc2UgJ3JlbW92ZV9mcm9tX2NhcnQnOiByZXR1cm4gdGhpcy50b1JlbW92ZVRvQ2FydChkYXRhKTtcclxuXHRcdFx0Y2FzZSAnc2lnbl91cCc6IHJldHVybiB0aGlzLnRvU2lnblVwKGRhdGEpO1xyXG5cdFx0XHRkZWZhdWx0OiByZXR1cm4gZGF0YTtcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBxdWllcmUgY29tcHJhciB1biBwcm9kdWN0by5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvUHVyY2hhc2UoZGF0YTogYW55KSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRjb3Vwb246IHRoaXMudG9DYXJ0RGlzY291bnQoZGF0YSksXHJcblx0XHRcdGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5LFxyXG5cdFx0XHRzaGlwcGluZzogZGF0YS50b3RhbHMuc2hpcHBpbmcsXHJcblx0XHRcdHRheDogZGF0YS50b3RhbHMudGF4ZXMsXHJcblx0XHRcdHZhbHVlOiBkYXRhLnRvdGFscy50b3RhbCxcclxuXHRcdFx0dHJhbnNhY3Rpb25faWQ6IGRhdGEubnVtYmVyLFxyXG5cdFx0XHRpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuXHRcdFx0XHRpZDogaXRlbS5wcm9kdWN0LmlkLFxyXG5cdFx0XHRcdG5hbWU6IGl0ZW0ucHJvZHVjdC5uYW1lLFxyXG5cdFx0XHRcdGNhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcblx0XHRcdFx0cHJpY2U6IGl0ZW0udG90YWwsXHJcblx0XHRcdFx0cXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHlcclxuXHRcdFx0fSkpXHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW5pY2lhbGl6YSBlbiBjaGVja291dC5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvQ2hlY2tvdXRJbml0KGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG5cdFx0XHRjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG5cdFx0XHRpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuXHRcdFx0XHRpZDogaXRlbS5wcm9kdWN0LmlkLFxyXG5cdFx0XHRcdG5hbWU6IGl0ZW0ucHJvZHVjdC5uYW1lLFxyXG5cdFx0XHRcdGNhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcblx0XHRcdFx0cHJpY2U6IGl0ZW0udG90YWwsXHJcblx0XHRcdFx0cXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHlcclxuXHRcdFx0fSkpLFxyXG5cdFx0XHR2YWx1ZTogZGF0YS50b3RhbHM/LnRvdGFsIHx8IDAsXHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjb24gbG9zIGRlc2N1ZW50b3MgZW4gZWwgY2Fycml0by5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvQ2FydERpc2NvdW50KGRhdGE6IGFueSkge1xyXG5cdFx0bGV0IHN0ckRpc2NvdW50ID0gJydcclxuXHRcdHN0ckRpc2NvdW50ID0gZGF0YS5jYXJ0RGlzY291bnRzLm1hcCgoaXRlbURpc2NvdW50OiBhbnkpID0+IGl0ZW1EaXNjb3VudD8udHlwZSkuam9pbigpXHJcblx0XHRyZXR1cm4gc3RyRGlzY291bnQgPT0gJycgPyAnbm90LWRpc2NvdW50JyA6IHN0ckRpc2NvdW50XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgYWdyZWdhIHVuIHByb2R1Y3RvIGFsIGNhcnJpdG8uIFxyXG5cdCAqIEBwYXJhbSBkYXRhIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdG9BZGRUb0NhcnQoZGF0YTogYW55KSB7XHJcblx0XHRsZXQgbGFzdFByb2R1Y3QgPSBkYXRhLml0ZW1zPy5sZW5ndGggJiYgZGF0YS5pdGVtc1tkYXRhLml0ZW1zLmxlbmd0aCAtIDFdXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG5cdFx0XHRpdGVtczogW3RoaXMudG9JdGVtKHsgcXVhbnRpdHk6IGxhc3RQcm9kdWN0LnF1YW50aXR5LCAuLi5sYXN0UHJvZHVjdC5wcm9kdWN0IH0pXSxcclxuXHRcdFx0dmFsdWU6IGxhc3RQcm9kdWN0LnRvdGFsIHx8IDAsXHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYSB2YXJpYWJsZSAqKmVuYWJsZWQqKiBhIGBmYWxzZWBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRkaXNhYmxlKCkgeyB0aGlzLmVuYWJsZWQgPSBmYWxzZTsgfVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBhIGxhcyB2aXN0YSBkZWwgcHJvZHVjdG8uXHJcblx0ICogQHBhcmFtIHByb2R1Y3QgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0b1ZpZXdJdGVtKHByb2R1Y3Q6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y3VycmVuY3k6IHByb2R1Y3QuY3VycmVuY3ksXHJcblx0XHRcdGl0ZW1zOiBbdGhpcy50b0l0ZW0ocHJvZHVjdCldLFxyXG5cdFx0XHR2YWx1ZTogcHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IHByb2R1Y3QudmFyaWFudHNbMF0/LnByaWNlLFxyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgY29uIGVsIGxpc3RhZG8gZGUgcHJvZHVjdG9zLlxyXG5cdCAqIEBwYXJhbSBkYXRhIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdG9WaWV3SXRlbUxpc3QoZGF0YTogYW55KSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRpdGVtczogZGF0YS5wcm9kdWN0cy5tYXAoKHByb2R1Y3Q6IGFueSkgPT4gdGhpcy50b0l0ZW0ocHJvZHVjdCkpLFxyXG5cdFx0XHRpdGVtX2xpc3RfbmFtZTogZGF0YS5pdGVtX2xpc3RfbmFtZSB8fCAnQ29sbGVjdGlvbicsXHJcblx0XHRcdGl0ZW1fbGlzdF9pZDogZGF0YS5pdGVtX2xpc3RfaWQgfHwgJ2NvbGxlY3Rpb24nXHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgcXVpdGEgdW4gaXRlbSBkZWwgY2Fycml0by5cclxuXHQgKiBAcGFyYW0gcHJvZHVjdCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvUmVtb3ZlVG9DYXJ0KHByb2R1Y3Q6IGFueSkge1xyXG5cdFx0bGV0IHByb2R1Y3RQYXJhbSA9IHByb2R1Y3QucHJvZHVjdFxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y3VycmVuY3k6IHByb2R1Y3QuY3VycmVuY3kgfHwgXCJVU0RcIixcclxuXHRcdFx0aXRlbXM6IFt0aGlzLnRvSXRlbSh7IHF1YW50aXR5OiBwcm9kdWN0LnF1YW50aXR5LCAuLi5wcm9kdWN0UGFyYW0gfSldLFxyXG5cdFx0XHR2YWx1ZTogKHByb2R1Y3RQYXJhbS52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IHByb2R1Y3RQYXJhbS52YXJpYW50c1swXT8ucHJpY2UpICogcHJvZHVjdC5xdWFudGl0eSB8fCAxLFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB0b0l0ZW0gPSAocHJvZHVjdDogYW55KSA9PiAoe1xyXG5cdFx0aXRlbV9uYW1lOiBwcm9kdWN0Lm5hbWUsXHJcblx0XHRpdGVtX2lkOiBwcm9kdWN0LmlkLFxyXG5cdFx0aXRlbV9icmFuZDogcHJvZHVjdC5hdHRyaWJ1dGVzPy5sZW5ndGggPyBwcm9kdWN0LmF0dHJpYnV0ZXNbMF0ubmFtZSA6ICcnLFxyXG5cdFx0aXRlbV9jYXRlZ29yeTogcHJvZHVjdC5jYXRlZ29yeSxcclxuXHRcdHByaWNlOiBwcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgcHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcblx0XHRxdWFudGl0eTogcHJvZHVjdC5xdWFudGl0eSB8fCAxLFxyXG5cdH0pXHJcblx0LyoqXHJcblx0ICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBjb25zdWx0YSBsYSBpbmZvcm1hY2nDs24gZGUgcGFnby5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvUGF5bWVudEluZm8oZGF0YTogYW55KSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRjb3Vwb246IHRoaXMudG9DYXJ0RGlzY291bnQoZGF0YSksXHJcblx0XHRcdGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcblx0XHRcdGl0ZW1zOiBkYXRhLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG5cdFx0XHRcdGlkOiBpdGVtLnByb2R1Y3QuaWQsXHJcblx0XHRcdFx0bmFtZTogaXRlbS5wcm9kdWN0Lm5hbWUsXHJcblx0XHRcdFx0Y2F0ZWdvcnk6IGl0ZW0ucHJvZHVjdC5jYXRlZ29yeSxcclxuXHRcdFx0XHRwcmljZTogaXRlbS50b3RhbCxcclxuXHRcdFx0XHRxdWFudGl0eTogaXRlbS5xdWFudGl0eVxyXG5cdFx0XHR9KSksXHJcblx0XHRcdHBheW1lbnRfdHlwZTogZGF0YS5wYXltZW50c1swXT8ubWV0aG9kPy5jb2RlIHx8ICdub3QtcGF5bWVudHMnLFxyXG5cdFx0XHR2YWx1ZTogZGF0YS50b3RhbHM/LnRvdGFsIHx8IDAsXHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBjb24gbG9zIG3DqXRvZG9zIGRlIGVudsOtby5cclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIHRvU2hpcHBpbmdJbmZvKGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG5cdFx0XHRjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG5cdFx0XHRpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuXHRcdFx0XHRpZDogaXRlbS5wcm9kdWN0LmlkLFxyXG5cdFx0XHRcdG5hbWU6IGl0ZW0ucHJvZHVjdC5uYW1lLFxyXG5cdFx0XHRcdGNhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcblx0XHRcdFx0cHJpY2U6IGl0ZW0udG90YWwsXHJcblx0XHRcdFx0cXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHlcclxuXHRcdFx0fSkpLFxyXG5cdFx0XHRzaGlwcGluZ190aWVyOiBkYXRhLnNoaXBtZW50c1swXT8ubWV0aG9kPy5jb2RlIHx8ICdub3Qtc2hpcHBpbmcnLFxyXG5cdFx0XHR2YWx1ZTogZGF0YS50b3RhbHM/LnRvdGFsIHx8IDAsXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHRvU2lnblVwKGRhdGE6IGFueSkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Li4uZGF0YVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
@@ -25,6 +25,7 @@ export class GTMService {
25
25
  window;
26
26
  rendererFactory = inject(RendererFactory2);
27
27
  document = null;
28
+ platformId = inject(PLATFORM_ID);
28
29
  /**
29
30
  * Servicio de ruteo de angular.
30
31
  */
@@ -33,7 +34,7 @@ export class GTMService {
33
34
  * Configuración de Google Tag Manager.
34
35
  */
35
36
  config = { id: null };
36
- platformId = inject(PLATFORM_ID);
37
+ // private platformId: any = inject(PLATFORM_ID) // Eliminada duplicidad, ya está declarada arriba
37
38
  constructor() {
38
39
  this.renderer = this.rendererFactory.createRenderer(null, null);
39
40
  if (isPlatformBrowser(this.platformId)) {
@@ -66,12 +67,15 @@ export class GTMService {
66
67
  */
67
68
  addGtmToDom() {
68
69
  return new Promise((resolve, reject) => {
70
+ if (!isPlatformBrowser(this.platformId) || !this.document) {
71
+ // No manipular el DOM en SSR
72
+ return resolve(false);
73
+ }
69
74
  if (this.isLoaded) {
70
75
  return resolve(this.isLoaded);
71
76
  }
72
- //const doc = this.browserGlobals.documentRef();
73
77
  this.pushOnDataLayer({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
74
- const gtmScript = this.document?.createElement('script'); //doc.createElement('script');
78
+ const gtmScript = this.document.createElement('script');
75
79
  if (gtmScript) {
76
80
  gtmScript.id = 'GTMscript';
77
81
  gtmScript.async = true;
@@ -82,7 +86,7 @@ export class GTMService {
82
86
  gtmScript.addEventListener('error', () => {
83
87
  return reject(false);
84
88
  });
85
- this.document?.head.insertBefore(gtmScript, this.document.head.firstChild);
89
+ this.document.head.insertBefore(gtmScript, this.document.head.firstChild);
86
90
  }
87
91
  });
88
92
  }
@@ -99,7 +103,7 @@ export class GTMService {
99
103
  initialize(config) {
100
104
  this.config = config || this.config;
101
105
  this.addGtmToDom().then(() => {
102
- this.router.events.forEach(item => {
106
+ this.router.events.forEach((item) => {
103
107
  if (item instanceof NavigationEnd) {
104
108
  const gtmTag = {
105
109
  event: 'page',
@@ -411,4 +415,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
411
415
  providedIn: 'root'
412
416
  }]
413
417
  }], ctorParameters: () => [] });
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3RtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvYW5hbHl0aWNzL2d0bS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFDOUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQUNuQjs7T0FFRztJQUNLLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbEM7O09BRUc7SUFDSyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ2pDOzs7T0FHRztJQUNLLFFBQVEsQ0FBWTtJQUM1Qjs7T0FFRztJQUNLLE1BQU0sQ0FBVTtJQUVoQixlQUFlLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBQ3pDOztPQUVHO0lBQ0ssTUFBTSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4Qzs7T0FFRztJQUNLLE1BQU0sR0FBMkIsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDN0MsVUFBVSxHQUFRLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM3QztRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFD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O0lBQ0Q7Ozs7T0FJRztJQUNLLFlBQVksQ0FBQyxJQUFTO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsT0FBTztZQUNILEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUMzQixDQUFBO0lBQ0wsQ0FBQzt3R0F0WlEsVUFBVTs0R0FBVixVQUFVLGNBRlAsTUFBTTs7NEZBRVQsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlclJlbmRlciwgaW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuYWx5dGljRXZlbnRLZXksIEdvb2dsZVRhZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuLyoqXHJcbiAqIFNlcnZpY2lvIHF1ZSBzZSBlbmNhcmdhIGRlIG1hbmVqYXIgZWwgYW5hbHl0aWNzIGRlIEdUTS5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR1RNU2VydmljZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzaSBzZSBlc3RhIGNhcmdhbmRvIGVsIHNlcnZpY2lvLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBjdWFuZG8gZWwgc2VydmljaW8gZXN0YSBoYWJpbGl0YWRvLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogU2UgZW5jYXJnYSBkZSBjcmVhciBlbCBlbGVtZW50byBIVE1MIGNvbiBsYXMgY29uZmlndXJhY2lvbmVzIHBhcmEgXHJcbiAgICAgKiBxdWUgc2UgcHVlZGEgZWplY3V0YXIgZWwgc2VydmljaW8uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuICAgIC8qKlxyXG4gICAgICogQWxtYWNlbmEgZWwgb2JqZWN0byB3aW5kb3cgZGVsIG5hdmVnYWRvci5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB3aW5kb3c/OiBXaW5kb3c7XHJcblxyXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIgPSBpbmplY3QoUmVuZGVyZXJGYWN0b3J5Mik7XHJcbiAgICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCB8IG51bGwgPSBudWxsO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTZXJ2aWNpbyBkZSBydXRlbyBkZSBhbmd1bGFyLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgICAvKipcclxuICAgICAqIENvbmZpZ3VyYWNpw7NuIGRlIEdvb2dsZSBUYWcgTWFuYWdlci5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjb25maWc6IEdvb2dsZVRhZ01hbmFnZXJDb25maWcgPSB7IGlkOiBudWxsIH1cclxuICAgIHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xyXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2luZG93ID0gd2luZG93XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogT2J0aWVuZSBlbCBkYXRhTGF5ZXIgZGVsIG9iamVjdG8gd2luZG93XHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERhdGFMYXllcigpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qgd2luZG93ID0gdGhpcy53aW5kb3c7XHJcbiAgICAgICAgLyogaWYod2luZG93KVxyXG4gICAgICAgIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdO1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuZGF0YUxheWVyOyAqL1xyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBBZ3JlZ2EgZGF0b3MgYWwgZGF0YUxheWVyLlxyXG4gICAgICogQHBhcmFtIG9iaiBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwdXNoT25EYXRhTGF5ZXIob2JqOiBvYmplY3QpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhTGF5ZXIgPSB0aGlzLmdldERhdGFMYXllcigpO1xyXG4gICAgICAgIGRhdGFMYXllci5wdXNoKG9iaik7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEFncmVnYSBlbCBzY3JpcHQgZGUgR1RNIHBhcmEgcXVlIGVtcGllY2UgYSBjYXB0dXJhciBldmVudG9zLlxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRHdG1Ub0RvbSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoXHJcbiAgICAgICAgICAgIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTG9hZGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5pc0xvYWRlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGRvYyA9IHRoaXMuYnJvd3Nlckdsb2JhbHMuZG9jdW1lbnRSZWYoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucHVzaE9uRGF0YUxheWVyKHsgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLCBldmVudDogJ2d0bS5qcycgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZ3RtU2NyaXB0ID0gdGhpcy5kb2N1bWVudD8uY3JlYXRlRWxlbWVudCgnc2NyaXB0JykgLy9kb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgICAgICAgICBpZihndG1TY3JpcHQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGd0bVNjcmlwdC5pZCA9ICdHVE1zY3JpcHQnO1xyXG4gICAgICAgICAgICAgICAgICAgIGd0bVNjcmlwdC5hc3luYyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3RtU2NyaXB0LnNyYyA9IHRoaXMuYXBwbHlHdG1RdWVyeVBhcmFtcyh0aGlzLmNvbmZpZ1tcImd0bV9yZXNvdXJjZV9wYXRoXCJdID8gdGhpcy5jb25maWdbXCJndG1fcmVzb3VyY2VfcGF0aFwiXSA6ICdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanMnKTtcclxuICAgICAgICAgICAgICAgICAgICBndG1TY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5pc0xvYWRlZCA9IHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGd0bVNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudD8uaGVhZC5pbnNlcnRCZWZvcmUoZ3RtU2NyaXB0LCB0aGlzLmRvY3VtZW50LmhlYWQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXBwbHlHdG1RdWVyeVBhcmFtcyh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPT09IC0xKSB7XHJcbiAgICAgICAgICAgIHVybCArPSAnPyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAodXJsICsgT2JqZWN0LmtleXModGhpcy5jb25maWcpLmZpbHRlcigoaykgPT4gdGhpcy5jb25maWdba10pLm1hcCgoaykgPT4gYCR7a309JHt0aGlzLmNvbmZpZ1trXVxyXG4gICAgICAgICAgICB9YCkuam9pbignJicpKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogSW5pY2lhbGl6YSBlbCBTZXJ2aWNpbyBkZSBhbmFseXRpY3MgY29uIHN1cyBjb25maWd1cmFjaW9uZXMuXHJcbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYWNpb25lcyBkZSBHb29nbGUgVGFnIE1hbmFnZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIGluaXRpYWxpemUoY29uZmlnOiBHb29nbGVUYWdNYW5hZ2VyQ29uZmlnKSB7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWcgfHwgdGhpcy5jb25maWc7XHJcbiAgICAgICAgdGhpcy5hZGRHdG1Ub0RvbSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGd0bVRhZyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdwYWdlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZU5hbWU6IGl0ZW0udXJsXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1c2hUYWcoZ3RtVGFnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcHVzaFRhZyhpdGVtOiBvYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNMb2FkZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkR3RtVG9Eb20oKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1c2hPbkRhdGFMYXllcihpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goKCkgPT4gcmVqZWN0KCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wdXNoT25EYXRhTGF5ZXIoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEVqZWN1dGEgZWwgZXZlbnRvIHBhc2FkbyBwb3IgcGFyYW1ldHJvLiBcclxuICAgICAqIEBwYXJhbSBldmVudF9uYW1lIE5vbWJyZSBkZWwgZXZlbnRvLlxyXG4gICAgICogQHBhcmFtIGRhdGEgRGF0YSBleHRyYSBwYXJhIGFncmVnYXIgYWwgZXZlbnRvLlxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGNhbGxFdmVudChldmVudF9uYW1lOiBBbmFseXRpY0V2ZW50S2V5LCBkYXRhID0ge30pIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkZWQpIHJldHVybjtcclxuICAgICAgICBsZXQgZXZlbnQgPSB0aGlzLnRyYW5zbGF0ZUV2ZW50TmFtZShldmVudF9uYW1lKTtcclxuICAgICAgICBldmVudCAmJiB0aGlzLnB1c2hUYWcoeyBlY29tbWVyY2U6IG51bGwgfSlcclxuICAgICAgICBldmVudCAmJiB0aGlzLnB1c2hUYWcoeyAnZXZlbnQnOiB0aGlzLnRyYW5zbGF0ZUV2ZW50TmFtZShldmVudF9uYW1lKSwgZWNvbW1lcmNlOiB0aGlzLmV2YWxFdmVudChldmVudF9uYW1lLCBkYXRhKSB9KVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFkdWNlIGVsIGV2ZW50byByZWNpYmlkbyB5IGRldnVlbHZlIGVsIG5vbWJyZSBkZSBsYSBmdW5jacOzbiBxdWUgbG8gdmEgYSB0cmF0YXIuXHJcbiAgICAgKiBAcGFyYW0gZXZlbnRfbmFtZSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICB0cmFuc2xhdGVFdmVudE5hbWUoZXZlbnRfbmFtZTogQW5hbHl0aWNFdmVudEtleSkge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnRfbmFtZSkge1xyXG4gICAgICAgICAgICBjYXNlICd2aWV3X2l0ZW0nOiByZXR1cm4gJ3ZpZXdfaXRlbSc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3ZpZXdfaXRlbV9saXN0JzogcmV0dXJuICd2aWV3X2l0ZW1fbGlzdCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NoZWNrb3V0X2luaXQnOiByZXR1cm4gJ2JlZ2luX2NoZWNrb3V0JztcclxuICAgICAgICAgICAgY2FzZSAnc2hpcHBpbmdfaW5mbyc6IHJldHVybiAnYWRkX3NoaXBwaW5nX2luZm8nO1xyXG4gICAgICAgICAgICBjYXNlICdhZGRfcGF5bWVudF9pbmZvJzogcmV0dXJuICdhZGRfcGF5bWVudF9pbmZvJztcclxuICAgICAgICAgICAgY2FzZSAncHVyY2hhc2UnOiByZXR1cm4gJ3B1cmNoYXNlJztcclxuICAgICAgICAgICAgY2FzZSAnYWRkX3RvX2NhcnQnOiByZXR1cm4gJ2FkZF90b19jYXJ0JztcclxuICAgICAgICAgICAgY2FzZSAncmVtb3ZlX2Zyb21fY2FydCc6IHJldHVybiAncmVtb3ZlX2Zyb21fY2FydCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NpZ25fdXAnOiByZXR1cm4gJ3NpZ25fdXAnO1xyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3RfcHJvbW90aW9uJzogcmV0dXJuICdzZWxlY3RfcHJvbW90aW9uJztcclxuICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2l0ZW0nOiByZXR1cm4gJ3NlbGVjdF9pdGVtJztcclxuICAgICAgICAgICAgZGVmYXVsdDogcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmFsdWEgZWwgZXZlbnRvIHkgZGV2dWVsdmUgbG9zIGRhdG9zIGRlIGxhcyBmdW5jaW9uZXMgcmVsYWNpb25hZGFzLlxyXG4gICAgICogQHBhcmFtIGV2ZW50X25hbWUgTm9tYnJlIGRlbCBldmVudG9cclxuICAgICAqIEBwYXJhbSBkYXRhIERhdGEgZXh0cmEgcGFyYSBhZ3JlZ2FyIGFsIGV2ZW50b1xyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGV2YWxFdmVudChldmVudF9uYW1lOiBBbmFseXRpY0V2ZW50S2V5LCBkYXRhOiBhbnkpIHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50X25hbWUpIHtcclxuICAgICAgICAgICAgY2FzZSAndmlld19pdGVtJzogcmV0dXJuIHRoaXMudG9WaWV3SXRlbShkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAndmlld19pdGVtX2xpc3QnOiByZXR1cm4gdGhpcy50b1ZpZXdJdGVtTGlzdChkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAnY2hlY2tvdXRfaW5pdCc6IHJldHVybiB0aGlzLnRvQ2hlY2tvdXRJbml0KGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICdzaGlwcGluZ19pbmZvJzogcmV0dXJuIHRoaXMudG9TaGlwcGluZ0luZm8oZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ2FkZF9wYXltZW50X2luZm8nOiByZXR1cm4gdGhpcy50b1BheW1lbnRJbmZvKGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICdwdXJjaGFzZSc6IHJldHVybiB0aGlzLnRvUHVyY2hhc2UoZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ2FkZF90b19jYXJ0JzogcmV0dXJuIHRoaXMudG9BZGRUb0NhcnQoZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ3JlbW92ZV9mcm9tX2NhcnQnOiByZXR1cm4gdGhpcy50b1JlbW92ZVRvQ2FydChkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAnc2lnbl91cCc6IHJldHVybiB0aGlzLnRvU2lnblVwKGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3RfcHJvbW90aW9uJzogcmV0dXJuIHRoaXMudG9TZWxlY3RQcm9tb3Rpb24oZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdF9pdGVtJzogcmV0dXJuIHRoaXMudG9TZWxlY3RJdGVtKGRhdGEpO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgcXVpZXJlIGNvbXByYXIgdW4gcHJvZHVjdG8uXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvUHVyY2hhc2UoZGF0YTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG4gICAgICAgICAgICBjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSxcclxuICAgICAgICAgICAgc2hpcHBpbmc6IGRhdGEudG90YWxzLnNoaXBwaW5nLFxyXG4gICAgICAgICAgICB0YXg6IGRhdGEudG90YWxzLnRheGVzLFxyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS50b3RhbHMudG90YWwsXHJcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiBkYXRhLm51bWJlcixcclxuICAgICAgICAgICAgY291bnRJdGVtczogZGF0YS5pdGVtcz8ubGVuZ3RoIHx8IDAsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaXRlbV9pZDogaXRlbS5wcm9kdWN0LmlkLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9uYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuICAgICAgICAgICAgICAgIC8vY291cG9uOicnLFxyXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IGl0ZW0ucHJvZHVjdC5kaXNjb3VudCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgLy9pbmRleDonJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fYnJhbmQ6IGl0ZW0ucHJvZHVjdC5hdHRyaWJ1dGVzPy5sZW5ndGggPyBpdGVtLnByb2R1Y3QuYXR0cmlidXRlc1swXS5uYW1lIDogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2NhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICBpdGVtX3ZhcmlhbnQ6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uY29kZSB8fCAnJyxcclxuICAgICAgICAgICAgICAgIC8vbG9jYXRpb25faWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgcHJpY2U6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSB8fCAxLFxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW5pY2lhbGl6YSBlbiBjaGVja291dC5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9DaGVja291dEluaXQoZGF0YTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG4gICAgICAgICAgICBjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG4gICAgICAgICAgICBpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGl0ZW1faWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuICAgICAgICAgICAgICAgIGl0ZW1fbmFtZTogaXRlbS5wcm9kdWN0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAvL2NvdXBvbjonJyxcclxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBpdGVtLnByb2R1Y3QuZGlzY291bnQgfHwgMCxcclxuICAgICAgICAgICAgICAgIC8vaW5kZXg6JycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2JyYW5kOiBpdGVtLnByb2R1Y3QuYXR0cmlidXRlcz8ubGVuZ3RoID8gaXRlbS5wcm9kdWN0LmF0dHJpYnV0ZXNbMF0ubmFtZSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9jYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfaWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX3ZhcmlhbnQ6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uY29kZSB8fCAnJyxcclxuICAgICAgICAgICAgICAgIC8vbG9jYXRpb25faWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgcHJpY2U6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSB8fCAxLFxyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgIHZhbHVlOiBkYXRhLnRvdGFscz8udG90YWwgfHwgMCxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjb24gbG9zIGRlc2N1ZW50b3MgZW4gZWwgY2Fycml0by5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9DYXJ0RGlzY291bnQoZGF0YTogYW55KSB7XHJcbiAgICAgICAgbGV0IHN0ckRpc2NvdW50ID0gJydcclxuICAgICAgICBzdHJEaXNjb3VudCA9IGRhdGEuY2FydERpc2NvdW50cy5tYXAoKGl0ZW1EaXNjb3VudDogYW55KSA9PiBpdGVtRGlzY291bnQ/LnR5cGUpLmpvaW4oKVxyXG4gICAgICAgIHJldHVybiBzdHJEaXNjb3VudCA9PSAnJyA/ICdub3QtZGlzY291bnQnIDogc3RyRGlzY291bnRcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBhZ3JlZ2EgdW4gcHJvZHVjdG8gYWwgY2Fycml0by4gXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvQWRkVG9DYXJ0KGRhdGE6IGFueSkge1xyXG4gICAgICAgIGxldCBsYXN0UHJvZHVjdCA9IGRhdGEuaXRlbXM/Lmxlbmd0aCAmJiBkYXRhLml0ZW1zW2RhdGEuaXRlbXMubGVuZ3RoIC0gMV1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG4gICAgICAgICAgICBpdGVtczogW3RoaXMudG9JdGVtKHsgcXVhbnRpdHk6IGxhc3RQcm9kdWN0LnF1YW50aXR5LCAuLi5sYXN0UHJvZHVjdC5wcm9kdWN0IH0pXSxcclxuICAgICAgICAgICAgdmFsdWU6IGxhc3RQcm9kdWN0LnRvdGFsIHx8IDAsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBDYW1iaWEgbGEgdmFyaWFibGUgKiplbmFibGVkKiogYSBgZmFsc2VgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZGlzYWJsZSgpIHsgdGhpcy5lbmFibGVkID0gZmFsc2UgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgYSBsYXMgdmlzdGEgZGVsIHByb2R1Y3RvLlxyXG4gICAgICogQHBhcmFtIHByb2R1Y3QgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b1ZpZXdJdGVtKHByb2R1Y3Q6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBwcm9kdWN0LmN1cnJlbmN5LFxyXG4gICAgICAgICAgICB2YWx1ZTogcHJvZHVjdC5wcmljZSxcclxuICAgICAgICAgICAgaXRlbXM6IFt0aGlzLnRvSXRlbShwcm9kdWN0KV1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgY29uIGVsIGxpc3RhZG8gZGUgcHJvZHVjdG9zLlxyXG4gICAgICogQHBhcmFtIGRhdGEgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b1ZpZXdJdGVtTGlzdChkYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpdGVtczogZGF0YS5wcm9kdWN0cy5tYXAoKHByb2R1Y3Q6IGFueSkgPT4gdGhpcy50b0l0ZW0ocHJvZHVjdCkpLFxyXG4gICAgICAgICAgICBpdGVtX2xpc3RfbmFtZTogZGF0YS5pdGVtX2xpc3RfbmFtZSB8fCAnQ29sbGVjdGlvbicsXHJcbiAgICAgICAgICAgIGl0ZW1fbGlzdF9pZDogZGF0YS5pdGVtX2xpc3RfaWQgfHwgMFxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIHF1aXRhIHVuIGl0ZW0gZGVsIGNhcnJpdG8uXHJcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvUmVtb3ZlVG9DYXJ0KHByb2R1Y3Q6IGFueSkge1xyXG4gICAgICAgIGxldCBwcm9kdWN0UGFyYW0gPSBwcm9kdWN0LnByb2R1Y3RcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXJyZW5jeTogcHJvZHVjdC5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG4gICAgICAgICAgICBpdGVtczogW3RoaXMudG9JdGVtKHsgcXVhbnRpdHk6IHByb2R1Y3QucXVhbnRpdHksIC4uLnByb2R1Y3RQYXJhbSB9KV0sXHJcbiAgICAgICAgICAgIHZhbHVlOiAocHJvZHVjdFBhcmFtLnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgcHJvZHVjdFBhcmFtLnZhcmlhbnRzWzBdPy5wcmljZSkgKiBwcm9kdWN0LnF1YW50aXR5IHx8IDEsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9JdGVtID0gKHByb2R1Y3Q6IGFueSkgPT4gKHtcclxuICAgICAgICBpdGVtX2lkOiBwcm9kdWN0LmlkLFxyXG4gICAgICAgIGl0ZW1fbmFtZTogcHJvZHVjdC5uYW1lLFxyXG4gICAgICAgIC8vY291cG9uOicnLFxyXG4gICAgICAgIGRpc2NvdW50OiBwcm9kdWN0LmRpc2NvdW50IHx8IDAsXHJcbiAgICAgICAgLy9pbmRleDonJyxcclxuICAgICAgICBpdGVtX2JyYW5kOiBwcm9kdWN0LmF0dHJpYnV0ZXM/Lmxlbmd0aCA/IHByb2R1Y3QuYXR0cmlidXRlc1swXS5uYW1lIDogJycsXHJcbiAgICAgICAgaXRlbV9jYXRlZ29yeTogcHJvZHVjdC5jYXRlZ29yeSxcclxuICAgICAgICAvL2l0ZW1fbGlzdF9pZDogJycsXHJcbiAgICAgICAgLy9pdGVtX2xpc3RfbmFtZTogJycsXHJcbiAgICAgICAgaXRlbV92YXJpYW50OiBwcm9kdWN0LnZhcmlhbnRzWzBdPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgIC8vbG9jYXRpb25faWQ6ICcnLFxyXG4gICAgICAgIHByaWNlOiBwcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgcHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcbiAgICAgICAgcXVhbnRpdHk6IHByb2R1Y3QucXVhbnRpdHkgfHwgMSxcclxuICAgIH0pXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgY29uc3VsdGEgbGEgaW5mb3JtYWNpw7NuIGRlIHBhZ28uXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvUGF5bWVudEluZm8oZGF0YTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG4gICAgICAgICAgICBjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG4gICAgICAgICAgICBwYXltZW50X3R5cGU6IGRhdGEucGF5bWVudHNbMF0/Lm1ldGhvZD8uY29kZSB8fCAnbm90LXBheW1lbnRzJyxcclxuICAgICAgICAgICAgdmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG4gICAgICAgICAgICBpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGl0ZW1faWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuICAgICAgICAgICAgICAgIGl0ZW1fbmFtZTogaXRlbS5wcm9kdWN0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAvL2NvdXBvbjonJyxcclxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBpdGVtLnByb2R1Y3QuZGlzY291bnQgfHwgMCxcclxuICAgICAgICAgICAgICAgIC8vaW5kZXg6JycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2JyYW5kOiBpdGVtLnByb2R1Y3QuYXR0cmlidXRlcz8ubGVuZ3RoID8gaXRlbS5wcm9kdWN0LmF0dHJpYnV0ZXNbMF0ubmFtZSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9jYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfaWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX3ZhcmlhbnQ6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uY29kZSB8fCAnJyxcclxuICAgICAgICAgICAgICAgIC8vbG9jYXRpb25faWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgcHJpY2U6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSB8fCAxLFxyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgY29uIGxvcyBtw6l0b2RvcyBkZSBlbnbDrW8uXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvU2hpcHBpbmdJbmZvKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNvdXBvbjogdGhpcy50b0NhcnREaXNjb3VudChkYXRhKSxcclxuICAgICAgICAgICAgY3VycmVuY3k6IGRhdGEuY3VycmVuY3kgfHwgXCJVU0RcIixcclxuICAgICAgICAgICAgc2hpcHBpbmdfdGllcjogZGF0YS5zaGlwbWVudHNbMF0/Lm1ldGhvZD8uY29kZSB8fCAnbm90LXNoaXBwaW5nJyxcclxuICAgICAgICAgICAgdmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG4gICAgICAgICAgICBpdGVtczogZGF0YS5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGl0ZW1faWQ6IGl0ZW0ucHJvZHVjdC5pZCxcclxuICAgICAgICAgICAgICAgIGl0ZW1fbmFtZTogaXRlbS5wcm9kdWN0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAvL2NvdXBvbjonJyxcclxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBpdGVtLnByb2R1Y3QuZGlzY291bnQgfHwgMCxcclxuICAgICAgICAgICAgICAgIC8vaW5kZXg6JycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2JyYW5kOiBpdGVtLnByb2R1Y3QuYXR0cmlidXRlcz8ubGVuZ3RoID8gaXRlbS5wcm9kdWN0LmF0dHJpYnV0ZXNbMF0ubmFtZSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9jYXRlZ29yeTogaXRlbS5wcm9kdWN0LmNhdGVnb3J5LFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfaWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9pdGVtX2xpc3RfbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX3ZhcmlhbnQ6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uY29kZSB8fCAnJyxcclxuICAgICAgICAgICAgICAgIC8vbG9jYXRpb25faWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgcHJpY2U6IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8uc2FsZXByaWNlIHx8IGl0ZW0ucHJvZHVjdC52YXJpYW50c1swXT8ucHJpY2UsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSB8fCAxLFxyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9TaWduVXAoZGF0YTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uZGF0YVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBpbnRlcmFjdHVhIGNvbiB1bmEgcHJvbW9jacOzbi5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9TZWxlY3RQcm9tb3Rpb24oZGF0YTogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgcHJvbW90aW9uX2lkOiBkYXRhLmlkIHx8ICcnLFxyXG4gICAgICAgICAgICBwcm9tb3Rpb25fbmFtZTogZGF0YS5jb2RlIHx8IGRhdGEubmFtZSxcclxuICAgICAgICAgICAgcHJvbW90aW9uX3RpdGxlOiBkYXRhLnN1YnRpdGxlLFxyXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogZGF0YS5wcmlvcml0eSB8fCAwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc2FwcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgYWwgc2VsZWNjaW9uYXIgdW4gaXRlbS5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9TZWxlY3RJdGVtKGRhdGE6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLnRvSXRlbShkYXRhKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
418
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3RtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvYW5hbHl0aWNzL2d0bS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFDOUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQUNuQjs7T0FFRztJQUNLLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbEM7O09BRUc7SUFDSyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ2pDOzs7T0FHRztJQUNLLFFBQVEsQ0FBWTtJQUM1Qjs7T0FFRztJQUNLLE1BQU0sQ0FBVTtJQUVoQixlQUFlLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBQ2pDLFVBQVUsR0FBUSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUM7O09BRUc7SUFDSyxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDOztPQUVHO0lBQ0ssTUFBTSxHQUEyQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQTtJQUNyRCxrR0FBa0c7SUFDbEc7UUFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lB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Y0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUk7WUFDdEMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzlCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUM7U0FDbEMsQ0FBQTtJQUNMLENBQUM7SUFDRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLElBQVM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQzNCLENBQUE7SUFDTCxDQUFDO3dHQTFaUSxVQUFVOzRHQUFWLFVBQVUsY0FGUCxNQUFNOzs0RkFFVCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyUmVuZGVyLCBpbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQW5hbHl0aWNFdmVudEtleSwgR29vZ2xlVGFnTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG4vKipcclxuICogU2VydmljaW8gcXVlIHNlIGVuY2FyZ2EgZGUgbWFuZWphciBlbCBhbmFseXRpY3MgZGUgR1RNLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHVE1TZXJ2aWNlIHtcclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNpIHNlIGVzdGEgY2FyZ2FuZG8gZWwgc2VydmljaW8uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGN1YW5kbyBlbCBzZXJ2aWNpbyBlc3RhIGhhYmlsaXRhZG8uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTZSBlbmNhcmdhIGRlIGNyZWFyIGVsIGVsZW1lbnRvIEhUTUwgY29uIGxhcyBjb25maWd1cmFjaW9uZXMgcGFyYSBcclxuICAgICAqIHF1ZSBzZSBwdWVkYSBlamVjdXRhciBlbCBzZXJ2aWNpby5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBBbG1hY2VuYSBlbCBvYmplY3RvIHdpbmRvdyBkZWwgbmF2ZWdhZG9yLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHdpbmRvdz86IFdpbmRvdztcclxuXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MiA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcclxuICAgIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSA9IGluamVjdChQTEFURk9STV9JRCk7XHJcbiAgICAvKipcclxuICAgICAqIFNlcnZpY2lvIGRlIHJ1dGVvIGRlIGFuZ3VsYXIuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgIC8qKlxyXG4gICAgICogQ29uZmlndXJhY2nDs24gZGUgR29vZ2xlIFRhZyBNYW5hZ2VyLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNvbmZpZzogR29vZ2xlVGFnTWFuYWdlckNvbmZpZyA9IHsgaWQ6IG51bGwgfVxyXG4gICAgLy8gcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpIC8vIEVsaW1pbmFkYSBkdXBsaWNpZGFkLCB5YSBlc3TDoSBkZWNsYXJhZGEgYXJyaWJhXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICAgICAgdGhpcy53aW5kb3cgPSB3aW5kb3c7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogT2J0aWVuZSBlbCBkYXRhTGF5ZXIgZGVsIG9iamVjdG8gd2luZG93XHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERhdGFMYXllcigpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qgd2luZG93ID0gdGhpcy53aW5kb3c7XHJcbiAgICAgICAgLyogaWYod2luZG93KVxyXG4gICAgICAgIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdO1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuZGF0YUxheWVyOyAqL1xyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBBZ3JlZ2EgZGF0b3MgYWwgZGF0YUxheWVyLlxyXG4gICAgICogQHBhcmFtIG9iaiBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwdXNoT25EYXRhTGF5ZXIob2JqOiBvYmplY3QpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhTGF5ZXIgPSB0aGlzLmdldERhdGFMYXllcigpO1xyXG4gICAgICAgIGRhdGFMYXllci5wdXNoKG9iaik7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEFncmVnYSBlbCBzY3JpcHQgZGUgR1RNIHBhcmEgcXVlIGVtcGllY2UgYSBjYXB0dXJhciBldmVudG9zLlxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRHdG1Ub0RvbSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoXHJcbiAgICAgICAgICAgIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAhdGhpcy5kb2N1bWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE5vIG1hbmlwdWxhciBlbCBET00gZW4gU1NSXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNMb2FkZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLmlzTG9hZGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMucHVzaE9uRGF0YUxheWVyKHsgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLCBldmVudDogJ2d0bS5qcycgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZ3RtU2NyaXB0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgICAgICAgICAgICAgIGlmKGd0bVNjcmlwdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3RtU2NyaXB0LmlkID0gJ0dUTXNjcmlwdCc7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3RtU2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBndG1TY3JpcHQuc3JjID0gdGhpcy5hcHBseUd0bVF1ZXJ5UGFyYW1zKHRoaXMuY29uZmlnW1wiZ3RtX3Jlc291cmNlX3BhdGhcIl0gPyB0aGlzLmNvbmZpZ1tcImd0bV9yZXNvdXJjZV9wYXRoXCJdIDogJ2h0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcycpO1xyXG4gICAgICAgICAgICAgICAgICAgIGd0bVNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLmlzTG9hZGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3RtU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmhlYWQuaW5zZXJ0QmVmb3JlKGd0bVNjcmlwdCwgdGhpcy5kb2N1bWVudC5oZWFkLmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFwcGx5R3RtUXVlcnlQYXJhbXModXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignPycpID09PSAtMSkge1xyXG4gICAgICAgICAgICB1cmwgKz0gJz8nO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKHVybCArIE9iamVjdC5rZXlzKHRoaXMuY29uZmlnKS5maWx0ZXIoKGspID0+IHRoaXMuY29uZmlnW2tdKS5tYXAoKGspID0+IGAke2t9PSR7dGhpcy5jb25maWdba11cclxuICAgICAgICAgICAgfWApLmpvaW4oJyYnKSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEluaWNpYWxpemEgZWwgU2VydmljaW8gZGUgYW5hbHl0aWNzIGNvbiBzdXMgY29uZmlndXJhY2lvbmVzLlxyXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmFjaW9uZXMgZGUgR29vZ2xlIFRhZyBNYW5hZ2VyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbml0aWFsaXplKGNvbmZpZzogR29vZ2xlVGFnTWFuYWdlckNvbmZpZykge1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0gY29uZmlnIHx8IHRoaXMuY29uZmlnO1xyXG4gICAgICAgIHRoaXMuYWRkR3RtVG9Eb20oKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3RtVGFnID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogJ3BhZ2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZTogaXRlbS51cmxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVzaFRhZyhndG1UYWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwdXNoVGFnKGl0ZW06IG9iamVjdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0xvYWRlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRHdG1Ub0RvbSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVzaE9uRGF0YUxheWVyKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiByZWplY3QoKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnB1c2hPbkRhdGFMYXllcihpdGVtKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRWplY3V0YSBlbCBldmVudG8gcGFzYWRvIHBvciBwYXJhbWV0cm8uIFxyXG4gICAgICogQHBhcmFtIGV2ZW50X25hbWUgTm9tYnJlIGRlbCBldmVudG8uXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBEYXRhIGV4dHJhIHBhcmEgYWdyZWdhciBhbCBldmVudG8uXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgY2FsbEV2ZW50KGV2ZW50X25hbWU6IEFuYWx5dGljRXZlbnRLZXksIGRhdGEgPSB7fSkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0xvYWRlZCkgcmV0dXJuO1xyXG4gICAgICAgIGxldCBldmVudCA9IHRoaXMudHJhbnNsYXRlRXZlbnROYW1lKGV2ZW50X25hbWUpO1xyXG4gICAgICAgIGV2ZW50ICYmIHRoaXMucHVzaFRhZyh7IGVjb21tZXJjZTogbnVsbCB9KVxyXG4gICAgICAgIGV2ZW50ICYmIHRoaXMucHVzaFRhZyh7ICdldmVudCc6IHRoaXMudHJhbnNsYXRlRXZlbnROYW1lKGV2ZW50X25hbWUpLCBlY29tbWVyY2U6IHRoaXMuZXZhbEV2ZW50KGV2ZW50X25hbWUsIGRhdGEpIH0pXHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIFRyYWR1Y2UgZWwgZXZlbnRvIHJlY2liaWRvIHkgZGV2dWVsdmUgZWwgbm9tYnJlIGRlIGxhIGZ1bmNpw7NuIHF1ZSBsbyB2YSBhIHRyYXRhci5cclxuICAgICAqIEBwYXJhbSBldmVudF9uYW1lIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHRyYW5zbGF0ZUV2ZW50TmFtZShldmVudF9uYW1lOiBBbmFseXRpY0V2ZW50S2V5KSB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudF9uYW1lKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3ZpZXdfaXRlbSc6IHJldHVybiAndmlld19pdGVtJztcclxuICAgICAgICAgICAgY2FzZSAndmlld19pdGVtX2xpc3QnOiByZXR1cm4gJ3ZpZXdfaXRlbV9saXN0JztcclxuICAgICAgICAgICAgY2FzZSAnY2hlY2tvdXRfaW5pdCc6IHJldHVybiAnYmVnaW5fY2hlY2tvdXQnO1xyXG4gICAgICAgICAgICBjYXNlICdzaGlwcGluZ19pbmZvJzogcmV0dXJuICdhZGRfc2hpcHBpbmdfaW5mbyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2FkZF9wYXltZW50X2luZm8nOiByZXR1cm4gJ2FkZF9wYXltZW50X2luZm8nO1xyXG4gICAgICAgICAgICBjYXNlICdwdXJjaGFzZSc6IHJldHVybiAncHVyY2hhc2UnO1xyXG4gICAgICAgICAgICBjYXNlICdhZGRfdG9fY2FydCc6IHJldHVybiAnYWRkX3RvX2NhcnQnO1xyXG4gICAgICAgICAgICBjYXNlICdyZW1vdmVfZnJvbV9jYXJ0JzogcmV0dXJuICdyZW1vdmVfZnJvbV9jYXJ0JztcclxuICAgICAgICAgICAgY2FzZSAnc2lnbl91cCc6IHJldHVybiAnc2lnbl91cCc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdF9wcm9tb3Rpb24nOiByZXR1cm4gJ3NlbGVjdF9wcm9tb3Rpb24nO1xyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3RfaXRlbSc6IHJldHVybiAnc2VsZWN0X2l0ZW0nO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2YWx1YSBlbCBldmVudG8geSBkZXZ1ZWx2ZSBsb3MgZGF0b3MgZGUgbGFzIGZ1bmNpb25lcyByZWxhY2lvbmFkYXMuXHJcbiAgICAgKiBAcGFyYW0gZXZlbnRfbmFtZSBOb21icmUgZGVsIGV2ZW50b1xyXG4gICAgICogQHBhcmFtIGRhdGEgRGF0YSBleHRyYSBwYXJhIGFncmVnYXIgYWwgZXZlbnRvXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZXZhbEV2ZW50KGV2ZW50X25hbWU6IEFuYWx5dGljRXZlbnRLZXksIGRhdGE6IGFueSkge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnRfbmFtZSkge1xyXG4gICAgICAgICAgICBjYXNlICd2aWV3X2l0ZW0nOiByZXR1cm4gdGhpcy50b1ZpZXdJdGVtKGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICd2aWV3X2l0ZW1fbGlzdCc6IHJldHVybiB0aGlzLnRvVmlld0l0ZW1MaXN0KGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICdjaGVja291dF9pbml0JzogcmV0dXJuIHRoaXMudG9DaGVja291dEluaXQoZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NoaXBwaW5nX2luZm8nOiByZXR1cm4gdGhpcy50b1NoaXBwaW5nSW5mbyhkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAnYWRkX3BheW1lbnRfaW5mbyc6IHJldHVybiB0aGlzLnRvUGF5bWVudEluZm8oZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ3B1cmNoYXNlJzogcmV0dXJuIHRoaXMudG9QdXJjaGFzZShkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAnYWRkX3RvX2NhcnQnOiByZXR1cm4gdGhpcy50b0FkZFRvQ2FydChkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAncmVtb3ZlX2Zyb21fY2FydCc6IHJldHVybiB0aGlzLnRvUmVtb3ZlVG9DYXJ0KGRhdGEpO1xyXG4gICAgICAgICAgICBjYXNlICdzaWduX3VwJzogcmV0dXJuIHRoaXMudG9TaWduVXAoZGF0YSk7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdF9wcm9tb3Rpb24nOiByZXR1cm4gdGhpcy50b1NlbGVjdFByb21vdGlvbihkYXRhKTtcclxuICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2l0ZW0nOiByZXR1cm4gdGhpcy50b1NlbGVjdEl0ZW0oZGF0YSk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBxdWllcmUgY29tcHJhciB1biBwcm9kdWN0by5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9QdXJjaGFzZShkYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb3Vwb246IHRoaXMudG9DYXJ0RGlzY291bnQoZGF0YSksXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5LFxyXG4gICAgICAgICAgICBzaGlwcGluZzogZGF0YS50b3RhbHMuc2hpcHBpbmcsXHJcbiAgICAgICAgICAgIHRheDogZGF0YS50b3RhbHMudGF4ZXMsXHJcbiAgICAgICAgICAgIHZhbHVlOiBkYXRhLnRvdGFscy50b3RhbCxcclxuICAgICAgICAgICAgdHJhbnNhY3Rpb25faWQ6IGRhdGEubnVtYmVyLFxyXG4gICAgICAgICAgICBjb3VudEl0ZW1zOiBkYXRhLml0ZW1zPy5sZW5ndGggfHwgMCxcclxuICAgICAgICAgICAgaXRlbXM6IGRhdGEuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgICAgICBpdGVtX2lkOiBpdGVtLnByb2R1Y3QuaWQsXHJcbiAgICAgICAgICAgICAgICBpdGVtX25hbWU6IGl0ZW0ucHJvZHVjdC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgLy9jb3Vwb246JycsXHJcbiAgICAgICAgICAgICAgICBkaXNjb3VudDogaXRlbS5wcm9kdWN0LmRpc2NvdW50IHx8IDAsXHJcbiAgICAgICAgICAgICAgICAvL2luZGV4OicnLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9icmFuZDogaXRlbS5wcm9kdWN0LmF0dHJpYnV0ZXM/Lmxlbmd0aCA/IGl0ZW0ucHJvZHVjdC5hdHRyaWJ1dGVzWzBdLm5hbWUgOiAnJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fY2F0ZWdvcnk6IGl0ZW0ucHJvZHVjdC5jYXRlZ29yeSxcclxuICAgICAgICAgICAgICAgIGl0ZW1fdmFyaWFudDogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9sb2NhdGlvbl9pZDogJycsXHJcbiAgICAgICAgICAgICAgICBwcmljZTogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5IHx8IDEsXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBpbmljaWFsaXphIGVuIGNoZWNrb3V0LlxyXG4gICAgICogQHBhcmFtIGRhdGEgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b0NoZWNrb3V0SW5pdChkYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb3Vwb246IHRoaXMudG9DYXJ0RGlzY291bnQoZGF0YSksXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaXRlbV9pZDogaXRlbS5wcm9kdWN0LmlkLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9uYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuICAgICAgICAgICAgICAgIC8vY291cG9uOicnLFxyXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IGl0ZW0ucHJvZHVjdC5kaXNjb3VudCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgLy9pbmRleDonJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fYnJhbmQ6IGl0ZW0ucHJvZHVjdC5hdHRyaWJ1dGVzPy5sZW5ndGggPyBpdGVtLnByb2R1Y3QuYXR0cmlidXRlc1swXS5uYW1lIDogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2NhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9pZDogJycsXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9uYW1lOiAnJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fdmFyaWFudDogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9sb2NhdGlvbl9pZDogJycsXHJcbiAgICAgICAgICAgICAgICBwcmljZTogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5IHx8IDEsXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgdmFsdWU6IGRhdGEudG90YWxzPy50b3RhbCB8fCAwLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGNvbiBsb3MgZGVzY3VlbnRvcyBlbiBlbCBjYXJyaXRvLlxyXG4gICAgICogQHBhcmFtIGRhdGEgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b0NhcnREaXNjb3VudChkYXRhOiBhbnkpIHtcclxuICAgICAgICBsZXQgc3RyRGlzY291bnQgPSAnJ1xyXG4gICAgICAgIHN0ckRpc2NvdW50ID0gZGF0YS5jYXJ0RGlzY291bnRzLm1hcCgoaXRlbURpc2NvdW50OiBhbnkpID0+IGl0ZW1EaXNjb3VudD8udHlwZSkuam9pbigpXHJcbiAgICAgICAgcmV0dXJuIHN0ckRpc2NvdW50ID09ICcnID8gJ25vdC1kaXNjb3VudCcgOiBzdHJEaXNjb3VudFxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGFncmVnYSB1biBwcm9kdWN0byBhbCBjYXJyaXRvLiBcclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9BZGRUb0NhcnQoZGF0YTogYW55KSB7XHJcbiAgICAgICAgbGV0IGxhc3RQcm9kdWN0ID0gZGF0YS5pdGVtcz8ubGVuZ3RoICYmIGRhdGEuaXRlbXNbZGF0YS5pdGVtcy5sZW5ndGggLSAxXVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbdGhpcy50b0l0ZW0oeyBxdWFudGl0eTogbGFzdFByb2R1Y3QucXVhbnRpdHksIC4uLmxhc3RQcm9kdWN0LnByb2R1Y3QgfSldLFxyXG4gICAgICAgICAgICB2YWx1ZTogbGFzdFByb2R1Y3QudG90YWwgfHwgMCxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIENhbWJpYSBsYSB2YXJpYWJsZSAqKmVuYWJsZWQqKiBhIGBmYWxzZWBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBkaXNhYmxlKCkgeyB0aGlzLmVuYWJsZWQgPSBmYWxzZSB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBhIGxhcyB2aXN0YSBkZWwgcHJvZHVjdG8uXHJcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvVmlld0l0ZW0ocHJvZHVjdDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY3VycmVuY3k6IHByb2R1Y3QuY3VycmVuY3ksXHJcbiAgICAgICAgICAgIHZhbHVlOiBwcm9kdWN0LnByaWNlLFxyXG4gICAgICAgICAgICBpdGVtczogW3RoaXMudG9JdGVtKHByb2R1Y3QpXVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBjb24gZWwgbGlzdGFkbyBkZSBwcm9kdWN0b3MuXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRvVmlld0l0ZW1MaXN0KGRhdGE6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGl0ZW1zOiBkYXRhLnByb2R1Y3RzLm1hcCgocHJvZHVjdDogYW55KSA9PiB0aGlzLnRvSXRlbShwcm9kdWN0KSksXHJcbiAgICAgICAgICAgIGl0ZW1fbGlzdF9uYW1lOiBkYXRhLml0ZW1fbGlzdF9uYW1lIHx8ICdDb2xsZWN0aW9uJyxcclxuICAgICAgICAgICAgaXRlbV9saXN0X2lkOiBkYXRhLml0ZW1fbGlzdF9pZCB8fCAwXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgcXVpdGEgdW4gaXRlbSBkZWwgY2Fycml0by5cclxuICAgICAqIEBwYXJhbSBwcm9kdWN0IFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9SZW1vdmVUb0NhcnQocHJvZHVjdDogYW55KSB7XHJcbiAgICAgICAgbGV0IHByb2R1Y3RQYXJhbSA9IHByb2R1Y3QucHJvZHVjdFxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBwcm9kdWN0LmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbdGhpcy50b0l0ZW0oeyBxdWFudGl0eTogcHJvZHVjdC5xdWFudGl0eSwgLi4ucHJvZHVjdFBhcmFtIH0pXSxcclxuICAgICAgICAgICAgdmFsdWU6IChwcm9kdWN0UGFyYW0udmFyaWFudHNbMF0/LnNhbGVwcmljZSB8fCBwcm9kdWN0UGFyYW0udmFyaWFudHNbMF0/LnByaWNlKSAqIHByb2R1Y3QucXVhbnRpdHkgfHwgMSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b0l0ZW0gPSAocHJvZHVjdDogYW55KSA9PiAoe1xyXG4gICAgICAgIGl0ZW1faWQ6IHByb2R1Y3QuaWQsXHJcbiAgICAgICAgaXRlbV9uYW1lOiBwcm9kdWN0Lm5hbWUsXHJcbiAgICAgICAgLy9jb3Vwb246JycsXHJcbiAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQgfHwgMCxcclxuICAgICAgICAvL2luZGV4OicnLFxyXG4gICAgICAgIGl0ZW1fYnJhbmQ6IHByb2R1Y3QuYXR0cmlidXRlcz8ubGVuZ3RoID8gcHJvZHVjdC5hdHRyaWJ1dGVzWzBdLm5hbWUgOiAnJyxcclxuICAgICAgICBpdGVtX2NhdGVnb3J5OiBwcm9kdWN0LmNhdGVnb3J5LFxyXG4gICAgICAgIC8vaXRlbV9saXN0X2lkOiAnJyxcclxuICAgICAgICAvL2l0ZW1fbGlzdF9uYW1lOiAnJyxcclxuICAgICAgICBpdGVtX3ZhcmlhbnQ6IHByb2R1Y3QudmFyaWFudHNbMF0/LmNvZGUgfHwgJycsXHJcbiAgICAgICAgLy9sb2NhdGlvbl9pZDogJycsXHJcbiAgICAgICAgcHJpY2U6IHByb2R1Y3QudmFyaWFudHNbMF0/LnNhbGVwcmljZSB8fCBwcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuICAgICAgICBxdWFudGl0eTogcHJvZHVjdC5xdWFudGl0eSB8fCAxLFxyXG4gICAgfSlcclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIHF1ZSBzZSBkaXNwYXJhIGN1YW5kbyBzZSBjb25zdWx0YSBsYSBpbmZvcm1hY2nDs24gZGUgcGFnby5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9QYXltZW50SW5mbyhkYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb3Vwb246IHRoaXMudG9DYXJ0RGlzY291bnQoZGF0YSksXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5IHx8IFwiVVNEXCIsXHJcbiAgICAgICAgICAgIHBheW1lbnRfdHlwZTogZGF0YS5wYXltZW50c1swXT8ubWV0aG9kPy5jb2RlIHx8ICdub3QtcGF5bWVudHMnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS50b3RhbHM/LnRvdGFsIHx8IDAsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaXRlbV9pZDogaXRlbS5wcm9kdWN0LmlkLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9uYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuICAgICAgICAgICAgICAgIC8vY291cG9uOicnLFxyXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IGl0ZW0ucHJvZHVjdC5kaXNjb3VudCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgLy9pbmRleDonJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fYnJhbmQ6IGl0ZW0ucHJvZHVjdC5hdHRyaWJ1dGVzPy5sZW5ndGggPyBpdGVtLnByb2R1Y3QuYXR0cmlidXRlc1swXS5uYW1lIDogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2NhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9pZDogJycsXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9uYW1lOiAnJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fdmFyaWFudDogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9sb2NhdGlvbl9pZDogJycsXHJcbiAgICAgICAgICAgICAgICBwcmljZTogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5IHx8IDEsXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzcGFyYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBjb24gbG9zIG3DqXRvZG9zIGRlIGVudsOtby5cclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdG9TaGlwcGluZ0luZm8oZGF0YTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY291cG9uOiB0aGlzLnRvQ2FydERpc2NvdW50KGRhdGEpLFxyXG4gICAgICAgICAgICBjdXJyZW5jeTogZGF0YS5jdXJyZW5jeSB8fCBcIlVTRFwiLFxyXG4gICAgICAgICAgICBzaGlwcGluZ190aWVyOiBkYXRhLnNoaXBtZW50c1swXT8ubWV0aG9kPy5jb2RlIHx8ICdub3Qtc2hpcHBpbmcnLFxyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS50b3RhbHM/LnRvdGFsIHx8IDAsXHJcbiAgICAgICAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaXRlbV9pZDogaXRlbS5wcm9kdWN0LmlkLFxyXG4gICAgICAgICAgICAgICAgaXRlbV9uYW1lOiBpdGVtLnByb2R1Y3QubmFtZSxcclxuICAgICAgICAgICAgICAgIC8vY291cG9uOicnLFxyXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IGl0ZW0ucHJvZHVjdC5kaXNjb3VudCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgLy9pbmRleDonJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fYnJhbmQ6IGl0ZW0ucHJvZHVjdC5hdHRyaWJ1dGVzPy5sZW5ndGggPyBpdGVtLnByb2R1Y3QuYXR0cmlidXRlc1swXS5uYW1lIDogJycsXHJcbiAgICAgICAgICAgICAgICBpdGVtX2NhdGVnb3J5OiBpdGVtLnByb2R1Y3QuY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9pZDogJycsXHJcbiAgICAgICAgICAgICAgICAvL2l0ZW1fbGlzdF9uYW1lOiAnJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1fdmFyaWFudDogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgLy9sb2NhdGlvbl9pZDogJycsXHJcbiAgICAgICAgICAgICAgICBwcmljZTogaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5zYWxlcHJpY2UgfHwgaXRlbS5wcm9kdWN0LnZhcmlhbnRzWzBdPy5wcmljZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5IHx8IDEsXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b1NpZ25VcChkYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gcXVlIHNlIGRpc3BhcmEgY3VhbmRvIHNlIGludGVyYWN0dWEgY29uIHVuYSBwcm9tb2Npw7NuLlxyXG4gICAgICogQHBhcmFtIGRhdGEgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b1NlbGVjdFByb21vdGlvbihkYXRhOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcm9tb3Rpb25faWQ6IGRhdGEuaWQgfHwgJycsXHJcbiAgICAgICAgICAgIHByb21vdGlvbl9uYW1lOiBkYXRhLmNvZGUgfHwgZGF0YS5uYW1lLFxyXG4gICAgICAgICAgICBwcm9tb3Rpb25fdGl0bGU6IGRhdGEuc3VidGl0bGUsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiBkYXRhLnByaW9yaXR5IHx8IDBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBxdWUgc2UgZGlzYXByYSBjdWFuZG8gc2UgaW50ZXJhY3R1YSBhbCBzZWxlY2Npb25hciB1biBpdGVtLlxyXG4gICAgICogQHBhcmFtIGRhdGEgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0b1NlbGVjdEl0ZW0oZGF0YTogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXRlbXM6IHRoaXMudG9JdGVtKGRhdGEpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -18,9 +18,6 @@ export class MetricoolPixelService {
18
18
  */
19
19
  renderer;
20
20
  constructor() {
21
- if (isPlatformBrowser(this.platformId)) {
22
- this.document = document;
23
- }
24
21
  this.renderer = this.rendererFactory.createRenderer(null, null);
25
22
  }
26
23
  /**
@@ -28,20 +25,22 @@ export class MetricoolPixelService {
28
25
  * @param pixel_hash hash provisto por Metricool Pixel.
29
26
  */
30
27
  initialize = (pixel_hash) => {
31
- let new_analityc_script = this.renderer.createElement('script');
32
- new_analityc_script.type = 'text/javascript';
33
- new_analityc_script.text = `
34
- function loadScript(a) {
35
- var b = document.getElementsByTagName("head")[0], c = document.createElement("script");
36
- c.type = "text/javascript",
37
- c.src = "https://tracker.metricool.com/resources/be.js",
38
- c.onreadystatechange = a,
39
- c.onload = a, b.appendChild(c)
40
- } loadScript(function () {
41
- beTracker.t({ hash: "${pixel_hash}" })
42
- });
43
- `;
44
- this.renderer.appendChild(this.document?.body, new_analityc_script);
28
+ if (isPlatformBrowser(this.platformId) && this.document) {
29
+ let new_analityc_script = this.renderer.createElement('script');
30
+ new_analityc_script.type = 'text/javascript';
31
+ new_analityc_script.text = `
32
+ function loadScript(a) {
33
+ var b = document.getElementsByTagName("head")[0], c = document.createElement("script");
34
+ c.type = "text/javascript",
35
+ c.src = "https://tracker.metricool.com/resources/be.js",
36
+ c.onreadystatechange = a,
37
+ c.onload = a, b.appendChild(c)
38
+ } loadScript(function () {
39
+ beTracker.t({ hash: "${pixel_hash}" })
40
+ });
41
+ `;
42
+ this.renderer.appendChild(this.document.body, new_analityc_script);
43
+ }
45
44
  };
46
45
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetricoolPixelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
46
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetricoolPixelService, providedIn: 'root' });
@@ -52,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
52
51
  providedIn: 'root'
53
52
  }]
54
53
  }], ctorParameters: () => [] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljb29sLXBpeGVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvYW5hbHl0aWNzL21ldHJpY29vbC1waXhlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBQzdGOztHQUVHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qjs7T0FFRztJQUNLLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsZUFBZSxHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUM1RCxRQUFRLEdBQW9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QyxVQUFVLEdBQVEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzdDOzs7T0FHRztJQUNLLFFBQVEsQ0FBWTtJQUU1QjtRQUNJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRDs7O09BR0c7SUFDSCxVQUFVLEdBQUcsQ0FBQyxVQUFlLEVBQUUsRUFBRTtRQUM3QixJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLG1CQUFtQixDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUM3QyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUc7Ozs7Ozs7O21DQVFBLFVBQVU7O1NBRXBDLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQTt3R0F4Q1EscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7NEZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vKipcclxuICogU2VydmljaW8gZW5jYXJnYWRvIGRlIG1hbmVqYXIgZWwgYW5hbHl0aWNzIGRlIE1ldHJpY29vbCBQaXhlbFxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXRyaWNvb2xQaXhlbFNlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2kgc2UgZXN0YSBjYXJnYW5kbyBlbCBTZXJ2aWNpby5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpc0xvYWRlZCA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpXHJcbiAgICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCB8IG51bGwgPSBpbmplY3QoRE9DVU1FTlQpXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSA9IGluamVjdChQTEFURk9STV9JRClcclxuICAgIC8qKlxyXG4gICAgICogU2UgZW5jYXJnYSBkZSBjcmVhciBlbCBlbGVtZW50byBIVE1MIGNvbiBsYXMgY29uZmlndXJhY2lvbmVzIHBhcmEgXHJcbiAgICAgKiBxdWUgc2UgcHVlZGEgZWplY3V0YXIgZWwgc2VydmljaW8uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmljaWFsaXphIGVsIFNlcnZpY2lvIGRlIGFuYWx5dGljcyBjb24gc3VzIGNvbmZpZ3VyYWNpb25lcy5cclxuICAgICAqIEBwYXJhbSBwaXhlbF9oYXNoIGhhc2ggcHJvdmlzdG8gcG9yIE1ldHJpY29vbCBQaXhlbC5cclxuICAgICAqL1xyXG4gICAgaW5pdGlhbGl6ZSA9IChwaXhlbF9oYXNoOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgbmV3X2FuYWxpdHljX3NjcmlwdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgbmV3X2FuYWxpdHljX3NjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcbiAgICAgICAgbmV3X2FuYWxpdHljX3NjcmlwdC50ZXh0ID0gYFxyXG4gICAgICAgIGZ1bmN0aW9uIGxvYWRTY3JpcHQoYSkge1xyXG4gICAgICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSwgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XHJcbiAgICAgICAgICAgIGMudHlwZSA9IFwidGV4dC9qYXZhc2NyaXB0XCIsXHJcbiAgICAgICAgICAgICAgICBjLnNyYyA9IFwiaHR0cHM6Ly90cmFja2VyLm1ldHJpY29vbC5jb20vcmVzb3VyY2VzL2JlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBjLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGEsXHJcbiAgICAgICAgICAgICAgICBjLm9ubG9hZCA9IGEsIGIuYXBwZW5kQ2hpbGQoYylcclxuICAgICAgICB9IGxvYWRTY3JpcHQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBiZVRyYWNrZXIudCh7IGhhc2g6IFwiJHtwaXhlbF9oYXNofVwiIH0pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYDtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQ/LmJvZHksIG5ld19hbmFsaXR5Y19zY3JpcHQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljb29sLXBpeGVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvYW5hbHl0aWNzL21ldHJpY29vbC1waXhlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBQzdGOztHQUVHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qjs7T0FFRztJQUNLLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsZUFBZSxHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUM1RCxRQUFRLEdBQW9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QyxVQUFVLEdBQVEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzdDOzs7T0FHRztJQUNLLFFBQVEsQ0FBWTtJQUU1QjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRDs7O09BR0c7SUFDSCxVQUFVLEdBQUcsQ0FBQyxVQUFlLEVBQUUsRUFBRTtRQUM3QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEQsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRSxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDN0MsbUJBQW1CLENBQUMsSUFBSSxHQUFHOzs7Ozs7Ozt1Q0FRQSxVQUFVOzthQUVwQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQyxDQUFBO3dHQXZDUSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZsQixNQUFNOzs0RkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8qKlxyXG4gKiBTZXJ2aWNpbyBlbmNhcmdhZG8gZGUgbWFuZWphciBlbCBhbmFseXRpY3MgZGUgTWV0cmljb29sIFBpeGVsXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1ldHJpY29vbFBpeGVsU2VydmljZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzaSBzZSBlc3RhIGNhcmdhbmRvIGVsIFNlcnZpY2lvLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzTG9hZGVkID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIgPSBpbmplY3QoUmVuZGVyZXJGYWN0b3J5MilcclxuICAgIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbCA9IGluamVjdChET0NVTUVOVClcclxuICAgIHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxyXG4gICAgLyoqXHJcbiAgICAgKiBTZSBlbmNhcmdhIGRlIGNyZWFyIGVsIGVsZW1lbnRvIEhUTUwgY29uIGxhcyBjb25maWd1cmFjaW9uZXMgcGFyYSBcclxuICAgICAqIHF1ZSBzZSBwdWVkYSBlamVjdXRhciBlbCBzZXJ2aWNpby5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogSW5pY2lhbGl6YSBlbCBTZXJ2aWNpbyBkZSBhbmFseXRpY3MgY29uIHN1cyBjb25maWd1cmFjaW9uZXMuXHJcbiAgICAgKiBAcGFyYW0gcGl4ZWxfaGFzaCBoYXNoIHByb3Zpc3RvIHBvciBNZXRyaWNvb2wgUGl4ZWwuXHJcbiAgICAgKi9cclxuICAgIGluaXRpYWxpemUgPSAocGl4ZWxfaGFzaDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5kb2N1bWVudCkge1xyXG4gICAgICAgICAgICBsZXQgbmV3X2FuYWxpdHljX3NjcmlwdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgICAgIG5ld19hbmFsaXR5Y19zY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgICAgICAgICBuZXdfYW5hbGl0eWNfc2NyaXB0LnRleHQgPSBgXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWRTY3JpcHQoYSkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0sIGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xyXG4gICAgICAgICAgICAgICAgYy50eXBlID0gXCJ0ZXh0L2phdmFzY3JpcHRcIixcclxuICAgICAgICAgICAgICAgICAgICBjLnNyYyA9IFwiaHR0cHM6Ly90cmFja2VyLm1ldHJpY29vbC5jb20vcmVzb3VyY2VzL2JlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBhLFxyXG4gICAgICAgICAgICAgICAgICAgIGMub25sb2FkID0gYSwgYi5hcHBlbmRDaGlsZChjKVxyXG4gICAgICAgICAgICB9IGxvYWRTY3JpcHQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgYmVUcmFja2VyLnQoeyBoYXNoOiBcIiR7cGl4ZWxfaGFzaH1cIiB9KVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIG5ld19hbmFsaXR5Y19zY3JpcHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2ludGVyZmFjZXMvZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gJ2NhdGVnb3JpZXMnIHwgJ2F0dHJpYnV0ZXMnIHwgJ3NvcnQnIHwgJ2R5bmFtaWNzJyB8ICdwcmljZV9yYW5nZScgfCAnYWxsJztcclxuZXhwb3J0IHR5cGUgRWxlbWVudFR5cGUgPSAnc3ViJyB8ICdjaGlsZCcgfCAncmFuZ2UnO1xyXG5leHBvcnQgdHlwZSBGaWx0ZXJTaGFwZSA9ICdjb2xvcicgfCAndGV4dCcgfCAnc2l6ZSc7XHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYXogdXRpbGl6YWRhIHBhcmEgYXBsaWNhciBmaWx0cm9zIHBvciBkZWZlY3RvLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRGVmYXVsdEZpbHRlciA9IHtcclxuICAgIC8vIFtrZXkgaW4gRmlsdGVyVHlwZV0gOiBzdHJpbmdbXVxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpdGlvbiBUaXBvIGRlIGZpbHRybyBxdWUgc2UgYXBsaWNhcmEuXHJcbiAgICAgKiBFamVtcGxvOiAnc29ydCcgfCAnY2F0ZWdvcnknIHwgJ2F0dHJpYnV0ZXMnIHwgJ2R5bmFtaWNzJyAuLi5cclxuICAgICAqL1xyXG4gICAgZmlsdGVyX3R5cGU6IEZpbHRlclR5cGUsXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb250aWVuZSBsb3MgY29kaWdvcyBkZSBsb3MgZmlsdHJvcyBxdWUgc2UgZGVzZWFuIGFwbGljYXIuXHJcbiAgICAgKiBFamVtcGxvOiBzaSBlbCBmaWx0cm8gZXMgJ3NvcnQnIGVsIGFycmVnbG8gcG9kcmlhIGNvbnRlbmVyICdwcmljZSBjaGlwJyB8ICdwcmljZSBleHBlbnNpdmUnIHwgJ2FscGhhIGFzYycgfCAnYWxwaGEgZGVzYycgLi4uXHJcbiAgICAgKi9cclxuICAgIGNvZGVzOiBzdHJpbmdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckVsZW1lbnQge1xyXG5cclxuICAgIC8vIEJPVEhcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBFbGVtZW50VHlwZTtcclxuICAgIGNvZGU6IHN0cmluZztcclxuICAgIFxyXG4gICAgLy8gRkFUSEVSXHJcbiAgICBtdWx0aT86IGJvb2xlYW47XHJcbiAgICBjaGlsZHJlbj86IEZpbHRlckVsZW1lbnRbXTtcclxuICAgIHNoYXBlPzogRmlsdGVyU2hhcGU7XHJcbiAgICBwYXRoPzogc3RyaW5nOyBcclxuICAgIG5vVXJsPzpib29sZWFuOyAvLyBwYXJhIGluZGljYXIgc2kgc2UgZmlsdHJhIGVuIGxhIHZpc3RhIG8gbm9cclxuICAgIFxyXG4gICAgLy8gQ0hJTERcclxuICAgIHZhbHVlPzogc3RyaW5nO1xyXG4gICAgc2x1Zz86IHN0cmluZztcclxuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyogZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyIHtcclxuXHJcbiAgICBnZW5lcmF0ZWRfdXJsOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICB0eXBlKCk6IEZpbHRlclR5cGU7XHJcbiAgICBzZXRDb250ZW50KG9wdGlvbnM6YW55KTogdm9pZDtcclxuICAgIGdldENvbnRlbnQoKTogRmlsdGVyRWxlbWVudFtdO1xyXG4gICAgc2V0U2VsZWN0ZWQoZWxlbWVudDogRmlsdGVyRWxlbWVudCwgdmFsdWU6IHN0cmluZyk6dm9pZDtcclxuICAgIHRvVXJsUGFyYW1zKCk6IHN0cmluZztcclxufSAqL1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVye1xyXG4gICAgZGF0YTogRmlsdGVyRWxlbWVudFtdO1xyXG4gICAgbXVsdGk6Ym9vbGVhbjtcclxuICAgIFxyXG4gICAgdHlwZSgpOiBGaWx0ZXJUeXBlO1xyXG4gICAgc2V0Q29udGVudChvcHRpb25zOmFueSk6IHZvaWQ7XHJcbiAgICBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXTtcclxuICAgIHRvVXJsUGFyYW1zKCk6IHN0cmluZztcclxuICAgIGNyZWF0ZUVsZW1lbnQoZmlsdGVyOmFueSxvcmlnaW5hbDphbnksaW5pdGlhbFZhbHVlPzphbnkpOmFueTtcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2ludGVyZmFjZXMvZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gJ2NhdGVnb3JpZXMnIHwgJ2F0dHJpYnV0ZXMnIHwgJ3NvcnQnIHwgJ2R5bmFtaWNzJyB8ICdwcmljZV9yYW5nZScgfCAnYWxsJztcclxuZXhwb3J0IHR5cGUgRWxlbWVudFR5cGUgPSAnc3ViJyB8ICdjaGlsZCcgfCAncmFuZ2UnO1xyXG5leHBvcnQgdHlwZSBGaWx0ZXJTaGFwZSA9ICdjb2xvcicgfCAndGV4dCcgfCAnc2l6ZSc7XHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYXogdXRpbGl6YWRhIHBhcmEgYXBsaWNhciBmaWx0cm9zIHBvciBkZWZlY3RvLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRGVmYXVsdEZpbHRlciA9IHtcclxuICAgIC8vIFtrZXkgaW4gRmlsdGVyVHlwZV0gOiBzdHJpbmdbXVxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpdGlvbiBUaXBvIGRlIGZpbHRybyBxdWUgc2UgYXBsaWNhcmEuXHJcbiAgICAgKiBFamVtcGxvOiAnc29ydCcgfCAnY2F0ZWdvcnknIHwgJ2F0dHJpYnV0ZXMnIHwgJ2R5bmFtaWNzJyAuLi5cclxuICAgICAqL1xyXG4gICAgZmlsdGVyX3R5cGU6IEZpbHRlclR5cGUsXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb250aWVuZSBsb3MgY29kaWdvcyBkZSBsb3MgZmlsdHJvcyBxdWUgc2UgZGVzZWFuIGFwbGljYXIuXHJcbiAgICAgKiBFamVtcGxvOiBzaSBlbCBmaWx0cm8gZXMgJ3NvcnQnIGVsIGFycmVnbG8gcG9kcmlhIGNvbnRlbmVyICdwcmljZSBjaGlwJyB8ICdwcmljZSBleHBlbnNpdmUnIHwgJ2FscGhhIGFzYycgfCAnYWxwaGEgZGVzYycgLi4uXHJcbiAgICAgKi9cclxuICAgIGNvZGVzOiBzdHJpbmdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckVsZW1lbnQge1xyXG5cclxuICAgIC8vIEJPVEhcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBFbGVtZW50VHlwZTtcclxuICAgIGNvZGU6IHN0cmluZztcclxuICAgIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBcclxuICAgIC8vIEZBVEhFUlxyXG4gICAgbXVsdGk/OiBib29sZWFuO1xyXG4gICAgY2hpbGRyZW4/OiBGaWx0ZXJFbGVtZW50W107XHJcbiAgICBzaGFwZT86IEZpbHRlclNoYXBlO1xyXG4gICAgcGF0aD86IHN0cmluZzsgXHJcbiAgICBub1VybD86Ym9vbGVhbjsgLy8gcGFyYSBpbmRpY2FyIHNpIHNlIGZpbHRyYSBlbiBsYSB2aXN0YSBvIG5vXHJcbiAgICBcclxuICAgIC8vIENISUxEXHJcbiAgICB2YWx1ZT86IHN0cmluZztcclxuICAgIHNsdWc/OiBzdHJpbmc7XHJcbiAgICBzZWxlY3RlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qIGV4cG9ydCBpbnRlcmZhY2UgSUZpbHRlciB7XHJcblxyXG4gICAgZ2VuZXJhdGVkX3VybDogc3RyaW5nO1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgdHlwZSgpOiBGaWx0ZXJUeXBlO1xyXG4gICAgc2V0Q29udGVudChvcHRpb25zOmFueSk6IHZvaWQ7XHJcbiAgICBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXTtcclxuICAgIHNldFNlbGVjdGVkKGVsZW1lbnQ6IEZpbHRlckVsZW1lbnQsIHZhbHVlOiBzdHJpbmcpOnZvaWQ7XHJcbiAgICB0b1VybFBhcmFtcygpOiBzdHJpbmc7XHJcbn0gKi9cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpbHRlcntcclxuICAgIGRhdGE6IEZpbHRlckVsZW1lbnRbXTtcclxuICAgIG11bHRpOmJvb2xlYW47XHJcbiAgICBcclxuICAgIHR5cGUoKTogRmlsdGVyVHlwZTtcclxuICAgIHNldENvbnRlbnQob3B0aW9uczphbnkpOiB2b2lkO1xyXG4gICAgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W107XHJcbiAgICB0b1VybFBhcmFtcygpOiBzdHJpbmc7XHJcbiAgICBjcmVhdGVFbGVtZW50KGZpbHRlcjphbnksb3JpZ2luYWw6YW55LGluaXRpYWxWYWx1ZT86YW55KTphbnk7XHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9pbnRlcmZhY2VzL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcnl7XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBwb3NpdGlvbjogbnVtYmVyO1xyXG4gICAgcGF0aDogc3RyaW5nOyBcclxuICAgIGNoaWxkcmVuPzogQ2F0ZWdvcnlbXTtcclxuICAgIGltYWdlcz86YW55W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VjdGlvbntcclxuICAgIGNvZGU6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHBhZ2VzPzphbnlbXTtcclxuICAgIHBhdGg/OnN0cmluZztcclxuICAgIGNoaWxkcmVuPzpTZWN0aW9uW107XHJcbiAgICB0eXBlPzpzdHJpbmc7XHJcbiAgICBibG9ja3M/OmFueVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZXtcclxuICAgIGNvZGU6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHBhdGg6IHN0cmluZztcclxuICAgIHNsdWc6IHN0cmluZztcclxuICAgIHVzZVRvRmlsdGVyOiBib29sZWFuO1xyXG4gICAgc3R5bGVzPzphbnlbXTtcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9pbnRlcmZhY2VzL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcnl7XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBwb3NpdGlvbjogbnVtYmVyO1xyXG4gICAgcGF0aDogc3RyaW5nOyBcclxuICAgIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBjaGlsZHJlbj86IENhdGVnb3J5W107XHJcbiAgICBpbWFnZXM/OmFueVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3Rpb257XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBwYWdlcz86YW55W107XHJcbiAgICBwYXRoPzpzdHJpbmc7XHJcbiAgICBjaGlsZHJlbj86U2VjdGlvbltdO1xyXG4gICAgdHlwZT86c3RyaW5nO1xyXG4gICAgYmxvY2tzPzphbnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGV7XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBwYXRoOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICB1c2VUb0ZpbHRlcjogYm9vbGVhbjtcclxuICAgIHN0eWxlcz86YW55W107XHJcbiAgICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG59Il19