@alauda-fe/common 1.4.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/api/auth-api.service.d.ts +4 -1
  2. package/authorization/authorization.d.ts +27 -0
  3. package/authorization/constants.d.ts +11 -0
  4. package/authorization/public-api.d.ts +2 -0
  5. package/authorization/state.service.d.ts +3 -28
  6. package/business/resource-select/exports/project-selector/component.d.ts +1 -0
  7. package/core/constants/constants.d.ts +0 -1
  8. package/core/types/k8s/crd.d.ts +4 -1
  9. package/core/utils/cache-store.d.ts +3 -3
  10. package/esm2022/api/auth-api.service.mjs +15 -5
  11. package/esm2022/authorization/authorization.mjs +157 -0
  12. package/esm2022/authorization/constants.mjs +15 -0
  13. package/esm2022/authorization/public-api.mjs +3 -1
  14. package/esm2022/authorization/state.service.mjs +25 -147
  15. package/esm2022/authorization/storage-token.mjs +2 -2
  16. package/esm2022/business/resource-select/exports/project-selector/component.mjs +14 -6
  17. package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
  18. package/esm2022/core/constants/constants.mjs +1 -3
  19. package/esm2022/core/services/workspace-helper.service.mjs +4 -4
  20. package/esm2022/core/types/k8s/crd.mjs +1 -1
  21. package/esm2022/core/utils/cache-store.mjs +16 -11
  22. package/esm2022/grid-layout/components/grid/component.mjs +4 -3
  23. package/esm2022/grid-layout/components/grid-items/component.mjs +2 -2
  24. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +2 -2
  25. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +2 -2
  26. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +2 -2
  27. package/esm2022/translate/translate.service.mjs +3 -4
  28. package/esm2022/widget/date-range-picker/component.mjs +1 -2
  29. package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
  30. package/package.json +1 -1
@@ -38,7 +38,7 @@ export class NavConfigLoaderService {
38
38
  this.mapToAuiNavItem = (item, parents) => ({
39
39
  ...item,
40
40
  children: null,
41
- key: [...parents.map(({ name }) => name), item.name].join('/'),
41
+ key: item.key ?? [...parents.map(({ name }) => name), item.name].join('/'),
42
42
  label: item.label || this.translate.get(item.name),
43
43
  });
44
44
  }
@@ -173,4 +173,4 @@ export class NavConfigLoaderService {
173
173
  }, {
174
174
  type: Optional
175
175
  }] }, { type: i4.K8sApiService }], null); })();
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Y29uZmlnLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvbmF2aWdhdGlvbi9uYXZjb25maWctbG9hZGVyL25hdmNvbmZpZy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUVMLE1BQU0sRUFDTixFQUFFLEVBQ0YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUVMLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQXlCdkQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELDhCQUE4QixDQUMvQixDQUFDO0FBSUYsTUFBTSxVQUFVLEdBQUcsQ0FDakIsSUFBcUIsRUFDckIsTUFBcUMsRUFDcEIsRUFBRSxDQUNuQixJQUFJO0tBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxD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bWVudGF0aW9uXG4gKiBAbW9kdWxlIG5hdmNvbmZpZy1sb2FkZXJcbiAqL1xuXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIGNvbmNhdCxcbiAgb2YsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLOHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2s4cy1hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIHBhcnNlLFxuICBwYXJzZUpzb24sXG4gIHNraXBFcnJvcixcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBOYXZHcm91cENvbmZpZywgTmF2SXRlbUNvbmZpZyB9IGZyb20gJy4uL25hdi1tZW51L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgZmlsdGVyTmF2VHJlZXMsIG1hcE5hdlRyZWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbnRlcmZhY2UgTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEge1xuICBidWlsZEluOiB7XG4gICAgW25hbWU6IHN0cmluZ106IHtcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgY3VzdG9tczogQXJyYXk8e1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBpY29uRGF0YT86IHN0cmluZztcbiAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgaHJlZjogc3RyaW5nO1xuICB9Pjtcbn1cblxuaW50ZXJmYWNlIE5hdmlnYXRpb25Db25maWdDb25maWdNYXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBkYXRhOiB7XG4gICAgYnVpbGRJbjogc3RyaW5nO1xuICAgIGN1c3RvbXM6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE5BVl9DT05GSUdfTE9DQUxfU1RPUkFHRV9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ25hdiBjb25maWcgbG9jYWwgc3RvcmFnZSBrZXknLFxuKTtcblxuZXhwb3J0IHR5cGUgTmF2ID0gTmF2SXRlbUNvbmZpZyB8IE5hdkdyb3VwQ29uZmlnO1xuXG5jb25zdCBjb25maWdUcmVlID0gKFxuICB0cmVlOiBOYXZJdGVtQ29uZmlnW10sXG4gIGNvbmZpZzogTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEsXG4pOiBOYXZJdGVtQ29uZmlnW10gPT5cbiAgdHJlZVxuICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLmxhYmVsID0gY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8ubGFiZWw7XG4gICAgICByZXR1cm4gaXRlbS5jaGlsZHJlbiAmJiAhY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8uaGlkZGVuIC8vIOeItuiKgueCueiiqyBoaWRkZW4g6Lez6L+HIGNvbmZpZyDlrZDoioLngrlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNvbmZpZ1RyZWUoaXRlbS5jaGlsZHJlbiwgY29uZmlnKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogaXRlbTtcbiAgICB9KVxuICAgIC5maWx0ZXIoaXRlbSA9PiAhY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8uaGlkZGVuKTsgLy8g6L+H5rukIGhpZGRlbiDoioLngrlcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbmZpZ0xvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlZENvbmZpZyA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoTkFWX0NPTkZJR19MT0NBTF9TVE9SQUdFX0tFWSlcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlS2V5OiBzdHJpbmcgPSAnJyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgKSB7fVxuXG4gIGxvYWROYXZDb25maWcoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlZENvbmZpZy5oYXMoYWRkcmVzcykpIHtcbiAgICAgIHRoaXMuY2FjaGVkQ29uZmlnLnNldChhZGRyZXNzLCB0aGlzLmJ1aWxkTG9hZFN0cmVhbShhZGRyZXNzKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZENvbmZpZy5nZXQoYWRkcmVzcyk7XG4gIH1cblxuICBsb2FkTmF2VHJlZShhZGRyZXNzOiBzdHJpbmcsIGNtQ29uZmlnTmFtZTogc3RyaW5nLCB3aXRoR3JvdXAgPSBmYWxzZSkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubG9hZE5hdkNvbmZpZyhhZGRyZXNzKS5waXBlKHRoaXMucGFyc2VZYW1sKCkpLFxuICAgICAgdGhpcy5sb2FkQ21Db25maWcoY21Db25maWdOYW1lKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdHJlZSwgY29uZmlnXSkgPT5cbiAgICAgICAgd2l0aEdyb3VwXG4gICAgICAgICAgPyB0aGlzLmNvbmZpZ1RyZWVXaXRoR3JvdXAodHJlZSBhcyBOYXZHcm91cENvbmZpZ1tdLCBjb25maWcpXG4gICAgICAgICAgOiB0aGlzLmNvbmZpZ1RyZWUodHJlZSwgY29uZmlnKSxcbiAgICAgICksXG4gICAgICB0aGlzLm1hcFRvQXVpTmF2KHdpdGhHcm91cCksXG4gICAgKTtcbiAgfVxuXG4gIGNvbmZpZ1RyZWUoXG4gICAgdHJlZUl0ZW1Db25maWc6IE5hdkl0ZW1Db25maWdbXSxcbiAgICBjb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhLFxuICApIHtcbiAgICByZXR1cm4gZmlsdGVyTmF2VHJlZXModHJlZSA9PiAhKHRyZWUuY2hpbGRyZW4gJiYgIXRyZWUuY2hpbGRyZW4ubGVuZ3RoKSkoXG4gICAgICBjb25maWdUcmVlKHRyZWVJdGVtQ29uZmlnLCBjb25maWcpLmNvbmNhdChcbiAgICAgICAgY29uZmlnLmN1c3RvbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKSwgLy8g5re75Yqg6Ieq5a6a5LmJ55qE5bem5a+86IiqXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBjb25maWdUcmVlV2l0aEdyb3VwKFxuICAgIHRyZWVHcm91cENvbmZpZzogTmF2R3JvdXBDb25maWdbXSxcbiAgICBjb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhLFxuICApIHtcbiAgICByZXR1cm4gdHJlZUdyb3VwQ29uZmlnXG4gICAgICAubWFwKHQgPT4gKHtcbiAgICAgICAgLi4udCxcbiAgICAgICAgaXRlbXM6IGZpbHRlck5hdlRyZWVzPE5hdkl0ZW1Db25maWc+KCAvLyDov4fmu6TlrZjlnKjlrZDoioLngrnvvIzkvYblrZDoioLngrnkuLrnqbrnmoToioLngrlcbiAgICAgICAgICB0cmVlID0+ICEodHJlZS5jaGlsZHJlbiAmJiAhdHJlZS5jaGlsZHJlbi5sZW5ndGgpLFxuICAgICAgICApKFxuICAgICAgICAgIGNvbmZpZ1RyZWUodC5pdGVtcywgY29uZmlnKS5jb25jYXQoXG4gICAgICAgICAgICBjb25maWcuY3VzdG9tcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5oaWRkZW4pLCAvLyDmt7vliqDoh6rlrprkuYnnmoTlt6blr7zoiKpcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfSkpXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pdGVtcy5sZW5ndGgpO1xuICB9XG5cbiAgcGFyc2VZYW1sKCkge1xuICAgIHJldHVybiBtYXA8c3RyaW5nLCBOYXZbXT4oKHlhbWw6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGRhdGE6IE5hdltdID0gW107XG4gICAgICB0cnkge1xuICAgICAgICBkYXRhID0gcGFyc2UoeWFtbCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLnRvYXN0UGFyc2VFcnJvcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBtYXBUb0F1aU5hdih3aXRoR3JvdXAgPSBmYWxzZSkge1xuICAgIHJldHVybiBzd2l0Y2hNYXA8TmF2W10sIE9ic2VydmFibGU8TmF2W10+PihpdGVtcyA9PlxuICAgICAgdGhpcy50cmFuc2xhdGUubG9jYWxlJC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGxldCBkYXRhOiBOYXZbXSA9IFtdO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkYXRhID0gd2l0aEdyb3VwXG4gICAgICAgICAgICAgID8gaXRlbXMubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSA/IHRoaXMudHJhbnNsYXRlLmdldChpdGVtLnRpdGxlKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IG1hcE5hdlRyZWVzKHRoaXMubWFwVG9BdWlOYXZJdGVtKShpdGVtLml0ZW1zKSxcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgOiBtYXBOYXZUcmVlcyh0aGlzLm1hcFRvQXVpTmF2SXRlbSkoaXRlbXMpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhpcy50b2FzdFBhcnNlRXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBuYW1lXG4gICAqIOWKoOi9veW3puWvvOiIqumFjee9riB0b2RvOiDmt7vliqDmlofmoaPpk77mjqVcbiAgICovXG4gIGxvYWRDbUNvbmZpZyhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnOiBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSA9IHtcbiAgICAgIGJ1aWxkSW46IHt9LFxuICAgICAgY3VzdG9tczogW10sXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5rOHNBcGlcbiAgICAgIC5nZXRHbG9iYWxSZXNvdXJjZTxOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwPih7XG4gICAgICAgIGRlZmluaXRpb246IHtcbiAgICAgICAgICB0eXBlOiAnY29uZmlnbWFwcycsXG4gICAgICAgICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgbmFtZXNwYWNlZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNtID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgYnVpbGRJbjogcGFyc2VKc29uKGNtLmRhdGE/LmJ1aWxkSW4pIHx8IHt9LFxuICAgICAgICAgICAgICBjdXN0b21zOiBwYXJzZUpzb24oY20uZGF0YT8uY3VzdG9tcykgfHwgW10sXG4gICAgICAgICAgICB9IGFzIE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdENvbmZpZztcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBza2lwRXJyb3IoZGVmYXVsdENvbmZpZyksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExvYWRTdHJlYW0ocGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gY29uY2F0KFxuICAgICAgb2YodGhpcy5nZXRMb2NhbChwYXRoKSksXG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldChwYXRoLCB7XG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgaGVhZGVyczogeyAnQ2FjaGUtQ29udHJvbCc6ICduby1jYWNoZScgfSxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKGNvbmZpZyA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExvY2FsKHBhdGgsIGNvbmZpZyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKS5waXBlKFxuICAgICAgZmlsdGVyKGNvbmZpZyA9PiAhIWNvbmZpZyksXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXBUb0F1aU5hdkl0ZW0gPSAoXG4gICAgaXRlbTogTmF2SXRlbUNvbmZpZyxcbiAgICBwYXJlbnRzOiBOYXZJdGVtQ29uZmlnW10sXG4gICk6IE5hdkl0ZW1Db25maWcgPT4gKHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIGtleTogWy4uLnBhcmVudHMubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksIGl0ZW0ubmFtZV0uam9pbignLycpLFxuICAgIGxhYmVsOiBpdGVtLmxhYmVsIHx8IHRoaXMudHJhbnNsYXRlLmdldChpdGVtLm5hbWUpLFxuICB9KTtcblxuICBwcml2YXRlIHRvYXN0UGFyc2VFcnJvcigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcih0aGlzLnRyYW5zbGF0ZS5nZXQoJ25hdl9jb25maWdfZXJyb3InKSk7XG4gIH1cblxuICBwcml2YXRlIGxvY2FsS2V5KHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IG5vZGVzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgIHJldHVybiBgJHt0aGlzLmxvY2FsU3RvcmFnZUtleX0uJHtub2Rlcy5hdCgtMSl9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9jYWwocGF0aDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlS2V5KSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsS2V5KHBhdGgpLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvY2FsU3RvcmFnZUtleVxuICAgICAgPyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsS2V5KHBhdGgpKSB8fCAnJ1xuICAgICAgOiAnJztcbiAgfVxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Y29uZmlnLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvbmF2aWdhdGlvbi9uYXZjb25maWctbG9hZGVyL25hdmNvbmZpZy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUVMLE1BQU0sRUFDTixFQUFFLEVBQ0YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUVMLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQXlCdkQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELDhCQUE4QixDQUMvQixDQUFDO0FBSUYsTUFBTSxVQUFVLEdBQUcsQ0FDakIsSUFBcUIsRUFDckIsTUFBcUMsRUFDcEIsRUFBRSxDQUNuQixJQUFJO0tBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxD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LyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgbmF2Y29uZmlnLWxvYWRlclxuICovXG5cbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29uY2F0LFxuICBvZixcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvazhzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgcGFyc2UsXG4gIHBhcnNlSnNvbixcbiAgc2tpcEVycm9yLFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE5hdkdyb3VwQ29uZmlnLCBOYXZJdGVtQ29uZmlnIH0gZnJvbSAnLi4vbmF2LW1lbnUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBmaWx0ZXJOYXZUcmVlcywgbWFwTmF2VHJlZXMgfSBmcm9tICcuLi91dGlscyc7XG5cbmludGVyZmFjZSBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSB7XG4gIGJ1aWxkSW46IHtcbiAgICBbbmFtZTogc3RyaW5nXToge1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIGhpZGRlbjogYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICBjdXN0b21zOiBBcnJheTx7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGljb25EYXRhPzogc3RyaW5nO1xuICAgIGhpZGRlbjogYm9vbGVhbjtcbiAgICBocmVmOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5pbnRlcmZhY2UgTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGRhdGE6IHtcbiAgICBidWlsZEluOiBzdHJpbmc7XG4gICAgY3VzdG9tczogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgTkFWX0NPTkZJR19MT0NBTF9TVE9SQUdFX0tFWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnbmF2IGNvbmZpZyBsb2NhbCBzdG9yYWdlIGtleScsXG4pO1xuXG5leHBvcnQgdHlwZSBOYXYgPSBOYXZJdGVtQ29uZmlnIHwgTmF2R3JvdXBDb25maWc7XG5cbmNvbnN0IGNvbmZpZ1RyZWUgPSAoXG4gIHRyZWU6IE5hdkl0ZW1Db25maWdbXSxcbiAgY29uZmlnOiBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSxcbik6IE5hdkl0ZW1Db25maWdbXSA9PlxuICB0cmVlXG4gICAgLm1hcChpdGVtID0+IHtcbiAgICAgIGl0ZW0ubGFiZWwgPSBjb25maWcuYnVpbGRJbltpdGVtLm5hbWVdPy5sYWJlbDtcbiAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuICYmICFjb25maWcuYnVpbGRJbltpdGVtLm5hbWVdPy5oaWRkZW4gLy8g54i26IqC54K56KKrIGhpZGRlbiDot7Pov4cgY29uZmlnIOWtkOiKgueCuVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBjaGlsZHJlbjogY29uZmlnVHJlZShpdGVtLmNoaWxkcmVuLCBjb25maWcpLFxuICAgICAgICAgIH1cbiAgICAgICAgOiBpdGVtO1xuICAgIH0pXG4gICAgLmZpbHRlcihpdGVtID0+ICFjb25maWcuYnVpbGRJbltpdGVtLm5hbWVdPy5oaWRkZW4pOyAvLyDov4fmu6QgaGlkZGVuIOiKgueCuVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2Q29uZmlnTG9hZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVkQ29uZmlnID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8c3RyaW5nPj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgQEluamVjdChOQVZfQ09ORklHX0xPQ0FMX1NUT1JBR0VfS0VZKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2VLZXk6IHN0cmluZyA9ICcnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICApIHt9XG5cbiAgbG9hZE5hdkNvbmZpZyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY2FjaGVkQ29uZmlnLmhhcyhhZGRyZXNzKSkge1xuICAgICAgdGhpcy5jYWNoZWRDb25maWcuc2V0KGFkZHJlc3MsIHRoaXMuYnVpbGRMb2FkU3RyZWFtKGFkZHJlc3MpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkQ29uZmlnLmdldChhZGRyZXNzKTtcbiAgfVxuXG4gIGxvYWROYXZUcmVlKGFkZHJlc3M6IHN0cmluZywgY21Db25maWdOYW1lOiBzdHJpbmcsIHdpdGhHcm91cCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5sb2FkTmF2Q29uZmlnKGFkZHJlc3MpLnBpcGUodGhpcy5wYXJzZVlhbWwoKSksXG4gICAgICB0aGlzLmxvYWRDbUNvbmZpZyhjbUNvbmZpZ05hbWUpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt0cmVlLCBjb25maWddKSA9PlxuICAgICAgICB3aXRoR3JvdXBcbiAgICAgICAgICA/IHRoaXMuY29uZmlnVHJlZVdpdGhHcm91cCh0cmVlIGFzIE5hdkdyb3VwQ29uZmlnW10sIGNvbmZpZylcbiAgICAgICAgICA6IHRoaXMuY29uZmlnVHJlZSh0cmVlLCBjb25maWcpLFxuICAgICAgKSxcbiAgICAgIHRoaXMubWFwVG9BdWlOYXYod2l0aEdyb3VwKSxcbiAgICApO1xuICB9XG5cbiAgY29uZmlnVHJlZShcbiAgICB0cmVlSXRlbUNvbmZpZzogTmF2SXRlbUNvbmZpZ1tdLFxuICAgIGNvbmZpZzogTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEsXG4gICkge1xuICAgIHJldHVybiBmaWx0ZXJOYXZUcmVlcyh0cmVlID0+ICEodHJlZS5jaGlsZHJlbiAmJiAhdHJlZS5jaGlsZHJlbi5sZW5ndGgpKShcbiAgICAgIGNvbmZpZ1RyZWUodHJlZUl0ZW1Db25maWcsIGNvbmZpZykuY29uY2F0KFxuICAgICAgICBjb25maWcuY3VzdG9tcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5oaWRkZW4pLCAvLyDmt7vliqDoh6rlrprkuYnnmoTlt6blr7zoiKpcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGNvbmZpZ1RyZWVXaXRoR3JvdXAoXG4gICAgdHJlZUdyb3VwQ29uZmlnOiBOYXZHcm91cENvbmZpZ1tdLFxuICAgIGNvbmZpZzogTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEsXG4gICkge1xuICAgIHJldHVybiB0cmVlR3JvdXBDb25maWdcbiAgICAgIC5tYXAodCA9PiAoe1xuICAgICAgICAuLi50LFxuICAgICAgICBpdGVtczogZmlsdGVyTmF2VHJlZXM8TmF2SXRlbUNvbmZpZz4oIC8vIOi/h+a7pOWtmOWcqOWtkOiKgueCue+8jOS9huWtkOiKgueCueS4uuepuueahOiKgueCuVxuICAgICAgICAgIHRyZWUgPT4gISh0cmVlLmNoaWxkcmVuICYmICF0cmVlLmNoaWxkcmVuLmxlbmd0aCksXG4gICAgICAgICkoXG4gICAgICAgICAgY29uZmlnVHJlZSh0Lml0ZW1zLCBjb25maWcpLmNvbmNhdChcbiAgICAgICAgICAgIGNvbmZpZy5jdXN0b21zLmZpbHRlcihpdGVtID0+ICFpdGVtLmhpZGRlbiksIC8vIOa3u+WKoOiHquWumuS5ieeahOW3puWvvOiIqlxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICB9KSlcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLml0ZW1zLmxlbmd0aCk7XG4gIH1cblxuICBwYXJzZVlhbWwoKSB7XG4gICAgcmV0dXJuIG1hcDxzdHJpbmcsIE5hdltdPigoeWFtbDogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgZGF0YTogTmF2W10gPSBbXTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGRhdGEgPSBwYXJzZSh5YW1sKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIHRoaXMudG9hc3RQYXJzZUVycm9yKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcFRvQXVpTmF2KHdpdGhHcm91cCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHN3aXRjaE1hcDxOYXZbXSwgT2JzZXJ2YWJsZTxOYXZbXT4+KGl0ZW1zID0+XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5sb2NhbGUkLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgbGV0IGRhdGE6IE5hdltdID0gW107XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGRhdGEgPSB3aXRoR3JvdXBcbiAgICAgICAgICAgICAgPyBpdGVtcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlID8gdGhpcy50cmFuc2xhdGUuZ2V0KGl0ZW0udGl0bGUpIDogJycsXG4gICAgICAgICAgICAgICAgICBpdGVtczogbWFwTmF2VHJlZXModGhpcy5tYXBUb0F1aU5hdkl0ZW0pKGl0ZW0uaXRlbXMpLFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICA6IG1hcE5hdlRyZWVzKHRoaXMubWFwVG9BdWlOYXZJdGVtKShpdGVtcyk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLnRvYXN0UGFyc2VFcnJvcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG5hbWVcbiAgICog5Yqg6L295bem5a+86Iiq6YWN572uIHRvZG86IOa3u+WKoOaWh+aho+mTvuaOpVxuICAgKi9cbiAgbG9hZENtQ29uZmlnKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhID0ge1xuICAgICAgYnVpbGRJbjoge30sXG4gICAgICBjdXN0b21zOiBbXSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLms4c0FwaVxuICAgICAgLmdldEdsb2JhbFJlc291cmNlPE5hdmlnYXRpb25Db25maWdDb25maWdNYXA+KHtcbiAgICAgICAgZGVmaW5pdGlvbjoge1xuICAgICAgICAgIHR5cGU6ICdjb25maWdtYXBzJyxcbiAgICAgICAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgICAgICB9LFxuICAgICAgICBuYW1lLFxuICAgICAgICBuYW1lc3BhY2VkOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY20gPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBidWlsZEluOiBwYXJzZUpzb24oY20uZGF0YT8uYnVpbGRJbikgfHwge30sXG4gICAgICAgICAgICAgIGN1c3RvbXM6IHBhcnNlSnNvbihjbS5kYXRhPy5jdXN0b21zKSB8fCBbXSxcbiAgICAgICAgICAgIH0gYXMgTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGE7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0Q29uZmlnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHNraXBFcnJvcihkZWZhdWx0Q29uZmlnKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTG9hZFN0cmVhbShwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBjb25jYXQoXG4gICAgICBvZih0aGlzLmdldExvY2FsKHBhdGgpKSxcbiAgICAgIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHBhdGgsIHtcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBoZWFkZXJzOiB7ICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJyB9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoY29uZmlnID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9jYWwocGF0aCwgY29uZmlnKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApLnBpcGUoXG4gICAgICBmaWx0ZXIoY29uZmlnID0+ICEhY29uZmlnKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG1hcFRvQXVpTmF2SXRlbSA9IChcbiAgICBpdGVtOiBOYXZJdGVtQ29uZmlnLFxuICAgIHBhcmVudHM6IE5hdkl0ZW1Db25maWdbXSxcbiAgKTogTmF2SXRlbUNvbmZpZyA9PiAoe1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IG51bGwsXG4gICAga2V5OiBpdGVtLmtleSA/PyBbLi4ucGFyZW50cy5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSwgaXRlbS5uYW1lXS5qb2luKCcvJyksXG4gICAgbGFiZWw6IGl0ZW0ubGFiZWwgfHwgdGhpcy50cmFuc2xhdGUuZ2V0KGl0ZW0ubmFtZSksXG4gIH0pO1xuXG4gIHByaXZhdGUgdG9hc3RQYXJzZUVycm9yKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKHRoaXMudHJhbnNsYXRlLmdldCgnbmF2X2NvbmZpZ19lcnJvcicpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9jYWxLZXkocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgcmV0dXJuIGAke3RoaXMubG9jYWxTdG9yYWdlS2V5fS4ke25vZGVzLmF0KC0xKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2NhbChwYXRoOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VLZXkpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxLZXkocGF0aCksIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxTdG9yYWdlS2V5XG4gICAgICA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxLZXkocGF0aCkpIHx8ICcnXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
@@ -139,7 +139,7 @@ export class AccountMenuComponent {
139
139
  }
