@osovitny/anatoly 3.17.106 → 3.17.110

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.
@@ -20,6 +20,7 @@ import { CurrenciesApiService } from './services/billing/currencies-api.service'
20
20
  import { CurrenciesStorageService } from './services/billing/currencies-storage.service';
21
21
  import { DiscountCodesApiService } from './services/billing/discountcodes-api.service';
22
22
  import { PaymentsApiService } from './services/billing/payments-api.service';
23
+ import { SubscriptionsApiService } from './services/billing/subscriptions-api.service';
23
24
  import { TransactionsApiService } from './services/billing/transactions-api.service';
24
25
  //App
25
26
  import { CoreApiService } from './services/core-api.service';
@@ -34,6 +35,7 @@ export class AnatolyDataModule {
34
35
  CurrenciesStorageService,
35
36
  DiscountCodesApiService,
36
37
  PaymentsApiService,
38
+ SubscriptionsApiService,
37
39
  TransactionsApiService,
38
40
  //App
39
41
  CoreApiService,
@@ -52,6 +54,7 @@ export class AnatolyDataModule {
52
54
  CurrenciesStorageService,
53
55
  DiscountCodesApiService,
54
56
  PaymentsApiService,
57
+ SubscriptionsApiService,
55
58
  TransactionsApiService,
56
59
  //App
57
60
  CoreApiService,
@@ -60,4 +63,4 @@ export class AnatolyDataModule {
60
63
  }]
61
64
  }], null, null); })();
62
65
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyDataModule, { imports: [CommonModule] }); })();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9kYXRhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFNBQVM7QUFDVCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRixLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQW1CakUsTUFBTSxPQUFPLGlCQUFpQjtrRkFBakIsaUJBQWlCO21FQUFqQixpQkFBaUI7d0VBYmpCO1lBQ1QsU0FBUztZQUNULG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFFdEIsS0FBSztZQUNMLGNBQWM7WUFDZCxnQkFBZ0I7U0FDakIsWUFiQyxZQUFZOztpRkFlSCxpQkFBaUI7Y0FqQjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsU0FBUztvQkFDVCxvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsdUJBQXVCO29CQUN2QixrQkFBa0I7b0JBQ2xCLHNCQUFzQjtvQkFFdEIsS0FBSztvQkFDTCxjQUFjO29CQUNkLGdCQUFnQjtpQkFDakI7YUFDRjs7d0ZBQ1ksaUJBQWlCLGNBZjFCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgNCBNYXIgMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLy9CaWxsaW5nXHJcbmltcG9ydCB7IEN1cnJlbmNpZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL2N1cnJlbmNpZXMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXJyZW5jaWVzU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvY3VycmVuY2llcy1zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaXNjb3VudENvZGVzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9kaXNjb3VudGNvZGVzLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGF5bWVudHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL3BheW1lbnRzLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25zQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy90cmFuc2FjdGlvbnMtYXBpLnNlcnZpY2UnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLy9CaWxsaW5nXHJcbiAgICBDdXJyZW5jaWVzQXBpU2VydmljZSxcclxuICAgIEN1cnJlbmNpZXNTdG9yYWdlU2VydmljZSxcclxuICAgIERpc2NvdW50Q29kZXNBcGlTZXJ2aWNlLFxyXG4gICAgUGF5bWVudHNBcGlTZXJ2aWNlLFxyXG4gICAgVHJhbnNhY3Rpb25zQXBpU2VydmljZSxcclxuXHJcbiAgICAvL0FwcFxyXG4gICAgQ29yZUFwaVNlcnZpY2UsXHJcbiAgICBFbWFpbHNBcGlTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seURhdGFNb2R1bGUge1xyXG59XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9kYXRhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFNBQVM7QUFDVCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRixLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQW9CakUsTUFBTSxPQUFPLGlCQUFpQjtrRkFBakIsaUJBQWlCO21FQUFqQixpQkFBaUI7d0VBZGpCO1lBQ1QsU0FBUztZQUNULG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBRXRCLEtBQUs7WUFDTCxjQUFjO1lBQ2QsZ0JBQWdCO1NBQ2pCLFlBZEMsWUFBWTs7aUZBZ0JILGlCQUFpQjtjQWxCN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxTQUFTO29CQUNULG9CQUFvQjtvQkFDcEIsd0JBQXdCO29CQUN4Qix1QkFBdUI7b0JBQ3ZCLGtCQUFrQjtvQkFDbEIsdUJBQXVCO29CQUN2QixzQkFBc0I7b0JBRXRCLEtBQUs7b0JBQ0wsY0FBYztvQkFDZCxnQkFBZ0I7aUJBQ2pCO2FBQ0Y7O3dGQUNZLGlCQUFpQixjQWhCMUIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA0IE1hciAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vL0JpbGxpbmdcclxuaW1wb3J0IHsgQ3VycmVuY2llc0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvY3VycmVuY2llcy1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1cnJlbmNpZXNTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9jdXJyZW5jaWVzLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERpc2NvdW50Q29kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL2Rpc2NvdW50Y29kZXMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXltZW50c0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvcGF5bWVudHMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb25zQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9zdWJzY3JpcHRpb25zLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25zQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmlsbGluZy90cmFuc2FjdGlvbnMtYXBpLnNlcnZpY2UnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLy9CaWxsaW5nXHJcbiAgICBDdXJyZW5jaWVzQXBpU2VydmljZSxcclxuICAgIEN1cnJlbmNpZXNTdG9yYWdlU2VydmljZSxcclxuICAgIERpc2NvdW50Q29kZXNBcGlTZXJ2aWNlLFxyXG4gICAgUGF5bWVudHNBcGlTZXJ2aWNlLFxyXG4gICAgU3Vic2NyaXB0aW9uc0FwaVNlcnZpY2UsXHJcbiAgICBUcmFuc2FjdGlvbnNBcGlTZXJ2aWNlLFxyXG5cclxuICAgIC8vQXBwXHJcbiAgICBDb3JlQXBpU2VydmljZSxcclxuICAgIEVtYWlsc0FwaVNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmF0b2x5RGF0YU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -21,8 +21,9 @@ export * from './services/billing/currencies-api.service';
21
21
  export * from './services/billing/currencies-storage.service';
22
22
  export * from './services/billing/discountcodes-api.service';
23
23
  export * from './services/billing/payments-api.service';
24
+ export * from './services/billing/subscriptions-api.service';
24
25
  export * from './services/billing/transactions-api.service';
25
26
  //services
26
27
  export * from './services/core-api.service';
27
28
  export * from './services/emails-api.service';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxrQkFBa0I7QUFDbEIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELFVBQVU7QUFDVixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL2Jhc2VcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2FwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2dyaWQvZ3JpZC1yZWFkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvZ3JpZC9ncmlkLWVkaXQuc2VydmljZSc7XHJcblxyXG4vL3NlcnZpY2VzL2JpbGxpbmdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL2N1cnJlbmNpZXMtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvY3VycmVuY2llcy1zdG9yYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvZGlzY291bnRjb2Rlcy1hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9wYXltZW50cy1hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYmlsbGluZy90cmFuc2FjdGlvbnMtYXBpLnNlcnZpY2UnO1xyXG5cclxuLy9zZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2VtYWlscy1hcGkuc2VydmljZSc7XHJcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxrQkFBa0I7QUFDbEIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsVUFBVTtBQUNWLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vYmFzZVxyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UvZ3JpZC9ncmlkLXJlYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS9ncmlkL2dyaWQtZWRpdC5zZXJ2aWNlJztcclxuXHJcbi8vc2VydmljZXMvYmlsbGluZ1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvY3VycmVuY2llcy1hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9jdXJyZW5jaWVzLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYmlsbGluZy9kaXNjb3VudGNvZGVzLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL3BheW1lbnRzLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9iaWxsaW5nL3N1YnNjcmlwdGlvbnMtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JpbGxpbmcvdHJhbnNhY3Rpb25zLWFwaS5zZXJ2aWNlJztcclxuXHJcbi8vc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb3JlLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG4iXX0=
