@snabcentr/client-core 2.56.4 → 2.58.0

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.
@@ -35,7 +35,7 @@ export declare class ScTokenService {
35
35
  * @param isBrowser Признак, что скрипт выполняется в браузере.
36
36
  * @param storage Хранилище {@link Storage}.
37
37
  */
38
- constructor(event$: Observable<StorageEvent>, apiKeys: ScIApiKeys, storageService: Storage, guestStorageKey: string, accessAuthStorageKey: string, refreshAuthStorageKey: string, isBrowser: boolean, storage?: ScIApiKeys | undefined);
38
+ constructor(event$: Observable<StorageEvent>, apiKeys: ScIApiKeys, storageService: Storage, guestStorageKey: string, accessAuthStorageKey: string, refreshAuthStorageKey: string, isBrowser: boolean, storage?: Storage | undefined);
39
39
  /**
40
40
  * Возвращает ключ доступа к API.
41
41
  */
@@ -2,10 +2,18 @@
2
2
  * Базовая информация о компании.
3
3
  */
4
4
  export interface ScICompanyBaseInfo {
5
+ /**
6
+ * Название компании.
7
+ */
8
+ readonly name: string;
5
9
  /**
6
10
  * Адрес компании.
7
11
  */
8
12
  readonly address: string;
13
+ /**
14
+ * Юридический адрес компании.
15
+ */
16
+ readonly legalAddress: string;
9
17
  /**
10
18
  * Адрес электронной почты компании.
11
19
  */
@@ -15,15 +23,28 @@ export interface ScICompanyBaseInfo {
15
23
  */
16
24
  readonly phone: string;
17
25
  /**
18
- * Название компании.
26
+ * Дополнительный телефон.
19
27
  */
20
- readonly name: string;
28
+ readonly secondaryPhone?: string;
29
+ /**
30
+ * ОГРН (Основной государственный регистрационный номер).
31
+ */
32
+ readonly ogrn: string;
21
33
  /**
22
- * Адрес электронной почты HR-отдела компании.
34
+ * ИНН (Идентификационный номер налогоплательщика).
23
35
  */
24
- readonly hrMail: string;
36
+ readonly inn: string;
25
37
  /**
26
- * Телефон HR-отдела компании.
38
+ * Данные HR-отдела компании.
27
39
  */
28
- readonly hrPhone: string;
40
+ readonly hr?: {
41
+ /**
42
+ * Адрес электронной почты HR-отдела компании.
43
+ */
44
+ readonly mail: string;
45
+ /**
46
+ * Телефон HR-отдела компании.
47
+ */
48
+ readonly phone: string;
49
+ };
29
50
  }
@@ -17,11 +17,11 @@ export interface ScIUrls {
17
17
  /**
18
18
  * URL-адрес сервера по-умолчанию с изображениями товаров и категорий.
19
19
  */
20
- readonly imgServerUrl: string;
20
+ readonly imgServerUrl?: string;
21
21
  /**
22
22
  * URL путь к описанию API.
23
23
  */
24
- readonly apiDocUrl: string;
24
+ readonly apiDocUrl?: string;
25
25
  /**
26
26
  * Список внешних ресурсов.
27
27
  */
@@ -143,10 +143,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
143
143
  }] }, { type: undefined, decorators: [{
144
144
  type: Inject,
145
145
  args: [IS_BROWSER]
146
- }] }, { type: undefined, decorators: [{
146
+ }] }, { type: Storage, decorators: [{
147
147
  type: Optional
148
148
  }, {
149
149
  type: Inject,
150
150
  args: [WA_LOCAL_STORAGE]
151
151
  }] }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYXV0aC9zZXJ2aWNlcy9zYy10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFNUg7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQVd2Qjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQytDLE1BQWdDLEVBQ3JDLE9BQW1CLEVBQ2hCLGNBQXVCLEVBQ1gsZUFBdUIsRUFDakIsb0JBQTRCLEVBQzNCLHFCQUE2QixFQUNwRCxTQUFrQixFQUNBLE9BQW9CO1FBUGhDLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVM7UUFDWCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUNqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDQSxZQUFPLEdBQVAsT0FB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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdBX0xPQ0FMX1NUT1JBR0UgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IGZpbHRlckJ5S2V5LCBTdG9yYWdlU2VydmljZSwgdG9WYWx1ZSwgV0FfU1RPUkFHRV9FVkVOVCB9IGZyb20gJ0BuZy13ZWItYXBpcy9zdG9yYWdlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lBcGlLZXlzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IElTX0JST1dTRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19BUElfS0VZUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1hcGkta2V5cyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJVG9rZW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZLCBTQ19HVUVTVF9UT0tFTl9TVE9SQUdFX0tFWSwgU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC70Y7Rh9Cw0LzQuCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Rva2VuU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0LPQvtGB0YLRjyDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBndWVzdFRva2VuJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiA9IHRoaXMuZXZlbnQkLnBpcGUoZmlsdGVyQnlLZXkodGhpcy5ndWVzdFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEd1ZXN0VG9rZW4oKSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc0F1dGhUb2tlbiQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4gPSB0aGlzLmV2ZW50JC5waXBlKGZpbHRlckJ5S2V5KHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEFjY2Vzc1Rva2VuKCkpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NUb2tlblNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50JCB7QGxpbmsgT2JzZXJ2YWJsZX0g0KHQvtCx0YvRgtC40LUg0LjQt9C80LXQvdC10L3QuNGPINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYXBpS2V5cyDQl9Cw0LPQvtC70L7QstC60Lgg0LrQu9GO0YfQtdC5INC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKiBAcGFyYW0gc3RvcmFnZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEge0BsaW5rIFN0b3JhZ2V9INC4INCy0L3QtdC00YDQtdC90LjRjiDQtdCz0L4g0YfQtdGA0LXQtyBESS5cbiAgICAgKiBAcGFyYW0gZ3Vlc3RTdG9yYWdlS2V5INCi0L7QutC10L0sINGD0LrQsNC30YvQstCw0Y7RidC40Lkg0LrQu9GO0Ycg0YLQvtC60LXQvdCwINC00L7RgdGC0YPQv9CwINCz0L7RgdGC0Y8g0LogQVBJINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYWNjZXNzQXV0aFN0b3JhZ2VLZXkg0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIHJlZnJlc2hBdXRoU3RvcmFnZUtleSDQmtC70Y7RhyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIGlzQnJvd3NlciDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGB0LrRgNC40L/RgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINCyINCx0YDQsNGD0LfQtdGA0LUuXG4gICAgICogQHBhcmFtIHN0b3JhZ2Ug0KXRgNCw0L3QuNC70LjRidC1IHtAbGluayBTdG9yYWdlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoV0FfU1RPUkFHRV9FVkVOVCkgcHJpdmF0ZSByZWFkb25seSBldmVudCQ6IE9ic2VydmFibGU8U3RvcmFnZUV2ZW50PixcbiAgICAgICAgQEluamVjdChTQ19BUElfS0VZUykgcHJpdmF0ZSByZWFkb25seSBhcGlLZXlzOiBTY0lBcGlLZXlzLFxuICAgICAgICBASW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlLFxuICAgICAgICBASW5qZWN0KFNDX0dVRVNUX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGd1ZXN0U3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc0F1dGhTdG9yYWdlS2V5OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hBdXRoU3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KElTX0JST1dTRVIpIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdBX0xPQ0FMX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZT86IFNjSUFwaUtleXNcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQuiBBUEkuXG4gICAgICovXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyID8gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtC00L3QvtGA0LDQt9C+0LLRi9C5INC60LvRjtGHINC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIgPyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBUT0RPINCh0L7RhdGA0LDQvdGP0YLRjCDQstC10YHRjCDQvtCx0YrQtdC60YIg0L/RgNC4INC00L7QsdCw0LLQu9C10L3QuNC4INGE0YPQvdC60YbQuNC+0L3QsNC70LAg0YHQstGP0LfQsNC90L3QvtCz0L4g0YEg0LLRgNC10LzQtdC90LXQvCDQttC40LfQvdC4INC60LvRjtGH0LAuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdG9rZW4g0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICovXG4gICAgcHVibGljIHNldEF1dGhUb2tlbih0b2tlbjogSUF1dGhUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXksIHRva2VuLnJlZnJlc2gudG9rZW4pO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXksIHRva2VuLmFjY2Vzcy50b2tlbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQXV0aFRva2VuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5nZXRBY2Nlc3NUb2tlbigpKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMg0LIg0YDQvtC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3Vlc3RUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZSAmJiB0aGlzLmlzQnJvd3NlciA/IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSh0aGlzLmd1ZXN0U3RvcmFnZUtleSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIFRPRE8g0KHQvtGF0YDQsNC90Y/RgtGMINCy0LXRgdGMINC+0LHRitC10LrRgiDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTRg9C90LrRhtC40L7QvdCw0LvQsCDRgdCy0Y/Qt9Cw0L3QvdC+0LPQviDRgSDQstGA0LXQvNC10L3QtdC8INC20LjQt9C90Lgg0LrQu9GO0YfQsC5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgyDQsiDRgNC+0LvQuCDQk9C+0YHRgtGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRva2VuT2JqZWN0INCa0LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHNldEd1ZXN0VG9rZW4odG9rZW5PYmplY3Q6IElUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5ndWVzdFN0b3JhZ2VLZXksIHRva2VuT2JqZWN0LnRva2VuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZUd1ZXN0VG9rZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuZ3Vlc3RTdG9yYWdlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQsiDQt9Cw0L/RgNC+0YEg0LfQsNCz0L7Qu9C+0LLQvtC6INC00LvRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0INCU0LDQvdC90YvQtSDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBhZGRBdXRoSGVhZGVyKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5ndWVzdEtleU5hbWUpLnNldCh0aGlzLmFwaUtleXMua2V5TmFtZSwgdGhpcy5nZXRBY2Nlc3NUb2tlbigpID8/ICcnKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5rZXlOYW1lKS5zZXQodGhpcy5hcGlLZXlzLmd1ZXN0S2V5TmFtZSwgdGhpcy5nZXRHdWVzdFRva2VuKCkgPz8gJycpIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoKTtcbiAgICB9XG59XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYXV0aC9zZXJ2aWNlcy9zYy10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFNUg7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQVd2Qjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQytDLE1BQWdDLEVBQ3JDLE9BQW1CLEVBQ2hCLGNBQXVCLEVBQ1gsZUFBdUIsRUFDakIsb0JBQTRCLEVBQzNCLHFCQUE2QixFQUNwRCxTQUFrQixFQUNBLE9BQWlCO1FBUDdCLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVM7UUFDWCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUNqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDQSxZQUFPLEdBQVAsT0FB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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdBX0xPQ0FMX1NUT1JBR0UgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IGZpbHRlckJ5S2V5LCBTdG9yYWdlU2VydmljZSwgdG9WYWx1ZSwgV0FfU1RPUkFHRV9FVkVOVCB9IGZyb20gJ0BuZy13ZWItYXBpcy9zdG9yYWdlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lBcGlLZXlzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IElTX0JST1dTRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19BUElfS0VZUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1hcGkta2V5cyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJVG9rZW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZLCBTQ19HVUVTVF9UT0tFTl9TVE9SQUdFX0tFWSwgU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC70Y7Rh9Cw0LzQuCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Rva2VuU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0LPQvtGB0YLRjyDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBndWVzdFRva2VuJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiA9IHRoaXMuZXZlbnQkLnBpcGUoZmlsdGVyQnlLZXkodGhpcy5ndWVzdFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEd1ZXN0VG9rZW4oKSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc0F1dGhUb2tlbiQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4gPSB0aGlzLmV2ZW50JC5waXBlKGZpbHRlckJ5S2V5KHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEFjY2Vzc1Rva2VuKCkpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NUb2tlblNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50JCB7QGxpbmsgT2JzZXJ2YWJsZX0g0KHQvtCx0YvRgtC40LUg0LjQt9C80LXQvdC10L3QuNGPINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYXBpS2V5cyDQl9Cw0LPQvtC70L7QstC60Lgg0LrQu9GO0YfQtdC5INC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKiBAcGFyYW0gc3RvcmFnZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEge0BsaW5rIFN0b3JhZ2V9INC4INCy0L3QtdC00YDQtdC90LjRjiDQtdCz0L4g0YfQtdGA0LXQtyBESS5cbiAgICAgKiBAcGFyYW0gZ3Vlc3RTdG9yYWdlS2V5INCi0L7QutC10L0sINGD0LrQsNC30YvQstCw0Y7RidC40Lkg0LrQu9GO0Ycg0YLQvtC60LXQvdCwINC00L7RgdGC0YPQv9CwINCz0L7RgdGC0Y8g0LogQVBJINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYWNjZXNzQXV0aFN0b3JhZ2VLZXkg0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIHJlZnJlc2hBdXRoU3RvcmFnZUtleSDQmtC70Y7RhyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIGlzQnJvd3NlciDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGB0LrRgNC40L/RgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINCyINCx0YDQsNGD0LfQtdGA0LUuXG4gICAgICogQHBhcmFtIHN0b3JhZ2Ug0KXRgNCw0L3QuNC70LjRidC1IHtAbGluayBTdG9yYWdlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoV0FfU1RPUkFHRV9FVkVOVCkgcHJpdmF0ZSByZWFkb25seSBldmVudCQ6IE9ic2VydmFibGU8U3RvcmFnZUV2ZW50PixcbiAgICAgICAgQEluamVjdChTQ19BUElfS0VZUykgcHJpdmF0ZSByZWFkb25seSBhcGlLZXlzOiBTY0lBcGlLZXlzLFxuICAgICAgICBASW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlLFxuICAgICAgICBASW5qZWN0KFNDX0dVRVNUX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGd1ZXN0U3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc0F1dGhTdG9yYWdlS2V5OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hBdXRoU3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KElTX0JST1dTRVIpIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdBX0xPQ0FMX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZT86IFN0b3JhZ2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQuiBBUEkuXG4gICAgICovXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyID8gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtC00L3QvtGA0LDQt9C+0LLRi9C5INC60LvRjtGHINC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIgPyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBUT0RPINCh0L7RhdGA0LDQvdGP0YLRjCDQstC10YHRjCDQvtCx0YrQtdC60YIg0L/RgNC4INC00L7QsdCw0LLQu9C10L3QuNC4INGE0YPQvdC60YbQuNC+0L3QsNC70LAg0YHQstGP0LfQsNC90L3QvtCz0L4g0YEg0LLRgNC10LzQtdC90LXQvCDQttC40LfQvdC4INC60LvRjtGH0LAuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdG9rZW4g0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICovXG4gICAgcHVibGljIHNldEF1dGhUb2tlbih0b2tlbjogSUF1dGhUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXksIHRva2VuLnJlZnJlc2gudG9rZW4pO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXksIHRva2VuLmFjY2Vzcy50b2tlbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQXV0aFRva2VuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5nZXRBY2Nlc3NUb2tlbigpKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMg0LIg0YDQvtC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3Vlc3RUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZSAmJiB0aGlzLmlzQnJvd3NlciA/IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSh0aGlzLmd1ZXN0U3RvcmFnZUtleSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIFRPRE8g0KHQvtGF0YDQsNC90Y/RgtGMINCy0LXRgdGMINC+0LHRitC10LrRgiDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTRg9C90LrRhtC40L7QvdCw0LvQsCDRgdCy0Y/Qt9Cw0L3QvdC+0LPQviDRgSDQstGA0LXQvNC10L3QtdC8INC20LjQt9C90Lgg0LrQu9GO0YfQsC5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgyDQsiDRgNC+0LvQuCDQk9C+0YHRgtGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRva2VuT2JqZWN0INCa0LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHNldEd1ZXN0VG9rZW4odG9rZW5PYmplY3Q6IElUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5ndWVzdFN0b3JhZ2VLZXksIHRva2VuT2JqZWN0LnRva2VuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZUd1ZXN0VG9rZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuZ3Vlc3RTdG9yYWdlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQsiDQt9Cw0L/RgNC+0YEg0LfQsNCz0L7Qu9C+0LLQvtC6INC00LvRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0INCU0LDQvdC90YvQtSDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBhZGRBdXRoSGVhZGVyKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5ndWVzdEtleU5hbWUpLnNldCh0aGlzLmFwaUtleXMua2V5TmFtZSwgdGhpcy5nZXRBY2Nlc3NUb2tlbigpID8/ICcnKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5rZXlOYW1lKS5zZXQodGhpcy5hcGlLZXlzLmd1ZXN0S2V5TmFtZSwgdGhpcy5nZXRHdWVzdFRva2VuKCkgPz8gJycpIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1jb21wYW55LWJhc2UtaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29uZmlnL3NjLWktY29tcGFueS1iYXNlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0JHQsNC30L7QstCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0LrQvtC80L/QsNC90LjQuC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lDb21wYW55QmFzZUluZm8ge1xuICAgIC8qKlxuICAgICAqINCQ0LTRgNC10YEg0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQutC+0LzQv9Cw0L3QuNC4LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1haWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCi0LXQu9C10YTQvtC9INC60L7QvNC/0LDQvdC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGhvbmU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyBIUi3QvtGC0LTQtdC70LAg0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICByZWFkb25seSBock1haWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCi0LXQu9C10YTQvtC9IEhSLdC+0YLQtNC10LvQsCDQutC+0LzQv9Cw0L3QuNC4LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhyUGhvbmU6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1jb21wYW55LWJhc2UtaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29uZmlnL3NjLWktY29tcGFueS1iYXNlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0JHQsNC30L7QstCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0LrQvtC80L/QsNC90LjQuC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lDb21wYW55QmFzZUluZm8ge1xuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQkNC00YDQtdGBINC60L7QvNC/0LDQvdC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWRkcmVzczogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0K7RgNC40LTQuNGH0LXRgdC60LjQuSDQsNC00YDQtdGBINC60L7QvNC/0LDQvdC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgbGVnYWxBZGRyZXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQkNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQutC+0LzQv9Cw0L3QuNC4LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1haWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCi0LXQu9C10YTQvtC9INC60L7QvNC/0LDQvdC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGhvbmU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0YLQtdC70LXRhNC+0L0uXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2Vjb25kYXJ5UGhvbmU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQntCT0KDQnSAo0J7RgdC90L7QstC90L7QuSDQs9C+0YHRg9C00LDRgNGB0YLQstC10L3QvdGL0Lkg0YDQtdCz0LjRgdGC0YDQsNGG0LjQvtC90L3Ri9C5INC90L7QvNC10YApLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9ncm46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCY0J3QnSAo0JjQtNC10L3RgtC40YTQuNC60LDRhtC40L7QvdC90YvQuSDQvdC+0LzQtdGAINC90LDQu9C+0LPQvtC/0LvQsNGC0LXQu9GM0YnQuNC60LApLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlubjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1IEhSLdC+0YLQtNC10LvQsCDQutC+0LzQv9Cw0L3QuNC4LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhyPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICog0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsgSFIt0L7RgtC00LXQu9CwINC60L7QvNC/0LDQvdC40LguXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBtYWlsOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCi0LXQu9C10YTQvtC9IEhSLdC+0YLQtNC10LvQsCDQutC+0LzQv9Cw0L3QuNC4LlxuICAgICAgICAgKi9cbiAgICAgICAgcmVhZG9ubHkgcGhvbmU6IHN0cmluZztcbiAgICB9O1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS11cmxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb25maWcvc2MtaS11cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCU0LDQvdC90YvQtSDQviDQsdCw0LfQvtCy0L7QvCDRgdC/0LjRgdC60LUg0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSVVybHMge1xuICAgIC8qKlxuICAgICAqIFVSTCDQu9C+0LPQvtGC0LjQv9CwINC+0YDQs9Cw0L3QuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9nb1VybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVVJMLdCw0LTRgNC10YEg0YHQsNC50YLQsC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzaXRlVXJsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVUkwt0LDQtNGA0LXRgSDQutC+0L3QtdGH0L3QvtC5INGC0L7Rh9C60LggQVBJLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFwaVVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVVJMLdCw0LTRgNC10YEg0YHQtdGA0LLQtdGA0LAg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4g0YEg0LjQt9C+0LHRgNCw0LbQtdC90LjRj9C80Lgg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGltZ1NlcnZlclVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVVJMINC/0YPRgtGMINC6INC+0L/QuNGB0LDQvdC40Y4gQVBJLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFwaURvY1VybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INCy0L3QtdGI0L3QuNGFINGA0LXRgdGD0YDRgdC+0LIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVzPzogUmVjb3JkPFxuICAgICAgICBzdHJpbmcsXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogIFVSTCDQsNC00YDQtdGBINGA0LXRgdGD0YDRgdCwLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBzcmM6IHN0cmluZztcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDQotC40L8g0YDQtdGB0YPRgNGB0LAuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgfVxuICAgID47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS11cmxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb25maWcvc2MtaS11cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCU0LDQvdC90YvQtSDQviDQsdCw0LfQvtCy0L7QvCDRgdC/0LjRgdC60LUg0YHRgdGL0LvQvtC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSVVybHMge1xuICAgIC8qKlxuICAgICAqIFVSTCDQu9C+0LPQvtGC0LjQv9CwINC+0YDQs9Cw0L3QuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9nb1VybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVVJMLdCw0LTRgNC10YEg0YHQsNC50YLQsC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzaXRlVXJsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVUkwt0LDQtNGA0LXRgSDQutC+0L3QtdGH0L3QvtC5INGC0L7Rh9C60LggQVBJLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFwaVVybDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVVJMLdCw0LTRgNC10YEg0YHQtdGA0LLQtdGA0LAg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4g0YEg0LjQt9C+0LHRgNCw0LbQtdC90LjRj9C80Lgg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGltZ1NlcnZlclVybD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFVSTCDQv9GD0YLRjCDQuiDQvtC/0LjRgdCw0L3QuNGOIEFQSS5cbiAgICAgKi9cbiAgICByZWFkb25seSBhcGlEb2NVcmw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LLQvdC10YjQvdC40YUg0YDQtdGB0YPRgNGB0L7Qsi5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXM/OiBSZWNvcmQ8XG4gICAgICAgIHN0cmluZyxcbiAgICAgICAge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiAgVVJMINCw0LTRgNC10YEg0YDQtdGB0YPRgNGB0LAuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHNyYzogc3RyaW5nO1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqINCi0LjQvyDRgNC10YHRg9GA0YHQsC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICB9XG4gICAgPjtcbn1cbiJdfQ==