140
140
  logout() {
141
141
  // 审计记录登出
142
- this.auth.logout();
142
+ this.auth.logoutWithAudit();
143
143
  }
144
144
  changeLanguage(lang) {
145
145
  localStorage.setItem(LOCALE_STORAGE, lang);
@@ -189,4 +189,4 @@ export class AccountMenuComponent {
189
189
  type: Optional
190
190
  }] }], null); })();
191
191
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AccountMenuComponent, { className: "AccountMenuComponent" }); })();
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvYWNjb3VudC1tZW51L2NvbXBvbmVudC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9hY2NvdW50LW1lbnUvY29tcG9uZW50L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFFBQVEsSUFBSSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFhLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUNMLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIscUJBQXFCLEdBQ3RCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0lDU2xELEFBSkYsc0NBR0MsVUFDTTtJQUNILCtCQVFZO0lBQ1osNEJBQU07SUFBQSxZQUE4Qjs7SUFDdEMsQUFEc0MsaUJBQU8sRUFDdkM7SUFDTix5Q0FH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QkFJQztZQUNDLHlCQUlFO1lBQ0YsOEJBQW1DO1lBQUEsWUFBMEI7O1lBQUEsaUJBQU07WUFDbkUsOEJBR1k7WUFDZCxpQkFBTTtZQUVOLHdIQUFtQjs7O1lBZGpCLEFBREEscUNBQW9CLGdEQUMyQjtZQU9aLGVBQTBCO1lBQTFCLDREQUEwQjs7O2lGRG1DbEQsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07O3NCQWlCNUMsUUFBUTs7a0ZBZkEsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgYWNjb3VudC1tZW51XG4gKi9cblxuaW1wb3J0IHsgc2V0VGhlbWUgYXMgc2V0Q2hhcnRUaGVtZSB9IGZyb20gJ0BhbGF1ZGEvY2hhcnQnO1xuaW1wb3J0IHsgQWxhdWRhTW9uYWNvUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS9jb2RlLWVkaXRvcic7XG5pbXBvcnQgeyBUaGVtZU1vZGUsIFRoZW1lU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRV9LRVlfVEhFTUVfTU9ERSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBMT0NBTEVfU1RPUkFHRSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzLFxufSBmcm9tICcuLi8uLi8uLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBERUZBVUxUX1BMQVRGT1JNX1BBVEggfSBmcm9tICcuLi8uLi9jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRJbmZvIHtcbiAgaXNzPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmc7XG4gIGF1ZD86IHN0cmluZztcbiAgZXhwPzogbnVtYmVyO1xuICBpYXQ/OiBudW1iZXI7XG4gIGF6cD86IHN0cmluZztcbiAgYXRfaGFzaD86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkPzogdHJ1ZTtcbiAgbmFtZT86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGV4dD86IHtcbiAgICBpc19hZG1pbj86IGJvb2xlYW47XG4gICAgY29ubl9pZD86IGJvb2xlYW47XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1hY2NvdW50LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudE1lbnVDb21wb25lbnQge1xuICBkaXNwbGF5TmFtZSQgPSB0aGlzLmF1dGhcbiAgICAuZ2V0VG9rZW5QYXlsb2FkPEFjY291bnRJbmZvPigpXG4gICAgLnBpcGUobWFwKGFjY291bnQgPT4gYWNjb3VudC5lbWFpbCB8fCBhY2NvdW50Lm5hbWUpKTtcblxuICB0aGVtZU1vZGU6IHN0cmluZztcblxuICBsYW5ndWFnZXMgPSBnZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcblxuICAkY3VycmVudExhbmcgPSB0b1NpZ25hbCh0aGlzLnRyYW5zbGF0ZS5sb2NhbGUkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZTogVGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIG1vbmFjb1NlcnZpY2U6IEFsYXVkYU1vbmFjb1Byb3ZpZGVyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pbml0VGhlbWVNb2RlKCk7XG4gICAgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUkLnN1YnNjcmliZSh0aGVtZSA9PiB7XG4gICAgICBzZXRDaGFydFRoZW1lKHRoZW1lKTtcbiAgICB9KTtcblxuICAgIGlmIChtb25hY29TZXJ2aWNlKSB7XG4gICAgICBtb25hY29TZXJ2aWNlLmluaXRNb25hY28oKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUkLFxuICAgICAgICAgIG1vbmFjb1NlcnZpY2UudGhlbWVNb2RlJCxcbiAgICAgICAgXSkuc3Vic2NyaWJlKChbdGhlbWUsIG1vZGVdKSA9PiB7XG4gICAgICAgICAgbW9uYWNvU2VydmljZS5jaGFuZ2VUaGVtZU1vZGUobW9kZSwgdGhlbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICAvLyDlrqHorqHorrDlvZXnmbvlh7pcbiAgICB0aGlzLmF1dGgubG9nb3V0KCk7XG4gIH1cblxuICBjaGFuZ2VMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTEVfU1RPUkFHRSwgbGFuZyk7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgbmF2aWdhdGVUb0xpbmsoKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7REVGQVVMVF9QTEFURk9STV9QQVRIfS9wZXJzb25hbC1pbmZvYCwgJ19ibGFuaycpO1xuICB9XG5cbiAgc2V0VGhlbWVNb2RlKHY6IFRoZW1lTW9kZSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExPQ0FMX1NUT1JBR0VfS0VZX1RIRU1FX01PREUsIHYpO1xuICAgIHRoaXMudGhlbWVNb2RlID0gdjtcbiAgICB0aGlzLnRoZW1lLnNldFRoZW1lTW9kZSh2KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRoZW1lTW9kZSgpIHtcbiAgICBsZXQgbG9jYWxUaGVtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKExPQ0FMX1NUT1JBR0VfS0VZX1RIRU1FX01PREUpO1xuXG4gICAgaWYgKCFsb2NhbFRoZW1lKSB7XG4gICAgICBsb2NhbFRoZW1lID0gJ3N5c3RlbSc7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTF9TVE9SQUdFX0tFWV9USEVNRV9NT0RFLCBsb2NhbFRoZW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLnRoZW1lTW9kZSA9IGxvY2FsVGhlbWU7XG5cbiAgICBpZiAoWydzeXN0ZW0nLCAnbGlnaHQnLCAnZGFyayddLmluY2x1ZGVzKGxvY2FsVGhlbWUpKSB7XG4gICAgICB0aGlzLnRoZW1lLnNldFRoZW1lTW9kZShsb2NhbFRoZW1lIGFzIFRoZW1lTW9kZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNjb3VudC1tZW51XCJcbiAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICBbYXVpRHJvcGRvd25DbGFzc109XCInYWNsLXBhZ2UtaGVhZGVyX190b29sdGlwJ1wiXG4+XG4gIDxpbWdcbiAgICBzcmM9XCJoZWFkZXIvcG9ydHJhaXQuc3ZnXCJcbiAgICBjbGFzcz1cImFjY291bnQtbWVudV9faWNvblwiXG4gICAgYWx0PVwicG9ydHJhaXRcIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1tZW51X19kaXNwbGF5XCI+e3sgZGlzcGxheU5hbWUkIHwgYXN5bmMgfX08L2Rpdj5cbiAgPGF1aS1pY29uXG4gICAgY2xhc3M9XCJhY2NvdW50LW1lbnVfX3BvaW50ZXJcIlxuICAgIGljb249XCJhbmdsZV9kb3duXCJcbiAgPjwvYXVpLWljb24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNtZW51PlxuICA8YXVpLW1lbnU+XG4gICAgPGF1aS1tZW51LWl0ZW0gKGNsaWNrKT1cIm5hdmlnYXRlVG9MaW5rKClcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwidXNlclwiPjwvYXVpLWljb24+XG4gICAgICA8c3Bhbj57eyAnbXlfcHJvZmlsZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9hdWktbWVudS1pdGVtPlxuXG4gICAgPGF1aS1zdWJtZW51XG4gICAgICAqbmdJZj1cInRoZW1lTW9kZSAhPT0gJ2N1c3RvbSdcIlxuICAgICAgY2xhc3M9XCJhY2wtYWNjb3VudC1tZW51LWl0ZW1cIlxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICAgdGhlbWVNb2RlID09PSAnc3lzdGVtJ1xuICAgICAgICAgICAgICA/ICdjb21wdXRlcidcbiAgICAgICAgICAgICAgOiB0aGVtZU1vZGUgPT09ICdsaWdodCdcbiAgICAgICAgICAgICAgPyAnc3VuJ1xuICAgICAgICAgICAgICA6ICdtb29uJ1xuICAgICAgICAgIFwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnYXBwZWFyYW5jZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgIFthY3RpdmVkXT1cInRoZW1lTW9kZSA9PT0gJ3N5c3RlbSdcIlxuICAgICAgICAoY2xpY2spPVwic2V0VGhlbWVNb2RlKCdzeXN0ZW0nKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdmb2xsb3dfdGhlX3N5c3RlbScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgIFthY3RpdmVkXT1cInRoZW1lTW9kZSA9PT0gJ2xpZ2h0J1wiXG4gICAgICAgIChjbGljayk9XCJzZXRUaGVtZU1vZGUoJ2xpZ2h0JylcIlxuICAgICAgPlxuICAgICAgICB7eyAnbGlnaHRfdGhlbWUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgICA8YXVpLW1lbnUtaXRlbVxuICAgICAgICBbYWN0aXZlZF09XCJ0aGVtZU1vZGUgPT09ICdkYXJrJ1wiXG4gICAgICAgIChjbGljayk9XCJzZXRUaGVtZU1vZGUoJ2RhcmsnKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdkYXJrX3RoZW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9hdWktbWVudS1pdGVtPlxuICAgIDwvYXVpLXN1Ym1lbnU+XG5cbiAgICA8YXVpLXN1Ym1lbnUgY2xhc3M9XCJhY2wtYWNjb3VudC1tZW51LWl0ZW1cIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwicHJvZDpnbG9iZVwiPjwvYXVpLWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdsYW5ndWFnZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiXG4gICAgICAgIFthY3RpdmVkXT1cImxhbmcuaWQgPT09ICRjdXJyZW50TGFuZygpXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGxhbmcuaWQpXCJcbiAgICAgID5cbiAgICAgICAge3sgbGFuZy5uYW1lIH19XG4gICAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hdWktc3VibWVudT5cblxuICAgIDxhdWktbWVudS1pdGVtXG4gICAgICBjbGFzcz1cImFjbC1hY2NvdW50LW1lbnUtaXRlbVwiXG4gICAgICBbZGl2aWRlXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cImxvZ291dCgpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cInNpZ25fb3V0XCI+PC9hdWktaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdsb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgPC9hdWktbWVudT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvYWNjb3VudC1tZW51L2NvbXBvbmVudC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9hY2NvdW50LW1lbnUvY29tcG9uZW50L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFFBQVEsSUFBSSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFhLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUNMLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIscUJBQXFCLEdBQ3RCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0lDU2xELEFBSkYsc0NBR0MsVUFDTTtJQUNILCtCQVFZO0lBQ1osNEJBQU07SUFBQSxZQUE4Qjs7SUFDdEMsQUFEc0MsaUJBQU8sRUFDdkM7SUFDTix5Q0FH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QkFJQztZQUNDLHlCQUlFO1lBQ0YsOEJBQW1DO1lBQUEsWUFBMEI7O1lBQUEsaUJBQU07WUFDbkUsOEJBR1k7WUFDZCxpQkFBTTtZQUVOLHdIQUFtQjs7O1lBZGpCLEFBREEscUNBQW9CLGdEQUMyQjtZQU9aLGVBQTBCO1lBQTFCLDREQUEwQjs7O2lGRG1DbEQsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07O3NCQWlCNUMsUUFBUTs7a0ZBZkEsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgYWNjb3VudC1tZW51XG4gKi9cblxuaW1wb3J0IHsgc2V0VGhlbWUgYXMgc2V0Q2hhcnRUaGVtZSB9IGZyb20gJ0BhbGF1ZGEvY2hhcnQnO1xuaW1wb3J0IHsgQWxhdWRhTW9uYWNvUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS9jb2RlLWVkaXRvcic7XG5pbXBvcnQgeyBUaGVtZU1vZGUsIFRoZW1lU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRV9LRVlfVEhFTUVfTU9ERSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBMT0NBTEVfU1RPUkFHRSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzLFxufSBmcm9tICcuLi8uLi8uLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBERUZBVUxUX1BMQVRGT1JNX1BBVEggfSBmcm9tICcuLi8uLi9jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRJbmZvIHtcbiAgaXNzPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmc7XG4gIGF1ZD86IHN0cmluZztcbiAgZXhwPzogbnVtYmVyO1xuICBpYXQ/OiBudW1iZXI7XG4gIGF6cD86IHN0cmluZztcbiAgYXRfaGFzaD86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkPzogdHJ1ZTtcbiAgbmFtZT86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGV4dD86IHtcbiAgICBpc19hZG1pbj86IGJvb2xlYW47XG4gICAgY29ubl9pZD86IGJvb2xlYW47XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1hY2NvdW50LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudE1lbnVDb21wb25lbnQge1xuICBkaXNwbGF5TmFtZSQgPSB0aGlzLmF1dGhcbiAgICAuZ2V0VG9rZW5QYXlsb2FkPEFjY291bnRJbmZvPigpXG4gICAgLnBpcGUobWFwKGFjY291bnQgPT4gYWNjb3VudC5lbWFpbCB8fCBhY2NvdW50Lm5hbWUpKTtcblxuICB0aGVtZU1vZGU6IHN0cmluZztcblxuICBsYW5ndWFnZXMgPSBnZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcblxuICAkY3VycmVudExhbmcgPSB0b1NpZ25hbCh0aGlzLnRyYW5zbGF0ZS5sb2NhbGUkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZTogVGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIG1vbmFjb1NlcnZpY2U6IEFsYXVkYU1vbmFjb1Byb3ZpZGVyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pbml0VGhlbWVNb2RlKCk7XG4gICAgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUkLnN1YnNjcmliZSh0aGVtZSA9PiB7XG4gICAgICBzZXRDaGFydFRoZW1lKHRoZW1lKTtcbiAgICB9KTtcblxuICAgIGlmIChtb25hY29TZXJ2aWNlKSB7XG4gICAgICBtb25hY29TZXJ2aWNlLmluaXRNb25hY28oKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUkLFxuICAgICAgICAgIG1vbmFjb1NlcnZpY2UudGhlbWVNb2RlJCxcbiAgICAgICAgXSkuc3Vic2NyaWJlKChbdGhlbWUsIG1vZGVdKSA9PiB7XG4gICAgICAgICAgbW9uYWNvU2VydmljZS5jaGFuZ2VUaGVtZU1vZGUobW9kZSwgdGhlbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICAvLyDlrqHorqHorrDlvZXnmbvlh7pcbiAgICB0aGlzLmF1dGgubG9nb3V0V2l0aEF1ZGl0KCk7XG4gIH1cblxuICBjaGFuZ2VMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTEVfU1RPUkFHRSwgbGFuZyk7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgbmF2aWdhdGVUb0xpbmsoKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7REVGQVVMVF9QTEFURk9STV9QQVRIfS9wZXJzb25hbC1pbmZvYCwgJ19ibGFuaycpO1xuICB9XG5cbiAgc2V0VGhlbWVNb2RlKHY6IFRoZW1lTW9kZSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExPQ0FMX1NUT1JBR0VfS0VZX1RIRU1FX01PREUsIHYpO1xuICAgIHRoaXMudGhlbWVNb2RlID0gdjtcbiAgICB0aGlzLnRoZW1lLnNldFRoZW1lTW9kZSh2KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRoZW1lTW9kZSgpIHtcbiAgICBsZXQgbG9jYWxUaGVtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKExPQ0FMX1NUT1JBR0VfS0VZX1RIRU1FX01PREUpO1xuXG4gICAgaWYgKCFsb2NhbFRoZW1lKSB7XG4gICAgICBsb2NhbFRoZW1lID0gJ3N5c3RlbSc7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTF9TVE9SQUdFX0tFWV9USEVNRV9NT0RFLCBsb2NhbFRoZW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLnRoZW1lTW9kZSA9IGxvY2FsVGhlbWU7XG5cbiAgICBpZiAoWydzeXN0ZW0nLCAnbGlnaHQnLCAnZGFyayddLmluY2x1ZGVzKGxvY2FsVGhlbWUpKSB7XG4gICAgICB0aGlzLnRoZW1lLnNldFRoZW1lTW9kZShsb2NhbFRoZW1lIGFzIFRoZW1lTW9kZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNjb3VudC1tZW51XCJcbiAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICBbYXVpRHJvcGRvd25DbGFzc109XCInYWNsLXBhZ2UtaGVhZGVyX190b29sdGlwJ1wiXG4+XG4gIDxpbWdcbiAgICBzcmM9XCJoZWFkZXIvcG9ydHJhaXQuc3ZnXCJcbiAgICBjbGFzcz1cImFjY291bnQtbWVudV9faWNvblwiXG4gICAgYWx0PVwicG9ydHJhaXRcIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1tZW51X19kaXNwbGF5XCI+e3sgZGlzcGxheU5hbWUkIHwgYXN5bmMgfX08L2Rpdj5cbiAgPGF1aS1pY29uXG4gICAgY2xhc3M9XCJhY2NvdW50LW1lbnVfX3BvaW50ZXJcIlxuICAgIGljb249XCJhbmdsZV9kb3duXCJcbiAgPjwvYXVpLWljb24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNtZW51PlxuICA8YXVpLW1lbnU+XG4gICAgPGF1aS1tZW51LWl0ZW0gKGNsaWNrKT1cIm5hdmlnYXRlVG9MaW5rKClcIj5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwidXNlclwiPjwvYXVpLWljb24+XG4gICAgICA8c3Bhbj57eyAnbXlfcHJvZmlsZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9hdWktbWVudS1pdGVtPlxuXG4gICAgPGF1aS1zdWJtZW51XG4gICAgICAqbmdJZj1cInRoZW1lTW9kZSAhPT0gJ2N1c3RvbSdcIlxuICAgICAgY2xhc3M9XCJhY2wtYWNjb3VudC1tZW51LWl0ZW1cIlxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICAgdGhlbWVNb2RlID09PSAnc3lzdGVtJ1xuICAgICAgICAgICAgICA/ICdjb21wdXRlcidcbiAgICAgICAgICAgICAgOiB0aGVtZU1vZGUgPT09ICdsaWdodCdcbiAgICAgICAgICAgICAgPyAnc3VuJ1xuICAgICAgICAgICAgICA6ICdtb29uJ1xuICAgICAgICAgIFwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnYXBwZWFyYW5jZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgIFthY3RpdmVkXT1cInRoZW1lTW9kZSA9PT0gJ3N5c3RlbSdcIlxuICAgICAgICAoY2xpY2spPVwic2V0VGhlbWVNb2RlKCdzeXN0ZW0nKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdmb2xsb3dfdGhlX3N5c3RlbScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgIFthY3RpdmVkXT1cInRoZW1lTW9kZSA9PT0gJ2xpZ2h0J1wiXG4gICAgICAgIChjbGljayk9XCJzZXRUaGVtZU1vZGUoJ2xpZ2h0JylcIlxuICAgICAgPlxuICAgICAgICB7eyAnbGlnaHRfdGhlbWUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgICA8YXVpLW1lbnUtaXRlbVxuICAgICAgICBbYWN0aXZlZF09XCJ0aGVtZU1vZGUgPT09ICdkYXJrJ1wiXG4gICAgICAgIChjbGljayk9XCJzZXRUaGVtZU1vZGUoJ2RhcmsnKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdkYXJrX3RoZW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9hdWktbWVudS1pdGVtPlxuICAgIDwvYXVpLXN1Ym1lbnU+XG5cbiAgICA8YXVpLXN1Ym1lbnUgY2xhc3M9XCJhY2wtYWNjb3VudC1tZW51LWl0ZW1cIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwicHJvZDpnbG9iZVwiPjwvYXVpLWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdsYW5ndWFnZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhdWktbWVudS1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiXG4gICAgICAgIFthY3RpdmVkXT1cImxhbmcuaWQgPT09ICRjdXJyZW50TGFuZygpXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGxhbmcuaWQpXCJcbiAgICAgID5cbiAgICAgICAge3sgbGFuZy5uYW1lIH19XG4gICAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hdWktc3VibWVudT5cblxuICAgIDxhdWktbWVudS1pdGVtXG4gICAgICBjbGFzcz1cImFjbC1hY2NvdW50LW1lbnUtaXRlbVwiXG4gICAgICBbZGl2aWRlXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cImxvZ291dCgpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cInNpZ25fb3V0XCI+PC9hdWktaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdsb2dvdXQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgPC9hdWktbWVudT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
3
  import { get } from 'lodash-es';