@@ -0,0 +1,49 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 10 Nov 2024
11
+
12
+ Copyright (c) 2017-2025 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //Node
16
+ import { Injectable } from '@angular/core';
17
+ //App
18
+ import { ApiServiceBase } from '../../base/api.service';
19
+ import { ApiUrl } from '../../../core/consts/core-settings';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common/http";
22
+ export class SubscriptionsApiService extends ApiServiceBase {
23
+ constructor(http) {
24
+ super(http);
25
+ this.http = http;
26
+ this.baseUrl = `${ApiUrl}/billing/subscriptions`;
27
+ }
28
+ getSubscriptions(data) {
29
+ return this.get('getSubscriptions', data);
30
+ }
31
+ addSubscription(billingPlan, currentSubscriptionId, newSubscriptionId, success, error) {
32
+ this.post('addSubscription', { billingPlan, currentSubscriptionId, newSubscriptionId }).subscribe({
33
+ next: (data) => {
34
+ if (success)
35
+ success(data);
36
+ },
37
+ error: (e) => {
38
+ if (error)
39
+ error(e);
40
+ }
41
+ });
42
+ }
43
+ static { this.ɵfac = function SubscriptionsApiService_Factory(t) { return new (t || SubscriptionsApiService)(i0.ɵɵinject(i1.HttpClient)); }; }
44
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SubscriptionsApiService, factory: SubscriptionsApiService.ɵfac }); }
45
+ }
46
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubscriptionsApiService, [{
47
+ type: Injectable
48
+ }], () => [{ type: i1.HttpClient }], null); })();
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9ucy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL2JpbGxpbmcvc3Vic2NyaXB0aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN6RCxZQUFzQixJQUFnQjtRQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxNQUFNLHdCQUF3QixDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBUSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxPQUFrQixFQUFFLEtBQWdCO1FBQ3pHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLE9BQU87b0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLEtBQUs7b0JBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dGQW5CVSx1QkFBdUI7dUVBQXZCLHVCQUF1QixXQUF2Qix1QkFBdUI7O2lGQUF2Qix1QkFBdUI7Y0FEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMCBOb3YgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVVybCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RzL2NvcmUtc2V0dGluZ3MnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uc0FwaVNlcnZpY2UgZXh0ZW5kcyBBcGlTZXJ2aWNlQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gYCR7QXBpVXJsfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnNgO1xyXG4gIH1cclxuICBcclxuICBnZXRTdWJzY3JpcHRpb25zKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldDxhbnlbXT4oJ2dldFN1YnNjcmlwdGlvbnMnLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGFkZFN1YnNjcmlwdGlvbihiaWxsaW5nUGxhbiwgY3VycmVudFN1YnNjcmlwdGlvbklkLCBuZXdTdWJzY3JpcHRpb25JZCwgc3VjY2Vzcz86IEZ1bmN0aW9uLCBlcnJvcj86IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLnBvc3QoJ2FkZFN1YnNjcmlwdGlvbicsIHsgYmlsbGluZ1BsYW4sIGN1cnJlbnRTdWJzY3JpcHRpb25JZCwgbmV3U3Vic2NyaXB0aW9uSWQgfSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2VzcyhkYXRhKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSBlcnJvcihlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -17,8 +17,8 @@ import { Component } from '@angular/core';
17
17
  //App
18
18
  import { ComponentBase } from '../base/components/component';
19
19
  import * as i0 from "@angular/core";
20
- const _c0 = [[["mex-card-header"]], [["mex-card-body"]], "*", [["mex-card-footer"]]];
21
- const _c1 = ["mex-card-header", "mex-card-body", "*", "mex-card-footer"];
20
+ const _c0 = [[["card-header"]], [["card-body"]], "*", [["card-footer"]]];
21
+ const _c1 = ["card-header", "card-body", "*", "card-footer"];
22
22
  export class CardComponent extends ComponentBase {
23
23
  static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardComponent_BaseFactory; return function CardComponent_Factory(t) { return (ɵCardComponent_BaseFactory || (ɵCardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardComponent)))(t || CardComponent); }; })(); }
24
24
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardComponent, selectors: [["anatoly-card"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 5, vars: 3, template: function CardComponent_Template(rf, ctx) { if (rf & 1) {
@@ -35,7 +35,7 @@ export class CardComponent extends ComponentBase {
35
35
  }
36
36
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardComponent, [{
37
37
  type: Component,
38
- args: [{ selector: 'anatoly-card', template: "<div class='card {{ classes }}'>\r\n <ng-content select='mex-card-header'></ng-content>\r\n <ng-content select='mex-card-body'></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select='mex-card-footer'></ng-content>\r\n</div>\r\n" }]
38
+ args: [{ selector: 'anatoly-card', template: "<div class='card {{ classes }}'>\r\n <ng-content select='card-header'></ng-content>\r\n <ng-content select='card-body'></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select='card-footer'></ng-content>\r\n</div>\r\n" }]
39
39
  }], null, null); })();
40
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardComponent, { className: "CardComponent", filePath: "lib\\ui\\components\\card\\card.component.ts", lineNumber: 26 }); })();
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTt3TkFBbkMsYUFBYSxTQUFiLGFBQWE7b0VBQWIsYUFBYTs7WUN6QjFCLDJCQUFnQztZQUM5QixrQkFBa0Q7WUFDbEQscUJBQWdEO1lBQ2hELHFCQUF5QjtZQUN6QixxQkFBa0Q7WUFDcEQsaUJBQU07O1lBTEQsbURBQTBCOzs7aUZEeUJsQixhQUFhO2NBSnpCLFNBQVM7MkJBQ0UsY0FBYzs7a0ZBR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQge3sgY2xhc3NlcyB9fSc+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PSdtZXgtY2FyZC1oZWFkZXInPjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9J21leC1jYXJkLWJvZHknPjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PSdtZXgtY2FyZC1mb290ZXInPjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTt3TkFBbkMsYUFBYSxTQUFiLGFBQWE7b0VBQWIsYUFBYTs7WUN6QjFCLDJCQUFnQztZQUM5QixrQkFBOEM7WUFDOUMscUJBQTRDO1lBQzVDLHFCQUF5QjtZQUN6QixxQkFBOEM7WUFDaEQsaUJBQU07O1lBTEQsbURBQTBCOzs7aUZEeUJsQixhQUFhO2NBSnpCLFNBQVM7MkJBQ0UsY0FBYzs7a0ZBR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQge3sgY2xhc3NlcyB9fSc+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PSdjYXJkLWhlYWRlcic+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1ib2R5Jz48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1mb290ZXInPjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -28,13 +28,13 @@ import * as i6 from "../../../components/card/card-body.component";
28
28
  import * as i7 from "../../../directives/native-element.directive";
29
29
  import * as i8 from "../../../validation/item-validation-summary.component";
30
30
  function AddressComponent_anatoly_card_header_1_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelement(0, "anatoly-card-header", 17);
31
+ i0.ɵɵelement(0, "anatoly-card-header", 18);
32
32
  } if (rf & 2) {
33
33
  const ctx_r0 = i0.ɵɵnextContext();
34
34
  i0.ɵɵproperty("title", ctx_r0.title);
35
35
  } }
36
- function AddressComponent_div_16_option_4_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "option", 20);
36
+ function AddressComponent_div_18_option_4_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "option", 21);
38
38
  i0.ɵɵtext(1);
39
39
  i0.ɵɵelementEnd();