@@ -6,4 +6,5 @@ export * from './search-term.providers';
6
6
  export * from './ssr.providers';
7
7
  export * from './types/sc-provider';
8
8
  export * from './virtual-category.providers';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaWQtb3Itc2x1Zy1pbi1yb3V0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXByb2R1Y3QtcGFnaW5hdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdGVybWluYWwucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXRlcm0ucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3NyLnByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3NjLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmlydHVhbC1jYXRlZ29yeS5wcm92aWRlcnMnO1xuIl19
9
+ export * from './sc-company-info';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pZC1vci1zbHVnLWluLXJvdXRlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtcHJvZHVjdC1wYWdpbmF0aW9uLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXJtaW5hbC5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtdGVybS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zc3IucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvc2MtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi92aXJ0dWFsLWNhdGVnb3J5LnByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvbXBhbnktaW5mbyc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Токен для получения полной информации о компании.
4
+ */
5
+ export const SC_COMPANY_INFO = new InjectionToken('SC_COMPANY_INFO');
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29tcGFueS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9wcm92aWRlcnMvc2MtY29tcGFueS1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXVDLElBQUksY0FBYyxDQUFxQixpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2NJQ29tcGFueUJhc2VJbmZvIH0gZnJvbSAnLi4vY29uZmlnL3NjLWktY29tcGFueS1iYXNlLWluZm8nO1xuXG4vKipcbiAqINCi0L7QutC10L0g0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQv9C+0LvQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LrQvtC80L/QsNC90LjQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0NPTVBBTllfSU5GTzogSW5qZWN0aW9uVG9rZW48U2NJQ29tcGFueUJhc2VJbmZvPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTY0lDb21wYW55QmFzZUluZm8+KCdTQ19DT01QQU5ZX0lORk8nKTtcbiJdfQ==
@@ -1,6 +1,9 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { inject, Injectable } from '@angular/core';
3
- import { map, ReplaySubject, switchMap, tap } from 'rxjs';
3
+ import { WA_LOCAL_STORAGE } from '@ng-web-apis/common';
4
+ import { filterByKey, StorageService, toValue, WA_STORAGE_EVENT } from '@ng-web-apis/storage';
5
+ import { tuiIsPresent } from '@taiga-ui/cdk';
6
+ import { filter, map, shareReplay, switchMap, tap } from 'rxjs';
4
7
  import { ScAuthService } from '../../auth/services/sc-auth.service';