4
4
  import { combineLatest, map, switchMap } from 'rxjs';
5
- import { redirectSSOEntry } from '../../../../authorization/state.service';
5
+ import { redirectSSOEntry } from '../../../../authorization/authorization';
6
6
  import { publishRef, } from '../../../../core/public-api';
7
7
  import { K8sPermissionService } from '../../../../permission/k8s-permission.service';
8
8
  import { ProductEntryName } from '../context.service';
@@ -264,4 +264,4 @@ export class ProductSelectComponent {
264
264
  type: Input
265
265
  }] }); })();
266
266
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductSelectComponent, { className: "ProductSelectComponent" }); })();
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvY29tbW9uLWxheW91dC9wcm9kdWN0LXNlbGVjdC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9jb21tb24tbGF5b3V0L3Byb2R1Y3Qtc2VsZWN0L2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUdMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSi9DLCtCQUtDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsY0FDRjtJQURFLHNFQUNGOzs7SUFxQlEsNkJBS0M7SUFDQywrQkFPWTs7Ozs7O0lBTFYsY0FFRTtJQUVGLEFBSkEs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QUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0IsRUFBRSxPQUF5QjtRQUMzRCxPQUFPLENBQ0wsT0FBTztZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDO3VGQXJIVSxzQkFBc0I7b0VBQXRCLHNCQUFzQjtZQ3BFbkMsaUNBZUM7Ozs7Ozs7WUFDQyx5RUFLQzs7O1lBR0QsK0JBTVk7OztZQUNkLGlCQUFTO1lBZ0VULEFBL0RBLDBIQUFtQiw2R0ErREc7OztZQWpGcEIsQUFMQSxBQURBLEFBREEsQUFMQSxxQ0FBbUIsK0JBS1csaURBQ0EseUxBSzdCLDhFQUNnRTtZQUc5RCxlQUNtRTtZQURuRSxrSUFDbUU7WUFTcEUsZUFBeUQ7WUFDekQsQUFEQSxtRkFBeUQsOERBQ2Q7OztpRkR3Q2xDLHNCQUFzQjtjQU5sQyxTQUFTOzJCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO29KQUkvQyxZQUFZO2tCQURYLEtBQUs7WUFJTixPQUFPO2tCQUROLEtBQUs7WUFJTixLQUFLO2tCQURKLEtBQUs7O2tGQVBLLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyByZWRpcmVjdFNTT0VudHJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vYXV0aG9yaXphdGlvbi9zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFN0cmluZ01hcCxcbiAgUHJvZHVjdEVudHJ5LFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wZXJtaXNzaW9uL2s4cy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdEVudHJ5TmFtZSB9IGZyb20gJy4uL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25MYXlvdXRTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUHJvZHVjdFNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UnO1xuXG5jb25zdCBBRE1JTl9WSUVXX01BUDoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgfTtcbn0gPSB7XG4gICdjb25zb2xlLXBsYXRmb3JtJzoge1xuICAgIGhyZWY6ICcvbWFuYWdlLXBsYXRmb3JtJyxcbiAgICB2aWV3OiAncGxhdGZvcm12aWV3JyxcbiAgfSxcbiAgJ2NvbnNvbGUtcHJvamVjdCc6IHtcbiAgICBocmVmOiAnL2hvbWUvcHJvamVjdCcsXG4gICAgdmlldzogJ3Byb2plY3R2aWV3JyxcbiAgfSxcbiAgJ2NvbnNvbGUtc2VjdXJpdHknOiB7XG4gICAgaHJlZjogJy9jb250YWluZXItc2VjdXJpdHkvaG9tZScsXG4gICAgdmlldzogJ2NvbnRhaW5lcnNlY3VyaXR5dmlldycsXG4gIH0sXG59O1xuXG5jb25zdCBWSUVXID0ge1xuICB0eXBlOiAndmlld3MnLFxuICBhcGlHcm91cDogJ2F1dGguYWxhdWRhLmlvJyxcbn07XG5cbmNvbnN0IFBSRUZJWCA9ICdjb25zb2xlLSc7XG5cbmV4cG9ydCBjb25zdCBQUk9EVUNUX0lDT05fTUFQOiBTdHJpbmdNYXAgPSB7XG4gICdjb25zb2xlLWFjcCc6ICdhY3AnLFxuICAnY29uc29sZS1hc20nOiAnYXNtJyxcbiAgJ2NvbnNvbGUtZGV2b3BzJzogJ2Rldm9wcycsXG4gIC8vIGNvbnNvbGUtZS1hYW0gcHJlZml4IOS4uuS6huWFvOWuuem7mOiupOaOkuW6j++8jOetieWQjue7reaOkuW6j+aWueahiOWHuuadpeWPr+S7peaUueaIkGNvbnNvbGUtYWFtXG4gICdjb25zb2xlLWUtYWFtJzogJ2FwcF9zdG9yZScsXG4gICdjb25zb2xlLXNlY3VyaXR5JzogJ2J1Z19zZWFyY2gnLFxuICAnY29uc29sZS1wbGF0Zm9ybSc6ICdwbGF0Zm9ybV9tYW5hZ2VtZW50JyxcbiAgJ2NvbnNvbGUtcHJvamVjdCc6ICdwcm9qZWN0X21hbmFnZW1lbnQnLFxuICAnY29uc29sZS1kYXRhc2VydmljZXMnOiAnZGF0YV9zZXJ2aWNlcycsXG4gICdjb25zb2xlLWNlYyc6ICdjbG91ZF9lZGdlX2NvbGxhYm9yYXRpb24nLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXByb2R1Y3Qtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwbGF0Zm9ybVBhdGggPSAnL2NvbnNvbGUtcGxhdGZvcm0nO1xuXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQ/OiBQcm9kdWN0RW50cnlOYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIFBST0RVQ1RfSUNPTl9NQVAgPSBQUk9EVUNUX0lDT05fTUFQO1xuXG4gIGFsbFByb2R1Y3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucHJvZHVjdFNlbGVjdFNlcnZpY2UucmVsb2FkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0QWxsUHJvZHVjdHMoKSksXG4gICAgKSxcbiAgICB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgIHR5cGU6IFZJRVcsXG4gICAgICBuYW1lOiBPYmplY3QudmFsdWVzKEFETUlOX1ZJRVdfTUFQKS5tYXAoaXRlbSA9PiBpdGVtLnZpZXcpLFxuICAgIH0pLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3Byb2R1Y3RzLCB2aWV3c10pID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhBRE1JTl9WSUVXX01BUCk7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uTWFwOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gICAgICB9ID0ge307XG4gICAgICBrZXlzLmZvckVhY2goKGtleSwgaW5kZXgpID0+IChwZXJtaXNzaW9uTWFwW2tleV0gPSB2aWV3c1tpbmRleF0pKTtcbiAgICAgIHJldHVybiBwcm9kdWN0cy5maWx0ZXIocCA9PlxuICAgICAgICBrZXlzLmluY2x1ZGVzKHAubWV0YWRhdGEubmFtZSkgPyBwZXJtaXNzaW9uTWFwW3AubWV0YWRhdGEubmFtZV0gOiB0cnVlLFxuICAgICAgKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgc2VsZWN0YWJsZVByb2R1Y3RzJCA9IHRoaXMuYWxsUHJvZHVjdHMkLnBpcGUoXG4gICAgbWFwKHByb2R1Y3RzID0+XG4gICAgICAocHJvZHVjdHMgfHwgW10pLmZpbHRlcihcbiAgICAgICAgcHJvZHVjdCA9PlxuICAgICAgICAgICF0aGlzLmlzUG9ydGFsUHJvZHVjdChwcm9kdWN0KSAmJlxuICAgICAgICAgICghcHJvZHVjdC5zdGF0dXMgfHwgcHJvZHVjdC5zdGF0dXMuaGlkZGVuT25Qb3J0YWwgIT09IHRydWUpLFxuICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwb3J0YWxQcm9kdWN0JCA9IHRoaXMuYWxsUHJvZHVjdHMkLnBpcGUoXG4gICAgbWFwKHJlcyA9PiByZXMuZmluZChwID0+IHRoaXMuaXNQb3J0YWxQcm9kdWN0KHApKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGRpc2FibGVkJCA9IHRoaXMuc2VsZWN0YWJsZVByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChwcm9kdWN0cyA9PiAhcHJvZHVjdHMubGVuZ3RoKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgaXNQb3J0YWwgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBDb21tb25MYXlvdXRTdG9yZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c1Blcm1pc3Npb246IEs4c1Blcm1pc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFNlbGVjdFNlcnZpY2U6IFByb2R1Y3RTZWxlY3RTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc1BvcnRhbCA9IHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKCcvcG9ydGFsJyk7XG4gIH1cblxuICBqdW1wKGVudHJ5cG9pbnQ6IHN0cmluZywgc3NvRW5hYmxlZDogYm9vbGVhbiwgdGFyZ2V0ID0gJ19zZWxmJykge1xuICAgIHdpbmRvdy5vcGVuKHNzb0VuYWJsZWQgPyByZWRpcmVjdFNTT0VudHJ5KGVudHJ5cG9pbnQpIDogZW50cnlwb2ludCwgdGFyZ2V0KTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9Qb3J0YWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHdpbmRvdy5vcGVuKCcvY29uc29sZS1wb3J0YWwnLCAnX3NlbGYnKTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9Qcm9kdWN0KGl0ZW06IFByb2R1Y3RFbnRyeSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5pc1Byb2R1Y3RBY3RpdmUoaXRlbSwgdGhpcy5jdXJyZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXRlbS5zcGVjLnBhY2tUeXBlID09PSAnQWRtaW5QYWdlJykge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm0oaXRlbSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpdGVtLnNwZWMucGFja1R5cGUgPT09ICdCdWlsZEluJykge1xuICAgICAgdGhpcy5qdW1wKGl0ZW0uc3BlYy5lbnRyeXBvaW50LCBmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpdGVtLnNwZWMucGFja1R5cGUgPT09ICdJbnRlZ3JhdGVkJykge1xuICAgICAgdGhpcy5qdW1wKGl0ZW0uc3BlYy5lbnRyeXBvaW50LCBpdGVtLnNwZWMuc3NvRW5hYmxlZCwgJ19ibGFuaycpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrRm4gPSAoXzogbnVtYmVyLCBpdGVtOiBQcm9kdWN0RW50cnkpID0+IGl0ZW0ubWV0YWRhdGEubmFtZTtcblxuICBuYXZpZ2F0ZVRvUGxhdGZvcm0oaXRlbTogUHJvZHVjdEVudHJ5KSB7XG4gICAgY29uc3QgaHJlZiA9IEFETUlOX1ZJRVdfTUFQW2l0ZW0ubWV0YWRhdGEubmFtZV0uaHJlZjtcbiAgICBpZiAodGhpcy5wbGF0Zm9ybVBhdGgpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGAke3RoaXMucGxhdGZvcm1QYXRofSR7aHJlZn1gLCAnX3NlbGYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2hyZWZdKTtcbiAgICB9XG4gIH1cblxuICBpc1Byb2R1Y3RBY3RpdmUoaXRlbTogUHJvZHVjdEVudHJ5LCBjdXJyZW50OiBQcm9kdWN0RW50cnlOYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGN1cnJlbnQgJiZcbiAgICAgIGl0ZW0ubWV0YWRhdGEubmFtZSA9PT1cbiAgICAgICAgKGN1cnJlbnQuc3RhcnRzV2l0aChQUkVGSVgpID8gY3VycmVudCA6IFBSRUZJWCArIGN1cnJlbnQpXG4gICAgKTtcbiAgfVxuXG4gIGlzUG9ydGFsUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnkpIHtcbiAgICByZXR1cm4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSAnY29uc29sZS1wb3J0YWwnO1xuICB9XG5cbiAgZ2V0UHJvZHVjdFRpdGxlID0gKFxuICAgIHByb2R1Y3RzOiBQcm9kdWN0RW50cnlbXSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGN1cnJlbnQ6IFByb2R1Y3RFbnRyeU5hbWUsXG4gICkgPT5cbiAgICB0aXRsZSB8fFxuICAgIGdldChcbiAgICAgIChwcm9kdWN0cyB8fCBbXSkuZmluZChwID0+IHRoaXMuaXNQcm9kdWN0QWN0aXZlKHAsIGN1cnJlbnQpKSxcbiAgICAgIFsnc3BlYycsICdkaXNwbGF5TmFtZSddLFxuICAgICk7XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYWNsLXByb2R1Y3Qtc2VsZWN0XCJcbiAgW2F1aVRvb2x0aXBdPVwibWVudVwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcENsYXNzPVwiYXVpLXByb2R1Y3Qtc2VsZWN0LXRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcEhpZGVPbkNsaWNrXT1cInRydWVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICBbdGl0bGVdPVwiXG4gICAgKGRpc2FibGVkJCB8IGFzeW5jKVxuICAgICAgPyAnJ1xuICAgICAgOiAoYWxsUHJvZHVjdHMkIHwgYXN5bmMgfCBwdXJlOiBnZXRQcm9kdWN0VGl0bGU6dGl0bGU6Y3VycmVudCB8IHRyYW5zbGF0ZSlcbiAgXCJcbiAgW25nQ2xhc3NdPVwieyAnYWNsLXByb2R1Y3Qtc2VsZWN0LS1kaXNhYmxlZCc6IGRpc2FibGVkJCB8IGFzeW5jIH1cIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICBhbGxQcm9kdWN0cyQgfCBhc3luYyB8IHB1cmU6IGdldFByb2R1Y3RUaXRsZTp0aXRsZTpjdXJyZW50IGFzIHByb2R1Y3RUaXRsZVxuICAgIFwiXG4gICAgY2xhc3M9XCJhY2wtcHJvZHVjdC1zZWxlY3RfX3RpdGxlXCJcbiAgPlxuICAgIHt7IHByb2R1Y3RUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxhdWktaWNvblxuICAgIGljb249XCJtZW51X2RvdF9zXCJcbiAgICBzaXplPVwiMTZweFwiXG4gICAgW2F1aVRvb2x0aXBdPVwiJ25vX3Byb2R1Y3RfYW5kX2NvbnRhY3RfYWRtaW4nIHwgdHJhbnNsYXRlXCJcbiAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiEoZGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICA+PC9hdWktaWNvbj5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNtZW51PlxuICA8ZGl2IGNsYXNzPVwibWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RhYmxlUHJvZHVjdHMkIHwgYXN5bmMgYXMgcHJvZHVjdHM7IGVsc2UgbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1lbnVfX2l0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21lbnVfX2l0ZW0tLWFjdGl2ZSc6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICB9XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdHM7IHRyYWNrQnk6IHRyYWNrRm5cIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Byb2R1Y3QoaXRlbSwgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51X19pdGVtLWljb25cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBpdGVtLnNwZWMucGFja1R5cGUgIT09ICdJbnRlZ3JhdGVkJyAmJiAhaXRlbS5zcGVjLmxvZ287XG4gICAgICAgICAgICAgIGVsc2UgbG9nb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2wtY29sb3JmdWwtaWNvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiJ2JpY29sb3I6JyArIFBST0RVQ1RfSUNPTl9NQVBbaXRlbS5tZXRhZGF0YS5uYW1lXVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvZ28+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgKGl0ZW0uc3BlYy5sb2dvIHwgYWNsSW1hZ2VIZWFkZXIpIHx8XG4gICAgICAgICAgICAgICAgICAnaW1hZ2VzL3Byb2R1Y3QtZGVmYXVsdC1sb2dvLnBuZycgfCBhY2xTYWZlOiAndXJsJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImRlZmF1bHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnVfX2l0ZW0taW5mbyB0dy1saW5lLWNsYW1wLTJcIj5cbiAgICAgICAgICB7eyBpdGVtLnNwZWMuZGlzcGxheU5hbWUgfCB0cmFuc2xhdGU6IHt9OnRydWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaXRlbSB8IHB1cmU6IGlzUHJvZHVjdEFjdGl2ZTpjdXJyZW50XCJcbiAgICAgICAgICBjbGFzcz1cImNoZWNrLXRyaWFuZ2xlLWJhZGdlXCJcbiAgICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwicG9ydGFsUHJvZHVjdCQgfCBhc3luYyBhcyBwb3J0YWxNZW51XCJcbiAgICBjbGFzcz1cInBvcnRhbFwiXG4gICAgW25nQ2xhc3NdPVwieyAncG9ydGFsLS1hY3RpdmUnOiBpc1BvcnRhbCB9XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicG9ydGFsX19pdGVtXCJcbiAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKCRldmVudClcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiaG9tZV9zXCI+PC9hdWktaWNvbj5cbiAgICAgIHt7IHBvcnRhbE1lbnUuc3BlYy5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZToge306dHJ1ZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBzdHlsZT1cImhlaWdodDogMTQ4cHhcIlxuICAgIFtsb2FkaW5nXT1cInRydWVcIlxuICA+PC9hY2wtbG9hZGluZy1tYXNrPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvY29tbW9uLWxheW91dC9wcm9kdWN0LXNlbGVjdC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9jb21tb24tbGF5b3V0L3Byb2R1Y3Qtc2VsZWN0L2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUdMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSi9DLCtCQUtDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsY0FDRjtJQURFLHNFQUNGOzs7SUFxQlEsNkJBS0M7SUFDQywrQkFPWTs7Ozs7O0lBTFYsY0FFRTtJQUVGLEFBSkEs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QUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0IsRUFBRSxPQUF5QjtRQUMzRCxPQUFPLENBQ0wsT0FBTztZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDO3VGQXJIVSxzQkFBc0I7b0VBQXRCLHNCQUFzQjtZQ3BFbkMsaUNBZUM7Ozs7Ozs7WUFDQyx5RUFLQzs7O1lBR0QsK0JBTVk7OztZQUNkLGlCQUFTO1lBZ0VULEFBL0RBLDBIQUFtQiw2R0ErREc7OztZQWpGcEIsQUFMQSxBQURBLEFBREEsQUFMQSxxQ0FBbUIsK0JBS1csaURBQ0EseUxBSzdCLDhFQUNnRTtZQUc5RCxlQUNtRTtZQURuRSxrSUFDbUU7WUFTcEUsZUFBeUQ7WUFDekQsQUFEQSxtRkFBeUQsOERBQ2Q7OztpRkR3Q2xDLHNCQUFzQjtjQU5sQyxTQUFTOzJCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO29KQUkvQyxZQUFZO2tCQURYLEtBQUs7WUFJTixPQUFPO2tCQUROLEtBQUs7WUFJTixLQUFLO2tCQURKLEtBQUs7O2tGQVBLLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyByZWRpcmVjdFNTT0VudHJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vYXV0aG9yaXphdGlvbi9hdXRob3JpemF0aW9uJztcbmltcG9ydCB7XG4gIFN0cmluZ01hcCxcbiAgUHJvZHVjdEVudHJ5LFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9wZXJtaXNzaW9uL2s4cy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdEVudHJ5TmFtZSB9IGZyb20gJy4uL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25MYXlvdXRTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUHJvZHVjdFNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UnO1xuXG5jb25zdCBBRE1JTl9WSUVXX01BUDoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgfTtcbn0gPSB7XG4gICdjb25zb2xlLXBsYXRmb3JtJzoge1xuICAgIGhyZWY6ICcvbWFuYWdlLXBsYXRmb3JtJyxcbiAgICB2aWV3OiAncGxhdGZvcm12aWV3JyxcbiAgfSxcbiAgJ2NvbnNvbGUtcHJvamVjdCc6IHtcbiAgICBocmVmOiAnL2hvbWUvcHJvamVjdCcsXG4gICAgdmlldzogJ3Byb2plY3R2aWV3JyxcbiAgfSxcbiAgJ2NvbnNvbGUtc2VjdXJpdHknOiB7XG4gICAgaHJlZjogJy9jb250YWluZXItc2VjdXJpdHkvaG9tZScsXG4gICAgdmlldzogJ2NvbnRhaW5lcnNlY3VyaXR5dmlldycsXG4gIH0sXG59O1xuXG5jb25zdCBWSUVXID0ge1xuICB0eXBlOiAndmlld3MnLFxuICBhcGlHcm91cDogJ2F1dGguYWxhdWRhLmlvJyxcbn07XG5cbmNvbnN0IFBSRUZJWCA9ICdjb25zb2xlLSc7XG5cbmV4cG9ydCBjb25zdCBQUk9EVUNUX0lDT05fTUFQOiBTdHJpbmdNYXAgPSB7XG4gICdjb25zb2xlLWFjcCc6ICdhY3AnLFxuICAnY29uc29sZS1hc20nOiAnYXNtJyxcbiAgJ2NvbnNvbGUtZGV2b3BzJzogJ2Rldm9wcycsXG4gIC8vIGNvbnNvbGUtZS1hYW0gcHJlZml4IOS4uuS6huWFvOWuuem7mOiupOaOkuW6j++8jOetieWQjue7reaOkuW6j+aWueahiOWHuuadpeWPr+S7peaUueaIkGNvbnNvbGUtYWFtXG4gICdjb25zb2xlLWUtYWFtJzogJ2FwcF9zdG9yZScsXG4gICdjb25zb2xlLXNlY3VyaXR5JzogJ2J1Z19zZWFyY2gnLFxuICAnY29uc29sZS1wbGF0Zm9ybSc6ICdwbGF0Zm9ybV9tYW5hZ2VtZW50JyxcbiAgJ2NvbnNvbGUtcHJvamVjdCc6ICdwcm9qZWN0X21hbmFnZW1lbnQnLFxuICAnY29uc29sZS1kYXRhc2VydmljZXMnOiAnZGF0YV9zZXJ2aWNlcycsXG4gICdjb25zb2xlLWNlYyc6ICdjbG91ZF9lZGdlX2NvbGxhYm9yYXRpb24nLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXByb2R1Y3Qtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwbGF0Zm9ybVBhdGggPSAnL2NvbnNvbGUtcGxhdGZvcm0nO1xuXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQ/OiBQcm9kdWN0RW50cnlOYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIFBST0RVQ1RfSUNPTl9NQVAgPSBQUk9EVUNUX0lDT05fTUFQO1xuXG4gIGFsbFByb2R1Y3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucHJvZHVjdFNlbGVjdFNlcnZpY2UucmVsb2FkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0QWxsUHJvZHVjdHMoKSksXG4gICAgKSxcbiAgICB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgIHR5cGU6IFZJRVcsXG4gICAgICBuYW1lOiBPYmplY3QudmFsdWVzKEFETUlOX1ZJRVdfTUFQKS5tYXAoaXRlbSA9PiBpdGVtLnZpZXcpLFxuICAgIH0pLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3Byb2R1Y3RzLCB2aWV3c10pID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhBRE1JTl9WSUVXX01BUCk7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uTWFwOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gICAgICB9ID0ge307XG4gICAgICBrZXlzLmZvckVhY2goKGtleSwgaW5kZXgpID0+IChwZXJtaXNzaW9uTWFwW2tleV0gPSB2aWV3c1tpbmRleF0pKTtcbiAgICAgIHJldHVybiBwcm9kdWN0cy5maWx0ZXIocCA9PlxuICAgICAgICBrZXlzLmluY2x1ZGVzKHAubWV0YWRhdGEubmFtZSkgPyBwZXJtaXNzaW9uTWFwW3AubWV0YWRhdGEubmFtZV0gOiB0cnVlLFxuICAgICAgKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgc2VsZWN0YWJsZVByb2R1Y3RzJCA9IHRoaXMuYWxsUHJvZHVjdHMkLnBpcGUoXG4gICAgbWFwKHByb2R1Y3RzID0+XG4gICAgICAocHJvZHVjdHMgfHwgW10pLmZpbHRlcihcbiAgICAgICAgcHJvZHVjdCA9PlxuICAgICAgICAgICF0aGlzLmlzUG9ydGFsUHJvZHVjdChwcm9kdWN0KSAmJlxuICAgICAgICAgICghcHJvZHVjdC5zdGF0dXMgfHwgcHJvZHVjdC5zdGF0dXMuaGlkZGVuT25Qb3J0YWwgIT09IHRydWUpLFxuICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwb3J0YWxQcm9kdWN0JCA9IHRoaXMuYWxsUHJvZHVjdHMkLnBpcGUoXG4gICAgbWFwKHJlcyA9PiByZXMuZmluZChwID0+IHRoaXMuaXNQb3J0YWxQcm9kdWN0KHApKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGRpc2FibGVkJCA9IHRoaXMuc2VsZWN0YWJsZVByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChwcm9kdWN0cyA9PiAhcHJvZHVjdHMubGVuZ3RoKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgaXNQb3J0YWwgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBDb21tb25MYXlvdXRTdG9yZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c1Blcm1pc3Npb246IEs4c1Blcm1pc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFNlbGVjdFNlcnZpY2U6IFByb2R1Y3RTZWxlY3RTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc1BvcnRhbCA9IHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKCcvcG9ydGFsJyk7XG4gIH1cblxuICBqdW1wKGVudHJ5cG9pbnQ6IHN0cmluZywgc3NvRW5hYmxlZDogYm9vbGVhbiwgdGFyZ2V0ID0gJ19zZWxmJykge1xuICAgIHdpbmRvdy5vcGVuKHNzb0VuYWJsZWQgPyByZWRpcmVjdFNTT0VudHJ5KGVudHJ5cG9pbnQpIDogZW50cnlwb2ludCwgdGFyZ2V0KTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9Qb3J0YWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHdpbmRvdy5vcGVuKCcvY29uc29sZS1wb3J0YWwnLCAnX3NlbGYnKTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9Qcm9kdWN0KGl0ZW06IFByb2R1Y3RFbnRyeSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5pc1Byb2R1Y3RBY3RpdmUoaXRlbSwgdGhpcy5jdXJyZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXRlbS5zcGVjLnBhY2tUeXBlID09PSAnQWRtaW5QYWdlJykge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm0oaXRlbSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpdGVtLnNwZWMucGFja1R5cGUgPT09ICdCdWlsZEluJykge1xuICAgICAgdGhpcy5qdW1wKGl0ZW0uc3BlYy5lbnRyeXBvaW50LCBmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpdGVtLnNwZWMucGFja1R5cGUgPT09ICdJbnRlZ3JhdGVkJykge1xuICAgICAgdGhpcy5qdW1wKGl0ZW0uc3BlYy5lbnRyeXBvaW50LCBpdGVtLnNwZWMuc3NvRW5hYmxlZCwgJ19ibGFuaycpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrRm4gPSAoXzogbnVtYmVyLCBpdGVtOiBQcm9kdWN0RW50cnkpID0+IGl0ZW0ubWV0YWRhdGEubmFtZTtcblxuICBuYXZpZ2F0ZVRvUGxhdGZvcm0oaXRlbTogUHJvZHVjdEVudHJ5KSB7XG4gICAgY29uc3QgaHJlZiA9IEFETUlOX1ZJRVdfTUFQW2l0ZW0ubWV0YWRhdGEubmFtZV0uaHJlZjtcbiAgICBpZiAodGhpcy5wbGF0Zm9ybVBhdGgpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGAke3RoaXMucGxhdGZvcm1QYXRofSR7aHJlZn1gLCAnX3NlbGYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2hyZWZdKTtcbiAgICB9XG4gIH1cblxuICBpc1Byb2R1Y3RBY3RpdmUoaXRlbTogUHJvZHVjdEVudHJ5LCBjdXJyZW50OiBQcm9kdWN0RW50cnlOYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGN1cnJlbnQgJiZcbiAgICAgIGl0ZW0ubWV0YWRhdGEubmFtZSA9PT1cbiAgICAgICAgKGN1cnJlbnQuc3RhcnRzV2l0aChQUkVGSVgpID8gY3VycmVudCA6IFBSRUZJWCArIGN1cnJlbnQpXG4gICAgKTtcbiAgfVxuXG4gIGlzUG9ydGFsUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnkpIHtcbiAgICByZXR1cm4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSAnY29uc29sZS1wb3J0YWwnO1xuICB9XG5cbiAgZ2V0UHJvZHVjdFRpdGxlID0gKFxuICAgIHByb2R1Y3RzOiBQcm9kdWN0RW50cnlbXSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGN1cnJlbnQ6IFByb2R1Y3RFbnRyeU5hbWUsXG4gICkgPT5cbiAgICB0aXRsZSB8fFxuICAgIGdldChcbiAgICAgIChwcm9kdWN0cyB8fCBbXSkuZmluZChwID0+IHRoaXMuaXNQcm9kdWN0QWN0aXZlKHAsIGN1cnJlbnQpKSxcbiAgICAgIFsnc3BlYycsICdkaXNwbGF5TmFtZSddLFxuICAgICk7XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYWNsLXByb2R1Y3Qtc2VsZWN0XCJcbiAgW2F1aVRvb2x0aXBdPVwibWVudVwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcENsYXNzPVwiYXVpLXByb2R1Y3Qtc2VsZWN0LXRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcEhpZGVPbkNsaWNrXT1cInRydWVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICBbdGl0bGVdPVwiXG4gICAgKGRpc2FibGVkJCB8IGFzeW5jKVxuICAgICAgPyAnJ1xuICAgICAgOiAoYWxsUHJvZHVjdHMkIHwgYXN5bmMgfCBwdXJlOiBnZXRQcm9kdWN0VGl0bGU6dGl0bGU6Y3VycmVudCB8IHRyYW5zbGF0ZSlcbiAgXCJcbiAgW25nQ2xhc3NdPVwieyAnYWNsLXByb2R1Y3Qtc2VsZWN0LS1kaXNhYmxlZCc6IGRpc2FibGVkJCB8IGFzeW5jIH1cIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICBhbGxQcm9kdWN0cyQgfCBhc3luYyB8IHB1cmU6IGdldFByb2R1Y3RUaXRsZTp0aXRsZTpjdXJyZW50IGFzIHByb2R1Y3RUaXRsZVxuICAgIFwiXG4gICAgY2xhc3M9XCJhY2wtcHJvZHVjdC1zZWxlY3RfX3RpdGxlXCJcbiAgPlxuICAgIHt7IHByb2R1Y3RUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxhdWktaWNvblxuICAgIGljb249XCJtZW51X2RvdF9zXCJcbiAgICBzaXplPVwiMTZweFwiXG4gICAgW2F1aVRvb2x0aXBdPVwiJ25vX3Byb2R1Y3RfYW5kX2NvbnRhY3RfYWRtaW4nIHwgdHJhbnNsYXRlXCJcbiAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiEoZGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICA+PC9hdWktaWNvbj5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNtZW51PlxuICA8ZGl2IGNsYXNzPVwibWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RhYmxlUHJvZHVjdHMkIHwgYXN5bmMgYXMgcHJvZHVjdHM7IGVsc2UgbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1lbnVfX2l0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21lbnVfX2l0ZW0tLWFjdGl2ZSc6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICB9XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdHM7IHRyYWNrQnk6IHRyYWNrRm5cIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Byb2R1Y3QoaXRlbSwgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51X19pdGVtLWljb25cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBpdGVtLnNwZWMucGFja1R5cGUgIT09ICdJbnRlZ3JhdGVkJyAmJiAhaXRlbS5zcGVjLmxvZ287XG4gICAgICAgICAgICAgIGVsc2UgbG9nb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2wtY29sb3JmdWwtaWNvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiJ2JpY29sb3I6JyArIFBST0RVQ1RfSUNPTl9NQVBbaXRlbS5tZXRhZGF0YS5uYW1lXVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvZ28+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgKGl0ZW0uc3BlYy5sb2dvIHwgYWNsSW1hZ2VIZWFkZXIpIHx8XG4gICAgICAgICAgICAgICAgICAnaW1hZ2VzL3Byb2R1Y3QtZGVmYXVsdC1sb2dvLnBuZycgfCBhY2xTYWZlOiAndXJsJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImRlZmF1bHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnVfX2l0ZW0taW5mbyB0dy1saW5lLWNsYW1wLTJcIj5cbiAgICAgICAgICB7eyBpdGVtLnNwZWMuZGlzcGxheU5hbWUgfCB0cmFuc2xhdGU6IHt9OnRydWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaXRlbSB8IHB1cmU6IGlzUHJvZHVjdEFjdGl2ZTpjdXJyZW50XCJcbiAgICAgICAgICBjbGFzcz1cImNoZWNrLXRyaWFuZ2xlLWJhZGdlXCJcbiAgICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwicG9ydGFsUHJvZHVjdCQgfCBhc3luYyBhcyBwb3J0YWxNZW51XCJcbiAgICBjbGFzcz1cInBvcnRhbFwiXG4gICAgW25nQ2xhc3NdPVwieyAncG9ydGFsLS1hY3RpdmUnOiBpc1BvcnRhbCB9XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicG9ydGFsX19pdGVtXCJcbiAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKCRldmVudClcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiaG9tZV9zXCI+PC9hdWktaWNvbj5cbiAgICAgIHt7IHBvcnRhbE1lbnUuc3BlYy5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZToge306dHJ1ZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBzdHlsZT1cImhlaWdodDogMTQ4cHhcIlxuICAgIFtsb2FkaW5nXT1cInRydWVcIlxuICA+PC9hY2wtbG9hZGluZy1tYXNrPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -38,10 +38,10 @@ export class TranslateService {
38
38
  ...options,
39
39
  };