40
40
  } if (rf & 2) {
@@ -44,16 +44,16 @@ function AddressComponent_div_16_option_4_Template(rf, ctx) { if (rf & 1) {
44
44
  i0.ɵɵtextInterpolate(state_r4.name);
45
45
  } }
46
46
  const _c0 = a0 => ({ "has-error": a0 });
47
- function AddressComponent_div_16_Template(rf, ctx) { if (rf & 1) {
47
+ function AddressComponent_div_18_Template(rf, ctx) { if (rf & 1) {
48
48
  const _r6 = i0.ɵɵgetCurrentView();
49
- i0.ɵɵelementStart(0, "div", 8)(1, "label");
49
+ i0.ɵɵelementStart(0, "div", 9)(1, "label");
50
50
  i0.ɵɵtext(2, "State");
51
51
  i0.ɵɵelementEnd();
52
- i0.ɵɵelementStart(3, "select", 18);
53
- i0.ɵɵlistener("change", function AddressComponent_div_16_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onUSStateChange($event)); });
54
- i0.ɵɵtemplate(4, AddressComponent_div_16_option_4_Template, 2, 2, "option", 15);
52
+ i0.ɵɵelementStart(3, "select", 19);
53
+ i0.ɵɵlistener("change", function AddressComponent_div_18_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onUSStateChange($event)); });
54
+ i0.ɵɵtemplate(4, AddressComponent_div_18_option_4_Template, 2, 2, "option", 16);
55
55
  i0.ɵɵelementEnd();
56
- i0.ɵɵelement(5, "anatoly-item-validation-summary", 19);
56
+ i0.ɵɵelement(5, "anatoly-item-validation-summary", 20);
57
57
  i0.ɵɵelementEnd();
58
58
  } if (rf & 2) {
59
59
  const ctx_r1 = i0.ɵɵnextContext();
@@ -63,8 +63,8 @@ function AddressComponent_div_16_Template(rf, ctx) { if (rf & 1) {
63
63
  i0.ɵɵadvance();
64
64
  i0.ɵɵproperty("formGroup", ctx_r1.formGroup)("formSubmitted", ctx_r1.formSubmitted);
65
65
  } }
66
- function AddressComponent_option_26_Template(rf, ctx) { if (rf & 1) {
67
- i0.ɵɵelementStart(0, "option", 20);
66
+ function AddressComponent_option_28_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementStart(0, "option", 21);
68
68
  i0.ɵɵtext(1);
69
69
  i0.ɵɵelementEnd();
70
70
  } if (rf & 2) {
@@ -166,43 +166,43 @@ export class AddressComponent extends EditComponentBase {
166
166
  this.change.emit(usState);
167
167
  }
168
168
  static { this.ɵfac = function AddressComponent_Factory(t) { return new (t || AddressComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CoreApiService)); }; }
169
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["anatoly-forms-address"]], inputs: { address: "address" }, outputs: { change: "change" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 29, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "form-group", 3, "ngClass"], ["type", "text", "formControlName", "address_street", "placeholder", "Street Address", 1, "form-control"], ["controlName", "address_street", "controlTitle", "Street", 3, "formGroup", "formSubmitted"], ["type", "text", "formControlName", "address_street2", "placeholder", "Apartment, suite, unit, building, floor, etc.", 1, "form-control"], ["controlName", "address_street2", "controlTitle", "Street2", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-3", "mb-0", 3, "ngClass"], ["type", "text", "formControlName", "address_city", "placeholder", "City", 1, "form-control"], ["controlName", "address_city", "controlTitle", "City", 3, "formGroup", "formSubmitted"], ["class", "form-group col-3 mb-0", 3, "ngClass", 4, "ngIf"], ["type", "text", "formControlName", "address_zipcode", "placeholder", "zipcode", 1, "form-control"], ["controlName", "address_zipcode", "controlTitle", "zipcode", 3, "formGroup", "formSubmitted"], ["formControlName", "address_country", "data-placeholder", "Select a Country", 1, "form-control", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "address_country", "controlTitle", "Country", 3, "formGroup", "formSubmitted"], [3, "title"], ["formControlName", "address_stateOrRegion", 1, "form-control", 3, "change"], ["controlName", "address_stateOrRegion", "controlTitle", "State", 3, "formGroup", "formSubmitted"], [3, "value"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
169
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["anatoly-forms-address"]], inputs: { address: "address" }, outputs: { change: "change" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 30, vars: 29, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row>"], [1, "form-group", 3, "ngClass"], ["type", "text", "formControlName", "address_street", "placeholder", "Street Address", 1, "form-control"], ["controlName", "address_street", "controlTitle", "Street", 3, "formGroup", "formSubmitted"], ["type", "text", "formControlName", "address_street2", "placeholder", "Apartment, suite, unit, building, floor, etc.", 1, "form-control"], ["controlName", "address_street2", "controlTitle", "Street2", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-3", "mb-0", 3, "ngClass"], ["type", "text", "formControlName", "address_city", "placeholder", "City", 1, "form-control"], ["controlName", "address_city", "controlTitle", "City", 3, "formGroup", "formSubmitted"], ["class", "form-group col-3 mb-0", 3, "ngClass", 4, "ngIf"], ["type", "text", "formControlName", "address_zipcode", "placeholder", "zipcode", 1, "form-control"], ["controlName", "address_zipcode", "controlTitle", "zipcode", 3, "formGroup", "formSubmitted"], ["formControlName", "address_country", "data-placeholder", "Select a Country", 1, "form-control", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "address_country", "controlTitle", "Country", 3, "formGroup", "formSubmitted"], [3, "title"], ["formControlName", "address_stateOrRegion", 1, "form-control", 3, "change"], ["controlName", "address_stateOrRegion", "controlTitle", "State", 3, "formGroup", "formSubmitted"], [3, "value"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
170
170
  i0.ɵɵelementStart(0, "anatoly-card", 0);
171
171
  i0.ɵɵtemplate(1, AddressComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
172
- i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "label");
173
- i0.ɵɵtext(5, "Street Address");
172
+ i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "div", 4)(5, "label");
173
+ i0.ɵɵtext(6, "Street Address");
174
174
  i0.ɵɵelementEnd();
175
- i0.ɵɵelement(6, "input", 4)(7, "anatoly-item-validation-summary", 5);
175
+ i0.ɵɵelement(7, "input", 5)(8, "anatoly-item-validation-summary", 6);
176
176
  i0.ɵɵelementEnd();
177
- i0.ɵɵelementStart(8, "div", 3);
178
- i0.ɵɵelement(9, "input", 6)(10, "anatoly-item-validation-summary", 7);
177
+ i0.ɵɵelementStart(9, "div", 4);
178
+ i0.ɵɵelement(10, "input", 7)(11, "anatoly-item-validation-summary", 8);
179
+ i0.ɵɵelementEnd()();
180
+ i0.ɵɵelementStart(12, "div", 3)(13, "div", 9)(14, "label");
181
+ i0.ɵɵtext(15, "City");
179
182
  i0.ɵɵelementEnd();
180
- i0.ɵɵelementStart(11, "div", 8)(12, "label");
181
- i0.ɵɵtext(13, "City");
183
+ i0.ɵɵelement(16, "input", 10)(17, "anatoly-item-validation-summary", 11);
182
184
  i0.ɵɵelementEnd();
183
- i0.ɵɵelement(14, "input", 9)(15, "anatoly-item-validation-summary", 10);
185
+ i0.ɵɵtemplate(18, AddressComponent_div_18_Template, 6, 6, "div", 12);
186
+ i0.ɵɵelementStart(19, "div", 9)(20, "label");
187
+ i0.ɵɵtext(21, "Zipcode");
184
188
  i0.ɵɵelementEnd();
185
- i0.ɵɵtemplate(16, AddressComponent_div_16_Template, 6, 6, "div", 11);
186
- i0.ɵɵelementStart(17, "div", 8)(18, "label");
187
- i0.ɵɵtext(19, "zipcode");
189
+ i0.ɵɵelement(22, "input", 13)(23, "anatoly-item-validation-summary", 14);
188
190
  i0.ɵɵelementEnd();
189
- i0.ɵɵelement(20, "input", 12)(21, "anatoly-item-validation-summary", 13);
191
+ i0.ɵɵelementStart(24, "div", 9)(25, "label");
192
+ i0.ɵɵtext(26, "Country");
190
193
  i0.ɵɵelementEnd();
191
- i0.ɵɵelementStart(22, "div", 8)(23, "label");
192
- i0.ɵɵtext(24, "Country");
194
+ i0.ɵɵelementStart(27, "select", 15);
195
+ i0.ɵɵlistener("change", function AddressComponent_Template_select_change_27_listener($event) { return ctx.onCountryChange($event); });
196
+ i0.ɵɵtemplate(28, AddressComponent_option_28_Template, 2, 2, "option", 16);
193
197
  i0.ɵɵelementEnd();
194
- i0.ɵɵelementStart(25, "select", 14);
195
- i0.ɵɵlistener("change", function AddressComponent_Template_select_change_25_listener($event) { return ctx.onCountryChange($event); });
196
- i0.ɵɵtemplate(26, AddressComponent_option_26_Template, 2, 2, "option", 15);
197
- i0.ɵɵelementEnd();
198
- i0.ɵɵelement(27, "anatoly-item-validation-summary", 16);
199
- i0.ɵɵelementEnd()()();
198
+ i0.ɵɵelement(29, "anatoly-item-validation-summary", 17);
199
+ i0.ɵɵelementEnd()()()();
200
200
  } if (rf & 2) {
201
201
  i0.ɵɵadvance();
202
202
  i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
203
203
  i0.ɵɵadvance();
204
204
  i0.ɵɵproperty("formGroup", ctx.formGroup);
205
- i0.ɵɵadvance();
205
+ i0.ɵɵadvance(2);
206
206
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(19, _c0, ctx.isControlInvalid("address_street")));
207
207
  i0.ɵɵadvance(4);