5
8
  import { ScTokenService } from '../../auth/services/sc-token.service';
6
9
  import { IS_BROWSER } from '../../providers/ssr.providers';
@@ -15,9 +18,21 @@ import * as i0 from "@angular/core";
15
18
  export class ScUserService {
16
19
  constructor() {
17
20
  /**
18
- * {@link ReplaySubject} данных о текущем пользователе.
21
+ * {@link Observable} Событие изменения в {@link Storage}.
19
22
  */
20
- this.user$ = new ReplaySubject(1);
23
+ this.storageEvent$ = inject(WA_STORAGE_EVENT);
24
+ /**
25
+ * Сервис для работы с {@link Storage}.
26
+ */
27
+ this.storageService = inject(StorageService);
28
+ /**
29
+ * {@link Storage}.
30
+ */
31
+ this.storage = inject(WA_LOCAL_STORAGE, { optional: true });
32
+ /**
33
+ * {@link Observable} ключа доступа пользователя к API в {@link Storage}.
34
+ */
35
+ this.user$ = this.storageEvent$.pipe(filterByKey('userData'), toValue(), map((userData) => (userData ? new ScUser(JSON.parse(userData)) : null)), filter(tuiIsPresent), shareReplay({ refCount: true, bufferSize: 1 }));
21
36
  /**
22
37
  * Сервис для работы с токенами.
23
38
  */
@@ -53,11 +68,21 @@ export class ScUserService {
53
68
  .pipe(switchMap((state) => (state ? this.getUserInfo$() : this.getGuestInfo$())))
54
69
  .subscribe((user) => {
55
70
  this.userMetrikaService.setUserParams(user.id, user.userType);
56
- this.user$.next(user);
71
+ this.setUserToStorage(user);
57
72
  });
58
73
  }
59
74
  else {
60
- this.user$.next(new ScUser({ metadata: {} }));
75
+ this.setUserToStorage(new ScUser({ metadata: {} }));
76
+ }
77
+ }
78
+ /**
79
+ * Устанавливает данные пользователя в {@link Storage}.
80
+ *
81
+ * @param user Данные пользователя.
82
+ */
83
+ setUserToStorage(user) {
84
+ if (this.storage && this.isBrowser) {
85
+ this.storageService.setItem('userData', JSON.stringify(user));
61
86
  }
62
87
  }
63
88
  /**
@@ -116,14 +141,14 @@ export class ScUserService {
116
141
  * Возвращает {@link Observable} текущего пользователя.
117
142
  */
118
143
  getUserChange$() {
119
- return this.user$.asObservable();
144
+ return this.user$;
120
145
  }
121
146
  /**
122
147
  * Обновляет данные {@link Observable} текущего пользователя.
123
148
  */
124
149
  updateUserChange$() {
125
150
  return this.getUserInfo$().pipe(tap((user) => {
126
- this.user$.next(user);
151
+ this.setUserToStorage(user);
127
152
  }));
128
153
  }
129
154
  /**
@@ -137,7 +162,7 @@ export class ScUserService {
137
162
  */
138
163
  updateGuestChange$() {
139
164
  return this.getGuestInfo$().pipe(tap((user) => {
140
- this.user$.next(user);
165
+ this.setUserToStorage(user);
141
166
  }));
142
167
  }
143
168
  /**
@@ -155,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
155
180
  providedIn: 'root',
156
181
  }]
157
182
  }] });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91c2VyL3NlcnZpY2VzL3NjLXVzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFPM0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd4Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7O1dBRUc7UUFDSyxVQUFLLEdBQTBCLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXBFOztXQUVHO1FBQ2MsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxjQUFTLEdBQVksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpEOztXQUVHO1FBQ2MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFckQ7O1dBRUc7UUFDYyxTQUFJ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QUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7K0dBNUpRLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJQXV0aFRva2VuIH0gZnJvbSAnLi4vLi4vYXV0aC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNjQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3NlcnZpY2VzL3NjLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBTY1Rva2VuU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvc2VydmljZXMvc2MtdG9rZW4uc2VydmljZSc7XG5pbXBvcnQgeyBJU19CUk9XU0VSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0gfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EvZW51bXMvc2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0nO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2Evc2VydmljZXMvc2MtdXNlci1tZXRyaWthLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NJU2ltcGxlVXNlck9uRGF0YUNyZWF0ZSB9IGZyb20gJy4uL2R0byc7XG5pbXBvcnQgeyBTY0lDaGFuZ2VQYXNzd29yZCB9IGZyb20gJy4uL2R0by9zYy1pLWNoYW5nZS1wYXNzd29yZCc7XG5pbXBvcnQgeyBTY0lQYXNzd29yZE9uRGF0YVVwZGF0ZSB9IGZyb20gJy4uL2R0by9zYy1pLXBhc3N3b3JkLW9uLWRhdGEtY3JlYXRlJztcbmltcG9ydCB7IFNjSVBob25lT25EYXRhQXBwcm92ZSB9IGZyb20gJy4uL2R0by9zYy1pLXBob25lLW9uLWRhdGEtYXBwcm92ZSc7XG5pbXBvcnQgeyBTY0lVc2VyT25EYXRhQ3JlYXRlIH0gZnJvbSAnLi4vZHRvL3NjLWktdXNlci1vbi1kYXRhLWNyZWF0ZSc7XG5pbXBvcnQgeyBTY0lVc2VyT25EYXRhVXBkYXRlIH0gZnJvbSAnLi4vZHRvL3NjLWktdXNlci1vbi1kYXRhLXVwZGF0ZSc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTY0lVc2VyRFRPIH0gZnJvbSAnLi4vaW50ZXJuYWwvZHRvJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1VzZXJTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVzZXIkOiBSZXBsYXlTdWJqZWN0PFNjVXNlcj4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY1VzZXI+KDEpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0YLQvtC60LXQvdCw0LzQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZSA9IGluamVjdChTY1Rva2VuU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGB0LrRgNC40L/RgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINCyINCx0YDQsNGD0LfQtdGA0LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW4gPSBpbmplY3QoSVNfQlJPV1NFUik7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlID0gaW5qZWN0KFNjQXV0aFNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiBIVFRQLdC60LvQuNC10L3Rgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZSA9IGluamVjdChTY1VzZXJNZXRyaWthU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y4g0YHQtdGA0LLQuNGB0LAuXG4gICAgICovXG4gICAgcHVibGljIGluaXRTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0QXV0aENoYW5nZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKChzdGF0ZSkgPT4gKHN0YXRlID8gdGhpcy5nZXRVc2VySW5mbyQoKSA6IHRoaXMuZ2V0R3Vlc3RJbmZvJCgpKSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5zZXRVc2VyUGFyYW1zKHVzZXIuaWQsIHVzZXIudXNlclR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIkLm5leHQodXNlcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVzZXIkLm5leHQobmV3IFNjVXNlcih7IG1ldGFkYXRhOiB7fSB9KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LjQt9C80LXQvdC10L3QuNGPINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdEYXRhINCU0LDQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINC60L7RgtC+0YDRi9C1INC90YPQttC90L4g0L7QsdC90L7QstC40YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlVXNlckluZm8kKG5ld0RhdGE6IFNjSVVzZXJPbkRhdGFVcGRhdGUgfCBTY0lDaGFuZ2VQYXNzd29yZCB8IFNjSVBob25lT25EYXRhQXBwcm92ZSk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyYCwgbmV3RGF0YSkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0udXNlclByb2ZpbGVFZGl0ZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LdCz0L7RgdGC0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3RGF0YSDQlNCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLdCz0L7RgdGC0Y8sINC60L7RgtC+0YDRi9C1INC90YPQttC90L4g0L7QsdC90L7QstC40YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlR3Vlc3RJbmZvJChuZXdEYXRhOiBQaWNrPFNjSVVzZXJPbkRhdGFVcGRhdGUsICdtZXRhZGF0YSc+KTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2d1ZXN0YCwgbmV3RGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINGA0LXQs9C40YHRgtGA0LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIg0JTQsNC90L3Ri9C1INC00LvRjyDRgNC10LPQuNGB0YLRgNCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSB3aXRoQXV0aCDQpNC70LDQsywg0YPQutCw0LfRi9Cy0LDRjtGJ0LjQuSwg0L3Rg9C20L3QviDQu9C4INGD0YHRgtCw0L3QsNCy0LvQuNCy0LDRgtGMINGC0L7QutC10L0g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2lnblVwJCh1c2VyOiBTY0lVc2VyT25EYXRhQ3JlYXRlIHwgU2NJU2ltcGxlVXNlck9uRGF0YUNyZWF0ZSwgd2l0aEF1dGg6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxJQXV0aFRva2VuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJQXV0aFRva2VuPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyL3JlZ2lzdGVyYCwgdXNlcikucGlwZShcbiAgICAgICAgICAgIHRhcCgodG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduZWRVcCxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmICh3aXRoQXV0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS5zZXRBdXRoVG9rZW4odG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC90LAg0L7RgtC/0YDQsNCy0LrRgyDQutC+0LTQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/QsNGA0L7Qu9GPINC90LAg0Y3Qu9C10LrRgtGA0L7QvdC90YPRjiDQv9C+0YfRgtGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVtYWlsINCQ0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZW5kUmVzZXRQYXNzd29yZENvZGUkKGVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2F1dGgvcGFzc3dvcmQvcmVzdG9yZWAsIHsgcGFyYW1zOiB7IGVtYWlsOiBlbWFpbCB9IH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/QsNGA0L7Qu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld1Bhc3N3b3JkINCU0LDQvdC90YvQtSDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC/0LDRgNC+0LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzZXRQYXNzd29yZCQobmV3UGFzc3dvcmQ6IFNjSVBhc3N3b3JkT25EYXRhVXBkYXRlKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC9wYXNzd29yZC9yZXN0b3JlYCwgbmV3UGFzc3dvcmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VXNlckNoYW5nZSQoKTogT2JzZXJ2YWJsZTxTY1VzZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlciQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC00LDQvdC90YvQtSB7QGxpbmsgT2JzZXJ2YWJsZX0g0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVVzZXJDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVzZXJJbmZvJCgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIkLm5leHQodXNlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQvdCwINC/0L7Qu9GD0YfQtdC90LjQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGdldFVzZXJJbmZvJCgpOiBPYnNlcnZhYmxlPFNjVXNlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lVc2VyRFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS91c2VyYCkucGlwZShtYXAoKHVzZXIpID0+IG5ldyBTY1VzZXIodXNlcikpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LTQsNC90L3Ri9C1IHtAbGluayBPYnNlcnZhYmxlfSDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlR3Vlc3RDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEd1ZXN0SW5mbyQoKS5waXBlKFxuICAgICAgICAgICAgdGFwKCh1c2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyJC5uZXh0KHVzZXIpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0R3Vlc3RJbmZvJCgpOiBPYnNlcnZhYmxlPFNjVXNlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lVc2VyRFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS9ndWVzdGApLnBpcGUobWFwKCh1c2VyKSA9PiBuZXcgU2NVc2VyKHVzZXIpKSk7XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91c2VyL3NlcnZpY2VzL3NjLXVzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFPM0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd4Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7O1dBRUc7UUFDYyxrQkFBYSxHQUE2QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVwRjs7V0FF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QUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXQV9MT0NBTF9TVE9SQUdFIH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQgeyBmaWx0ZXJCeUtleSwgU3RvcmFnZVNlcnZpY2UsIHRvVmFsdWUsIFdBX1NUT1JBR0VfRVZFTlQgfSBmcm9tICdAbmctd2ViLWFwaXMvc3RvcmFnZSc7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSUF1dGhUb2tlbiB9IGZyb20gJy4uLy4uL2F1dGgvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTY0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXJ2aWNlcy9zYy1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3NlcnZpY2VzL3NjLXRva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVNfQlJPV1NFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9zc3IucHJvdmlkZXJzJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL2VudW1zL3NjLXVzZXItbWV0cmlrYS1nb2Fscy1lbnVtJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL3NlcnZpY2VzL3NjLXVzZXItbWV0cmlrYS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVNpbXBsZVVzZXJPbkRhdGFDcmVhdGUgfSBmcm9tICcuLi9kdG8nO1xuaW1wb3J0IHsgU2NJQ2hhbmdlUGFzc3dvcmQgfSBmcm9tICcuLi9kdG8vc2MtaS1jaGFuZ2UtcGFzc3dvcmQnO1xuaW1wb3J0IHsgU2NJUGFzc3dvcmRPbkRhdGFVcGRhdGUgfSBmcm9tICcuLi9kdG8vc2MtaS1wYXNzd29yZC1vbi1kYXRhLWNyZWF0ZSc7XG5pbXBvcnQgeyBTY0lQaG9uZU9uRGF0YUFwcHJvdmUgfSBmcm9tICcuLi9kdG8vc2MtaS1waG9uZS1vbi1kYXRhLWFwcHJvdmUnO1xuaW1wb3J0IHsgU2NJVXNlck9uRGF0YUNyZWF0ZSB9IGZyb20gJy4uL2R0by9zYy1pLXVzZXItb24tZGF0YS1jcmVhdGUnO1xuaW1wb3J0IHsgU2NJVXNlck9uRGF0YVVwZGF0ZSB9IGZyb20gJy4uL2R0by9zYy1pLXVzZXItb24tZGF0YS11cGRhdGUnO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vZHRvL3NjLXVzZXInO1xuaW1wb3J0IHsgU2NJVXNlckRUTyB9IGZyb20gJy4uL2ludGVybmFsL2R0byc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NVc2VyU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INCh0L7QsdGL0YLQuNC1INC40LfQvNC10L3QtdC90LjRjyDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlRXZlbnQkOiBPYnNlcnZhYmxlPFN0b3JhZ2VFdmVudD4gPSBpbmplY3QoV0FfU1RPUkFHRV9FVkVOVCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlOiBTdG9yYWdlIHwgbnVsbCA9IGluamVjdChXQV9MT0NBTF9TVE9SQUdFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gdGhpcy5zdG9yYWdlRXZlbnQkLnBpcGUoXG4gICAgICAgIGZpbHRlckJ5S2V5KCd1c2VyRGF0YScpLFxuICAgICAgICB0b1ZhbHVlKCksXG4gICAgICAgIG1hcCgodXNlckRhdGEpID0+ICh1c2VyRGF0YSA/IG5ldyBTY1VzZXIoSlNPTi5wYXJzZSh1c2VyRGF0YSkgYXMgU2NJVXNlckRUTykgOiBudWxsKSksXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINGC0L7QutC10L3QsNC80LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2tlblNlcnZpY2UgPSBpbmplY3QoU2NUb2tlblNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDRgdC60YDQuNC/0YIg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQsiDQsdGA0LDRg9C30LXRgNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuID0gaW5qZWN0KElTX0JST1dTRVIpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChTY0F1dGhTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICogSFRUUC3QutC70LjQtdC90YIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2UgPSBpbmplY3QoU2NVc2VyTWV0cmlrYVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGOINGB0LXRgNCy0LjRgdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBpbml0U2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldEF1dGhDaGFuZ2UoKVxuICAgICAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcCgoc3RhdGUpID0+IChzdGF0ZSA/IHRoaXMuZ2V0VXNlckluZm8kKCkgOiB0aGlzLmdldEd1ZXN0SW5mbyQoKSkpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2Uuc2V0VXNlclBhcmFtcyh1c2VyLmlkLCB1c2VyLnVzZXJUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRVc2VyVG9TdG9yYWdlKHVzZXIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRVc2VyVG9TdG9yYWdlKG5ldyBTY1VzZXIoeyBtZXRhZGF0YToge30gfSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlciDQlNCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0VXNlclRvU3RvcmFnZSh1c2VyOiBTY1VzZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZSAmJiB0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCd1c2VyRGF0YScsIEpTT04uc3RyaW5naWZ5KHVzZXIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld0RhdGEg0JTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LrQvtGC0L7RgNGL0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LjRgtGMLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVVc2VySW5mbyQobmV3RGF0YTogU2NJVXNlck9uRGF0YVVwZGF0ZSB8IFNjSUNoYW5nZVBhc3N3b3JkIHwgU2NJUGhvbmVPbkRhdGFBcHByb3ZlKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXJgLCBuZXdEYXRhKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS51c2VyUHJvZmlsZUVkaXRlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC40LfQvNC10L3QtdC90LjRjyDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUt0LPQvtGB0YLQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdEYXRhINCU0LDQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8t0LPQvtGB0YLRjywg0LrQvtGC0L7RgNGL0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LjRgtGMLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVHdWVzdEluZm8kKG5ld0RhdGE6IFBpY2s8U2NJVXNlck9uRGF0YVVwZGF0ZSwgJ21ldGFkYXRhJz4pOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vZ3Vlc3RgLCBuZXdEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlciDQlNCw0L3QvdGL0LUg0LTQu9GPINGA0LXQs9C40YHRgtGA0LDRhtC40LguXG4gICAgICogQHBhcmFtIHdpdGhBdXRoINCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQvdGD0LbQvdC+INC70Lgg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNGC0Ywg0YLQvtC60LXQvSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzaWduVXAkKHVzZXI6IFNjSVVzZXJPbkRhdGFDcmVhdGUgfCBTY0lTaW1wbGVVc2VyT25EYXRhQ3JlYXRlLCB3aXRoQXV0aDogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElBdXRoVG9rZW4+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXIvcmVnaXN0ZXJgLCB1c2VyKS5waXBlKFxuICAgICAgICAgICAgdGFwKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLnNpZ25lZFVwLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHdpdGhBdXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldEF1dGhUb2tlbih0b2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L3QsCDQvtGC0L/RgNCw0LLQutGDINC60L7QtNCwINC40LfQvNC10L3QtdC90LjRjyDQv9Cw0YDQvtC70Y8g0L3QsCDRjdC70LXQutGC0YDQvtC90L3Rg9GOINC/0L7Rh9GC0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW1haWwg0JDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICovXG4gICAgcHVibGljIHNlbmRSZXNldFBhc3N3b3JkQ29kZSQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC9wYXNzd29yZC9yZXN0b3JlYCwgeyBwYXJhbXM6IHsgZW1haWw6IGVtYWlsIH0gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC40LfQvNC10L3QtdC90LjRjyDQv9Cw0YDQvtC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3UGFzc3dvcmQg0JTQsNC90L3Ri9C1INC00LvRjyDQuNC30LzQtdC90LXQvdC40Y8g0L/QsNGA0L7Qu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXNldFBhc3N3b3JkJChuZXdQYXNzd29yZDogU2NJUGFzc3dvcmRPbkRhdGFVcGRhdGUpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9hdXRoL3Bhc3N3b3JkL3Jlc3RvcmVgLCBuZXdQYXNzd29yZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRVc2VyQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPFNjVXNlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LTQsNC90L3Ri9C1IHtAbGluayBPYnNlcnZhYmxlfSDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlVXNlckNoYW5nZSQoKTogT2JzZXJ2YWJsZTxTY1VzZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlckluZm8kKCkucGlwZShcbiAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VXNlclRvU3RvcmFnZSh1c2VyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC90LAg0L/QvtC70YPRh9C10L3QuNC1INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VXNlckluZm8kKCk6IE9ic2VydmFibGU8U2NVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVVzZXJEVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L3VzZXJgKS5waXBlKG1hcCgodXNlcikgPT4gbmV3IFNjVXNlcih1c2VyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQtNCw0L3QvdGL0LUge0BsaW5rIE9ic2VydmFibGV9INGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVHdWVzdENoYW5nZSQoKTogT2JzZXJ2YWJsZTxTY1VzZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R3Vlc3RJbmZvJCgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFVzZXJUb1N0b3JhZ2UodXNlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQvdCwINC/0L7Qu9GD0YfQtdC90LjQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRHdWVzdEluZm8kKCk6IE9ic2VydmFibGU8U2NVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVVzZXJEVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L2d1ZXN0YCkucGlwZShtYXAoKHVzZXIpID0+IG5ldyBTY1VzZXIodXNlcikpKTtcbiAgICB9XG59XG4iXX0=
@@ -3,9 +3,9 @@ import { InjectionToken, inject, PLATFORM_ID, Injectable, Inject, Optional, LOCA
3
3
  import { WA_LOCAL_STORAGE, WA_USER_AGENT, WA_WINDOW } from '@ng-web-apis/common';
4
4
  import { filterByKey, toValue, WA_STORAGE_EVENT, StorageService } from '@ng-web-apis/storage';
5
5
  import * as i1 from 'rxjs';
6
- import { startWith, Subject, ReplaySubject, partition, combineLatest, map, debounceTime, switchMap, of, tap, distinctUntilChanged, shareReplay, distinctUntilKeyChanged, skip, first, BehaviorSubject, filter, expand, takeWhile, toArray, catchError, throwError, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
6
+ import { startWith, Subject, ReplaySubject, partition, combineLatest, map, debounceTime, switchMap, of, tap, filter, shareReplay, distinctUntilChanged, distinctUntilKeyChanged, skip, first, BehaviorSubject, expand, takeWhile, toArray, catchError, throwError, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
7
7
  import { isPlatformBrowser, isPlatformServer, DOCUMENT, formatDate } from '@angular/common';
8
- import { tuiCreateTokenFromFactory, tuiCreateToken, TuiDay, tuiIsPresent, tuiPure } from '@taiga-ui/cdk';
8
+ import { tuiCreateTokenFromFactory, tuiCreateToken, tuiIsPresent, TuiDay, tuiPure } from '@taiga-ui/cdk';
9
9
  import * as i1$1 from '@angular/common/http';
10
10
  import { HttpContextToken, HttpContext, HttpHeaders, HttpClient, HttpParams, HttpResponse, HttpErrorResponse } from '@angular/common/http';
11
11
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -215,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
215
215
  }] }, { type: undefined, decorators: [{
216
216
  type: Inject,
217
217
  args: [IS_BROWSER]
218
- }] }, { type: undefined, decorators: [{
218
+ }] }, { type: Storage, decorators: [{
219
219
  type: Optional
220
220
  }, {
221
221
  type: Inject,
@@ -980,9 +980,21 @@ class ScUser {
980
980
  class ScUserService {
981
981
  constructor() {
982
982
  /**
983
- * {@link ReplaySubject} данных о текущем пользователе.
983
+ * {@link Observable} Событие изменения в {@link Storage}.
984
+ */
985
+ this.storageEvent$ = inject(WA_STORAGE_EVENT);
986
+ /**
987
+ * Сервис для работы с {@link Storage}.
988
+ */
989
+ this.storageService = inject(StorageService);
990
+ /**
991
+ * {@link Storage}.
992
+ */
993
+ this.storage = inject(WA_LOCAL_STORAGE, { optional: true });
994
+ /**
995
+ * {@link Observable} ключа доступа пользователя к API в {@link Storage}.
984
996
  */
985
- this.user$ = new ReplaySubject(1);
997
+ this.user$ = this.storageEvent$.pipe(filterByKey('userData'), toValue(), map((userData) => (userData ? new ScUser(JSON.parse(userData)) : null)), filter(tuiIsPresent), shareReplay({ refCount: true, bufferSize: 1 }));
986
998
  /**
987
999
  * Сервис для работы с токенами.
988
1000
  */
@@ -1018,11 +1030,21 @@ class ScUserService {
1018
1030
  .pipe(switchMap((state) => (state ? this.getUserInfo$() : this.getGuestInfo$())))
1019
1031
  .subscribe((user) => {
1020
1032
  this.userMetrikaService.setUserParams(user.id, user.userType);
1021
- this.user$.next(user);
1033
+ this.setUserToStorage(user);
1022
1034
  });
1023
1035
  }
1024
1036
  else {
1025
- this.user$.next(new ScUser({ metadata: {} }));
1037
+ this.setUserToStorage(new ScUser({ metadata: {} }));
1038
+ }
1039
+ }
1040
+ /**
1041
+ * Устанавливает данные пользователя в {@link Storage}.
1042
+ *
1043
+ * @param user Данные пользователя.
1044
+ */
1045
+ setUserToStorage(user) {
1046
+ if (this.storage && this.isBrowser) {
1047
+ this.storageService.setItem('userData', JSON.stringify(user));
1026
1048
  }
1027
1049
  }