40
40
  this.translationsList = [
41
- options.translations,
41
+ options?.translations,
42
42
  ...(translationList || []),
43
43
  ].filter(Boolean);
44
- if (options.remoteUrl) {
44
+ if (options?.remoteUrl) {
45
45
  if (Array.isArray(options.remoteUrl)) {
46
46
  options.remoteUrl.forEach(url => this.addRemoteTranslations(url));
47
47
  }
@@ -112,7 +112,6 @@ export class TranslateService {
112
112
  /**
113
113
  * 手动添加语言包
114
114
  */
115
- // eslint-disable-next-line sonarjs/cognitive-complexity
116
115
  addRemoteTranslations(remoteUrl) {
117
116
  if (!remoteUrl) {
118
117
  return;
@@ -298,4 +297,4 @@ __decorate([
298
297
  type: Inject,
299
298
  args: [TRANSLATIONS]
300
299
  }] }], { remoteLoaded$: [], locale$: [] }); })();
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdHJhbnNsYXRlL3RyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBRVYsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQVUzRCxNQUFNLE9BQU8sZ0JBQWdCO0lB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QUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxDQUFDLElBQUksQ0FDViw0Q0FBNEMsTUFBTSxrQkFBa0IsVUFBVSx5RkFBeUYsQ0FDeEssQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLElBQUksQ0FDVixpQ0FBaUMsTUFBTSx3QkFBd0IsVUFBVSxxR0FBcUcsQ0FDL0ssQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpRkE5V1UsZ0JBQWdCLDBDQStCakIsZUFBZSxlQUdmLGlCQUFpQixrQkFFTCxZQUFZO3VFQXBDdkIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFESCxNQUFNOztBQVNyQjtJQURSLGVBQWUsQ0FBQyxlQUFlLENBQUM7OEJBQ1QsVUFBVTt1REFBc0I7QUFXL0M7SUFEUixlQUFlLEVBQUU7OEJBQ0EsVUFBVTtpREFBUztpRkFuQjFCLGdCQUFnQjtjQUQ1QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztzQkFnQzdCLE1BQU07dUJBQUMsZUFBZTs7c0JBRXRCLFFBQVE7O3NCQUNSLE1BQU07dUJBQUMsaUJBQWlCOztzQkFFeEIsUUFBUTs7c0JBQUksTUFBTTt1QkFBQyxZQUFZO3FCQTVCekIsYUFBYSxNQVdiLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB0cmFuc2xhdGVcbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBpc0Rldk1vZGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0LCBoZWFkLCBpc1BsYWluT2JqZWN0LCB0ZW1wbGF0ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZm9ya0pvaW4sXG4gIHRocm93RXJyb3IsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZmluYWxpemUsXG4gIG1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFqYXggfSBmcm9tICdyeGpzL2FqYXgnO1xuXG5pbXBvcnQgeyBBUElfR0FURVdBWSwgVEVNUExBVEVfT1BUSU9OUyB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUT0tFTl9CQVNFX0hSRUYgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgaXNBYnNvbHV0ZVVybCB9IGZyb20gJy4uL2NvcmUvdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL2NvcmUvdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4uL2NvcmUvdXRpbHMveWFtbCc7XG5cbmltcG9ydCB7XG4gIEZBTExCQUNLX0xBTkdVQUdFLFxuICBMT0NBTEVfUExBQ0VIT0xERVJfUkVHRVgsXG4gIExPQ0FMRV9TVE9SQUdFLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUUkFOU0xBVEVfT1BUSU9OUywgVFJBTlNMQVRJT05TIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHtcbiAgVHJhbnNsYXRlS2V5LFxuICBUcmFuc2xhdGVPcHRpb25zLFxuICBUcmFuc2xhdGlvbixcbiAgVHJhbnNsYXRpb25WYWx1ZSxcbiAgVHJhbnNsYXRpb25zLFxufSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgX3JlbW90ZUxvYWRlZD86IGJvb2xlYW47XG5cbiAgZ2V0IHJlbW90ZUxvYWRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3RlTG9hZGVkO1xuICB9XG5cbiAgQE9ic2VydmFibGVJbnB1dCgnX3JlbW90ZUxvYWRlZCcpXG4gIHJlYWRvbmx5IHJlbW90ZUxvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25zTGlzdDogQXJyYXk8UmVhZG9ubHk8VHJhbnNsYXRpb25zPj47XG4gIHByaXZhdGUgcmVtb3RlVHJhbnNsYXRpb25zTGlzdDogQXJyYXk8UmVhZG9ubHk8VHJhbnNsYXRpb25zPj47XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHJhbnNsYXRlT3B0aW9ucztcblxuICBsb2NhbGU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVhZG9ubHkgbG9jYWxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGdldCBsb2NhbGVzKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubG9jYWxlcztcbiAgfVxuXG4gIGdldCBmYWxsYmFja0xvY2FsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZhbGxiYWNrTG9jYWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoVE9LRU5fQkFTRV9IUkVGKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmFzZUhyZWY6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMQVRFX09QVElPTlMpXG4gICAgb3B0aW9uczogVHJhbnNsYXRlT3B0aW9ucyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRSQU5TTEFUSU9OUykgdHJhbnNsYXRpb25MaXN0OiBUcmFuc2xhdGlvbnNbXSxcbiAgKSB7XG4gICAgdGhpcy5sb2NhbGUgPSBvcHRpb25zPy5sb2NhbGUgfHwgbmF2aWdhdG9yLmxhbmd1YWdlO1xuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIGxvY2FsZXM6IFt0aGlzLmxvY2FsZV0sXG4gICAgICBmYWxsYmFja0xvY2FsZTogRkFMTEJBQ0tfTEFOR1VBR0UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICB0aGlzLnRyYW5zbGF0aW9uc0xpc3QgPSBbXG4gICAgICBvcHRpb25zLnRyYW5zbGF0aW9ucyxcbiAgICAgIC4uLih0cmFuc2xhdGlvbkxpc3QgfHwgW10pLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgaWYgKG9wdGlvbnMucmVtb3RlVXJsKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnJlbW90ZVVybCkpIHtcbiAgICAgICAgb3B0aW9ucy5yZW1vdGVVcmwuZm9yRWFjaCh1cmwgPT4gdGhpcy5hZGRSZW1vdGVUcmFuc2xhdGlvbnModXJsKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlbW90ZVRyYW5zbGF0aW9ucyhvcHRpb25zLnJlbW90ZVVybCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGtleSAtIOe/u+ivkWtleVxuICAgKiBAcGFyYW0gZGF0YSAtIOagueaNrue/u+ivkeS4iuS4i+aWh+aVsOaNruiOt+WPlue/u+ivkeWGheWuue+8jOe/u+ivkemhueS4jeWtmOWcqOebtOaOpei/lOWbniBrZXkg5paH5pysXG4gICAqIEBwYXJhbSBpZ25vcmVOb25FeGlzdCAtIOW8gOWPkeeOr+Wig+aYr+WQpuW/veinhuS4jeWtmOWcqOeahOe/u+ivkemhuVxuICAgKi9cbiAgZ2V0KGtleTogVHJhbnNsYXRlS2V5LCBkYXRhPzogdW5rbm93biwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy5nZXRSYXcoa2V5LCBpZ25vcmVOb25FeGlzdCk7XG4gICAgaWYgKGRhdGEgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGRhdGEgPSBbZGF0YV07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGVtcGxhdGUodHJhbnNsYXRpb24sIFRFTVBMQVRFX09QVElPTlMpKGRhdGEgYXMgb2JqZWN0KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlW2lzRGV2TW9kZSgpID8gJ2Vycm9yJyA6ICd3YXJuJ10oXG4gICAgICAgIGBUaGUgdHJhbnNsYXRpb24ga2V5ICcke2tleX0nIGlzIG1pc3NpbmcgdGhlIG5lY2Vzc2FyeSBwYXJhbWV0ZXJzLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDnm7TmjqXov5Tlm57nv7vor5HmlofmnKzmqKHmnb9cbiAgICogQHBhcmFtIGtleSAtIOe/u+ivkWtleVxuICAgKiBAcGFyYW0gaWdub3JlTm9uRXhpc3QgLSDlvIDlj5Hnjq/looPmmK/lkKblv73op4bkuI3lrZjlnKjnmoTnv7vor5HpoblcbiAgICovXG4gIGdldFJhdyhrZXk6IFRyYW5zbGF0ZUtleSwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIHJldHVybiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJ1xuICAgICAgPyB0aGlzLl9nZXQoa2V5LCBpZ25vcmVOb25FeGlzdClcbiAgICAgIDogKHRoaXMuX2dldFZhbHVlKGtleSkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmoLnmja4gYGxvY2FsZXNgIOW+queOr+WIh+aNouW9k+WJjeWMuuWfn+iuvue9rlxuICAgKi9cbiAgdG9nZ2xlTG9jYWxlKCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHRpb25zLmxvY2FsZXMuaW5kZXhPZih0aGlzLmxvY2FsZSk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2Bsb2NhbGVzYCBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgY29ycmVjdGx5Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRMb2NhbGUgPVxuICAgICAgdGhpcy5vcHRpb25zLmxvY2FsZXNbXG4gICAgICAgIGluZGV4ID09PSB0aGlzLm9wdGlvbnMubG9jYWxlcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMVxuICAgICAgXTtcblxuICAgIGlmICghbmV4dExvY2FsZSB8fCB0aGlzLmxvY2FsZSA9PT0gbmV4dExvY2FsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0TG9jYWxlKG5leHRMb2NhbGUpO1xuICB9XG5cbiAgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9DQUxFX1NUT1JBR0UsIGxvY2FsZSk7XG4gICAgdGhpcy5sb2NhbGUgPSBsb2NhbGU7XG4gIH1cblxuICAvKipcbiAgICog5omL5Yqo5re75Yqg6K+t6KiA5YyFXG4gICAqL1xuICBhZGRUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbnMpIHtcbiAgICB0aGlzLnRyYW5zbGF0aW9uc0xpc3QudW5zaGlmdChPYmplY3QuZnJlZXplKHRyYW5zbGF0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIOaJi+WKqOa3u+WKoOivreiogOWMhVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgYWRkUmVtb3RlVHJhbnNsYXRpb25zKHJlbW90ZVVybDogc3RyaW5nKSB7XG4gICAgaWYgKCFyZW1vdGVVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVtb3RlTG9hZGVkID0gZmFsc2U7XG4gICAgcmVtb3RlVXJsID0gaGVhZChyZW1vdGVVcmwuc3BsaXQoLyMvKSk7XG4gICAgY29uc3QgaXNBYnNvbHV0ZSA9IGlzQWJzb2x1dGVVcmwocmVtb3RlVXJsKTtcbiAgICBjb25zdCBpc0FwaUdhdGVXYXlSZXF1ZXN0ID0gcmVtb3RlVXJsLnN0YXJ0c1dpdGgoQVBJX0dBVEVXQVkpO1xuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgICAgaWYgKCFpc0Fic29sdXRlICYmICghdGhpcy5iYXNlSHJlZiB8fCAhaXNBYnNvbHV0ZVVybCh0aGlzLmJhc2VIcmVmKSkpIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gJ2Fic29sdXRlIGJhc2UgaHJlZiBpcyByZXF1aXJlZCBmb3IgcmVsYXRpdmUgcmVtb3RlIHVybCc7XG4gICAgICB9IGVsc2UgaWYgKHJlbW90ZVVybC5zcGxpdCgnPycpWzBdLmluY2x1ZGVzKCcuLycpKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgJ2RvIG5vdCB1c2UgYW55IGRvdCB3aXRoIHNsYXNoIGZvciByZWxhdGl2ZSB1cmwgd2hpY2ggc2hvdWxkIGFsd2F5cyBiYXNlIGZyb20gYmFzZSBocmVmJztcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWlzQWJzb2x1dGUgJiYgIWlzQXBpR2F0ZVdheVJlcXVlc3QpIHtcbiAgICAgIHJlbW90ZVVybCA9XG4gICAgICAgICh0aGlzLmJhc2VIcmVmLmVuZHNXaXRoKCcvJykgPyB0aGlzLmJhc2VIcmVmIDogdGhpcy5iYXNlSHJlZiArICcvJykgK1xuICAgICAgICByZW1vdGVVcmw7XG4gICAgfVxuICAgIChMT0NBTEVfUExBQ0VIT0xERVJfUkVHRVgudGVzdChyZW1vdGVVcmwpXG4gICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgIHRoaXMub3B0aW9ucy5sb2NhbGVzLm1hcChsb2NhbGUgPT5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmwsIGxvY2FsZSkucGlwZShcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5sb29zZSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgbG9vc2VMb2NhbGUgPSB0aGlzLl9nZXRMb29zZUxvY2FsZShsb2NhbGUpO1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUgIT09IGxvb3NlTG9jYWxlICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLm9wdGlvbnMubG9jYWxlcy5pbmNsdWRlcyhsb29zZUxvY2FsZSlcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFRyYW5zbGF0aW9uKHJlbW90ZVVybCwgbG9vc2VMb2NhbGUpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNEZXZNb2RlKCkgPyB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSA6IEVNUFRZO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsdGVyKGlzUGxhaW5PYmplY3QpLFxuICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdOiB0cmFuc2xhdGlvbixcbiAgICAgICAgICAgICAgICAgIH0gYXMgVHJhbnNsYXRpb25zKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKS5waXBlKG1hcChfID0+IF8ucmVkdWNlKE9iamVjdC5hc3NpZ24pKSlcbiAgICAgIDogdGhpcy5mZXRjaFRyYW5zbGF0aW9uKHJlbW90ZVVybCkucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IChpc0Rldk1vZGUoKSA/IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpIDogRU1QVFkpKSxcbiAgICAgICAgKVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5fcmVtb3RlTG9hZGVkID0gdHJ1ZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZW1vdGVUcmFuc2xhdGlvbnMgPT4ge1xuICAgICAgICBpZiAoIXJlbW90ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdCkge1xuICAgICAgICAgIHRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdC51bnNoaWZ0KE9iamVjdC5mcmVlemUocmVtb3RlVHJhbnNsYXRpb25zKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDku47ov5znqIsgdXJsIOaooeadv+WSjOWMuuWfn+iOt+WPlue/u+ivkeWMhVxuICAgKi9cbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb25zPjtcbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPjtcbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKSB7XG4gICAgaWYgKGlzRGV2TW9kZSgpICYmIExPQ0FMRV9QTEFDRUhPTERFUl9SRUdFWC50ZXN0KHJlbW90ZVVybCkgJiYgIWxvY2FsZSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ2Bsb2NhbGVgIGlzIHJlcXVpcmVkIHNpbmUgdGhlIHByb3ZpZGVkIHJlbW90ZSB1cmwgY29udGFpbnMgbG9jYWxlIHBsYWNlaG9sZGVyJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGlzSlNPTiA9IHJlbW90ZVVybC5lbmRzV2l0aCgnLmpzb24nKTtcbiAgICBjb25zdCBpc0FwaUdhdGVXYXlSZXF1ZXN0ID0gcmVtb3RlVXJsLnN0YXJ0c1dpdGgoQVBJX0dBVEVXQVkpO1xuICAgIGNvbnN0IHVybCA9IGxvY2FsZVxuICAgICAgPyByZW1vdGVVcmwucmVwbGFjZShMT0NBTEVfUExBQ0VIT0xERVJfUkVHRVgsIGxvY2FsZSlcbiAgICAgIDogcmVtb3RlVXJsO1xuICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9IGlzSlNPTiA/ICdqc29uJyA6ICd0ZXh0JztcbiAgICBpZiAoaXNBcGlHYXRlV2F5UmVxdWVzdCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAucmVxdWVzdCgnR0VUJywgdXJsLCB7IHJlc3BvbnNlVHlwZSB9KVxuICAgICAgICAucGlwZShtYXAoYm9keSA9PiAoaXNKU09OID8gYm9keSA6IHBhcnNlKGJvZHkpKSkpO1xuICAgIH1cbiAgICByZXR1cm4gYWpheCh7XG4gICAgICB1cmwsXG4gICAgICByZXNwb25zZVR5cGUsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoeyByZXNwb25zZSB9KSA9PiAoaXNKU09OID8gcmVzcG9uc2UgOiBwYXJzZShyZXNwb25zZSBhcyBzdHJpbmcpKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldExvb3NlTG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGhlYWQobG9jYWxlLnNwbGl0KC9bXy1dLykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VmFsdWUoXG4gICAgc291cmNlOiBUcmFuc2xhdGlvbixcbiAgICBsb2NhbGUgPSB0aGlzLmxvY2FsZSxcbiAgKTogVHJhbnNsYXRpb25WYWx1ZSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gc291cmNlW2xvY2FsZV07XG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgdGhpcy5vcHRpb25zLmxvb3NlKSB7XG4gICAgICBjb25zdCBsb29zZUxvY2FsZSA9IHRoaXMuX2dldExvb3NlTG9jYWxlKGxvY2FsZSk7XG4gICAgICB2YWx1ZSA9XG4gICAgICAgIGxvY2FsZSA9PT0gbG9vc2VMb2NhbGVcbiAgICAgICAgICA/IE9iamVjdC5lbnRyaWVzKHNvdXJjZSkuZmluZChcbiAgICAgICAgICAgICAgKFtrZXldKSA9PiBsb2NhbGUgPT09IHRoaXMuX2dldExvb3NlTG9jYWxlKGtleSksXG4gICAgICAgICAgICApPy5bMV1cbiAgICAgICAgICA6IHNvdXJjZVtsb29zZUxvY2FsZV07XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PSBudWxsICYmIGxvY2FsZSAhPT0gdGhpcy5vcHRpb25zLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoc291cmNlLCB0aGlzLm9wdGlvbnMuZmFsbGJhY2tMb2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9nZXRXaXRoRmFsbGJhY2soXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbG9jYWxlID0gdGhpcy5sb2NhbGUsXG4gICAgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbnMsXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSBnZXQodGhpcy5fZ2V0VmFsdWUodHJhbnNsYXRpb25zLCBsb2NhbGUpLCBrZXkpO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgaXNEZXZNb2RlKCkgJiZcbiAgICAgICAgdHlwZW9mIGdldCh2YWx1ZSwgU3ltYm9sLnRvUHJpbWl0aXZlKSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlIHRyYW5zbGF0aW9uIGZvciBsb2NhbGU6IFxcYCR7bG9jYWxlfVxcYCBhbmQga2V5OlxcYCR7a2V5fVxcYCBpcyBhbiBvYmplY3QsIHdoaWNoIGNvdWxkIGJlIHVuZXhwZWN0ZWRgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChsb2NhbGUgIT09IHRoaXMub3B0aW9ucy5mYWxsYmFja0xvY2FsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldFdpdGhGYWxsYmFjayhcbiAgICAgICAga2V5LFxuICAgICAgICB0aGlzLm9wdGlvbnMuZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIHRyYW5zbGF0aW9ucyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QmFzZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBsb2NhbGUgPSB0aGlzLmxvY2FsZSxcbiAgICB0cmFuc2xhdGlvbnNMaXN0OiBUcmFuc2xhdGlvbnNbXSxcbiAgKSB7XG4gICAgaWYgKCF0cmFuc2xhdGlvbnNMaXN0IHx8IHRyYW5zbGF0aW9uc0xpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSB0cmFuc2xhdGlvbnNMaXN0Lmxlbmd0aDsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9nZXRXaXRoRmFsbGJhY2soa2V5LCBsb2NhbGUsIHRyYW5zbGF0aW9uc0xpc3RbaSAtIDFdKTtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXQoa2V5OiBzdHJpbmcsIGlnbm9yZU5vbkV4aXN0ID0gZmFsc2UsIGxvY2FsZSA9IHRoaXMubG9jYWxlKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5fZ2V0QmFzZShrZXksIGxvY2FsZSwgdGhpcy5yZW1vdGVUcmFuc2xhdGlvbnNMaXN0KTtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLl9nZXRCYXNlKGtleSwgbG9jYWxlLCB0aGlzLnRyYW5zbGF0aW9uc0xpc3QpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBpc0Rldk1vZGUoKSAmJlxuICAgICAgIWlnbm9yZU5vbkV4aXN0ICYmXG4gICAgICB0eXBlb2YgZ2V0KHZhbHVlLCBTeW1ib2wudG9QcmltaXRpdmUpICE9PSAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyB0cmFuc2xhdGlvbiBmb3VuZCBmb3IgbG9jYWxlOiBcXGAke2xvY2FsZX1cXGAgYW5kIGtleTogXFxgJHtrZXl9XFxgLCB3aGljaCBjb3VsZCBiZSB1bmV4cGVjdGVkYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICBwcml2YXRlIF9jb21wYXJlS2V5cyhcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24sXG4gICAgcHJldlRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbixcbiAgICBwYXRoOiBzdHJpbmdbXSA9IFtdLFxuICApIHtcbiAgICBpZiAodHJhbnNsYXRpb24gPT0gbnVsbCB8fCBwcmV2VHJhbnNsYXRpb24gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIE9iamVjdC5lbnRyaWVzKHRyYW5zbGF0aW9uKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByZXZUcmFuc2xhdGlvbiwga2V5KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHByZXZUcmFuc2xhdGlvbltrZXldO1xuICAgICAgY29uc3QgdmFsdWVJc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gICAgICBjb25zdCBwcmV2VmFsdWVJc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdChwcmV2VmFsdWUpO1xuXG4gICAgICBpZiAodmFsdWVJc1BsYWluT2JqZWN0ICYmIHByZXZWYWx1ZUlzUGxhaW5PYmplY3QpIHtcbiAgICAgICAgdGhpcy5fY29tcGFyZUtleXMoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHZhbHVlIGFzIFRyYW5zbGF0aW9uLFxuICAgICAgICAgIHByZXZWYWx1ZSBhcyBUcmFuc2xhdGlvbixcbiAgICAgICAgICBbLi4ucGF0aCwga2V5XSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXZhbHVlSXNQbGFpbk9iamVjdCAmJiAhcHJldlZhbHVlSXNQbGFpbk9iamVjdCkge1xuICAgICAgICBjb25zdCBvdXRwdXRQYXRoID0gWy4uLnBhdGgsIGtleV0uam9pbignIC0+ICcpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHByZXZWYWx1ZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBUaGUgY3VzdG9taXplZCB0cmFuc2xhdGlvbiBmb3IgbG9jYWxlOiBcXGAke2xvY2FsZX1cXGAgYW5kIHBhdGg6IFxcYCR7b3V0cHV0UGF0aH1cXGAgaXMgZHVwbGljYXRlZCB3aXRoIHRoZSBvdGhlciB0cmFuc2xhdGlvbiwgcGxlYXNlIHJlbW92ZSBpdCBpbiB5b3VyIHRyYW5zbGF0aW9uIGZpbGUuYCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBUd28ga2V5cyB0aGF0IHRoZSBsb2NhbGUgaXMgXFxgJHtsb2NhbGV9XFxgIGFuZCB0aGUgcGF0aCBpcyBcXGAke291dHB1dFBhdGh9XFxgIGFyZSBzYW1lLCAgYnV0IHRoZWlyIHZhbHVlcyBhcmUgbm90IGVxdWFsICwgcGxlYXNlIHJlbW92ZSBvbmUgb2YgdGhlbSBvciBjaGFuZ2Ugb25lIG9mIHRoZSBrZXlzLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdHJhbnNsYXRlL3RyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBRVYsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQVUzRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBZ0JELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUNtQixJQUFnQixFQUVoQixRQUFnQixFQUdqQyxPQUF5QixFQUNTLGVBQStCO1FBTmhELFNBQUksR0FBSixJQUFJLENBQVk7UUFFaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQXRCbEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUE0Qi9DLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3RCLGNBQWMsRUFBRSxpQkFBaUI7WUFDakMsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixPQUFPLEVBQUUsWUFBWTtZQUNyQixHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztTQUMzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsQixJQUFJLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxHQUFpQixFQUFFLElBQWMsRUFBRSxjQUFjLEdBQUcsS0FBSztRQUMzRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0MsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLElBQWMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUNyQyx3QkFBd0IsR0FBRyx3Q0FBd0MsQ0FDcEUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxHQUFpQixFQUFFLGNBQWMsR0FBRyxLQUFLO1FBQzlDLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDO1lBQ2hDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBWSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLElBQUksU0FBUyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ2xCLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQzFELENBQUM7UUFFSixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDOUMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsWUFBMEI7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNoQixJQUFJLFlBQW9CLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxZQUFZLEdBQUcsd0RBQXdELENBQUM7WUFDMUUsQ0FBQztpQkFBTSxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELFlBQVk7b0JBQ1Ysd0ZBQXdGLENBQUM7WUFDN0YsQ0FBQztZQUNELElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN4QyxTQUFTO2dCQUNQLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO29CQUNuRSxTQUFTLENBQUM7UUFDZCxDQUFDO1FBQ0QsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxRQUFRLENBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMzQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakQsSUFDRSxNQUFNLEtBQUssV0FBVzt3QkFDdEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQzNDLENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUN2RCxDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDdkQsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNyQixHQUFHLENBQ0QsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FDM0IsQ0FBQztnQkFDQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVc7YUFDdEIsQ0FBaUIsQ0FDckIsQ0FDRixDQUNGLENBQ0YsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDbkMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNyRSxDQUNKO2FBQ0UsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FDNUM7YUFDQSxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDeEIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7WUFDbkMsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBT0QsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxNQUFlO1FBQ2pELElBQUksU0FBUyxFQUFFLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLFNBQVMsQ0FDakIsK0VBQStFLENBQ2hGLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsTUFBTTtZQUNoQixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUM7WUFDckQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDOUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUk7aUJBQ2IsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQztpQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7WUFDVixHQUFHO1lBQ0gsWUFBWTtTQUNiLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQWtCLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWM7UUFDcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxTQUFTLENBQ2YsTUFBbUIsRUFDbkIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBRXBCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsS0FBSztnQkFDSCxNQUFNLEtBQUssV0FBVztvQkFDcEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN6QixDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUNoRCxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNSLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixHQUFXLEVBQ1gsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQ3BCLFlBQTBCO1FBRTFCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUNFLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQ3pCLFNBQVMsRUFBRTtnQkFDWCxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFVBQVUsRUFDcEQsQ0FBQztnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUNWLGlDQUFpQyxNQUFNLGdCQUFnQixHQUFHLDRDQUE0QyxDQUN2RyxDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUMxQixHQUFHLEVBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQzNCLFlBQVksQ0FDYixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQ2QsR0FBVyxFQUNYLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUNwQixnQkFBZ0M7UUFFaEMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxPQUFPO1FBQ1QsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxJQUFJLENBQUMsR0FBVyxFQUFFLGNBQWMsR0FBRyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ3BFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwRSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUNFLFNBQVMsRUFBRTtZQUNYLENBQUMsY0FBYztZQUNmLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssVUFBVSxFQUNwRCxDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FDVixzQ0FBc0MsTUFBTSxpQkFBaUIsR0FBRywrQkFBK0IsQ0FDaEcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxZQUFZLENBQ2xCLE1BQWMsRUFDZCxXQUF3QixFQUN4QixlQUE0QixFQUM1QixPQUFpQixFQUFFO1FBRW5CLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxlQUFlLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbkQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEUsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsTUFBTSxzQkFBc0IsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFeEQsSUFBSSxrQkFBa0IsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsWUFBWSxDQUNmLE1BQU0sRUFDTixLQUFvQixFQUNwQixTQUF3QixFQUN4QixDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUNmLENBQUM7Z0JBQ0YsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNuRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsNENBQTRDLE1BQU0sa0JBQWtCLFVBQVUseUZBQXlGLENBQ3hLLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQ1YsaUNBQWlDLE1BQU0sd0JBQXdCLFVBQVUscUdBQXFHLENBQy9LLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7aUZBN1dVLGdCQUFnQiwwQ0ErQmpCLGVBQWUsZUFHZixpQkFBaUIsa0JBRUwsWUFBWTt1RUFwQ3ZCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBREgsTUFBTTs7QUFTckI7SUFEUixlQUFlLENBQUMsZUFBZSxDQUFDOzhCQUNULFVBQVU7dURBQXNCO0FBVy9DO0lBRFIsZUFBZSxFQUFFOzhCQUNBLFVBQVU7aURBQVM7aUZBbkIxQixnQkFBZ0I7Y0FENUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7c0JBZ0M3QixNQUFNO3VCQUFDLGVBQWU7O3NCQUV0QixRQUFROztzQkFDUixNQUFNO3VCQUFDLGlCQUFpQjs7c0JBRXhCLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMsWUFBWTtxQkE1QnpCLGFBQWEsTUFXYixPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdHJhbnNsYXRlXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCwgaGVhZCwgaXNQbGFpbk9iamVjdCwgdGVtcGxhdGUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgRU1QVFksXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGZvcmtKb2luLFxuICB0aHJvd0Vycm9yLFxuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhamF4IH0gZnJvbSAncnhqcy9hamF4JztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVksIFRFTVBMQVRFX09QVElPTlMgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgVE9LRU5fQkFTRV9IUkVGIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzQWJzb2x1dGVVcmwgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuLi9jb3JlL3V0aWxzL3lhbWwnO1xuXG5pbXBvcnQge1xuICBGQUxMQkFDS19MQU5HVUFHRSxcbiAgTE9DQUxFX1BMQUNFSE9MREVSX1JFR0VYLFxuICBMT0NBTEVfU1RPUkFHRSxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVFJBTlNMQVRFX09QVElPTlMsIFRSQU5TTEFUSU9OUyB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7XG4gIFRyYW5zbGF0ZUtleSxcbiAgVHJhbnNsYXRlT3B0aW9ucyxcbiAgVHJhbnNsYXRpb24sXG4gIFRyYW5zbGF0aW9uVmFsdWUsXG4gIFRyYW5zbGF0aW9ucyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIF9yZW1vdGVMb2FkZWQ/OiBib29sZWFuO1xuXG4gIGdldCByZW1vdGVMb2FkZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW90ZUxvYWRlZDtcbiAgfVxuXG4gIEBPYnNlcnZhYmxlSW5wdXQoJ19yZW1vdGVMb2FkZWQnKVxuICByZWFkb25seSByZW1vdGVMb2FkZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB1bmRlZmluZWQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uc0xpc3Q6IEFycmF5PFJlYWRvbmx5PFRyYW5zbGF0aW9ucz4+O1xuICBwcml2YXRlIHJlbW90ZVRyYW5zbGF0aW9uc0xpc3Q6IEFycmF5PFJlYWRvbmx5PFRyYW5zbGF0aW9ucz4+O1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFRyYW5zbGF0ZU9wdGlvbnM7XG5cbiAgbG9jYWxlOiBzdHJpbmc7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlYWRvbmx5IGxvY2FsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBnZXQgbG9jYWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmxvY2FsZXM7XG4gIH1cblxuICBnZXQgZmFsbGJhY2tMb2NhbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5mYWxsYmFja0xvY2FsZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KFRPS0VOX0JBU0VfSFJFRilcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhc2VIcmVmOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTEFURV9PUFRJT05TKVxuICAgIG9wdGlvbnM6IFRyYW5zbGF0ZU9wdGlvbnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUUkFOU0xBVElPTlMpIHRyYW5zbGF0aW9uTGlzdDogVHJhbnNsYXRpb25zW10sXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gb3B0aW9ucz8ubG9jYWxlIHx8IG5hdmlnYXRvci5sYW5ndWFnZTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBsb2NhbGVzOiBbdGhpcy5sb2NhbGVdLFxuICAgICAgZmFsbGJhY2tMb2NhbGU6IEZBTExCQUNLX0xBTkdVQUdFLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgdGhpcy50cmFuc2xhdGlvbnNMaXN0ID0gW1xuICAgICAgb3B0aW9ucz8udHJhbnNsYXRpb25zLFxuICAgICAgLi4uKHRyYW5zbGF0aW9uTGlzdCB8fCBbXSksXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICBpZiAob3B0aW9ucz8ucmVtb3RlVXJsKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnJlbW90ZVVybCkpIHtcbiAgICAgICAgb3B0aW9ucy5yZW1vdGVVcmwuZm9yRWFjaCh1cmwgPT4gdGhpcy5hZGRSZW1vdGVUcmFuc2xhdGlvbnModXJsKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlbW90ZVRyYW5zbGF0aW9ucyhvcHRpb25zLnJlbW90ZVVybCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGtleSAtIOe/u+ivkWtleVxuICAgKiBAcGFyYW0gZGF0YSAtIOagueaNrue/u+ivkeS4iuS4i+aWh+aVsOaNruiOt+WPlue/u+ivkeWGheWuue+8jOe/u+ivkemhueS4jeWtmOWcqOebtOaOpei/lOWbniBrZXkg5paH5pysXG4gICAqIEBwYXJhbSBpZ25vcmVOb25FeGlzdCAtIOW8gOWPkeeOr+Wig+aYr+WQpuW/veinhuS4jeWtmOWcqOeahOe/u+ivkemhuVxuICAgKi9cbiAgZ2V0KGtleTogVHJhbnNsYXRlS2V5LCBkYXRhPzogdW5rbm93biwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy5nZXRSYXcoa2V5LCBpZ25vcmVOb25FeGlzdCk7XG4gICAgaWYgKGRhdGEgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGRhdGEgPSBbZGF0YV07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGVtcGxhdGUodHJhbnNsYXRpb24sIFRFTVBMQVRFX09QVElPTlMpKGRhdGEgYXMgb2JqZWN0KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlW2lzRGV2TW9kZSgpID8gJ2Vycm9yJyA6ICd3YXJuJ10oXG4gICAgICAgIGBUaGUgdHJhbnNsYXRpb24ga2V5ICcke2tleX0nIGlzIG1pc3NpbmcgdGhlIG5lY2Vzc2FyeSBwYXJhbWV0ZXJzLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDnm7TmjqXov5Tlm57nv7vor5HmlofmnKzmqKHmnb9cbiAgICogQHBhcmFtIGtleSAtIOe/u+ivkWtleVxuICAgKiBAcGFyYW0gaWdub3JlTm9uRXhpc3QgLSDlvIDlj5Hnjq/looPmmK/lkKblv73op4bkuI3lrZjlnKjnmoTnv7vor5HpoblcbiAgICovXG4gIGdldFJhdyhrZXk6IFRyYW5zbGF0ZUtleSwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIHJldHVybiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJ1xuICAgICAgPyB0aGlzLl9nZXQoa2V5LCBpZ25vcmVOb25FeGlzdClcbiAgICAgIDogKHRoaXMuX2dldFZhbHVlKGtleSkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmoLnmja4gYGxvY2FsZXNgIOW+queOr+WIh+aNouW9k+WJjeWMuuWfn+iuvue9rlxuICAgKi9cbiAgdG9nZ2xlTG9jYWxlKCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHRpb25zLmxvY2FsZXMuaW5kZXhPZih0aGlzLmxvY2FsZSk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2Bsb2NhbGVzYCBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgY29ycmVjdGx5Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRMb2NhbGUgPVxuICAgICAgdGhpcy5vcHRpb25zLmxvY2FsZXNbXG4gICAgICAgIGluZGV4ID09PSB0aGlzLm9wdGlvbnMubG9jYWxlcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMVxuICAgICAgXTtcblxuICAgIGlmICghbmV4dExvY2FsZSB8fCB0aGlzLmxvY2FsZSA9PT0gbmV4dExvY2FsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0TG9jYWxlKG5leHRMb2NhbGUpO1xuICB9XG5cbiAgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9DQUxFX1NUT1JBR0UsIGxvY2FsZSk7XG4gICAgdGhpcy5sb2NhbGUgPSBsb2NhbGU7XG4gIH1cblxuICAvKipcbiAgICog5omL5Yqo5re75Yqg6K+t6KiA5YyFXG4gICAqL1xuICBhZGRUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbnMpIHtcbiAgICB0aGlzLnRyYW5zbGF0aW9uc0xpc3QudW5zaGlmdChPYmplY3QuZnJlZXplKHRyYW5zbGF0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIOaJi+WKqOa3u+WKoOivreiogOWMhVxuICAgKi9cbiAgYWRkUmVtb3RlVHJhbnNsYXRpb25zKHJlbW90ZVVybDogc3RyaW5nKSB7XG4gICAgaWYgKCFyZW1vdGVVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVtb3RlTG9hZGVkID0gZmFsc2U7XG4gICAgcmVtb3RlVXJsID0gaGVhZChyZW1vdGVVcmwuc3BsaXQoLyMvKSk7XG4gICAgY29uc3QgaXNBYnNvbHV0ZSA9IGlzQWJzb2x1dGVVcmwocmVtb3RlVXJsKTtcbiAgICBjb25zdCBpc0FwaUdhdGVXYXlSZXF1ZXN0ID0gcmVtb3RlVXJsLnN0YXJ0c1dpdGgoQVBJX0dBVEVXQVkpO1xuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgICAgaWYgKCFpc0Fic29sdXRlICYmICghdGhpcy5iYXNlSHJlZiB8fCAhaXNBYnNvbHV0ZVVybCh0aGlzLmJhc2VIcmVmKSkpIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gJ2Fic29sdXRlIGJhc2UgaHJlZiBpcyByZXF1aXJlZCBmb3IgcmVsYXRpdmUgcmVtb3RlIHVybCc7XG4gICAgICB9IGVsc2UgaWYgKHJlbW90ZVVybC5zcGxpdCgnPycpWzBdLmluY2x1ZGVzKCcuLycpKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgJ2RvIG5vdCB1c2UgYW55IGRvdCB3aXRoIHNsYXNoIGZvciByZWxhdGl2ZSB1cmwgd2hpY2ggc2hvdWxkIGFsd2F5cyBiYXNlIGZyb20gYmFzZSBocmVmJztcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWlzQWJzb2x1dGUgJiYgIWlzQXBpR2F0ZVdheVJlcXVlc3QpIHtcbiAgICAgIHJlbW90ZVVybCA9XG4gICAgICAgICh0aGlzLmJhc2VIcmVmLmVuZHNXaXRoKCcvJykgPyB0aGlzLmJhc2VIcmVmIDogdGhpcy5iYXNlSHJlZiArICcvJykgK1xuICAgICAgICByZW1vdGVVcmw7XG4gICAgfVxuICAgIChMT0NBTEVfUExBQ0VIT0xERVJfUkVHRVgudGVzdChyZW1vdGVVcmwpXG4gICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgIHRoaXMub3B0aW9ucy5sb2NhbGVzLm1hcChsb2NhbGUgPT5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmwsIGxvY2FsZSkucGlwZShcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5sb29zZSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgbG9vc2VMb2NhbGUgPSB0aGlzLl9nZXRMb29zZUxvY2FsZShsb2NhbGUpO1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUgIT09IGxvb3NlTG9jYWxlICYmXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLm9wdGlvbnMubG9jYWxlcy5pbmNsdWRlcyhsb29zZUxvY2FsZSlcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFRyYW5zbGF0aW9uKHJlbW90ZVVybCwgbG9vc2VMb2NhbGUpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNEZXZNb2RlKCkgPyB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSA6IEVNUFRZO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsdGVyKGlzUGxhaW5PYmplY3QpLFxuICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdOiB0cmFuc2xhdGlvbixcbiAgICAgICAgICAgICAgICAgIH0pIGFzIFRyYW5zbGF0aW9ucyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKS5waXBlKG1hcChfID0+IF8ucmVkdWNlKE9iamVjdC5hc3NpZ24pKSlcbiAgICAgIDogdGhpcy5mZXRjaFRyYW5zbGF0aW9uKHJlbW90ZVVybCkucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IChpc0Rldk1vZGUoKSA/IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpIDogRU1QVFkpKSxcbiAgICAgICAgKVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5fcmVtb3RlTG9hZGVkID0gdHJ1ZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZW1vdGVUcmFuc2xhdGlvbnMgPT4ge1xuICAgICAgICBpZiAoIXJlbW90ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdCkge1xuICAgICAgICAgIHRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVtb3RlVHJhbnNsYXRpb25zTGlzdC51bnNoaWZ0KE9iamVjdC5mcmVlemUocmVtb3RlVHJhbnNsYXRpb25zKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDku47ov5znqIsgdXJsIOaooeadv+WSjOWMuuWfn+iOt+WPlue/u+ivkeWMhVxuICAgKi9cbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb25zPjtcbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uPjtcbiAgZmV0Y2hUcmFuc2xhdGlvbihyZW1vdGVVcmw6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKSB7XG4gICAgaWYgKGlzRGV2TW9kZSgpICYmIExPQ0FMRV9QTEFDRUhPTERFUl9SRUdFWC50ZXN0KHJlbW90ZVVybCkgJiYgIWxvY2FsZSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ2Bsb2NhbGVgIGlzIHJlcXVpcmVkIHNpbmUgdGhlIHByb3ZpZGVkIHJlbW90ZSB1cmwgY29udGFpbnMgbG9jYWxlIHBsYWNlaG9sZGVyJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGlzSlNPTiA9IHJlbW90ZVVybC5lbmRzV2l0aCgnLmpzb24nKTtcbiAgICBjb25zdCBpc0FwaUdhdGVXYXlSZXF1ZXN0ID0gcmVtb3RlVXJsLnN0YXJ0c1dpdGgoQVBJX0dBVEVXQVkpO1xuICAgIGNvbnN0IHVybCA9IGxvY2FsZVxuICAgICAgPyByZW1vdGVVcmwucmVwbGFjZShMT0NBTEVfUExBQ0VIT0xERVJfUkVHRVgsIGxvY2FsZSlcbiAgICAgIDogcmVtb3RlVXJsO1xuICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9IGlzSlNPTiA/ICdqc29uJyA6ICd0ZXh0JztcbiAgICBpZiAoaXNBcGlHYXRlV2F5UmVxdWVzdCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAucmVxdWVzdCgnR0VUJywgdXJsLCB7IHJlc3BvbnNlVHlwZSB9KVxuICAgICAgICAucGlwZShtYXAoYm9keSA9PiAoaXNKU09OID8gYm9keSA6IHBhcnNlKGJvZHkpKSkpO1xuICAgIH1cbiAgICByZXR1cm4gYWpheCh7XG4gICAgICB1cmwsXG4gICAgICByZXNwb25zZVR5cGUsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoeyByZXNwb25zZSB9KSA9PiAoaXNKU09OID8gcmVzcG9uc2UgOiBwYXJzZShyZXNwb25zZSBhcyBzdHJpbmcpKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldExvb3NlTG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGhlYWQobG9jYWxlLnNwbGl0KC9bXy1dLykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VmFsdWUoXG4gICAgc291cmNlOiBUcmFuc2xhdGlvbixcbiAgICBsb2NhbGUgPSB0aGlzLmxvY2FsZSxcbiAgKTogVHJhbnNsYXRpb25WYWx1ZSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gc291cmNlW2xvY2FsZV07XG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgdGhpcy5vcHRpb25zLmxvb3NlKSB7XG4gICAgICBjb25zdCBsb29zZUxvY2FsZSA9IHRoaXMuX2dldExvb3NlTG9jYWxlKGxvY2FsZSk7XG4gICAgICB2YWx1ZSA9XG4gICAgICAgIGxvY2FsZSA9PT0gbG9vc2VMb2NhbGVcbiAgICAgICAgICA/IE9iamVjdC5lbnRyaWVzKHNvdXJjZSkuZmluZChcbiAgICAgICAgICAgICAgKFtrZXldKSA9PiBsb2NhbGUgPT09IHRoaXMuX2dldExvb3NlTG9jYWxlKGtleSksXG4gICAgICAgICAgICApPy5bMV1cbiAgICAgICAgICA6IHNvdXJjZVtsb29zZUxvY2FsZV07XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PSBudWxsICYmIGxvY2FsZSAhPT0gdGhpcy5vcHRpb25zLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoc291cmNlLCB0aGlzLm9wdGlvbnMuZmFsbGJhY2tMb2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9nZXRXaXRoRmFsbGJhY2soXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbG9jYWxlID0gdGhpcy5sb2NhbGUsXG4gICAgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbnMsXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSBnZXQodGhpcy5fZ2V0VmFsdWUodHJhbnNsYXRpb25zLCBsb2NhbGUpLCBrZXkpO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgaXNEZXZNb2RlKCkgJiZcbiAgICAgICAgdHlwZW9mIGdldCh2YWx1ZSwgU3ltYm9sLnRvUHJpbWl0aXZlKSAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlIHRyYW5zbGF0aW9uIGZvciBsb2NhbGU6IFxcYCR7bG9jYWxlfVxcYCBhbmQga2V5OlxcYCR7a2V5fVxcYCBpcyBhbiBvYmplY3QsIHdoaWNoIGNvdWxkIGJlIHVuZXhwZWN0ZWRgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChsb2NhbGUgIT09IHRoaXMub3B0aW9ucy5mYWxsYmFja0xvY2FsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldFdpdGhGYWxsYmFjayhcbiAgICAgICAga2V5LFxuICAgICAgICB0aGlzLm9wdGlvbnMuZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIHRyYW5zbGF0aW9ucyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QmFzZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBsb2NhbGUgPSB0aGlzLmxvY2FsZSxcbiAgICB0cmFuc2xhdGlvbnNMaXN0OiBUcmFuc2xhdGlvbnNbXSxcbiAgKSB7XG4gICAgaWYgKCF0cmFuc2xhdGlvbnNMaXN0IHx8IHRyYW5zbGF0aW9uc0xpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSB0cmFuc2xhdGlvbnNMaXN0Lmxlbmd0aDsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9nZXRXaXRoRmFsbGJhY2soa2V5LCBsb2NhbGUsIHRyYW5zbGF0aW9uc0xpc3RbaSAtIDFdKTtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXQoa2V5OiBzdHJpbmcsIGlnbm9yZU5vbkV4aXN0ID0gZmFsc2UsIGxvY2FsZSA9IHRoaXMubG9jYWxlKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5fZ2V0QmFzZShrZXksIGxvY2FsZSwgdGhpcy5yZW1vdGVUcmFuc2xhdGlvbnNMaXN0KTtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLl9nZXRCYXNlKGtleSwgbG9jYWxlLCB0aGlzLnRyYW5zbGF0aW9uc0xpc3QpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBpc0Rldk1vZGUoKSAmJlxuICAgICAgIWlnbm9yZU5vbkV4aXN0ICYmXG4gICAgICB0eXBlb2YgZ2V0KHZhbHVlLCBTeW1ib2wudG9QcmltaXRpdmUpICE9PSAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyB0cmFuc2xhdGlvbiBmb3VuZCBmb3IgbG9jYWxlOiBcXGAke2xvY2FsZX1cXGAgYW5kIGtleTogXFxgJHtrZXl9XFxgLCB3aGljaCBjb3VsZCBiZSB1bmV4cGVjdGVkYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICBwcml2YXRlIF9jb21wYXJlS2V5cyhcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24sXG4gICAgcHJldlRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbixcbiAgICBwYXRoOiBzdHJpbmdbXSA9IFtdLFxuICApIHtcbiAgICBpZiAodHJhbnNsYXRpb24gPT0gbnVsbCB8fCBwcmV2VHJhbnNsYXRpb24gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIE9iamVjdC5lbnRyaWVzKHRyYW5zbGF0aW9uKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByZXZUcmFuc2xhdGlvbiwga2V5KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHByZXZUcmFuc2xhdGlvbltrZXldO1xuICAgICAgY29uc3QgdmFsdWVJc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gICAgICBjb25zdCBwcmV2VmFsdWVJc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdChwcmV2VmFsdWUpO1xuXG4gICAgICBpZiAodmFsdWVJc1BsYWluT2JqZWN0ICYmIHByZXZWYWx1ZUlzUGxhaW5PYmplY3QpIHtcbiAgICAgICAgdGhpcy5fY29tcGFyZUtleXMoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHZhbHVlIGFzIFRyYW5zbGF0aW9uLFxuICAgICAgICAgIHByZXZWYWx1ZSBhcyBUcmFuc2xhdGlvbixcbiAgICAgICAgICBbLi4ucGF0aCwga2V5XSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXZhbHVlSXNQbGFpbk9iamVjdCAmJiAhcHJldlZhbHVlSXNQbGFpbk9iamVjdCkge1xuICAgICAgICBjb25zdCBvdXRwdXRQYXRoID0gWy4uLnBhdGgsIGtleV0uam9pbignIC0+ICcpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHByZXZWYWx1ZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBUaGUgY3VzdG9taXplZCB0cmFuc2xhdGlvbiBmb3IgbG9jYWxlOiBcXGAke2xvY2FsZX1cXGAgYW5kIHBhdGg6IFxcYCR7b3V0cHV0UGF0aH1cXGAgaXMgZHVwbGljYXRlZCB3aXRoIHRoZSBvdGhlciB0cmFuc2xhdGlvbiwgcGxlYXNlIHJlbW92ZSBpdCBpbiB5b3VyIHRyYW5zbGF0aW9uIGZpbGUuYCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBUd28ga2V5cyB0aGF0IHRoZSBsb2NhbGUgaXMgXFxgJHtsb2NhbGV9XFxgIGFuZCB0aGUgcGF0aCBpcyBcXGAke291dHB1dFBhdGh9XFxgIGFyZSBzYW1lLCAgYnV0IHRoZWlyIHZhbHVlcyBhcmUgbm90IGVxdWFsICwgcGxlYXNlIHJlbW92ZSBvbmUgb2YgdGhlbSBvciBjaGFuZ2Ugb25lIG9mIHRoZSBrZXlzLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -171,7 +171,6 @@ export class DateRangePickerComponent {
171
171
  this.value = obj;
172
172
  this.selectedRange = obj;
173
173
  this.setInputWidth(obj.label);
174
- this.rangeValue = [obj.start(), obj.end()];
175
174
  this.cdr.markForCheck();
176
175
  }