208
208
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
@@ -210,7 +210,7 @@ export class AddressComponent extends EditComponentBase {
210
210
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isControlInvalid("address_street2")));
211
211
  i0.ɵɵadvance(2);
212
212
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
213
- i0.ɵɵadvance();
213
+ i0.ɵɵadvance(2);
214
214
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0, ctx.isControlInvalid("address_city")));
215
215
  i0.ɵɵadvance(4);
216
216
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
@@ -230,11 +230,11 @@ export class AddressComponent extends EditComponentBase {
230
230
  }
231
231
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
232
232
  type: Component,
233
- args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup'>\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
233
+ args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup'>\r\n <div class=\"row>\">\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div class=\"row>\">\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label>Zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
234
234
  }], () => [{ type: i1.FormBuilder }, { type: i2.CoreApiService }], { address: [{
235
235
  type: Input
236
236
  }], change: [{
237
237
  type: Output
238
238
  }] }); })();
239
239
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressComponent, { className: "AddressComponent", filePath: "lib\\ui\\forms\\components\\address\\address.component.ts", lineNumber: 35 }); })();
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7SUN0QjlELDBDQUE4RDs7O0lBQWxCLG9DQUFlOzs7SUErQm5ELGtDQUErRDtJQUFBLFlBQWM7SUFBQSxpQkFBUzs7O0lBQTVDLHFDQUFvQjtJQUFDLGNBQWM7SUFBZCxtQ0FBYzs7Ozs7SUFIakYsOEJBQXdKLFlBQUE7SUFDL0kscUJBQUs7SUFBQSxpQkFBUTtJQUNwQixrQ0FBd0c7SUFBM0Usc0tBQVUsZUFBQSw4QkFBdUIsQ0FBQSxJQUFDO0lBQzdELCtFQUFzRjtJQUN4RixpQkFBUztJQUNULHNEQUlrQztJQUNwQyxpQkFBTTs7O0lBVjZFLHNHQUFvRTtJQUd6SCxlQUFjO0lBQWQsNENBQWM7SUFJVCxjQUF1QjtJQUF2Qiw0Q0FBdUIsdUNBQUE7OztJQWdCdEQsa0NBQW1FO0lBQUEsWUFBZ0I7SUFBQSxpQkFBUzs7O0lBQWhELHVDQUFz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Qix5Q0FBdUIsb0NBQUE7WUFJdkIsY0FBMkQ7WUFBM0QsMkZBQTJEO1lBSzNELGVBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQTtZQUl0QixjQUE2QztZQUE3QyxrRUFBNkM7WUFXOUMsY0FBOEQ7WUFBOUQsOEZBQThEO1lBSzlELGVBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQTtZQUl2QixjQUE4RDtZQUE5RCw4RkFBOEQ7WUFHakUsZUFBYztZQUFkLHlDQUFjO1lBSVgsY0FBdUI7WUFBdkIseUNBQXVCLG9DQUFBOzs7aUZEdEJuRCxnQkFBZ0I7Y0FKNUIsU0FBUzsyQkFDRSx1QkFBdUI7eUVBZ0I3QixPQUFPO2tCQURWLEtBQUs7WUFhSSxNQUFNO2tCQUFmLE1BQU07O2tGQXpCSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IENvcmVBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9leHBvcnRzJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvZXhwb3J0cyc7XHJcbmltcG9ydCB7IEVkaXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9leHBvcnRzJztcclxuXHJcbmludGVyZmFjZSBDb2RlTmFtZSB7XHJcbiAgY29kZTogc3RyaW5nLFxyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktZm9ybXMtYWRkcmVzcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRyZXNzQ29tcG9uZW50IGV4dGVuZHMgRWRpdENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUHJpdmF0ZVxyXG4gIHByaXZhdGUgX2FkZHJlc3M7XHJcblxyXG4gIGZvcm1Hcm91cEdlbmVyYXRlZCA9IGZhbHNlO1xyXG5cclxuICBjb3VudHJ5RGF0YTogQXJyYXk8Q29kZU5hbWU+ID0gW107XHJcbiAgdXNTdGF0ZURhdGE6IEFycmF5PENvZGVOYW1lPiA9IFtdO1xyXG4gIGN1cnJlbnRDb3VudHJ5ID0gJ1VTJztcclxuICBjdXJyZW50VVNTdGF0ZSA9ICdOWSc7XHJcblxyXG4gIC8vSW5wdXRzXHJcbiAgQElucHV0KClcclxuICBnZXQgYWRkcmVzcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hZGRyZXNzO1xyXG4gIH1cclxuICBzZXQgYWRkcmVzcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fYWRkcmVzcyA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpOiBDb3JlQXBpU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudGl0bGUgPSAnQWRkcmVzcyc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBpLmdldENvdW50cmllc0pzb25GaWxlKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmNvdW50cnlEYXRhID0gZGF0YTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcGkuZ2V0VVNTdGF0ZXNKc29uRmlsZSgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c1N0YXRlRGF0YSA9IGRhdGE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCkge1xyXG4gICAgbGV0IGlzUmVxdWlyZWQgPSBDb252ZXJ0LnN0cmluZ1RvQm9vbGVhbih0aGlzLmlzUmVxdWlyZWQpO1xyXG5cclxuICAgIGlmIChpc1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0JywgdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdHJlZXQyJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NpdHknLCB0aGlzLmZiLmNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50VVNTdGF0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfY291bnRyeScsIHRoaXMuZmIuY29udHJvbCh0aGlzLmN1cnJlbnRDb3VudHJ5LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc196aXBjb2RlJywgdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0cmVldCcsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdHJlZXQyJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NpdHknLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RhdGVPclJlZ2lvbicsIHRoaXMuZmIuY29udHJvbCh0aGlzLmN1cnJlbnRVU1N0YXRlLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NvdW50cnknLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50Q291bnRyeSwgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc196aXBjb2RlJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtR3JvdXBHZW5lcmF0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9hZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgbGV0IGFkZHJlc3MgPSBKU09OLnBhcnNlKHRoaXMuX2FkZHJlc3MpO1xyXG5cclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0JywgYWRkcmVzcy5zdHJlZXQpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnYWRkcmVzc19zdHJlZXQyJywgYWRkcmVzcy5zdHJlZXQyKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3NfY2l0eScsIGFkZHJlc3MuY2l0eSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nLCBhZGRyZXNzLnN0YXRlT3JSZWdpb24pO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnYWRkcmVzc196aXBjb2RlJywgYWRkcmVzcy56aXBjb2RlKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3NfY291bnRyeScsIGFkZHJlc3MuY291bnRyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBZGRyZXNzKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgc3RyZWV0OiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc19zdHJlZXQnKSB8fCBudWxsLFxyXG4gICAgICBzdHJlZXQyOiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc19zdHJlZXQyJykgfHwgbnVsbCxcclxuICAgICAgY2l0eTogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3NfY2l0eScpIHx8IG51bGwsXHJcbiAgICAgIHN0YXRlT3JSZWdpb246IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nKSB8fCBudWxsLFxyXG4gICAgICB6aXBjb2RlOiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc196aXBjb2RlJykgfHwgbnVsbCxcclxuICAgICAgY291bnRyeTogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3NfY291bnRyeScpIHx8IG51bGxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvbkNvdW50cnlDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGxldCBjb3VudHJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChjb3VudHJ5KTtcclxuICB9XHJcblxyXG4gIG9uVVNTdGF0ZUNoYW5nZShldmVudCkge1xyXG4gICAgbGV0IHVzU3RhdGUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHVzU3RhdGUpO1xyXG4gIH1cclxufVxyXG4iLCI8YW5hdG9seS1jYXJkIGNsYXNzZXM9J2NhcmQtb3V0bGluZSBjYXJkLXByaW1hcnknPlxyXG4gIDxhbmF0b2x5LWNhcmQtaGVhZGVyICpuZ0lmPSdpc1RpdGxlVmlzaWJsZScgW3RpdGxlXT0ndGl0bGUnIC8+XHJcbiAgPGFuYXRvbHktY2FyZC1ib2R5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3Nfc3RyZWV0Jyl9XCIgPlxyXG4gICAgICAgIDxsYWJlbD5TdHJlZXQgQWRkcmVzczwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19zdHJlZXQnIHBsYWNlaG9sZGVyPSdTdHJlZXQgQWRkcmVzcyc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3Nfc3RyZWV0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nU3RyZWV0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3Nfc3RyZWV0MicpfVwiID5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInIHBsYWNlaG9sZGVyPSdBcGFydG1lbnQsIHN1aXRlLCB1bml0LCBidWlsZGluZywgZmxvb3IsIGV0Yy4nPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdTdHJlZXQyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC0zIG1iLTAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc19jaXR5Jyl9XCI+XHJcbiAgICAgICAgPGxhYmVsPkNpdHk8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3NfY2l0eScgcGxhY2Vob2xkZXI9J0NpdHknPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX2NpdHknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDaXR5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC0zIG1iLTAnICpuZ0lmPVwiZm9ybUdyb3VwLnZhbHVlLmFkZHJlc3NfY291bnRyeSA9PSAnVVMnXCIgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nKX1cIj5cclxuICAgICAgICA8bGFiZWw+U3RhdGU8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9J2Zvcm0tY29udHJvbCcgKGNoYW5nZSk9J29uVVNTdGF0ZUNoYW5nZSgkZXZlbnQpJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3Nfc3RhdGVPclJlZ2lvbic+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj0nbGV0IHN0YXRlIG9mIHVzU3RhdGVEYXRhJyBbdmFsdWVdPSdzdGF0ZS5jb2RlJz57e3N0YXRlLm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0YXRlT3JSZWdpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdTdGF0ZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMyBtYi0wJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3NfemlwY29kZScpfVwiID5cclxuICAgICAgICA8bGFiZWw+emlwY29kZTwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc196aXBjb2RlJyBwbGFjZWhvbGRlcj0nemlwY29kZSc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3NfemlwY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3ppcGNvZGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTMgbWItMCcgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX2NvdW50cnknKX1cIj5cclxuICAgICAgICA8bGFiZWw+Q291bnRyeTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz0nZm9ybS1jb250cm9sJyAoY2hhbmdlKT0nb25Db3VudHJ5Q2hhbmdlKCRldmVudCknIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19jb3VudHJ5JyBkYXRhLXBsYWNlaG9sZGVyPSdTZWxlY3QgYSBDb3VudHJ5Jz5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgY291bnRyeSBvZiBjb3VudHJ5RGF0YScgW3ZhbHVlXT0nY291bnRyeS5jb2RlJz57e2NvdW50cnkubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3NfY291bnRyeSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NvdW50cnknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9hbmF0b2x5LWNhcmQtYm9keT5cclxuPC9hbmF0b2x5LWNhcmQ+XHJcbiJdfQ==
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7SUN0QjlELDBDQUE4RDs7O0lBQWxCLG9DQUFlOzs7SUFrQ25ELGtDQUErRDtJQUFBLFlBQWM7SUFBQSxpQkFBUzs7O0lBQTVDLHFDQUFvQjtJQUFDLGNBQWM7SUFBZCxtQ0FBYzs7Ozs7SUFIakYsOEJBQXdKLFlBQUE7SUFDL0kscUJBQUs7SUFBQSxpQkFBUTtJQUNwQixrQ0FBd0c7SUFBM0Usc0tBQVUsZUFBQSw4QkFBdUIsQ0FBQSxJQUFDO0lBQzdELCtFQUFzRjtJQUN4RixpQkFBUztJQUNULHNEQUlrQztJQUNwQyxpQkFBTTs7O0lBVjZFLHNHQUFvRTtJQUd6SCxlQUFjO0lBQWQsNENBQWM7SUFJVCxjQUF1QjtJQUF2Qiw0Q0FBdUIsdUNBQUE7OztJQWdCdEQsa0NBQW1FO0lBQUEsWUFBZ0I7SUFBQSxpQkFBUzs7O0lBQWhELHVDQUFz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OEQ7WUFJbkQsZUFBdUI7WUFBdkIseUNBQXVCLG9DQUFBO1lBTXZCLGVBQTJEO1lBQTNELDJGQUEyRDtZQUszRCxlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUE7WUFJdEIsY0FBNkM7WUFBN0Msa0VBQTZDO1lBVzlDLGNBQThEO1lBQTlELDhGQUE4RDtZQUs5RCxlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUE7WUFJdkIsY0FBOEQ7WUFBOUQsOEZBQThEO1lBR2pFLGVBQWM7WUFBZCx5Q0FBYztZQUlYLGNBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQTs7O2lGRHpCbkQsZ0JBQWdCO2NBSjVCLFNBQVM7MkJBQ0UsdUJBQXVCO3lFQWdCN0IsT0FBTztrQkFEVixLQUFLO1lBYUksTUFBTTtrQkFBZixNQUFNOztrRkF6QkksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNy0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb3JlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZXhwb3J0cyc7XHJcbmltcG9ydCB7IENvbnZlcnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2V4cG9ydHMnO1xyXG5pbXBvcnQgeyBFZGl0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZXhwb3J0cyc7XHJcblxyXG5pbnRlcmZhY2UgQ29kZU5hbWUge1xyXG4gIGNvZGU6IHN0cmluZyxcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWFkZHJlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIEVkaXRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1ByaXZhdGVcclxuICBwcml2YXRlIF9hZGRyZXNzO1xyXG5cclxuICBmb3JtR3JvdXBHZW5lcmF0ZWQgPSBmYWxzZTtcclxuXHJcbiAgY291bnRyeURhdGE6IEFycmF5PENvZGVOYW1lPiA9IFtdO1xyXG4gIHVzU3RhdGVEYXRhOiBBcnJheTxDb2RlTmFtZT4gPSBbXTtcclxuICBjdXJyZW50Q291bnRyeSA9ICdVUyc7XHJcbiAgY3VycmVudFVTU3RhdGUgPSAnTlknO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRkcmVzcztcclxuICB9XHJcbiAgc2V0IGFkZHJlc3ModmFsdWUpIHtcclxuICAgIHRoaXMuX2FkZHJlc3MgPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFwaTogQ29yZUFwaVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnRpdGxlID0gJ0FkZHJlc3MnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFwaS5nZXRDb3VudHJpZXNKc29uRmlsZSgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5RGF0YSA9IGRhdGE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYXBpLmdldFVTU3RhdGVzSnNvbkZpbGUoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNTdGF0ZURhdGEgPSBkYXRhO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIGxldCBpc1JlcXVpcmVkID0gQ29udmVydC5zdHJpbmdUb0Jvb2xlYW4odGhpcy5pc1JlcXVpcmVkKTtcclxuXHJcbiAgICBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0cmVldCcsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudFVTU3RhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NvdW50cnknLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50Q291bnRyeSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdHJlZXQnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50VVNTdGF0ZSwgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jb3VudHJ5JywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudENvdW50cnksIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Hcm91cEdlbmVyYXRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fYWRkcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBhZGRyZXNzID0gSlNPTi5wYXJzZSh0aGlzLl9hZGRyZXNzKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX3N0cmVldCcsIGFkZHJlc3Muc3RyZWV0KTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicsIGFkZHJlc3Muc3RyZWV0Mik7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknLCBhZGRyZXNzLmNpdHkpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgYWRkcmVzcy5zdGF0ZU9yUmVnaW9uKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScsIGFkZHJlc3MuemlwY29kZSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknLCBhZGRyZXNzLmNvdW50cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWRkcmVzcygpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHN0cmVldDogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0JykgfHwgbnVsbCxcclxuICAgICAgc3RyZWV0MjogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicpIHx8IG51bGwsXHJcbiAgICAgIGNpdHk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknKSB8fCBudWxsLFxyXG4gICAgICBzdGF0ZU9yUmVnaW9uOiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJykgfHwgbnVsbCxcclxuICAgICAgemlwY29kZTogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScpIHx8IG51bGwsXHJcbiAgICAgIGNvdW50cnk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknKSB8fCBudWxsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25Db3VudHJ5Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgY291bnRyeSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoY291bnRyeSk7XHJcbiAgfVxyXG5cclxuICBvblVTU3RhdGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGxldCB1c1N0YXRlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh1c1N0YXRlKTtcclxuICB9XHJcbn1cclxuIiwiPGFuYXRvbHktY2FyZCBjbGFzc2VzPSdjYXJkLW91dGxpbmUgY2FyZC1wcmltYXJ5Jz5cclxuICA8YW5hdG9seS1jYXJkLWhlYWRlciAqbmdJZj0naXNUaXRsZVZpc2libGUnIFt0aXRsZV09J3RpdGxlJyAvPlxyXG4gIDxhbmF0b2x5LWNhcmQtYm9keSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJz5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3c+XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc19zdHJlZXQnKX1cIiA+XHJcbiAgICAgICAgPGxhYmVsPlN0cmVldCBBZGRyZXNzPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldCcgcGxhY2Vob2xkZXI9J1N0cmVldCBBZGRyZXNzJz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nYWRkcmVzc19zdHJlZXQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdTdHJlZXQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc19zdHJlZXQyJyl9XCIgPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3Nfc3RyZWV0MicgcGxhY2Vob2xkZXI9J0FwYXJ0bWVudCwgc3VpdGUsIHVuaXQsIGJ1aWxkaW5nLCBmbG9vciwgZXRjLic+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3Nfc3RyZWV0MidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0cmVldDInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3c+XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTMgbWItMCcgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX2NpdHknKX1cIj5cclxuICAgICAgICA8bGFiZWw+Q2l0eTwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19jaXR5JyBwbGFjZWhvbGRlcj0nQ2l0eSc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3NfY2l0eSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NpdHknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTMgbWItMCcgKm5nSWY9XCJmb3JtR3JvdXAudmFsdWUuYWRkcmVzc19jb3VudHJ5ID09ICdVUydcIiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3Nfc3RhdGVPclJlZ2lvbicpfVwiPlxyXG4gICAgICAgIDxsYWJlbD5TdGF0ZTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz0nZm9ybS1jb250cm9sJyAoY2hhbmdlKT0nb25VU1N0YXRlQ2hhbmdlKCRldmVudCknIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19zdGF0ZU9yUmVnaW9uJz5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgc3RhdGUgb2YgdXNTdGF0ZURhdGEnIFt2YWx1ZV09J3N0YXRlLmNvZGUnPnt7c3RhdGUubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3Nfc3RhdGVPclJlZ2lvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0YXRlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC0zIG1iLTAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc196aXBjb2RlJyl9XCIgPlxyXG4gICAgICAgIDxsYWJlbD5aaXBjb2RlPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX3ppcGNvZGUnIHBsYWNlaG9sZGVyPSd6aXBjb2RlJz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nYWRkcmVzc196aXBjb2RlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nemlwY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMyBtYi0wJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3NfY291bnRyeScpfVwiPlxyXG4gICAgICAgIDxsYWJlbD5Db3VudHJ5PC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIChjaGFuZ2UpPSdvbkNvdW50cnlDaGFuZ2UoJGV2ZW50KScgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX2NvdW50cnknIGRhdGEtcGxhY2Vob2xkZXI9J1NlbGVjdCBhIENvdW50cnknPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9J2xldCBjb3VudHJ5IG9mIGNvdW50cnlEYXRhJyBbdmFsdWVdPSdjb3VudHJ5LmNvZGUnPnt7Y291bnRyeS5uYW1lfX08L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nYWRkcmVzc19jb3VudHJ5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ291bnRyeSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYW5hdG9seS1jYXJkLWJvZHk+XHJcbjwvYW5hdG9seS1jYXJkPlxyXG4iXX0=
@@ -26,7 +26,7 @@ import * as i5 from "../../../components/card/card-body.component";
26
26
  import * as i6 from "../../../directives/native-element.directive";