1028
1050
  /**
@@ -1081,14 +1103,14 @@ class ScUserService {
1081
1103
  * Возвращает {@link Observable} текущего пользователя.
1082
1104
  */
1083
1105
  getUserChange$() {
1084
- return this.user$.asObservable();
1106
+ return this.user$;
1085
1107
  }
1086
1108
  /**
1087
1109
  * Обновляет данные {@link Observable} текущего пользователя.
1088
1110
  */
1089
1111
  updateUserChange$() {
1090
1112
  return this.getUserInfo$().pipe(tap((user) => {
1091
- this.user$.next(user);
1113
+ this.setUserToStorage(user);
1092
1114
  }));
1093
1115
  }
1094
1116
  /**
@@ -1102,7 +1124,7 @@ class ScUserService {
1102
1124
  */
1103
1125
  updateGuestChange$() {
1104
1126
  return this.getGuestInfo$().pipe(tap((user) => {
1105
- this.user$.next(user);
1127
+ this.setUserToStorage(user);
1106
1128
  }));
1107
1129
  }
1108
1130
  /**
@@ -3841,6 +3863,11 @@ const SC_VIRTUAL_CATEGORY_PROVIDERS = [
3841
3863
  },
3842
3864
  ];
3843
3865
 
3866
+ /**
3867
+ * Токен для получения полной информации о компании.
3868
+ */
3869
+ const SC_COMPANY_INFO = new InjectionToken('SC_COMPANY_INFO');
3870
+
3844
3871
  /**
3845
3872
  * Сервис для работы с UTM-меткой страницы.
3846
3873
  */
@@ -7292,5 +7319,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
7292
7319
  * Generated bundle index. Do not edit.
7293
7320
  */
7294
7321
 
7295
- export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImage, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7322
+ export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImage, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7296
7323
  //# sourceMappingURL=snabcentr-client-core.mjs.map