177
176
  }
@@ -309,4 +308,4 @@ export class DateRangePickerComponent {
309
308
  args: ['tip', { static: false }]
310
309
  }] }); })();
311
310
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateRangePickerComponent, { className: "DateRangePickerComponent" }); })();
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9kYXRlLXJhbmdlLXBpY2tlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L2RhdGUtcmFuZ2UtcGlja2VyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFFaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxhQUFhLEVBQ2IsWUFBWSxFQUNaLDZCQUE2QixFQUM3QixvQkFBb0IsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7SUNsQy9ELDZDQVVDO0lBQ0MsMkJBVUU7Ozs7O0lBQ0YsOEJBSVk7SUFD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Q1gsUUFBUTtZQUNSLFNBQVM7O2lGQUtBLHdCQUF3QjtjQTlCcEMsU0FBUzsyQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7d0JBQ3ZELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGLFdBQ1E7b0JBQ1AsbUJBQW1CO29CQUNuQixJQUFJO29CQUNKLGdCQUFnQjtvQkFDaEIsb0JBQW9CO29CQUNwQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixPQUFPO29CQUNQLGVBQWU7b0JBQ2YsNkJBQTZCO29CQUM3QixXQUFXO29CQUNYLFFBQVE7b0JBQ1IsU0FBUztvQkFDVCxHQUFHLHVCQUF1QjtpQkFDM0IsY0FDVyxJQUFJO2lGQUdQLE9BQU87a0JBQWYsS0FBSztZQUdOLE1BQU07a0JBREwsS0FBSztZQUdHLElBQUk7a0JBQVosS0FBSztZQUdOLFNBQVM7a0JBRFIsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sR0FBRztrQkFERixTQUFTO21CQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O2tGQWR4Qix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEYXRlTmF2UmFuZ2UsXG4gIFRvb2x0aXBEaXJlY3RpdmUsXG4gIERpc2FibGVkVGltZUZuLFxuICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICBJbnB1dENvbXBvbmVudCxcbiAgSWNvbkNvbXBvbmVudCxcbiAgVGFnQ29tcG9uZW50LFxuICBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCxcbiAgSW5wdXRTdWZmaXhEaXJlY3RpdmUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgcmFuZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFRkZFQ1RfRElSRUNUSVZFX01PRFVMRSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgT3B0aW9ucywgUGlja2VyVGltZVJhbmdlIH0gZnJvbSAnLi90eXBlJztcbmltcG9ydCB7IENVU1RPTSwgQ1VTVE9NX1JBTkdFLCBERUZBVUxUX09QVElPTlMgfSBmcm9tICcuL3V0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtZGF0ZS1yYW5nZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBJbnB1dFN1ZmZpeERpcmVjdGl2ZSxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIFRhZ0NvbXBvbmVudCxcbiAgICBOZ0Zvck9mLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBBc3luY1BpcGUsXG4gICAgLi4uRUZGRUNUX0RJUkVDVElWRV9NT0RVTEUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBvcHRpb25zOiBPcHRpb25zID0ge307XG5cbiAgQElucHV0KClcbiAgZm9ybWF0ID0gJ1lZWVktTU0tREQgSEg6bW06c3MnO1xuXG4gIEBJbnB1dCgpIG1vZGUgPSAnaW5wdXQnO1xuXG4gIEBJbnB1dCgpXG4gIHRhZ0FjdGl2ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBjdXN0b21JbnB1dFdpZHRoID0gJzMxNXB4JztcblxuICBAVmlld0NoaWxkKCd0aXAnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGlwOiBUb29sdGlwRGlyZWN0aXZlO1xuXG4gIHJhbmdlVmFsdWU6IERheWpzW10gPSBudWxsO1xuXG4gIGdldCBpc0N1c3RvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJhbmdlPy5sYWJlbCA9PT0gJ2N1c3RvbSc7XG4gIH1cblxuICBnZXQgcmFuZ2VzKCkge1xuICAgIHJldHVybiBbLi4uKHRoaXMub3B0aW9ucy50aW1lUmFuZ2UgfHwgW10pLCBDVVNUT01fUkFOR0VdO1xuICB9XG5cbiAgZmluYWxPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICBDVVNUT00gPSBDVVNUT007XG5cbiAgc2VsZWN0ZWRSYW5nZTogUGlja2VyVGltZVJhbmdlO1xuICBDVVNUT01fUkFOR0UgPSBDVVNUT01fUkFOR0U7XG4gIHZhbHVlOiBQaWNrZXJUaW1lUmFuZ2U7XG5cbiAgaW5wdXRXaWR0aCA9ICcnO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogUGlja2VyVGltZVJhbmdlKSA9PiB2b2lkO1xuICBvbkJsdXI6ICh2YWx1ZTogUGlja2VyVGltZVJhbmdlKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLnN1Ym1pdFJhbmdlID0gdGhpcy5zdWJtaXRSYW5nZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZm9ybWF0VmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5mb3JtYXRDdXN0b21WYWx1ZSA9IHRoaXMuZm9ybWF0Q3VzdG9tVmFsdWUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBQaWNrZXJUaW1lUmFuZ2UpIHtcbiAgICBpZiAob2JqKSB7XG4gICAgICB0aGlzLnZhbHVlID0gb2JqO1xuICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlID0gb2JqO1xuICAgICAgdGhpcy5zZXRJbnB1dFdpZHRoKG9iai5sYWJlbCk7XG4gICAgICB0aGlzLnJhbmdlVmFsdWUgPSBbb2JqLnN0YXJ0KCksIG9iai5lbmQoKV07XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQmx1ciA9IGZuO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyB0aW1lUGlja2VyLCAuLi5yZXNldCB9ID0gdGhpcy5vcHRpb25zO1xuICAgIHRoaXMuZmluYWxPcHRpb25zID0ge1xuICAgICAgLi4uREVGQVVMVF9PUFRJT05TLFxuICAgICAgdGltZVBpY2tlcjogdGltZVBpY2tlciAhPT0gZmFsc2UsXG4gICAgICAuLi5yZXNldCxcbiAgICB9O1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMudGlwLmhpZGUoKTtcbiAgICB0aGlzLnNlbGVjdGVkUmFuZ2UgPSB0aGlzLnZhbHVlO1xuICB9XG5cbiAgc3VibWl0UmFuZ2UocmFuZ2U6IFBpY2tlclRpbWVSYW5nZSwgcmFuZ2VWYWx1ZT86IERheWpzW10pIHtcbiAgICBpZiAoIXJhbmdlVmFsdWU/Lmxlbmd0aCAmJiByYW5nZS5sYWJlbCA9PT0gQ1VTVE9NKSB7XG4gICAgICB0aGlzLnRpcC5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJhbmdlID1cbiAgICAgIHJhbmdlLmxhYmVsID09PSBDVVNUT01cbiAgICAgICAgPyB7XG4gICAgICAgICAgICBsYWJlbDogcmFuZ2UubGFiZWwsXG4gICAgICAgICAgICBzdGFydDogKCkgPT4gcmFuZ2VWYWx1ZVswXSB8fCB0aGlzLnZhbHVlLnN0YXJ0KCksXG4gICAgICAgICAgICBlbmQ6ICgpID0+IHJhbmdlVmFsdWVbMV0gfHwgZGF5anMoKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogcmFuZ2U7XG4gICAgdGhpcy52YWx1ZSA9IHJhbmdlO1xuICAgIHRoaXMuc2VsZWN0ZWRSYW5nZSA9IHJhbmdlO1xuICAgIHRoaXMuc2V0SW5wdXRXaWR0aChyYW5nZS5sYWJlbCk7XG4gICAgdGhpcy5vbkNoYW5nZT8uKHJhbmdlKTtcbiAgICB0aGlzLnRpcC5oaWRlKCk7XG4gIH1cblxuICBzZXRJbnB1dFdpZHRoKGxhYmVsOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zPy53aWR0aEFkYXB0aXZlKSB7XG4gICAgICB0aGlzLmlucHV0V2lkdGggPSBsYWJlbCA9PT0gQ1VTVE9NID8gdGhpcy5jdXN0b21JbnB1dFdpZHRoIDogJyc7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0UmFuZ2UocmFuZ2U6IFBpY2tlclRpbWVSYW5nZSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSYW5nZSA9IHJhbmdlO1xuICAgIGlmIChyYW5nZS5sYWJlbCA9PT0gQ1VTVE9NKSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy50aXAudXBkYXRlUG9zaXRpb24oKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3VibWl0UmFuZ2UocmFuZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFZhbHVlKHZhbHVlOiBQaWNrZXJUaW1lUmFuZ2UsIF9sb2NhbGU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHZhbHVlLmxhYmVsICE9PSBDVVNUT00pIHtcbiAgICAgIHJldHVybiB2YWx1ZS5kaXNwbGF5XG4gICAgICAgID8gdGhpcy50cmFuc2xhdGUuZ2V0KHZhbHVlLmRpc3BsYXksIHZhbHVlLmRpc3BsYXlDdHgpXG4gICAgICAgIDogdGhpcy50cmFuc2xhdGUuZ2V0KHZhbHVlLmxhYmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0Q3VzdG9tVmFsdWUoW3ZhbHVlLnN0YXJ0KCksIHZhbHVlLmVuZCgpXSk7XG4gIH1cblxuICBmb3JtYXRDdXN0b21WYWx1ZSh2YWx1ZTogRGF5anNbXSkge1xuICAgIHJldHVybiB2YWx1ZT8ubWFwKGkgPT4gaT8uZm9ybWF0KHRoaXMuZm9ybWF0KSkuam9pbignIC0gJyk7XG4gIH1cblxuICBnZXREaXNhYmxlZERhdGUgPVxuICAgIChvcHRpb25zOiBPcHRpb25zKSA9PlxuICAgIChkYXRlOiBEYXlqcywgbmF2VHlwZTogRGF0ZU5hdlJhbmdlLCBzdGFydERhdGU6IERheWpzKSA9PiB7XG4gICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgICBjb25zdCB7IG1pblZhbHVlLCBtYXhWYWx1ZSB9ID0gdGhpcy5nZXRNaW5NYXhEYXRlKHN0YXJ0RGF0ZSk7XG4gICAgICBpZiAobmF2VHlwZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgICAgIGlmIChvcHRpb25zLm1pbkRhdGUpIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQgfHwgZGF0ZS5pc0JlZm9yZShtaW5WYWx1ZSwgJ2RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5tYXhEYXRlKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IGRhdGUuaXNBZnRlcihtYXhWYWx1ZSwgJ2RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gIGdldE1pbk1heERhdGUgPSAoc3RhcnREYXRlPzogRGF5anMpID0+IHtcbiAgICBjb25zdCB7IG1pbkRhdGUsIG1heERhdGUgfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCBtaW5WYWx1ZSA9XG4gICAgICB0eXBlb2YgbWluRGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IG1pbkRhdGUoc3RhcnREYXRlKT8udmFsdWVPZigpXG4gICAgICAgIDogbWluRGF0ZT8udmFsdWVPZigpO1xuICAgIGNvbnN0IG1heFZhbHVlID1cbiAgICAgIHR5cGVvZiBtYXhEYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gbWF4RGF0ZShzdGFydERhdGUpPy52YWx1ZU9mKClcbiAgICAgICAgOiBtYXhEYXRlPy52YWx1ZU9mKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1pblZhbHVlOiBtaW5WYWx1ZSB8fCAwLFxuICAgICAgbWF4VmFsdWU6IG1heFZhbHVlIHx8IDAsXG4gICAgfTtcbiAgfTtcblxuICBkaXNhYmxlZFRpbWUgPSAoKTogeyBsZWZ0OiBEaXNhYmxlZFRpbWVGbjsgcmlnaHQ6IERpc2FibGVkVGltZUZuIH0gPT4gKHtcbiAgICBsZWZ0OiAodmFsdWU6IERheWpzKSA9PiB7XG4gICAgICBjb25zdCB7IG1pblZhbHVlIH0gPSB0aGlzLmdldE1pbk1heERhdGUoKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBkYXlqcyhtaW5WYWx1ZSk7XG4gICAgICBjb25zdCBzYW1lRGF5ID0gbWluRGF0ZT8uZGF5KCkgPT09IHZhbHVlPy5kYXkoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1pblZhbHVlICYmXG4gICAgICAgIHNhbWVEYXkgJiYge1xuICAgICAgICAgIGhvdXJzOiAoKSA9PiByYW5nZSgwLCBtaW5EYXRlLmhvdXIoKSAtIDEpLFxuICAgICAgICAgIG1pbnV0ZXM6ICgpID0+IHJhbmdlKDAsIG1pbkRhdGUubWludXRlKCkpLFxuICAgICAgICAgIHNlY29uZHM6ICgpID0+IHJhbmdlKDAsIG1pbkRhdGUuc2Vjb25kKCkpLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0sXG4gICAgcmlnaHQ6ICh2YWx1ZTogRGF5anMpID0+IHtcbiAgICAgIGNvbnN0IHsgbWF4VmFsdWUgfSA9IHRoaXMuZ2V0TWluTWF4RGF0ZSgpO1xuICAgICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucmFuZ2VWYWx1ZT8uWzBdO1xuICAgICAgY29uc3Qgc2FtZURheSA9IHRoaXMucmFuZ2VWYWx1ZT8uWzBdPy5pc1NhbWUodmFsdWUsICdkYXknKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1heFZhbHVlICYmXG4gICAgICAgIHNhbWVEYXkgJiYge1xuICAgICAgICAgIGhvdXJzOiAoKSA9PiByYW5nZShtaW5EYXRlLmhvdXIoKSksXG4gICAgICAgICAgbWludXRlczogKCkgPT4gcmFuZ2UobWluRGF0ZS5taW51dGUoKSksXG4gICAgICAgICAgc2Vjb25kczogKCkgPT4gcmFuZ2UobWluRGF0ZS5zZWNvbmQoKSksXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59XG4iLCI8YXVpLWlucHV0LWdyb3VwXG4gICpuZ0lmPVwibW9kZSA9PT0gJ2lucHV0JyB8fCBtb2RlID09PSAnZHJvcGRvd24nXCJcbiAgW2F1aVRvb2x0aXBdPVwidG9vbHRpcFwiXG4gIGF1aVRvb2x0aXBDbGFzcz1cImFjbC1kYXRlLXJhbmdlLXBpY2tlcl9fcGFuZWxcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJpbmZvXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcEFuaW1UeXBlPVwibm9uZVwiXG4gIFtzdHlsZS53aWR0aF09XCJpbnB1dFdpZHRoXCJcbiAgI3RpcD1cImF1aVRvb2x0aXBcIlxuPlxuICA8aW5wdXRcbiAgICBhdWktaW5wdXRcbiAgICBbY2xhc3NdPVwie1xuICAgICAgJ3R3LXRleHQtY2VudGVyJzogbW9kZSA9PT0gJ2Ryb3Bkb3duJyxcbiAgICAgICchdHctdGV4dC1zJzogbW9kZSA9PT0gJ2Ryb3Bkb3duJyxcbiAgICAgICdkYXRlLXJhbmdlLXBpY2tlcic6IHRydWVcbiAgICB9XCJcbiAgICBbdGl0bGVdPVwidmFsdWUgfCBwdXJlOiBmb3JtYXRWYWx1ZToodHJhbnNsYXRlLmxvY2FsZSQgfCBhc3luYylcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IHB1cmU6IGZvcm1hdFZhbHVlOih0cmFuc2xhdGUubG9jYWxlJCB8IGFzeW5jKVwiXG4gICAgcmVhZG9ubHlcbiAgLz5cbiAgPGF1aS1pY29uXG4gICAgYXVpSW5wdXRTdWZmaXhcbiAgICBjbGFzcz1cInR3LXRleHQtbi0yXCJcbiAgICBbaWNvbl09XCJtb2RlID09PSAnZHJvcGRvd24nID8gJ2NhbGVuZGFyJyA6ICdjYXJldF9kb3duX3MnXCJcbiAgPjwvYXVpLWljb24+XG48L2F1aS1pbnB1dC1ncm91cD5cblxuPGF1aS10YWdcbiAgKm5nSWY9XCJtb2RlID09PSAndGFnJ1wiXG4gIHNpemU9XCJtaW5pXCJcbiAgY2xhc3M9XCJ0YWdcIlxuICBbdHlwZV09XCJ0YWdBY3RpdmUgPyAncHJpbWFyeScgOiAnaW5mbydcIlxuICBbc29saWRdPVwidGFnQWN0aXZlXCJcbiAgW2F1aVRvb2x0aXBdPVwidG9vbHRpcFwiXG4gIGF1aVRvb2x0aXBDbGFzcz1cImFjbC1kYXRlLXJhbmdlLXBpY2tlcl9fcGFuZWxcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJpbmZvXCJcbiAgI3RpcD1cImF1aVRvb2x0aXBcIlxuICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuPlxuICA8YXVpLWljb24gaWNvbj1cImNsb2NrXCI+PC9hdWktaWNvbj5cbiAge3shdmFsdWVcbiAgICAgID8gKCdtb3JlJyB8IHRyYW5zbGF0ZSlcbiAgICAgIDogKHZhbHVlIHwgcHVyZTogZm9ybWF0VmFsdWU6KHRyYW5zbGF0ZS5sb2NhbGUkIHwgYXN5bmMpKSB9fVxuICA8YXVpLWljb25cbiAgICBjbGFzcz1cInR3LW1sLVstNHB4XVwiXG4gICAgaWNvbj1cImFuZ2xlX2Rvd25cIlxuICAgIG1hcmdpbj1cImxlZnRcIlxuICA+PC9hdWktaWNvbj5cbjwvYXVpLXRhZz5cblxuPG5nLXRlbXBsYXRlICN0b29sdGlwPlxuICA8ZGl2IGNsYXNzPVwicmFuZ2UtcGlja2VyLXBhbmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRyb2xcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0Zvcj1cImxldCByYW5nZSBvZiByYW5nZXNcIlxuICAgICAgICBjbGFzcz1cImNvbnRyb2wtcm93XCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyYW5nZS5sYWJlbCA9PT0gc2VsZWN0ZWRSYW5nZT8ubGFiZWxcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UmFuZ2UocmFuZ2UpXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICByYW5nZS5kaXNwbGF5XG4gICAgICAgICAgICA/IChyYW5nZS5kaXNwbGF5IHwgdHJhbnNsYXRlOiByYW5nZS5kaXNwbGF5Q3R4KVxuICAgICAgICAgICAgOiAocmFuZ2UubGFiZWwgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyYW5nZS1waWNrZXItd3JhcHBlclwiXG4gICAgICAqbmdJZj1cImlzQ3VzdG9tXCJcbiAgICA+XG4gICAgICA8YXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsXG4gICAgICAgIFtkaXNhYmxlZERhdGVdPVwib3B0aW9ucyB8IHB1cmU6IGdldERpc2FibGVkRGF0ZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwicmFuZ2VWYWx1ZVwiXG4gICAgICAgIChjb25maXJtKT1cInN1Ym1pdFJhbmdlKENVU1RPTV9SQU5HRSwgcmFuZ2VWYWx1ZSlcIlxuICAgICAgICAoY2xlYXIpPVwicmFuZ2VWYWx1ZSA9IFtdXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIFtzaG93VGltZV09XCJmaW5hbE9wdGlvbnMudGltZVBpY2tlclwiXG4gICAgICAgIFtkaXNhYmxlZFRpbWVdPVwiZGlzYWJsZWRUaW1lKClcIlxuICAgICAgPjwvYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
311
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9kYXRlLXJhbmdlLXBpY2tlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L2RhdGUtcmFuZ2UtcGlja2VyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixnQkFBZ0IsRUFFaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxhQUFhLEVBQ2IsWUFBWSxFQUNaLDZCQUE2QixFQUM3QixvQkFBb0IsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7SUNsQy9ELDZDQVVDO0lBQ0MsMkJBVUU7Ozs7O0lBQ0YsOEJBSVk7SUFD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O29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDO3dCQUN2RCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRixXQUNRO29CQUNQLG1CQUFtQjtvQkFDbkIsSUFBSTtvQkFDSixnQkFBZ0I7b0JBQ2hCLG9CQUFvQjtvQkFDcEIsY0FBYztvQkFDZCxhQUFhO29CQUNiLFlBQVk7b0JBQ1osT0FBTztvQkFDUCxlQUFlO29CQUNmLDZCQUE2QjtvQkFDN0IsV0FBVztvQkFDWCxRQUFRO29CQUNSLFNBQVM7b0JBQ1QsR0FBRyx1QkFBdUI7aUJBQzNCLGNBQ1csSUFBSTtpRkFHUCxPQUFPO2tCQUFmLEtBQUs7WUFHTixNQUFNO2tCQURMLEtBQUs7WUFHRyxJQUFJO2tCQUFaLEtBQUs7WUFHTixTQUFTO2tCQURSLEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLEdBQUc7a0JBREYsU0FBUzttQkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFkeEIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGF0ZU5hdlJhbmdlLFxuICBUb29sdGlwRGlyZWN0aXZlLFxuICBEaXNhYmxlZFRpbWVGbixcbiAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgSW5wdXRDb21wb25lbnQsXG4gIEljb25Db21wb25lbnQsXG4gIFRhZ0NvbXBvbmVudCxcbiAgRGF0ZVJhbmdlUGlja2VyUGFuZWxDb21wb25lbnQsXG4gIElucHV0U3VmZml4RGlyZWN0aXZlLFxufSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBEYXlqcyB9IGZyb20gJ2RheWpzJztcbmltcG9ydCB7IHJhbmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRUZGRUNUX0RJUkVDVElWRV9NT0RVTEUgfSBmcm9tICcuLi8uLi9lZmZlY3QtZGlyZWN0aXZlL21vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IE9wdGlvbnMsIFBpY2tlclRpbWVSYW5nZSB9IGZyb20gJy4vdHlwZSc7XG5pbXBvcnQgeyBDVVNUT00sIENVU1RPTV9SQU5HRSwgREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICBOZ0lmLFxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgSW5wdXRTdWZmaXhEaXJlY3RpdmUsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBUYWdDb21wb25lbnQsXG4gICAgTmdGb3JPZixcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRGF0ZVJhbmdlUGlja2VyUGFuZWxDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUHVyZVBpcGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIC4uLkVGRkVDVF9ESVJFQ1RJVkVfTU9EVUxFLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgb3B0aW9uczogT3B0aW9ucyA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIGZvcm1hdCA9ICdZWVlZLU1NLUREIEhIOm1tOnNzJztcblxuICBASW5wdXQoKSBtb2RlID0gJ2lucHV0JztcblxuICBASW5wdXQoKVxuICB0YWdBY3RpdmU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgY3VzdG9tSW5wdXRXaWR0aCA9ICczMTVweCc7XG5cbiAgQFZpZXdDaGlsZCgndGlwJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRpcDogVG9vbHRpcERpcmVjdGl2ZTtcblxuICByYW5nZVZhbHVlOiBEYXlqc1tdID0gbnVsbDtcblxuICBnZXQgaXNDdXN0b20oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSYW5nZT8ubGFiZWwgPT09ICdjdXN0b20nO1xuICB9XG5cbiAgZ2V0IHJhbmdlcygpIHtcbiAgICByZXR1cm4gWy4uLih0aGlzLm9wdGlvbnMudGltZVJhbmdlIHx8IFtdKSwgQ1VTVE9NX1JBTkdFXTtcbiAgfVxuXG4gIGZpbmFsT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgQ1VTVE9NID0gQ1VTVE9NO1xuXG4gIHNlbGVjdGVkUmFuZ2U6IFBpY2tlclRpbWVSYW5nZTtcbiAgQ1VTVE9NX1JBTkdFID0gQ1VTVE9NX1JBTkdFO1xuICB2YWx1ZTogUGlja2VyVGltZVJhbmdlO1xuXG4gIGlucHV0V2lkdGggPSAnJztcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IFBpY2tlclRpbWVSYW5nZSkgPT4gdm9pZDtcbiAgb25CbHVyOiAodmFsdWU6IFBpY2tlclRpbWVSYW5nZSkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy5zdWJtaXRSYW5nZSA9IHRoaXMuc3VibWl0UmFuZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmZvcm1hdFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZm9ybWF0Q3VzdG9tVmFsdWUgPSB0aGlzLmZvcm1hdEN1c3RvbVZhbHVlLmJpbmQodGhpcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogUGlja2VyVGltZVJhbmdlKSB7XG4gICAgaWYgKG9iaikge1xuICAgICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZSA9IG9iajtcbiAgICAgIHRoaXMuc2V0SW5wdXRXaWR0aChvYmoubGFiZWwpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkJsdXIgPSBmbjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgdGltZVBpY2tlciwgLi4ucmVzZXQgfSA9IHRoaXMub3B0aW9ucztcbiAgICB0aGlzLmZpbmFsT3B0aW9ucyA9IHtcbiAgICAgIC4uLkRFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHRpbWVQaWNrZXI6IHRpbWVQaWNrZXIgIT09IGZhbHNlLFxuICAgICAgLi4ucmVzZXQsXG4gICAgfTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnRpcC5oaWRlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFJhbmdlID0gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHN1Ym1pdFJhbmdlKHJhbmdlOiBQaWNrZXJUaW1lUmFuZ2UsIHJhbmdlVmFsdWU/OiBEYXlqc1tdKSB7XG4gICAgaWYgKCFyYW5nZVZhbHVlPy5sZW5ndGggJiYgcmFuZ2UubGFiZWwgPT09IENVU1RPTSkge1xuICAgICAgdGhpcy50aXAuaGlkZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByYW5nZSA9XG4gICAgICByYW5nZS5sYWJlbCA9PT0gQ1VTVE9NXG4gICAgICAgID8ge1xuICAgICAgICAgICAgbGFiZWw6IHJhbmdlLmxhYmVsLFxuICAgICAgICAgICAgc3RhcnQ6ICgpID0+IHJhbmdlVmFsdWVbMF0gfHwgdGhpcy52YWx1ZS5zdGFydCgpLFxuICAgICAgICAgICAgZW5kOiAoKSA9PiByYW5nZVZhbHVlWzFdIHx8IGRheWpzKCksXG4gICAgICAgICAgfVxuICAgICAgICA6IHJhbmdlO1xuICAgIHRoaXMudmFsdWUgPSByYW5nZTtcbiAgICB0aGlzLnNlbGVjdGVkUmFuZ2UgPSByYW5nZTtcbiAgICB0aGlzLnNldElucHV0V2lkdGgocmFuZ2UubGFiZWwpO1xuICAgIHRoaXMub25DaGFuZ2U/LihyYW5nZSk7XG4gICAgdGhpcy50aXAuaGlkZSgpO1xuICB9XG5cbiAgc2V0SW5wdXRXaWR0aChsYWJlbDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8ud2lkdGhBZGFwdGl2ZSkge1xuICAgICAgdGhpcy5pbnB1dFdpZHRoID0gbGFiZWwgPT09IENVU1RPTSA/IHRoaXMuY3VzdG9tSW5wdXRXaWR0aCA6ICcnO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJhbmdlKHJhbmdlOiBQaWNrZXJUaW1lUmFuZ2UpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmFuZ2UgPSByYW5nZTtcbiAgICBpZiAocmFuZ2UubGFiZWwgPT09IENVU1RPTSkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMudGlwLnVwZGF0ZVBvc2l0aW9uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1Ym1pdFJhbmdlKHJhbmdlKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRWYWx1ZSh2YWx1ZTogUGlja2VyVGltZVJhbmdlLCBfbG9jYWxlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5sYWJlbCAhPT0gQ1VTVE9NKSB7XG4gICAgICByZXR1cm4gdmFsdWUuZGlzcGxheVxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmdldCh2YWx1ZS5kaXNwbGF5LCB2YWx1ZS5kaXNwbGF5Q3R4KVxuICAgICAgICA6IHRoaXMudHJhbnNsYXRlLmdldCh2YWx1ZS5sYWJlbCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvcm1hdEN1c3RvbVZhbHVlKFt2YWx1ZS5zdGFydCgpLCB2YWx1ZS5lbmQoKV0pO1xuICB9XG5cbiAgZm9ybWF0Q3VzdG9tVmFsdWUodmFsdWU6IERheWpzW10pIHtcbiAgICByZXR1cm4gdmFsdWU/Lm1hcChpID0+IGk/LmZvcm1hdCh0aGlzLmZvcm1hdCkpLmpvaW4oJyAtICcpO1xuICB9XG5cbiAgZ2V0RGlzYWJsZWREYXRlID1cbiAgICAob3B0aW9uczogT3B0aW9ucykgPT5cbiAgICAoZGF0ZTogRGF5anMsIG5hdlR5cGU6IERhdGVOYXZSYW5nZSwgc3RhcnREYXRlOiBEYXlqcykgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgICAgY29uc3QgeyBtaW5WYWx1ZSwgbWF4VmFsdWUgfSA9IHRoaXMuZ2V0TWluTWF4RGF0ZShzdGFydERhdGUpO1xuICAgICAgaWYgKG5hdlR5cGUgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICBpZiAob3B0aW9ucy5taW5EYXRlKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IGRhdGUuaXNCZWZvcmUobWluVmFsdWUsICdkYXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMubWF4RGF0ZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCBkYXRlLmlzQWZ0ZXIobWF4VmFsdWUsICdkYXRlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICBnZXRNaW5NYXhEYXRlID0gKHN0YXJ0RGF0ZT86IERheWpzKSA9PiB7XG4gICAgY29uc3QgeyBtaW5EYXRlLCBtYXhEYXRlIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgY29uc3QgbWluVmFsdWUgPVxuICAgICAgdHlwZW9mIG1pbkRhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBtaW5EYXRlKHN0YXJ0RGF0ZSk/LnZhbHVlT2YoKVxuICAgICAgICA6IG1pbkRhdGU/LnZhbHVlT2YoKTtcbiAgICBjb25zdCBtYXhWYWx1ZSA9XG4gICAgICB0eXBlb2YgbWF4RGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IG1heERhdGUoc3RhcnREYXRlKT8udmFsdWVPZigpXG4gICAgICAgIDogbWF4RGF0ZT8udmFsdWVPZigpO1xuICAgIHJldHVybiB7XG4gICAgICBtaW5WYWx1ZTogbWluVmFsdWUgfHwgMCxcbiAgICAgIG1heFZhbHVlOiBtYXhWYWx1ZSB8fCAwLFxuICAgIH07XG4gIH07XG5cbiAgZGlzYWJsZWRUaW1lID0gKCk6IHsgbGVmdDogRGlzYWJsZWRUaW1lRm47IHJpZ2h0OiBEaXNhYmxlZFRpbWVGbiB9ID0+ICh7XG4gICAgbGVmdDogKHZhbHVlOiBEYXlqcykgPT4ge1xuICAgICAgY29uc3QgeyBtaW5WYWx1ZSB9ID0gdGhpcy5nZXRNaW5NYXhEYXRlKCk7XG4gICAgICBjb25zdCBtaW5EYXRlID0gZGF5anMobWluVmFsdWUpO1xuICAgICAgY29uc3Qgc2FtZURheSA9IG1pbkRhdGU/LmRheSgpID09PSB2YWx1ZT8uZGF5KCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtaW5WYWx1ZSAmJlxuICAgICAgICBzYW1lRGF5ICYmIHtcbiAgICAgICAgICBob3VyczogKCkgPT4gcmFuZ2UoMCwgbWluRGF0ZS5ob3VyKCkgLSAxKSxcbiAgICAgICAgICBtaW51dGVzOiAoKSA9PiByYW5nZSgwLCBtaW5EYXRlLm1pbnV0ZSgpKSxcbiAgICAgICAgICBzZWNvbmRzOiAoKSA9PiByYW5nZSgwLCBtaW5EYXRlLnNlY29uZCgpKSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9LFxuICAgIHJpZ2h0OiAodmFsdWU6IERheWpzKSA9PiB7XG4gICAgICBjb25zdCB7IG1heFZhbHVlIH0gPSB0aGlzLmdldE1pbk1heERhdGUoKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLnJhbmdlVmFsdWU/LlswXTtcbiAgICAgIGNvbnN0IHNhbWVEYXkgPSB0aGlzLnJhbmdlVmFsdWU/LlswXT8uaXNTYW1lKHZhbHVlLCAnZGF5Jyk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtYXhWYWx1ZSAmJlxuICAgICAgICBzYW1lRGF5ICYmIHtcbiAgICAgICAgICBob3VyczogKCkgPT4gcmFuZ2UobWluRGF0ZS5ob3VyKCkpLFxuICAgICAgICAgIG1pbnV0ZXM6ICgpID0+IHJhbmdlKG1pbkRhdGUubWludXRlKCkpLFxuICAgICAgICAgIHNlY29uZHM6ICgpID0+IHJhbmdlKG1pbkRhdGUuc2Vjb25kKCkpLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufVxuIiwiPGF1aS1pbnB1dC1ncm91cFxuICAqbmdJZj1cIm1vZGUgPT09ICdpbnB1dCcgfHwgbW9kZSA9PT0gJ2Ryb3Bkb3duJ1wiXG4gIFthdWlUb29sdGlwXT1cInRvb2x0aXBcIlxuICBhdWlUb29sdGlwQ2xhc3M9XCJhY2wtZGF0ZS1yYW5nZS1waWNrZXJfX3BhbmVsXCJcbiAgYXVpVG9vbHRpcFRyaWdnZXI9XCJjbGlja1wiXG4gIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBzdGFydFwiXG4gIGF1aVRvb2x0aXBBbmltVHlwZT1cIm5vbmVcIlxuICBbc3R5bGUud2lkdGhdPVwiaW5wdXRXaWR0aFwiXG4gICN0aXA9XCJhdWlUb29sdGlwXCJcbj5cbiAgPGlucHV0XG4gICAgYXVpLWlucHV0XG4gICAgW2NsYXNzXT1cIntcbiAgICAgICd0dy10ZXh0LWNlbnRlcic6IG1vZGUgPT09ICdkcm9wZG93bicsXG4gICAgICAnIXR3LXRleHQtcyc6IG1vZGUgPT09ICdkcm9wZG93bicsXG4gICAgICAnZGF0ZS1yYW5nZS1waWNrZXInOiB0cnVlXG4gICAgfVwiXG4gICAgW3RpdGxlXT1cInZhbHVlIHwgcHVyZTogZm9ybWF0VmFsdWU6KHRyYW5zbGF0ZS5sb2NhbGUkIHwgYXN5bmMpXCJcbiAgICBbdmFsdWVdPVwidmFsdWUgfCBwdXJlOiBmb3JtYXRWYWx1ZToodHJhbnNsYXRlLmxvY2FsZSQgfCBhc3luYylcIlxuICAgIHJlYWRvbmx5XG4gIC8+XG4gIDxhdWktaWNvblxuICAgIGF1aUlucHV0U3VmZml4XG4gICAgY2xhc3M9XCJ0dy10ZXh0LW4tMlwiXG4gICAgW2ljb25dPVwibW9kZSA9PT0gJ2Ryb3Bkb3duJyA/ICdjYWxlbmRhcicgOiAnY2FyZXRfZG93bl9zJ1wiXG4gID48L2F1aS1pY29uPlxuPC9hdWktaW5wdXQtZ3JvdXA+XG5cbjxhdWktdGFnXG4gICpuZ0lmPVwibW9kZSA9PT0gJ3RhZydcIlxuICBzaXplPVwibWluaVwiXG4gIGNsYXNzPVwidGFnXCJcbiAgW3R5cGVdPVwidGFnQWN0aXZlID8gJ3ByaW1hcnknIDogJ2luZm8nXCJcbiAgW3NvbGlkXT1cInRhZ0FjdGl2ZVwiXG4gIFthdWlUb29sdGlwXT1cInRvb2x0aXBcIlxuICBhdWlUb29sdGlwQ2xhc3M9XCJhY2wtZGF0ZS1yYW5nZS1waWNrZXJfX3BhbmVsXCJcbiAgYXVpVG9vbHRpcFRyaWdnZXI9XCJjbGlja1wiXG4gIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICN0aXA9XCJhdWlUb29sdGlwXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbj5cbiAgPGF1aS1pY29uIGljb249XCJjbG9ja1wiPjwvYXVpLWljb24+XG4gIHt7IXZhbHVlXG4gICAgICA/ICgnbW9yZScgfCB0cmFuc2xhdGUpXG4gICAgICA6ICh2YWx1ZSB8IHB1cmU6IGZvcm1hdFZhbHVlOih0cmFuc2xhdGUubG9jYWxlJCB8IGFzeW5jKSkgfX1cbiAgPGF1aS1pY29uXG4gICAgY2xhc3M9XCJ0dy1tbC1bLTRweF1cIlxuICAgIGljb249XCJhbmdsZV9kb3duXCJcbiAgICBtYXJnaW49XCJsZWZ0XCJcbiAgPjwvYXVpLWljb24+XG48L2F1aS10YWc+XG5cbjxuZy10ZW1wbGF0ZSAjdG9vbHRpcD5cbiAgPGRpdiBjbGFzcz1cInJhbmdlLXBpY2tlci1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgcmFuZ2Ugb2YgcmFuZ2VzXCJcbiAgICAgICAgY2xhc3M9XCJjb250cm9sLXJvd1wiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwicmFuZ2UubGFiZWwgPT09IHNlbGVjdGVkUmFuZ2U/LmxhYmVsXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJhbmdlKHJhbmdlKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgcmFuZ2UuZGlzcGxheVxuICAgICAgICAgICAgPyAocmFuZ2UuZGlzcGxheSB8IHRyYW5zbGF0ZTogcmFuZ2UuZGlzcGxheUN0eClcbiAgICAgICAgICAgIDogKHJhbmdlLmxhYmVsIHwgdHJhbnNsYXRlKVxuICAgICAgICB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmFuZ2UtcGlja2VyLXdyYXBwZXJcIlxuICAgICAgKm5nSWY9XCJpc0N1c3RvbVwiXG4gICAgPlxuICAgICAgPGF1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbFxuICAgICAgICBbZGlzYWJsZWREYXRlXT1cIm9wdGlvbnMgfCBwdXJlOiBnZXREaXNhYmxlZERhdGVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInJhbmdlVmFsdWVcIlxuICAgICAgICAoY29uZmlybSk9XCJzdWJtaXRSYW5nZShDVVNUT01fUkFOR0UsIHJhbmdlVmFsdWUpXCJcbiAgICAgICAgKGNsZWFyKT1cInJhbmdlVmFsdWUgPSBbXVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcIlxuICAgICAgICBbc2hvd1RpbWVdPVwiZmluYWxPcHRpb25zLnRpbWVQaWNrZXJcIlxuICAgICAgICBbZGlzYWJsZWRUaW1lXT1cImRpc2FibGVkVGltZSgpXCJcbiAgICAgID48L2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -100,4 +100,4 @@ export class StatusIconComponent {
100
100
  type: Input
101
101
  }] }); })();