27
27
  import * as i7 from "../../../validation/item-validation-summary.component";
28
28
  function CompanyComponent_anatoly_card_header_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "anatoly-card-header", 13);
29
+ i0.ɵɵelement(0, "anatoly-card-header", 14);
30
30
  } if (rf & 2) {
31
31
  const ctx_r0 = i0.ɵɵnextContext();
32
32
  i0.ɵɵproperty("title", ctx_r0.title);
@@ -82,35 +82,35 @@ export class CompanyComponent extends EditComponentBase {
82
82
  return JSON.stringify(data);
83
83
  }
84
84
  static { this.ɵfac = function CompanyComponent_Factory(t) { return new (t || CompanyComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder)); }; }
85
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompanyComponent, selectors: [["anatoly-forms-company"]], inputs: { company: "company" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 23, vars: 22, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "form-group", "col-6", 3, "ngClass"], ["type", "text", "formControlName", "company_name", "placeholder", "Company Name", 1, "form-control"], ["controlName", "company_name", "controlTitle", "Company Name", 3, "formGroup", "formSubmitted"], ["type", "tel", "formControlName", "company_phone", "placeholder", "Company Phone", 1, "form-control"], ["controlName", "company_phone", "controlTitle", "Company Phone", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-6", "mb-0", 3, "ngClass"], ["type", "email", "formControlName", "company_email", "placeholder", "Company Email", 1, "form-control"], ["controlName", "company_email", "controlTitle", "Company Email", 3, "formGroup", "formSubmitted"], ["type", "url", "placeholder", "https://example.com", "pattern", "https://.*", "size", "30", "formControlName", "company_websiteUrl", 1, "form-control"], ["controlName", "company_websiteUrl", "controlTitle", "Company website url", 3, "formGroup", "formSubmitted"], [3, "title"]], template: function CompanyComponent_Template(rf, ctx) { if (rf & 1) {
85
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompanyComponent, selectors: [["anatoly-forms-company"]], inputs: { company: "company" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 22, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row>"], [1, "form-group", "col-6", 3, "ngClass"], ["type", "text", "formControlName", "company_name", "placeholder", "Company Name", 1, "form-control"], ["controlName", "company_name", "controlTitle", "Company Name", 3, "formGroup", "formSubmitted"], ["type", "tel", "formControlName", "company_phone", "placeholder", "Company Phone", 1, "form-control"], ["controlName", "company_phone", "controlTitle", "Company Phone", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-6", "mb-0", 3, "ngClass"], ["type", "email", "formControlName", "company_email", "placeholder", "Company Email", 1, "form-control"], ["controlName", "company_email", "controlTitle", "Company Email", 3, "formGroup", "formSubmitted"], ["type", "url", "placeholder", "https://example.com", "pattern", "https://.*", "size", "30", "formControlName", "company_websiteUrl", 1, "form-control"], ["controlName", "company_websiteUrl", "controlTitle", "Company website url", 3, "formGroup", "formSubmitted"], [3, "title"]], template: function CompanyComponent_Template(rf, ctx) { if (rf & 1) {
86
86
  i0.ɵɵelementStart(0, "anatoly-card", 0);
87
87
  i0.ɵɵtemplate(1, CompanyComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
88
- i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "label");
89
- i0.ɵɵtext(5, "Name");
88
+ i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "div", 4)(5, "label");
89
+ i0.ɵɵtext(6, "Name");
90
90
  i0.ɵɵelementEnd();
91
- i0.ɵɵelement(6, "input", 4)(7, "anatoly-item-validation-summary", 5);
91
+ i0.ɵɵelement(7, "input", 5)(8, "anatoly-item-validation-summary", 6);
92
92
  i0.ɵɵelementEnd();
93
- i0.ɵɵelementStart(8, "div", 3)(9, "label");
94
- i0.ɵɵtext(10, "Phone");
93
+ i0.ɵɵelementStart(9, "div", 4)(10, "label");
94
+ i0.ɵɵtext(11, "Phone");
95
95
  i0.ɵɵelementEnd();
96
- i0.ɵɵelement(11, "input", 6)(12, "anatoly-item-validation-summary", 7);
96
+ i0.ɵɵelement(12, "input", 7)(13, "anatoly-item-validation-summary", 8);
97
+ i0.ɵɵelementEnd()();
98
+ i0.ɵɵelementStart(14, "div", 3)(15, "div", 9)(16, "label");
99
+ i0.ɵɵtext(17, "Email");
97
100
  i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(13, "div", 8)(14, "label");
99
- i0.ɵɵtext(15, "Email");
101
+ i0.ɵɵelement(18, "input", 10)(19, "anatoly-item-validation-summary", 11);
100
102
  i0.ɵɵelementEnd();
101
- i0.ɵɵelement(16, "input", 9)(17, "anatoly-item-validation-summary", 10);
103
+ i0.ɵɵelementStart(20, "div", 9)(21, "label");
104
+ i0.ɵɵtext(22, "Website Url");
102
105
  i0.ɵɵelementEnd();
103
- i0.ɵɵelementStart(18, "div", 8)(19, "label");
104
- i0.ɵɵtext(20, "Website Url");
105
- i0.ɵɵelementEnd();
106
- i0.ɵɵelement(21, "input", 11)(22, "anatoly-item-validation-summary", 12);
107
- i0.ɵɵelementEnd()()();
106
+ i0.ɵɵelement(23, "input", 12)(24, "anatoly-item-validation-summary", 13);
107
+ i0.ɵɵelementEnd()()()();
108
108
  } if (rf & 2) {
109
109
  i0.ɵɵadvance();
110
110
  i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
111
111
  i0.ɵɵadvance();
112
112
  i0.ɵɵproperty("formGroup", ctx.formGroup);
113
- i0.ɵɵadvance();
113
+ i0.ɵɵadvance(2);
114
114
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.isControlInvalid("company_name")));
115
115
  i0.ɵɵadvance(4);