102
102
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StatusIconComponent, { className: "StatusIconComponent" }); })();
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9zdGF0dXMtaWNvbi9zdGF0dXMtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L3N0YXR1cy1pY29uL3N0YXR1cy1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7SUNYakUsOEJBU1c7Ozs7Ozs7SUFOVCw0Q0FBMkI7SUFJM0IsQUFEQSxBQURBLEFBREEsQUFGQSwrSEFBNEQsMEZBRVQsaUJBQ3RDLHlCQUNJLHNFQUMwQjs7O0lBRzdDLCtCQUlHOztJQUFBLFlBQXNDOztJQUFBLGlCQUN4Qzs7O0lBRkMsQUFEQSx5RUFBMEMsd0RBQ1I7SUFDakMsZUFBc0M7SUFBdEMsdUVBQXNDOzs7SUFmM0MsNkJBQTZCO0lBQzNCLDhGQVFDOztJQUVELHFGQUlHO0lBRUgsa0JBQXlCOzs7O0lBZnRCLGNBQThDO0lBQTlDLG1HQUE4QztJQVU5QyxlQUFjO0lBQWQsc0NBQWM7O0FEVW5CLE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFZVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBS2hCLGFBQVEsR0FBRyxNQUFNLENBQUM7S0E0QjVCO0lBMUJDLFNBQVMsQ0FBQyxNQUFjLEVBQUUsVUFBcUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBc0I7UUFDbkQsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLEdBQUcsd0JBQXdCLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDekQsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUNuRSxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWMsRUFBRSxVQUFxQjtRQUNqRCxPQUFPLFVBQVU7WUFDZixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFhO1FBQzNCLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDaEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO29GQXBDVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN0QmhDLHNGQUE2Qjs7WUFBZCxpQ0FBWTs0QkRvQmYsVUFBVSxvQkFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlOztpRkFFbkQsbUJBQW1CO2NBUi9CLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztnQkFJL0QsTUFBTTtrQkFETCxLQUFLO1lBR0csUUFBUTtrQkFBaEIsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQVRLLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLFxuICBEZWZhdWx0U3RhdHVzSWNvbk1hcHBlcixcbiAgR2VuZXJpY1N0YXR1c0NvbG9yLFxuICBHZW5lcmljU3RhdHVzSWNvbixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3RhdHVzLWljb25zJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvY29tbW9ucyc7XG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RhdHVzLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Nb2R1bGUsIE5nQ2xhc3MsIFB1cmVQaXBlLCBOZ0lmLCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNJY29uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgc3RhdHVzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2l0aFRleHQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGNvbG9yTWFwcGVyOiBTdHJpbmdNYXA7XG4gIEBJbnB1dCgpIGljb25NYXBwZXI6IFN0cmluZ01hcDtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGljb25TaXplID0gJzE2cHgnO1xuXG4gIGlzUGVuZGluZyhzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgY29uc3QgaWNvbiA9IGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXTtcbiAgICByZXR1cm4gaWNvbiA9PT0gR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZztcbiAgfVxuXG4gIGdldFN0YXR1c0NvbG9yKHN0YXR1czogc3RyaW5nLCBjb2xvck1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGNvbG9yTWFwcGVyXG4gICAgICA/IHsgLi4uRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLCAuLi5jb2xvck1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyW3N0YXR1c10gfHwgR2VuZXJpY1N0YXR1c0NvbG9yLkVtcHR5O1xuICB9XG5cbiAgZ2V0U3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXSB8fCBHZW5lcmljU3RhdHVzSWNvbi5RdWVzdGlvbjtcbiAgfVxuXG4gIGJhY2tncm91bmRTaGFwZShpY29uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGljb24/LmVuZHNXaXRoKCdfY2lyY2xlX3MnKVxuICAgICAgPyAnY2lyY2xlJ1xuICAgICAgOiBpY29uPy5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgPyAndHJpYW5nbGUnXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXNcIj5cbiAgPGF1aS1pY29uXG4gICAgKm5nSWY9XCJzdGF0dXMgfCBwdXJlOiBnZXRTdGF0dXNJY29uOmljb25NYXBwZXIgYXMgaWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyBwZW5kaW5nOiBzdGF0dXMgfCBwdXJlOiBpc1BlbmRpbmc6aWNvbk1hcHBlciB9XCJcbiAgICBbc3R5bGUuZm9udFNpemVdPVwiaWNvblNpemVcIlxuICAgIFtjb2xvcl09XCJzdGF0dXMgfCBwdXJlOiBnZXRTdGF0dXNDb2xvcjpjb2xvck1hcHBlclwiXG4gICAgW2ljb25dPVwiaWNvblwiXG4gICAgW3NpemVdPVwiaWNvblNpemVcIlxuICAgIFtiYWNrZ3JvdW5kXT1cImljb24gfCBwdXJlOiBiYWNrZ3JvdW5kU2hhcGVcIlxuICA+XG4gIDwvYXVpLWljb24+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJ3aXRoVGV4dFwiXG4gICAgW3RpdGxlXT1cInN0YXR1cy50b0xvd2VyQ2FzZSgpIHwgdHJhbnNsYXRlXCJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICA+e3sgc3RhdHVzLnRvTG93ZXJDYXNlKCkgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9zdGF0dXMtaWNvbi9zdGF0dXMtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L3N0YXR1cy1pY29uL3N0YXR1cy1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7SUNYakUsOEJBU1c7Ozs7Ozs7SUFOVCw0Q0FBMkI7SUFJM0IsQUFEQSxBQURBLEFBREEsQUFGQSwrSEFBNEQsMEZBRVQsaUJBQ3RDLHlCQUNJLHNFQUMwQjs7O0lBRzdDLCtCQUlHOztJQUFBLFlBQXNDOztJQUFBLGlCQUN4Qzs7O0lBRkMsQUFEQSx5RUFBMEMsd0RBQ1I7SUFDakMsZUFBc0M7SUFBdEMsdUVBQXNDOzs7SUFmM0MsNkJBQTZCO0lBQzNCLDhGQVFDOztJQUVELHFGQUlHO0lBRUgsa0JBQXlCOzs7O0lBZnRCLGNBQThDO0lBQTlDLG1HQUE4QztJQVU5QyxlQUFjO0lBQWQsc0NBQWM7O0FEVW5CLE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFZVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBS2hCLGFBQVEsR0FBRyxNQUFNLENBQUM7S0E0QjVCO0lBMUJDLFNBQVMsQ0FBQyxNQUFjLEVBQUUsVUFBcUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBc0I7UUFDbkQsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLEdBQUcsd0JBQXdCLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDekQsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUNuRSxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWMsRUFBRSxVQUFxQjtRQUNqRCxPQUFPLFVBQVU7WUFDZixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFhO1FBQzNCLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDaEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFDO29GQXBDVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN0QmhDLHNGQUE2Qjs7WUFBZCxpQ0FBWTs0QkRvQmYsVUFBVSxvQkFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlOztpRkFFbkQsbUJBQW1CO2NBUi9CLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztnQkFJL0QsTUFBTTtrQkFETCxLQUFLO1lBR0csUUFBUTtrQkFBaEIsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQVRLLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLFxuICBEZWZhdWx0U3RhdHVzSWNvbk1hcHBlcixcbiAgR2VuZXJpY1N0YXR1c0NvbG9yLFxuICBHZW5lcmljU3RhdHVzSWNvbixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3RhdHVzLWljb25zJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvY29tbW9ucyc7XG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RhdHVzLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Nb2R1bGUsIE5nQ2xhc3MsIFB1cmVQaXBlLCBOZ0lmLCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNJY29uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgc3RhdHVzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2l0aFRleHQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGNvbG9yTWFwcGVyOiBTdHJpbmdNYXA7XG4gIEBJbnB1dCgpIGljb25NYXBwZXI6IFN0cmluZ01hcDtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGljb25TaXplID0gJzE2cHgnO1xuXG4gIGlzUGVuZGluZyhzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgY29uc3QgaWNvbiA9IGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXTtcbiAgICByZXR1cm4gaWNvbiA9PT0gR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZztcbiAgfVxuXG4gIGdldFN0YXR1c0NvbG9yKHN0YXR1czogc3RyaW5nLCBjb2xvck1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGNvbG9yTWFwcGVyXG4gICAgICA/IHsgLi4uRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLCAuLi5jb2xvck1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyW3N0YXR1c10gfHwgR2VuZXJpY1N0YXR1c0NvbG9yLkVtcHR5O1xuICB9XG5cbiAgZ2V0U3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXSB8fCBHZW5lcmljU3RhdHVzSWNvbi5RdWVzdGlvbjtcbiAgfVxuXG4gIGJhY2tncm91bmRTaGFwZShpY29uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGljb24/LmVuZHNXaXRoKCdfY2lyY2xlX3MnKVxuICAgICAgPyAnY2lyY2xlJ1xuICAgICAgOiBpY29uPy5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgOiBudWxsO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzXCI+XG4gIDxhdWktaWNvblxuICAgICpuZ0lmPVwic3RhdHVzIHwgcHVyZTogZ2V0U3RhdHVzSWNvbjppY29uTWFwcGVyIGFzIGljb25cIlxuICAgIFtuZ0NsYXNzXT1cInsgcGVuZGluZzogc3RhdHVzIHwgcHVyZTogaXNQZW5kaW5nOmljb25NYXBwZXIgfVwiXG4gICAgW3N0eWxlLmZvbnRTaXplXT1cImljb25TaXplXCJcbiAgICBbY29sb3JdPVwic3RhdHVzIHwgcHVyZTogZ2V0U3RhdHVzQ29sb3I6Y29sb3JNYXBwZXJcIlxuICAgIFtpY29uXT1cImljb25cIlxuICAgIFtzaXplXT1cImljb25TaXplXCJcbiAgICBbYmFja2dyb3VuZF09XCJpY29uIHwgcHVyZTogYmFja2dyb3VuZFNoYXBlXCJcbiAgPlxuICA8L2F1aS1pY29uPlxuICA8c3BhblxuICAgICpuZ0lmPVwid2l0aFRleHRcIlxuICAgIFt0aXRsZV09XCJzdGF0dXMudG9Mb3dlckNhc2UoKSB8IHRyYW5zbGF0ZVwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiXG4gICAgPnt7IHN0YXR1cy50b0xvd2VyQ2FzZSgpIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gID5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda-fe/common",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "Alauda frontend team common codes.",
5
5
  "author": "Alauda Frontend",
6
6
  "license": "MIT",