116
116
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
@@ -118,7 +118,7 @@ export class CompanyComponent extends EditComponentBase {
118
118
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c0, ctx.isControlInvalid("company_phone")));
119
119
  i0.ɵɵadvance(4);
120
120
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
121
- i0.ɵɵadvance();
121
+ i0.ɵɵadvance(2);
122
122
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c0, ctx.isControlInvalid("company_email")));
123
123
  i0.ɵɵadvance(4);
124
124
  i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
@@ -130,9 +130,9 @@ export class CompanyComponent extends EditComponentBase {
130
130
  }
131
131
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompanyComponent, [{
132
132
  type: Component,
133
- args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup' >\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
133
+ args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup' >\r\n <div class=\"row>\">\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div class=\"row>\">\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
134
134
  }], () => [{ type: i1.FormBuilder }], { company: [{
135
135
  type: Input
136
136
  }] }); })();
137
137
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompanyComponent, { className: "CompanyComponent", filePath: "lib\\ui\\forms\\components\\company\\company.component.ts", lineNumber: 28 }); })();
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9jb21wYW55L2NvbXBhbnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvY29tcGFueS9jb21wYW55LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztJQ3BCOUQsMENBQThEOzs7SUFBbEIsb0NBQWU7OztBRDBCN0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQU1yRCxRQUFRO0lBQ1IsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBb0IsRUFBZTtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFmbkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBaUJ6QixJQUFJLENBQUMsS0FBSyxHQUFHLHdCQUF3QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUc7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUk7WUFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSTtZQUNqRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUk7U0FDNUQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO2lGQTlEVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQzNCN0IsdUNBQWtEO1lBQ2hELGlHQUE4RDtZQUM5RCw0Q0FBNEMsYUFBQSxZQUFBO1lBRS9CLG9CQUFJO1lBQUEsaUJBQVE7WUFDbkIsMkJBQWtHLHlDQUFBO1lBTXBHLGlCQUFNO1lBQ04sOEJBQTRGLFlBQUE7WUFDbkYsc0JBQUs7WUFBQSxpQkFBUTtZQUNwQiw0QkFBbUcsMENBQUE7WUFNckcsaUJBQU07WUFDTiwrQkFBaUcsYUFBQTtZQUN4RixzQkFBSztZQUFBLGlCQUFRO1lBQ3BCLDRCQUFxRywyQ0FBQTtZQU12RyxpQkFBTTtZQUNOLCtCQUFzRyxhQUFBO1lBQzdGLDRCQUFXO1lBQUEsaUJBQVE7WUFDMUIsNkJBQ2lFLDJDQUFBO1lBTW5FLGlCQUFNLEVBQUEsRUFBQTs7WUF0Q1ksY0FBb0I7WUFBcEIseUNBQW9CO1lBQ3ZCLGNBQXVCO1lBQXZCLHlDQUF1QjtZQUNSLGNBQTREO1lBQTVELDJGQUE0RDtZQUt2RCxlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUE7WUFJNUIsY0FBNkQ7WUFBN0QsNEZBQTZEO1lBS3hELGVBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQTtZQUl2QixjQUE2RDtZQUE3RCw0RkFBNkQ7WUFLN0QsZUFBdUI7WUFBdkIseUNBQXVCLG9DQUFBO1lBSXZCLGNBQWtFO1lBQWxFLGlHQUFrRTtZQU1sRSxlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUE7OztpRkRUbkQsZ0JBQWdCO2NBSjVCLFNBQVM7MkJBQ0UsdUJBQXVCOzRDQVc3QixPQUFPO2tCQURWLEtBQUs7O2tGQVBLLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBFZGl0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZXhwb3J0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktZm9ybXMtY29tcGFueScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBhbnkuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wYW55Q29tcG9uZW50IGV4dGVuZHMgRWRpdENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUHJpdmF0ZVxyXG4gIHByaXZhdGUgX2NvbXBhbnk7XHJcblxyXG4gIGZvcm1Hcm91cEdlbmVyYXRlZCA9IGZhbHNlO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGNvbXBhbnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcGFueTtcclxuICB9XHJcbiAgc2V0IGNvbXBhbnkodmFsdWUpIHtcclxuICAgIHRoaXMuX2NvbXBhbnkgPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudGl0bGUgPSAnQ29tcGFueSAvIE9yZ2FuaXphdGlvbic7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnY29tcGFueV9uYW1lJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnY29tcGFueV9waG9uZScsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2NvbXBhbnlfZW1haWwnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdjb21wYW55X3dlYnNpdGVVcmwnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXBHZW5lcmF0ZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cEdlbmVyYXRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbXBhbnkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgY29tcGFueSA9IEpTT04ucGFyc2UodGhpcy5fY29tcGFueSk7XHJcblxyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnY29tcGFueV9uYW1lJywgY29tcGFueS5uYW1lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2NvbXBhbnlfcGhvbmUnLCBjb21wYW55LnBob25lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2NvbXBhbnlfZW1haWwnLCBjb21wYW55LmVtYWlsKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2NvbXBhbnlfd2Vic2l0ZVVybCcsIGNvbXBhbnkud2Vic2l0ZVVybCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb21wYW55KCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgbmFtZTogdGhpcy5nZXRGb3JtVmFsdWUoJ2NvbXBhbnlfbmFtZScpIHx8IG51bGwsXHJcbiAgICAgIHBob25lOiB0aGlzLmdldEZvcm1WYWx1ZSgnY29tcGFueV9waG9uZScpIHx8IG51bGwsXHJcbiAgICAgIGVtYWlsOiB0aGlzLmdldEZvcm1WYWx1ZSgnY29tcGFueV9lbWFpbCcpIHx8IG51bGwsXHJcbiAgICAgIHdlYnNpdGVVcmw6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdjb21wYW55X3dlYnNpdGVVcmwnKSB8fCBudWxsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcbn1cclxuIiwiPGFuYXRvbHktY2FyZCBjbGFzc2VzPSdjYXJkLW91dGxpbmUgY2FyZC1wcmltYXJ5Jz5cclxuICA8YW5hdG9seS1jYXJkLWhlYWRlciAqbmdJZj0naXNUaXRsZVZpc2libGUnIFt0aXRsZV09J3RpdGxlJyAvPlxyXG4gIDxhbmF0b2x5LWNhcmQtYm9keSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyA+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9uYW1lJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbD5OYW1lPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdjb21wYW55X25hbWUnIHBsYWNlaG9sZGVyPSdDb21wYW55IE5hbWUnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X25hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb21wYW55IE5hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9waG9uZScpIH1cIj5cclxuICAgICAgICA8bGFiZWw+UGhvbmU8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZWwnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nY29tcGFueV9waG9uZScgcGxhY2Vob2xkZXI9J0NvbXBhbnkgUGhvbmUnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X3Bob25lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ29tcGFueSBQaG9uZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtNiBtYi0wJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2NvbXBhbnlfZW1haWwnKSB9XCI+XHJcbiAgICAgICAgPGxhYmVsPkVtYWlsPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0nZW1haWwnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nY29tcGFueV9lbWFpbCcgcGxhY2Vob2xkZXI9J0NvbXBhbnkgRW1haWwnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X2VtYWlsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ29tcGFueSBFbWFpbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtNiBtYi0wJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2NvbXBhbnlfd2Vic2l0ZVVybCcpIH1cIj5cclxuICAgICAgICA8bGFiZWw+V2Vic2l0ZSBVcmw8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd1cmwnIHBsYWNlaG9sZGVyPSdodHRwczovL2V4YW1wbGUuY29tJyBwYXR0ZXJuPSdodHRwczovLy4qJyBzaXplPSczMCdcclxuICAgICAgICAgICAgICAgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdjb21wYW55X3dlYnNpdGVVcmwnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X3dlYnNpdGVVcmwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb21wYW55IHdlYnNpdGUgdXJsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvYW5hdG9seS1jYXJkLWJvZHk+XHJcbjwvYW5hdG9seS1jYXJkPlxyXG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9jb21wYW55L2NvbXBhbnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvY29tcGFueS9jb21wYW55LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztJQ3BCOUQsMENBQThEOzs7SUFBbEIsb0NBQWU7OztBRDBCN0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQU1yRCxRQUFRO0lBQ1IsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBb0IsRUFBZTtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFmbkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBaUJ6QixJQUFJLENBQUMsS0FBSyxHQUFHLHdCQUF3QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElB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RCxlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUE7WUFNdkIsZUFBNkQ7WUFBN0QsNEZBQTZEO1lBSzdELGVBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQTtZQUl2QixjQUFrRTtZQUFsRSxpR0FBa0U7WUFNbEUsZUFBdUI7WUFBdkIseUNBQXVCLG9DQUFBOzs7aUZEWm5ELGdCQUFnQjtjQUo1QixTQUFTOzJCQUNFLHVCQUF1Qjs0Q0FXN0IsT0FBTztrQkFEVixLQUFLOztrRkFQSyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgRWRpdENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2V4cG9ydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWNvbXBhbnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wYW55LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcGFueUNvbXBvbmVudCBleHRlbmRzIEVkaXRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1ByaXZhdGVcclxuICBwcml2YXRlIF9jb21wYW55O1xyXG5cclxuICBmb3JtR3JvdXBHZW5lcmF0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKVxyXG4gIGdldCBjb21wYW55KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBhbnk7XHJcbiAgfVxyXG4gIHNldCBjb21wYW55KHZhbHVlKSB7XHJcbiAgICB0aGlzLl9jb21wYW55ID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnRpdGxlID0gJ0NvbXBhbnkgLyBPcmdhbml6YXRpb24nO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2NvbXBhbnlfbmFtZScsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2NvbXBhbnlfcGhvbmUnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdjb21wYW55X2VtYWlsJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnY29tcGFueV93ZWJzaXRlVXJsJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG5cclxuICAgIHRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtR3JvdXBHZW5lcmF0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9jb21wYW55ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgbGV0IGNvbXBhbnkgPSBKU09OLnBhcnNlKHRoaXMuX2NvbXBhbnkpO1xyXG5cclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2NvbXBhbnlfbmFtZScsIGNvbXBhbnkubmFtZSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdjb21wYW55X3Bob25lJywgY29tcGFueS5waG9uZSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdjb21wYW55X2VtYWlsJywgY29tcGFueS5lbWFpbCk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdjb21wYW55X3dlYnNpdGVVcmwnLCBjb21wYW55LndlYnNpdGVVcmwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcGFueSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIG5hbWU6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdjb21wYW55X25hbWUnKSB8fCBudWxsLFxyXG4gICAgICBwaG9uZTogdGhpcy5nZXRGb3JtVmFsdWUoJ2NvbXBhbnlfcGhvbmUnKSB8fCBudWxsLFxyXG4gICAgICBlbWFpbDogdGhpcy5nZXRGb3JtVmFsdWUoJ2NvbXBhbnlfZW1haWwnKSB8fCBudWxsLFxyXG4gICAgICB3ZWJzaXRlVXJsOiB0aGlzLmdldEZvcm1WYWx1ZSgnY29tcGFueV93ZWJzaXRlVXJsJykgfHwgbnVsbFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhbmF0b2x5LWNhcmQgY2xhc3Nlcz0nY2FyZC1vdXRsaW5lIGNhcmQtcHJpbWFyeSc+XHJcbiAgPGFuYXRvbHktY2FyZC1oZWFkZXIgKm5nSWY9J2lzVGl0bGVWaXNpYmxlJyBbdGl0bGVdPSd0aXRsZScgLz5cclxuICA8YW5hdG9seS1jYXJkLWJvZHkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCcgPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJyb3c+XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9uYW1lJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbD5OYW1lPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdjb21wYW55X25hbWUnIHBsYWNlaG9sZGVyPSdDb21wYW55IE5hbWUnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X25hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb21wYW55IE5hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9waG9uZScpIH1cIj5cclxuICAgICAgICA8bGFiZWw+UGhvbmU8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZWwnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nY29tcGFueV9waG9uZScgcGxhY2Vob2xkZXI9J0NvbXBhbnkgUGhvbmUnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdjb21wYW55X3Bob25lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ29tcGFueSBQaG9uZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICA8L2Rpdj5cclxuICAgICA8ZGl2IGNsYXNzPVwicm93PlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC02IG1iLTAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9lbWFpbCcpIH1cIj5cclxuICAgICAgICA8bGFiZWw+RW1haWw8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSdlbWFpbCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdjb21wYW55X2VtYWlsJyBwbGFjZWhvbGRlcj0nQ29tcGFueSBFbWFpbCc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2NvbXBhbnlfZW1haWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb21wYW55IEVtYWlsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC02IG1iLTAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV93ZWJzaXRlVXJsJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbD5XZWJzaXRlIFVybDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3VybCcgcGxhY2Vob2xkZXI9J2h0dHBzOi8vZXhhbXBsZS5jb20nIHBhdHRlcm49J2h0dHBzOi8vLionIHNpemU9JzMwJ1xyXG4gICAgICAgICAgICAgICBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2NvbXBhbnlfd2Vic2l0ZVVybCc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2NvbXBhbnlfd2Vic2l0ZVVybCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NvbXBhbnkgd2Vic2l0ZSB1cmwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgPC9hbmF0b2x5LWNhcmQtYm9keT5cclxuPC9hbmF0b2x5LWNhcmQ+XHJcbiJdfQ==