@snabcentr/client-core 3.20.0 → 3.21.0-profstroy

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 (86) hide show
  1. package/catalog/dto/sc-product.d.ts +7 -0
  2. package/catalog/services/sc-catalog-redirect.service.d.ts +1 -1
  3. package/config/sc-i-update-interval.d.ts +12 -0
  4. package/esm2022/auth/services/sc-auth.service.mjs +3 -2
  5. package/esm2022/catalog/classes/sc-catalog-item.mjs +2 -2
  6. package/esm2022/catalog/dto/sc-product.mjs +13 -1
  7. package/esm2022/catalog/services/sc-catalog-redirect.service.mjs +3 -3
  8. package/esm2022/config/sc-i-update-interval.mjs +1 -1
  9. package/esm2022/helpers/index.mjs +2 -1
  10. package/esm2022/helpers/sc-date-helper.mjs +23 -0
  11. package/esm2022/helpers/sc-units-helper.mjs +3 -2
  12. package/esm2022/order/classes/index.mjs +3 -1
  13. package/esm2022/order/classes/sc-order-draft-actualization.mjs +46 -0
  14. package/esm2022/order/classes/sc-order-draft-short.mjs +7 -2
  15. package/esm2022/order/classes/sc-order-draft.mjs +15 -3
  16. package/esm2022/order/classes/sc-order-item.mjs +23 -1
  17. package/esm2022/order/classes/sc-order-short.mjs +3 -1
  18. package/esm2022/order/classes/sc-profstroy-order-item.mjs +88 -0
  19. package/esm2022/order/enums/index.mjs +2 -1
  20. package/esm2022/order/enums/sc-order-draft-actualization-status.mjs +24 -0
  21. package/esm2022/order/internal/index.mjs +6 -1
  22. package/esm2022/order/internal/sc-i-new-profstroy-order-draft-request.mjs +2 -0
  23. package/esm2022/order/internal/sc-i-order-draft-actualization.mjs +2 -0
  24. package/esm2022/order/internal/sc-i-order-draft-file.mjs +2 -0
  25. package/esm2022/order/internal/sc-i-order-draft-short.mjs +1 -1
  26. package/esm2022/order/internal/sc-i-order-draft.mjs +1 -1
  27. package/esm2022/order/internal/sc-i-order-short.mjs +1 -1
  28. package/esm2022/order/internal/sc-i-profstroy-order-item.mjs +2 -0
  29. package/esm2022/order/internal/sc-i-profstroy-product-stub.mjs +2 -0
  30. package/esm2022/order/services/sc-order-drafts.service.mjs +122 -11
  31. package/esm2022/public-api.mjs +2 -1
  32. package/esm2022/ssr-cache/classes/index.mjs +2 -0
  33. package/esm2022/ssr-cache/classes/sc-ssr-response-cache.mjs +100 -0
  34. package/esm2022/ssr-cache/index.mjs +6 -0
  35. package/esm2022/ssr-cache/interfaces/index.mjs +3 -0
  36. package/esm2022/ssr-cache/interfaces/sc-i-ssr-response-cache-settings.mjs +2 -0
  37. package/esm2022/ssr-cache/interfaces/sc-i-ssr-response-cache-stats.mjs +2 -0
  38. package/esm2022/ssr-cache/internal/is-ssr-response-cacheable.mjs +25 -0
  39. package/esm2022/ssr-cache/internal/sc-i-ssr-cached-response.mjs +2 -0
  40. package/esm2022/ssr-cache/sc-ssr-response-cache.backend.mjs +71 -0
  41. package/esm2022/ssr-cache/sc-ssr-response-cache.providers.mjs +12 -0
  42. package/esm2022/ssr-cache/tokens/index.mjs +3 -0
  43. package/esm2022/ssr-cache/tokens/sc-ssr-response-cache-settings.mjs +8 -0
  44. package/esm2022/ssr-cache/tokens/sc-ssr-response-cache.mjs +13 -0
  45. package/esm2022/user-metrika/enums/sc-user-metrika-goals-enum.mjs +19 -1
  46. package/fesm2022/snabcentr-client-core.mjs +625 -57
  47. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  48. package/helpers/index.d.ts +1 -0
  49. package/helpers/sc-date-helper.d.ts +12 -0
  50. package/helpers/sc-units-helper.d.ts +1 -1
  51. package/order/classes/index.d.ts +2 -0
  52. package/order/classes/sc-order-draft-actualization.d.ts +47 -0
  53. package/order/classes/sc-order-draft-short.d.ts +16 -2
  54. package/order/classes/sc-order-draft.d.ts +16 -2
  55. package/order/classes/sc-order-item.d.ts +12 -0
  56. package/order/classes/sc-order-short.d.ts +4 -0
  57. package/order/classes/sc-profstroy-order-item.d.ts +73 -0
  58. package/order/enums/index.d.ts +1 -0
  59. package/order/enums/sc-order-draft-actualization-status.d.ts +21 -0
  60. package/order/internal/index.d.ts +5 -0
  61. package/order/internal/sc-i-new-profstroy-order-draft-request.d.ts +14 -0
  62. package/order/internal/sc-i-order-draft-actualization.d.ts +22 -0
  63. package/order/internal/sc-i-order-draft-file.d.ts +13 -0
  64. package/order/internal/sc-i-order-draft-short.d.ts +15 -0
  65. package/order/internal/sc-i-order-draft.d.ts +2 -1
  66. package/order/internal/sc-i-order-short.d.ts +4 -0
  67. package/order/internal/sc-i-profstroy-order-item.d.ts +28 -0
  68. package/order/internal/sc-i-profstroy-product-stub.d.ts +13 -0
  69. package/order/services/sc-order-drafts.service.d.ts +63 -1
  70. package/package.json +1 -1
  71. package/public-api.d.ts +1 -0
  72. package/release_notes.tmp +2 -4
  73. package/ssr-cache/classes/index.d.ts +1 -0
  74. package/ssr-cache/classes/sc-ssr-response-cache.d.ts +59 -0
  75. package/ssr-cache/index.d.ts +5 -0
  76. package/ssr-cache/interfaces/index.d.ts +2 -0
  77. package/ssr-cache/interfaces/sc-i-ssr-response-cache-settings.d.ts +17 -0
  78. package/ssr-cache/interfaces/sc-i-ssr-response-cache-stats.d.ts +17 -0
  79. package/ssr-cache/internal/is-ssr-response-cacheable.d.ts +14 -0
  80. package/ssr-cache/internal/sc-i-ssr-cached-response.d.ts +16 -0
  81. package/ssr-cache/sc-ssr-response-cache.backend.d.ts +42 -0
  82. package/ssr-cache/sc-ssr-response-cache.providers.d.ts +6 -0
  83. package/ssr-cache/tokens/index.d.ts +2 -0
  84. package/ssr-cache/tokens/sc-ssr-response-cache-settings.d.ts +6 -0
  85. package/ssr-cache/tokens/sc-ssr-response-cache.d.ts +6 -0
  86. package/user-metrika/enums/sc-user-metrika-goals-enum.d.ts +18 -0
@@ -13,6 +13,13 @@ import { ScIProductImages } from './sc-i-product-images';
13
13
  * Модель данных товара/услуги.
14
14
  */
15
15
  export declare class ScProduct extends ScCatalogItem<ScICategory> implements ScIProduct {
16
+ /**
17
+ * Возвращает товар, не найденный в каталоге, с известными названием и артикулом поставщика.
18
+ *
19
+ * @param name Название товара.
20
+ * @param supplierSku Артикул поставщика.
21
+ */
22
+ static createNotFound(name?: string, supplierSku?: string): ScProduct;
16
23
  /**
17
24
  * @inheritDoc
18
25
  */
@@ -56,7 +56,7 @@ export declare class ScCatalogRedirectService {
56
56
  * (адрес со slug либо с идентификатором — в зависимости от настроек окружения).
57
57
  *
58
58
  * @param commands Сегменты канонического маршрута.
59
- * @param status Статус редиректа: адрес с идентификатором заменяется на канонический навсегда, поэтому по умолчанию постоянный.
59
+ * @param status Статус редиректа: вид адреса задаётся настройками окружения и может быть изменён, поэтому по умолчанию временный.
60
60
  * @returns Дерево канонического маршрута для навигации либо `false`, если редирект выполнен ответом сервера.
61
61
  */
62
62
  redirectToCanonicalUrl(commands: Array<number | string>, status?: ScRedirectStatusEnum): boolean | UrlTree;
@@ -10,4 +10,16 @@ export interface ScIUpdateInterval {
10
10
  * Время для установки интервала обновления уведомлений пользователя.
11
11
  */
12
12
  readonly notificationsUpdate: number;
13
+ /**
14
+ * Интервал фонового обновления списка черновиков заказов (ms).
15
+ */
16
+ readonly orderDraftsList: number;
17
+ /**
18
+ * Интервал опроса состояния черновиков Профстрой, находящихся в обработке (ms).
19
+ */
20
+ readonly orderDraftStatus: number;
21
+ /**
22
+ * Интервал проверки истечения срока актуализации черновика Профстрой (ms).
23
+ */
24
+ readonly orderDraftExpiration: number;
13
25
  }
@@ -60,7 +60,8 @@ export class ScAuthService {
60
60
  this.tokenService.removeGuestToken();
61
61
  return of(null);
62
62
  }
63
- return this.getGuestToken$();
63
+ // На сервере ключ Гостя некуда сохранить, поэтому запрос не выполняется.
64
+ return this.isServer ? of(null) : this.getGuestToken$();
64
65
  }), takeUntilDestroyed(this.destroyRef))
65
66
  .subscribe();
66
67
  if (this.isServer) {
@@ -159,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
159
160
  type: Inject,
160
161
  args: [SC_API_KEYS]
161
162
  }] }, { type: i2.ScTokenService }, { type: i3.ScUserMetrikaService }] });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9hdXRoL3NlcnZpY2VzL3NjLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQ7QUFFMUQsT0FBTyxFQUFjLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBSWxGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFnQnRCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDcUIsSUFBZ0IsRUFDQyxJQUFhLEVBQ1Qs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S1EsYUFBYSw0Q0EyQlYsT0FBTyxhQUNQLFdBQVc7bUhBNUJkLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBNEJRLE1BQU07MkJBQUMsT0FBTzs7MEJBQ2QsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlcyAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBtYXAsIE9ic2VydmFibGUsIG9mLCBwYXJ0aXRpb24sIFJlcGxheVN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSUFwaUtleXMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS1hcGkta2V5cyc7XG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktdXJscyc7XG5pbXBvcnQgeyBTQ19BVVRIX0FERF9IRUFERVJfUkVRVUlSRUQgfSBmcm9tICcuLi8uLi9odHRwSW50ZXJjZXB0b3JzL3Rva2Vucy9zYy1hdXRoLWFkZC1oZWFkZXItcmVxdWlyZWQnO1xuaW1wb3J0IHsgU0NfSVNfTE9HT1VUX1JFUVVFU1QgfSBmcm9tICcuLi8uLi9odHRwSW50ZXJjZXB0b3JzL3Rva2Vucy9zYy1pcy1sb2dvdXQtcmVxdWVzdCc7XG5pbXBvcnQgeyBTQ19JU19SRUZSRVNIX1JFUVVJUkVEIH0gZnJvbSAnLi4vLi4vaHR0cEludGVyY2VwdG9ycy90b2tlbnMvc2MtaXMtcmVmcmVzaC10b2tlbi1yZXF1aXJlZCc7XG5pbXBvcnQgeyBJU19TRVJWRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19JU19ISURERU5fRVJST1JfQUxFUlQsIFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVF9IVFRQX0NPTlRFWFQgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgU0NfQVBJX0tFWVMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtYXBpLWtleXMnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthJztcbmltcG9ydCB7IElBdXRoVG9rZW4sIElMb2dpbiwgSVBob25lTG9naW4sIElUb2tlbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2NUb2tlblNlcnZpY2UgfSBmcm9tICcuL3NjLXRva2VuLnNlcnZpY2UnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0F1dGhTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQu9GPINGB0L7QsdGL0YLQuNC50L3QvtC5INC80L7QtNC10LvQuCDRgdC10YDQstC40YHQsCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgYXV0aFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyOiBib29sZWFuID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQntCz0YDQsNC90LjRh9C40LLQsNC10YIg0LbQuNC30L3RjCDQv9C+0LTQv9C40YHQvtC6INC40Lcg0LrQvtC90YHRgtGA0YPQutGC0L7RgNCwINC40L3QttC10LrRgtC+0YDQvtC8ICjQsNC60YLRg9Cw0LvRjNC90L4g0LTQu9GPIHVuaXQt0YLQtdGB0YLQvtCyKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQXV0aFNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGh0dHAgSFRUUC3QutC70LjQtdC90YIuXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gYXBpS2V5cyDQl9Cw0LPQvtC70L7QstC60Lgg0LrQu9GO0YfQtdC5INC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKiBAcGFyYW0gdG9rZW5TZXJ2aWNlINCh0LXRgNCy0LjRgSDQutC70Y7Rh9C10Lkg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19BUElfS0VZUykgcHJpdmF0ZSByZWFkb25seSBhcGlLZXlzOiBTY0lBcGlLZXlzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZTogU2NUb2tlblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge1xuICAgICAgICBjb25zdCBbYXV0aFN0YXRlJCwgYWN0aW9ucyRdID0gcGFydGl0aW9uKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICAgICAgYWNjZXNzOiB0aGlzLnRva2VuU2VydmljZS5hY2Nlc3NBdXRoVG9rZW4kLnBpcGUobWFwKCh0b2tlbikgPT4gdG9rZW4gIT09IG51bGwpKSxcbiAgICAgICAgICAgICAgICBndWVzdDogdGhpcy50b2tlblNlcnZpY2UuZ3Vlc3RUb2tlbiQucGlwZShtYXAoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCkpLFxuICAgICAgICAgICAgfSkucGlwZShkZWJvdW5jZVRpbWUoMCkpLCAvLyDQmNGB0L/RgNCw0LLQu9GP0LXRgiDQvtGI0LjQsdC60YMg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+0LPQviDRg9C00LDQu9C10L3QuNGPINC60LvRjtGH0LAg0LPQvtGB0YLRjyDQuCDQutC70Y7Rh9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy4g0JLQvtC30L3QuNC60LDQtdGCINC/0YDQuCDQvtGH0LjRgdGC0LrQtSBTdG9yYWdlLlxuICAgICAgICAgICAgKHsgYWNjZXNzLCBndWVzdCB9KSA9PiAoYWNjZXNzICYmICFndWVzdCkgfHwgKCFhY2Nlc3MgJiYgZ3Vlc3QpXG4gICAgICAgICk7XG4gICAgICAgIGF1dGhTdGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh7IGFjY2VzcyB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhTdWJqZWN0Lm5leHQoYWNjZXNzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbnMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWNjZXNzIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblNlcnZpY2UucmVtb3ZlR3Vlc3RUb2tlbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRHdWVzdFRva2VuJCgpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aFN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtGB0YLQvtGP0L3QuNGPINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LgsINGH0YLQvtCx0Ysg0YDQtdCw0LPQuNGA0L7QstCw0YLRjCDQvdCwINC40LfQvNC10L3QtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QXV0aENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIg0JTQsNC90L3Ri9C1INC00LvRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9C+IGVtYWlsLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWduSW4kKHVzZXI6IElMb2dpbik6IE9ic2VydmFibGU8SUF1dGhUb2tlbj47XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlciDQlNCw0L3QvdGL0LUg0LTQu9GPINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIGdldFNpZ25JbiQodXNlcjogSVBob25lTG9naW4pOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4+O1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIg0JTQsNC90L3Ri9C1INC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtSDQtNC70Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2lnbkluJCh1c2VyOiBJTG9naW4gfCBJUGhvbmVMb2dpbik6IE9ic2VydmFibGU8SUF1dGhUb2tlbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SUF1dGhUb2tlbj4oYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC9sb2dpbmAsIHVzZXIpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLnNpZ25lZEluLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgc2lnbl9pbl90eXBlOiAncGFzc3dvcmQnIGluIHVzZXIgPyAnbG9naW4vcGFzc3dvcmQnIDogJ3Bob25lL2NvZGUnIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgodG9rZW5zT2JqZWN0OiBJQXV0aFRva2VuKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0QXV0aFRva2VuKHRva2Vuc09iamVjdCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQt9Cw0LLQtdGA0YjQtdC90LjRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZW1vdmVBdXRoVG9rZW4g0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDRg9C00LDQu9C40YLRjCDQutC70Y7RhyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWduT3V0JChyZW1vdmVBdXRoVG9rZW46IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8dW5kZWZpbmVkPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLnVybHMuYXBpVXJsfS9hdXRoL2xvZ291dGAsXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoU0NfSVNfTE9HT1VUX1JFUVVFU1QsIHRydWUpLnNldChTQ19JU19ISURERU5fRVJST1JfQUxFUlQsIHRydWUpLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduZWRPdXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdmVBdXRoVG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnJlbW92ZUF1dGhUb2tlbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINC30LDQv9GA0L7RgSDQt9Cw0LLQtdGA0YjQtdC90LjRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2lnbk91dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRTaWduT3V0JCgpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQv9C+0LLRgtC+0YDQvdC+0Lkg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0Lgg0L7QsdC90L7QstC70LXQvdC40Y8g0LrQu9GO0YfQsCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZnJlc2hUb2tlbnMg0JrQu9GO0YfQuCDQtNC+0YHRgtGD0L/QsCDQuiBBUEksINC4INC+0LHQvdC+0LLQu9C10L3QuNGPINGB0LXRgdGB0LjQuCDQtNC+0YHRgtGD0L/QsCDQuiBBUEkuINCV0YHQu9C4INC60LvRjtGH0Lgg0L3QtSDQv9C10YDQtdC00LDQvdGLLCDQsdC10YDRkdGCINC40YUg0LjQtyB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZnJlc2hUb2tlbiQocmVmcmVzaFRva2Vucz86IElBdXRoVG9rZW4pOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4+IHtcbiAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2Vucz8ucmVmcmVzaC50b2tlbiA/PyB0aGlzLnRva2VuU2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSByZWZyZXNoVG9rZW5zXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCh0aGlzLmFwaUtleXMua2V5TmFtZSwgcmVmcmVzaFRva2Vucy5hY2Nlc3MudG9rZW4pLFxuICAgICAgICAgICAgICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KFNDX0lTX1JFRlJFU0hfUkVRVUlSRUQsIHRydWUpLnNldChTQ19JU19ISURERU5fRVJST1JfQUxFUlQsIHRydWUpLnNldChTQ19BVVRIX0FERF9IRUFERVJfUkVRVUlSRUQsIGZhbHNlKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoU0NfSVNfUkVGUkVTSF9SRVFVSVJFRCwgdHJ1ZSkuc2V0KFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVCwgdHJ1ZSksXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxJQXV0aFRva2VuPihgJHt0aGlzLnVybHMuYXBpVXJsfS9hdXRoL3Rva2VuYCwgeyByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW4gfSwgcmVxdWVzdE9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHRva2VuczogSUF1dGhUb2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldEF1dGhUb2tlbih0b2tlbnMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/QvtC70YPRh9C10L3QuNGPINCz0L7RgdGC0LXQstC+0LPQviDQutC70Y7Rh9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHdWVzdFRva2VuJCgpOiBPYnNlcnZhYmxlPElUb2tlbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PElUb2tlbj4oYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC9ndWVzdC90b2tlbmAsIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgodG9rZW46IElUb2tlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS5zZXRHdWVzdFRva2VuKHRva2VuKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9hdXRoL3NlcnZpY2VzL3NjLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQ7QUFFMUQsT0FBTyxFQUFjLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBSWxGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFnQnRCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDcUIsSUFBZ0IsRUFDQyxJQUFhLEVBQ1Qs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QUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzsrR0E3S1EsYUFBYSw0Q0EyQlYsT0FBTyxhQUNQLFdBQVc7bUhBNUJkLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBNEJRLE1BQU07MkJBQUMsT0FBTzs7MEJBQ2QsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlcyAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBtYXAsIE9ic2VydmFibGUsIG9mLCBwYXJ0aXRpb24sIFJlcGxheVN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSUFwaUtleXMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS1hcGkta2V5cyc7XG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktdXJscyc7XG5pbXBvcnQgeyBTQ19BVVRIX0FERF9IRUFERVJfUkVRVUlSRUQgfSBmcm9tICcuLi8uLi9odHRwSW50ZXJjZXB0b3JzL3Rva2Vucy9zYy1hdXRoLWFkZC1oZWFkZXItcmVxdWlyZWQnO1xuaW1wb3J0IHsgU0NfSVNfTE9HT1VUX1JFUVVFU1QgfSBmcm9tICcuLi8uLi9odHRwSW50ZXJjZXB0b3JzL3Rva2Vucy9zYy1pcy1sb2dvdXQtcmVxdWVzdCc7XG5pbXBvcnQgeyBTQ19JU19SRUZSRVNIX1JFUVVJUkVEIH0gZnJvbSAnLi4vLi4vaHR0cEludGVyY2VwdG9ycy90b2tlbnMvc2MtaXMtcmVmcmVzaC10b2tlbi1yZXF1aXJlZCc7XG5pbXBvcnQgeyBJU19TRVJWRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19JU19ISURERU5fRVJST1JfQUxFUlQsIFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVF9IVFRQX0NPTlRFWFQgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgU0NfQVBJX0tFWVMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtYXBpLWtleXMnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthJztcbmltcG9ydCB7IElBdXRoVG9rZW4sIElMb2dpbiwgSVBob25lTG9naW4sIElUb2tlbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2NUb2tlblNlcnZpY2UgfSBmcm9tICcuL3NjLXRva2VuLnNlcnZpY2UnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY0F1dGhTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQu9GPINGB0L7QsdGL0YLQuNC50L3QvtC5INC80L7QtNC10LvQuCDRgdC10YDQstC40YHQsCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgYXV0aFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyOiBib29sZWFuID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQntCz0YDQsNC90LjRh9C40LLQsNC10YIg0LbQuNC30L3RjCDQv9C+0LTQv9C40YHQvtC6INC40Lcg0LrQvtC90YHRgtGA0YPQutGC0L7RgNCwINC40L3QttC10LrRgtC+0YDQvtC8ICjQsNC60YLRg9Cw0LvRjNC90L4g0LTQu9GPIHVuaXQt0YLQtdGB0YLQvtCyKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQXV0aFNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGh0dHAgSFRUUC3QutC70LjQtdC90YIuXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gYXBpS2V5cyDQl9Cw0LPQvtC70L7QstC60Lgg0LrQu9GO0YfQtdC5INC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKiBAcGFyYW0gdG9rZW5TZXJ2aWNlINCh0LXRgNCy0LjRgSDQutC70Y7Rh9C10Lkg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19BUElfS0VZUykgcHJpdmF0ZSByZWFkb25seSBhcGlLZXlzOiBTY0lBcGlLZXlzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZTogU2NUb2tlblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge1xuICAgICAgICBjb25zdCBbYXV0aFN0YXRlJCwgYWN0aW9ucyRdID0gcGFydGl0aW9uKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdCh7XG4gICAgICAgICAgICAgICAgYWNjZXNzOiB0aGlzLnRva2VuU2VydmljZS5hY2Nlc3NBdXRoVG9rZW4kLnBpcGUobWFwKCh0b2tlbikgPT4gdG9rZW4gIT09IG51bGwpKSxcbiAgICAgICAgICAgICAgICBndWVzdDogdGhpcy50b2tlblNlcnZpY2UuZ3Vlc3RUb2tlbiQucGlwZShtYXAoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCkpLFxuICAgICAgICAgICAgfSkucGlwZShkZWJvdW5jZVRpbWUoMCkpLCAvLyDQmNGB0L/RgNCw0LLQu9GP0LXRgiDQvtGI0LjQsdC60YMg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+0LPQviDRg9C00LDQu9C10L3QuNGPINC60LvRjtGH0LAg0LPQvtGB0YLRjyDQuCDQutC70Y7Rh9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy4g0JLQvtC30L3QuNC60LDQtdGCINC/0YDQuCDQvtGH0LjRgdGC0LrQtSBTdG9yYWdlLlxuICAgICAgICAgICAgKHsgYWNjZXNzLCBndWVzdCB9KSA9PiAoYWNjZXNzICYmICFndWVzdCkgfHwgKCFhY2Nlc3MgJiYgZ3Vlc3QpXG4gICAgICAgICk7XG4gICAgICAgIGF1dGhTdGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh7IGFjY2VzcyB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhTdWJqZWN0Lm5leHQoYWNjZXNzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbnMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgYWNjZXNzIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblNlcnZpY2UucmVtb3ZlR3Vlc3RUb2tlbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyDQndCwINGB0LXRgNCy0LXRgNC1INC60LvRjtGHINCT0L7RgdGC0Y8g0L3QtdC60YPQtNCwINGB0L7RhdGA0LDQvdC40YLRjCwg0L/QvtGN0YLQvtC80YMg0LfQsNC/0YDQvtGBINC90LUg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjy5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTZXJ2ZXIgPyBvZihudWxsKSA6IHRoaXMuZ2V0R3Vlc3RUb2tlbiQoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7RgdGC0L7Rj9C90LjRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LCDRh9GC0L7QsdGLINGA0LXQsNCz0LjRgNC+0LLQsNGC0Ywg0L3QsCDQuNC30LzQtdC90LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGdldEF1dGhDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyINCU0LDQvdC90YvQtSDQtNC70Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L/QviBlbWFpbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2lnbkluJCh1c2VyOiBJTG9naW4pOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4+O1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIg0JTQsNC90L3Ri9C1INC00LvRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWduSW4kKHVzZXI6IElQaG9uZUxvZ2luKTogT2JzZXJ2YWJsZTxJQXV0aFRva2VuPjtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyINCU0LDQvdC90YvQtSDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUg0LTQu9GPINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGdldFNpZ25JbiQodXNlcjogSUxvZ2luIHwgSVBob25lTG9naW4pOiBPYnNlcnZhYmxlPElBdXRoVG9rZW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElBdXRoVG9rZW4+KGAke3RoaXMudXJscy5hcGlVcmx9L2F1dGgvbG9naW5gLCB1c2VyKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5zaWduZWRJbixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHNpZ25faW5fdHlwZTogJ3Bhc3N3b3JkJyBpbiB1c2VyID8gJ2xvZ2luL3Bhc3N3b3JkJyA6ICdwaG9uZS9jb2RlJyB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKHRva2Vuc09iamVjdDogSUF1dGhUb2tlbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldEF1dGhUb2tlbih0b2tlbnNPYmplY3QpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LfQsNCy0LXRgNGI0LXQvdC40Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVtb3ZlQXV0aFRva2VuINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPQtNCw0LvQuNGC0Ywg0LrQu9GO0Ycg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2lnbk91dCQocmVtb3ZlQXV0aFRva2VuOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PHVuZGVmaW5lZD4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC9sb2dvdXRgLFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KFNDX0lTX0xPR09VVF9SRVFVRVNULCB0cnVlKS5zZXQoU0NfSVNfSElEREVOX0VSUk9SX0FMRVJULCB0cnVlKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uc2lnbmVkT3V0LFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVtb3ZlQXV0aFRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS5yZW1vdmVBdXRoVG9rZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YEg0LfQsNCy0LXRgNGI0LXQvdC40Y8g0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHNpZ25PdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0U2lnbk91dCQoKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0L/QvtCy0YLQvtGA0L3QvtC5INCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC4INC+0LHQvdC+0LLQu9C10L3QuNGPINC60LvRjtGH0LAg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZyZXNoVG9rZW5zINCa0LvRjtGH0Lgg0LTQvtGB0YLRg9C/0LAg0LogQVBJLCDQuCDQvtCx0L3QvtCy0LvQtdC90LjRjyDRgdC10YHRgdC40Lgg0LTQvtGB0YLRg9C/0LAg0LogQVBJLiDQldGB0LvQuCDQutC70Y7Rh9C4INC90LUg0L/QtdGA0LXQtNCw0L3Riywg0LHQtdGA0ZHRgiDQuNGFINC40Lcge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4kKHJlZnJlc2hUb2tlbnM/OiBJQXV0aFRva2VuKTogT2JzZXJ2YWJsZTxJQXV0aFRva2VuPiB7XG4gICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHJlZnJlc2hUb2tlbnM/LnJlZnJlc2gudG9rZW4gPz8gdGhpcy50b2tlblNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gcmVmcmVzaFRva2Vuc1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQodGhpcy5hcGlLZXlzLmtleU5hbWUsIHJlZnJlc2hUb2tlbnMuYWNjZXNzLnRva2VuKSxcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChTQ19JU19SRUZSRVNIX1JFUVVJUkVELCB0cnVlKS5zZXQoU0NfSVNfSElEREVOX0VSUk9SX0FMRVJULCB0cnVlKS5zZXQoU0NfQVVUSF9BRERfSEVBREVSX1JFUVVJUkVELCBmYWxzZSksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KFNDX0lTX1JFRlJFU0hfUkVRVUlSRUQsIHRydWUpLnNldChTQ19JU19ISURERU5fRVJST1JfQUxFUlQsIHRydWUpLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8SUF1dGhUb2tlbj4oYCR7dGhpcy51cmxzLmFwaVVybH0vYXV0aC90b2tlbmAsIHsgcmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VuIH0sIHJlcXVlc3RPcHRpb25zKS5waXBlKFxuICAgICAgICAgICAgdGFwKCh0b2tlbnM6IElBdXRoVG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS5zZXRBdXRoVG9rZW4odG9rZW5zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDQs9C+0YHRgtC10LLQvtCz0L4g0LrQu9GO0YfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3Vlc3RUb2tlbiQoKTogT2JzZXJ2YWJsZTxJVG9rZW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxJVG9rZW4+KGAke3RoaXMudXJscy5hcGlVcmx9L2F1dGgvZ3Vlc3QvdG9rZW5gLCB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogU0NfSVNfSElEREVOX0VSUk9SX0FMRVJUX0hUVFBfQ09OVEVYVCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHRva2VuOiBJVG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0R3Vlc3RUb2tlbih0b2tlbik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -12,8 +12,8 @@ export class ScCatalogItem extends ScCatalogableItem {
12
12
  super(data);
13
13
  this.properties = data?.properties;
14
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,no-underscore-dangle,@typescript-eslint/no-unsafe-member-access
15
- this.seo = data._Seo ?? data?.seo;
15
+ this.seo = data?._Seo ?? data?.seo;
16
16
  this.image = data?.image;
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL2NsYXNzZXMvc2MtY2F0YWxvZy1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBSzdFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWlCLFNBQVEsaUJBQWlCO0lBcUJuRDs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBd0I7UUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDO1FBQ25DLHNLQUFzSztRQUN0SyxJQUFJLENBQUMsR0FBRyxHQUFJLElBQVksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NDYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9jb21tb24vY2xhc3Nlcy9zYy1jYXRhbG9nYWJsZS1pdGVtJztcbmltcG9ydCB7IFNjSVNlbyB9IGZyb20gJy4uLy4uL3Nlby9pbnRlcmZhY2VzL3NjLWktc2VvJztcbmltcG9ydCB7IFNjSVByb3BlcnRpZXMgfSBmcm9tICcuLi9kdG8vc2MtaS1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IFNjSUNhdGFsb2dJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGFsb2ctaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDQutCw0YLQsNC70L7Qs9CwLlxuICovXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nSXRlbTxQPiBleHRlbmRzIFNjQ2F0YWxvZ2FibGVJdGVtIGltcGxlbWVudHMgU2NJQ2F0YWxvZ0l0ZW08UD4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHBhcmVudENhdGVnb3J5PzogUDtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHByb3BlcnRpZXM/OiBTY0lQcm9wZXJ0aWVzO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VvPzogU2NJU2VvO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2F0YWxvZ0l0ZW19LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhPzogU2NJQ2F0YWxvZ0l0ZW08UD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gZGF0YT8ucHJvcGVydGllcztcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LG5vLXVuZGVyc2NvcmUtZGFuZ2xlLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICB0aGlzLnNlbyA9IChkYXRhIGFzIGFueSkuX1NlbyA/PyBkYXRhPy5zZW87XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBkYXRhPy5pbWFnZTtcbiAgICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL2NsYXNzZXMvc2MtY2F0YWxvZy1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBSzdFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWlCLFNBQVEsaUJBQWlCO0lBcUJuRDs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBd0I7UUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDO1FBQ25DLHNLQUFzSztRQUN0SyxJQUFJLENBQUMsR0FBRyxHQUFJLElBQVksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NDYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9jb21tb24vY2xhc3Nlcy9zYy1jYXRhbG9nYWJsZS1pdGVtJztcbmltcG9ydCB7IFNjSVNlbyB9IGZyb20gJy4uLy4uL3Nlby9pbnRlcmZhY2VzL3NjLWktc2VvJztcbmltcG9ydCB7IFNjSVByb3BlcnRpZXMgfSBmcm9tICcuLi9kdG8vc2MtaS1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IFNjSUNhdGFsb2dJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGFsb2ctaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDQutCw0YLQsNC70L7Qs9CwLlxuICovXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nSXRlbTxQPiBleHRlbmRzIFNjQ2F0YWxvZ2FibGVJdGVtIGltcGxlbWVudHMgU2NJQ2F0YWxvZ0l0ZW08UD4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHBhcmVudENhdGVnb3J5PzogUDtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHByb3BlcnRpZXM/OiBTY0lQcm9wZXJ0aWVzO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VvPzogU2NJU2VvO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2F0YWxvZ0l0ZW19LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhPzogU2NJQ2F0YWxvZ0l0ZW08UD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gZGF0YT8ucHJvcGVydGllcztcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LG5vLXVuZGVyc2NvcmUtZGFuZ2xlLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICB0aGlzLnNlbyA9IChkYXRhIGFzIGFueSk/Ll9TZW8gPz8gZGF0YT8uc2VvO1xuICAgICAgICB0aGlzLmltYWdlID0gZGF0YT8uaW1hZ2U7XG4gICAgfVxufVxuIl19
@@ -5,6 +5,18 @@ import { ScCategory } from './sc-category';
5
5
  * Модель данных товара/услуги.
6
6
  */
7
7
  export class ScProduct extends ScCatalogItem {
8
+ /**
9
+ * Возвращает товар, не найденный в каталоге, с известными названием и артикулом поставщика.
10
+ *
11
+ * @param name Название товара.
12
+ * @param supplierSku Артикул поставщика.
13
+ */
14
+ static createNotFound(name, supplierSku) {
15
+ const product = new ScProduct(null);
16
+ product.name = name ?? product.name;
17
+ product.supplierSku = supplierSku;
18
+ return product;
19
+ }
8
20
  /**
9
21
  * Инициализирует экземпляр класса {@link ScProduct}.
10
22
  *
@@ -156,4 +168,4 @@ export class ScProduct extends ScCatalogItem {
156
168
  }
157
169
  }
158
170
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2F0YWxvZy9kdG8vc2MtcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUkzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVUsU0FBUSxhQUEwQjtJQXlIckQ7Ozs7O09BS0c7SUFDSCxZQUFtQixJQUF1QixFQUFFLE1BQWMsQ0FBQztRQUN2RCxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBMUM3Qjs7V0FFRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPakM7O1dBRUc7UUFDSSxXQUFNLEdBQVksS0FBSyxDQUFDO1FBTy9COztXQUVHO1FBQ0ksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFPdkM7O1dBRUc7UUFDSSx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFXeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUVmLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxV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Q0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUFDLFNBQXVCO1FBQzdDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztRQUVuRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakQsT0FBTyxXQUFXLENBQUM7UUFDdkIsQ0FBQztRQUVELGtKQUFrSjtRQUNsSixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXhHLFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDZixLQUFLLENBQUM7Z0JBQ0YsT0FBTyxlQUFlLENBQUM7WUFDM0IsS0FBSyxDQUFDO2dCQUNGLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssQ0FBQztnQkFDRixPQUFPLG1CQUFtQixDQUFDO1lBQy9CO2dCQUNJLE9BQU8sYUFBYSxXQUFXLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHVpRGF5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7IFNjT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjSUN1cnJlbmN5IH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcy9kdG8vc2MtaS1jdXJyZW5jeSc7XG5pbXBvcnQgeyBTY0lQcm9kdWN0VW5pdCB9IGZyb20gJy4uLy4uL3JlZmVyZW5jZXMvZHRvL3NjLWktcHJvZHVjdC11bml0JztcbmltcG9ydCB7IFNjSVdhcmVob3VzZVN0b2NrQ291bnQgfSBmcm9tICcuLi8uLi93YXJlaG91c2UvZHRvL3NjLWktd2FyZWhvdXNlLXN0b2NrLWNvdW50JztcbmltcG9ydCB7IFNjSVdhcmVob3VzZSB9IGZyb20gJy4uLy4uL3dhcmVob3VzZS9kdG8vc2Mtd2FyZWhvdXNlJztcbmltcG9ydCB7IFNjQ2F0YWxvZ0l0ZW0gfSBmcm9tICcuLi9jbGFzc2VzL3NjLWNhdGFsb2ctaXRlbSc7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0lQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLXByb2R1Y3QnO1xuaW1wb3J0IHsgU2NQcmljZUhpc3RvcnkgfSBmcm9tICcuLi90eXBlcy9zYy1wcmljZS1oaXN0b3J5JztcbmltcG9ydCB7IFNjQ2F0ZWdvcnkgfSBmcm9tICcuL3NjLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSURpc2NvdW50IH0gZnJvbSAnLi9zYy1pLWRpc2NvdW50JztcbmltcG9ydCB7IFNjSVByb2R1Y3RJbWFnZXMgfSBmcm9tICcuL3NjLWktcHJvZHVjdC1pbWFnZXMnO1xuXG4vKipcbiAqINCc0L7QtNC10LvRjCDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjUHJvZHVjdCBleHRlbmRzIFNjQ2F0YWxvZ0l0ZW08U2NJQ2F0ZWdvcnk+IGltcGxlbWVudHMgU2NJUHJvZHVjdCB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNIaWRkZW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdXBwbGllclNrdT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINChQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RSdWI/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBjb3N0RGF0ZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGN1cnJlbmN5OiBTY0lDdXJyZW5jeTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHVuaXQ6IFNjSVByb2R1Y3RVbml0O1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbWluQ291bnQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzdG9ja0NvdW50PzogU2NJV2FyZWhvdXNlU3RvY2tDb3VudFtdO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgb25PcmRlcj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwYWNrPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGYXZvcml0ZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlzUHJldmlvdXNseU9yZGVyZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VzPzogcmVhZG9ubHkgU2NJUHJvZHVjdEltYWdlc1tdO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcmllczogU2NJQ2F0ZWdvcnlbXTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGRpc2NvdW50PzogU2NJRGlzY291bnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwcmltYXJ5Q2F0ZWdvcnk/OiBTY0lDYXRlZ29yeTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC90LDQu9C40YfQuNGPINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0YMg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYXNJbWFnZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGN0LvQtdC80LXQvdGC0LAg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGNhcnRJdGVtPzogU2NPcmRlckl0ZW07XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGC0L7QstCw0YAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNOdWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0YDRj9C00L7QuiDRgdC70LXQtNC+0LLQsNC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBvcmQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0YLQvtCy0LDRgCDRgdC60YDRi9C70Lgg0YTQuNC70YzRgtGA0L7QvC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNIaWRkZW5GaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCY0YHRgtC+0YDQuNGPINC40LfQvNC10L3QtdC90LjRjyDRhtC10L3RiyDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2VIaXN0b3J5PzogU2NQcmljZUhpc3Rvcnk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/RgNC+0LLQtdGA0LrRgyDQvNC40L3QuNC80LDQu9GM0L3QvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0Lgg0LrRgNCw0YLQvdC+0YHRgtC4INC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90YMg0Lgg0YHQvtC30LTQsNC90LjQuCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGlnbm9yZU1pbkNvdW50Q2hlY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcm9kdWN0fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQviDQv9GA0L7QtNGD0LrRgtC1LlxuICAgICAqIEBwYXJhbSBvcmQg0J/QvtGA0Y/QtNC+0Log0YHQu9C10LTQvtCy0LDQvdC40Y8g0L/RgNC+0LTRg9C60YLQsCDQsiDRgdC/0LjRgdC60LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFNjSVByb2R1Y3QgfCBudWxsLCBvcmQ6IG51bWJlciA9IDApIHtcbiAgICAgICAgc3VwZXIoZGF0YSA/PyB1bmRlZmluZWQpO1xuXG4gICAgICAgIHRoaXMuaXNIaWRkZW4gPSBkYXRhPy5pc0hpZGRlbiA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5vcmQgPSBvcmQ7XG5cbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNOdWxsID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9ICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSBkYXRhLmltYWdlcz8uZmluZCgoaW1nKSA9PiBpbWcuaXNEZWZhdWx0KT8uaW1hZ2UgPz8gZGF0YS5wcm9wZXJ0aWVzPy5pbWFnZTtcblxuICAgICAgICAgICAgdGhpcy5zdXBwbGllclNrdSA9IGRhdGEuc3VwcGxpZXJTa3U7XG4gICAgICAgICAgICB0aGlzLmNvc3QgPSBkYXRhLmNvc3Q7XG4gICAgICAgICAgICB0aGlzLmNvc3RSdWIgPSBkYXRhLmNvc3RSdWI7XG4gICAgICAgICAgICB0aGlzLmNvc3REYXRlID0gZGF0YS5jb3N0RGF0ZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSBkYXRhLmN1cnJlbmN5O1xuICAgICAgICAgICAgdGhpcy51bml0ID0gZGF0YS51bml0O1xuICAgICAgICAgICAgdGhpcy5taW5Db3VudCA9IGRhdGEubWluQ291bnQ7XG4gICAgICAgICAgICB0aGlzLnN0b2NrQ291bnQgPSBkYXRhLnN0b2NrQ291bnQ7XG4gICAgICAgICAgICB0aGlzLm9uT3JkZXIgPSBkYXRhLm9uT3JkZXI7XG4gICAgICAgICAgICB0aGlzLnBhY2sgPSBkYXRhLnBhY2s7XG4gICAgICAgICAgICB0aGlzLmlzRmF2b3JpdGUgPSBCb29sZWFuKGRhdGEuaXNGYXZvcml0ZSk7XG4gICAgICAgICAgICB0aGlzLmlzUHJldmlvdXNseU9yZGVyZWQgPSBkYXRhLmlzUHJldmlvdXNseU9yZGVyZWQ7XG4gICAgICAgICAgICB0aGlzLmhhc0ltYWdlID0gKGRhdGEuaW1hZ2VzICYmIGRhdGEuaW1hZ2VzLmxlbmd0aCA+IDApID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbWFnZXMgPSBkYXRhLmltYWdlcz8uc2xpY2UoKS5zb3J0KChpbWcxLCBpbWcyKSA9PiBOdW1iZXIoaW1nMi5pc0RlZmF1bHQpIC0gTnVtYmVyKGltZzEuaXNEZWZhdWx0KSk7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSBkYXRhLmNhdGVnb3JpZXMubWFwKChjYXRlZ29yeSkgPT4gbmV3IFNjQ2F0ZWdvcnkoY2F0ZWdvcnkpKTtcbiAgICAgICAgICAgIHRoaXMucHJpbWFyeUNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaXNQcmltYXJ5KTtcbiAgICAgICAgICAgIHRoaXMuaWdub3JlTWluQ291bnRDaGVjayA9IGRhdGEucHJvcGVydGllcz8uaWdub3JlTWluQ291bnRDaGVjayA/PyB0aGlzLnByb3BlcnRpZXM/Lmlnbm9yZU1pbkNvdW50Q2hlY2sgPz8gdGhpcy5pZ25vcmVNaW5Db3VudENoZWNrO1xuICAgICAgICAgICAgdGhpcy5kaXNjb3VudCA9IGRhdGEuZGlzY291bnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0YEg0LLQsNC70Y7RgtC+0Lkg0Lgg0LXQtNC40L3QuNGG0LXQuSDQuNC30LzQtdGA0LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGdldCBjb3N0U3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3QgPyBgJHt0aGlzLmNvc3QudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLmN1cnJlbmN5LnN5bWJvbH0gLyAke3RoaXMudW5pdC5uYW1lfWAgOiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0LIg0YDRg9Cx0LvRj9GFINC4INGBINC10LTQuNC90LjRhtC10Lkg0LjQt9C80LXRgNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY29zdFJ1YlN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0UnViID8gYCR7dGhpcy5jb3N0UnViLnRvTG9jYWxlU3RyaW5nKCl9IOKCvSAvICR7dGhpcy51bml0Lm5hbWV9YCA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0YLQvtC40LzQvtGB0YLRjCDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuCDRgSDQstCw0LvRjtGC0L7QuSDQuCDQtdC00LjQvdC40YbQtdC5INC40LfQvNC10YDQtdC90LjRjyDQtNC+INC/0YDQuNC80LXQvdC10L3QuNGPINGB0LrQuNC00LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGRpc2NvdW50Q29zdFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNjb3VudD8ub2xkQ29zdCA/IGAke3RoaXMuZGlzY291bnQub2xkQ29zdC50b0xvY2FsZVN0cmluZygpfSAke3RoaXMuY3VycmVuY3kuc3ltYm9sfSAvICR7dGhpcy51bml0Lm5hbWV9YCA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YLQvtCy0LDRgCDQv9GA0L7QtNCw0ZHRgtGB0Y8g0LIg0YDRg9Cx0LvRj9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcHJpY2VJblJ1YigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3kuc3ltYm9sID09PSAn4oK9JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9C10YDQstC+0LUg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAuINCV0YHQu9C4INC40LfQvtCx0YDQsNC20LXQvdC40Lkg0L3QtdGCLCDRgtC+INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIHVuZGVmaW5lZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbWdJbmRleCDQmNC90LTQtdC60YEg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQvNCw0YHRgdC40LLQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW1hZ2UoaW1nSW5kZXg6IG51bWJlciA9IDApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZXM/LltgJHtpbWdJbmRleH1gXS5pbWFnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtGB0L3QvtCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINCyINGE0L7RgNC80LDRgtC1IFdlYlAuINCV0YHQu9C4IFdlYlAg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvdC10YIsINGC0L4g0LLQvtC30LLRgNCw0YnQsNC10YIgdW5kZWZpbmVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGltZ0luZGV4INCY0L3QtNC10LrRgSDQuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC80LDRgdGB0LjQstC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVdlYnAoaW1nSW5kZXg6IG51bWJlciA9IDApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZXM/LltgJHtpbWdJbmRleH1gXS5pbWFnZVdlYnA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/QtdGA0LLQvtC1INC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsC4g0JXRgdC70Lgg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Lkg0L3QtdGCLCDRgtC+INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIHVuZGVmaW5lZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbWdJbmRleCDQmNC90LTQtdC60YEg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICovXG4gICAgcHVibGljIGdldEltYWdlUHJldmlldyhpbWdJbmRleDogbnVtYmVyID0gMCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlcz8uW2Ake2ltZ0luZGV4fWBdLnByZXZpZXc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC10LLRjNGOLdC40LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwINCyINGE0L7RgNC80LDRgtC1IFdlYlAuINCV0YHQu9C4IFdlYlAg0L/RgNC10LLRjNGOINC90LXRgiwg0YLQviDQstC+0LfQstGA0LDRidCw0LXRgiB1bmRlZmluZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC80LDRgdGB0LjQstC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVByZXZpZXdXZWJwKGltZ0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VzPy5bYCR7aW1nSW5kZXh9YF0ucHJldmlld1dlYnA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrQvtC70LjRh9C10YHRgtCy0L4g0YLQvtCy0LDRgNCwINC90LAg0YHQutC70LDQtNC1ICjQvtGB0YLQsNGC0L7QuikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2FyZWhvdXNlSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXYXJlaG91c2VTdG9ja0NvdW50KHdhcmVob3VzZUlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9ja0NvdW50Py5maW5kKChzYykgPT4gc2Mud2FyZWhvdXNlSWQgPT09IHdhcmVob3VzZUlkKT8uY291bnQgPz8gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiwg0YfRgtC+INC40LzQtdC10YLRgdGPINC+0YHRgtCw0YLQvtC6INGC0L7QstCw0YDQsCDQvdCwINGB0LrQu9Cw0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIGlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2VJZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5vbk9yZGVyICYmIHRoaXMuc3RvY2tDb3VudD8uZmluZCgoc2MpID0+IHNjLndhcmVob3VzZUlkID09PSB3YXJlaG91c2VJZCkgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC+0L7QsdGJ0LXQvdC40LUg0L7QsSDQvtGC0YHRg9GC0YHRgtCy0LjQuCDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2FyZWhvdXNlINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm90U3RvY2tNZXNzYWdlKHdhcmVob3VzZTogU2NJV2FyZWhvdXNlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMub25PcmRlciA/PyB0aGlzLmlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2UuaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGxhbmluZ0RhdGUgPSB0aGlzLnByb3BlcnRpZXM/LnBsYW5pbmdJbmNvbWluZ0RhdGUgPz8gdGhpcy5wcm9wZXJ0aWVzPy5wbGFuaW5nUHJvZHVjdGlvbkRhdGU7XG5cbiAgICAgICAgaWYgKCF3YXJlaG91c2UuaXNNYWluIHx8IHBsYW5pbmdEYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAn0KDQsNGB0LrRg9C/0LjQu9C4JztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnQsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXG4gICAgICAgIGNvbnN0IGRheXNEaWZmID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4oVHVpRGF5LmN1cnJlbnRMb2NhbCgpLCBUdWlEYXkubm9ybWFsaXplUGFyc2UocGxhbmluZ0RhdGUsICdETVknKSk7XG5cbiAgICAgICAgc3dpdGNoIChkYXlzRGlmZikge1xuICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgIHJldHVybiAn0JHRg9C00LXRgiDRgdC10LPQvtC00L3Rjyc7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgcmV0dXJuICfQkdGD0LTQtdGCINC30LDQstGC0YDQsCc7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICfQkdGD0LTQtdGCINC/0L7RgdC70LXQt9Cw0LLRgtGA0LAnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYNCe0LbQuNC00LDQtdGC0YHRjyAke3BsYW5pbmdEYXRlfWA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2F0YWxvZy9kdG8vc2MtcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUkzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVUsU0FBUSxhQUEwQjtJQUNyRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBYSxFQUFFLFdBQW9CO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDcEMsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFbEMsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQTBIRDs7Ozs7T0FLRztJQUNILFlBQW1CLElBQXVCLEVBQUUsTUFBYyxDQUFDO1FBQ3ZELEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLENBQUM7UUExQzdCOztXQUVHO1FBQ0ksYUFBUSxHQUFZLEtBQUssQ0FBQztRQU9qQzs7V0FFRztRQUNJLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFPL0I7O1dBRUc7UUFDSSxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQU92Qzs7V0FFRztRQUNJLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQVd4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRLElBQUksS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRWYsSUFBSSxJQUFJLEtBQUssSUFBSSxF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SyxDQUFDO2dCQUNGLE9BQU8sbUJBQW1CLENBQUM7WUFDL0I7Z0JBQ0ksT0FBTyxhQUFhLFdBQVcsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdWlEYXkgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NPcmRlckl0ZW0gfSBmcm9tICcuLi8uLi9vcmRlci9jbGFzc2VzL3NjLW9yZGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2NJQ3VycmVuY3kgfSBmcm9tICcuLi8uLi9yZWZlcmVuY2VzL2R0by9zYy1pLWN1cnJlbmN5JztcbmltcG9ydCB7IFNjSVByb2R1Y3RVbml0IH0gZnJvbSAnLi4vLi4vcmVmZXJlbmNlcy9kdG8vc2MtaS1wcm9kdWN0LXVuaXQnO1xuaW1wb3J0IHsgU2NJV2FyZWhvdXNlU3RvY2tDb3VudCB9IGZyb20gJy4uLy4uL3dhcmVob3VzZS9kdG8vc2MtaS13YXJlaG91c2Utc3RvY2stY291bnQnO1xuaW1wb3J0IHsgU2NJV2FyZWhvdXNlIH0gZnJvbSAnLi4vLi4vd2FyZWhvdXNlL2R0by9zYy13YXJlaG91c2UnO1xuaW1wb3J0IHsgU2NDYXRhbG9nSXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2MtY2F0YWxvZy1pdGVtJztcbmltcG9ydCB7IFNjSUNhdGVnb3J5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcHJvZHVjdCc7XG5pbXBvcnQgeyBTY1ByaWNlSGlzdG9yeSB9IGZyb20gJy4uL3R5cGVzL3NjLXByaWNlLWhpc3RvcnknO1xuaW1wb3J0IHsgU2NDYXRlZ29yeSB9IGZyb20gJy4vc2MtY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NJRGlzY291bnQgfSBmcm9tICcuL3NjLWktZGlzY291bnQnO1xuaW1wb3J0IHsgU2NJUHJvZHVjdEltYWdlcyB9IGZyb20gJy4vc2MtaS1wcm9kdWN0LWltYWdlcyc7XG5cbi8qKlxuICog0JzQvtC00LXQu9GMINC00LDQvdC90YvRhSDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICovXG5leHBvcnQgY2xhc3MgU2NQcm9kdWN0IGV4dGVuZHMgU2NDYXRhbG9nSXRlbTxTY0lDYXRlZ29yeT4gaW1wbGVtZW50cyBTY0lQcm9kdWN0IHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgtC+0LLQsNGALCDQvdC1INC90LDQudC00LXQvdC90YvQuSDQsiDQutCw0YLQsNC70L7Qs9C1LCDRgSDQuNC30LLQtdGB0YLQvdGL0LzQuCDQvdCw0LfQstCw0L3QuNC10Lwg0Lgg0LDRgNGC0LjQutGD0LvQvtC8INC/0L7RgdGC0LDQstGJ0LjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUg0J3QsNC30LLQsNC90LjQtSDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIHN1cHBsaWVyU2t1INCQ0YDRgtC40LrRg9C7INC/0L7RgdGC0LDQstGJ0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlTm90Rm91bmQobmFtZT86IHN0cmluZywgc3VwcGxpZXJTa3U/OiBzdHJpbmcpOiBTY1Byb2R1Y3Qge1xuICAgICAgICBjb25zdCBwcm9kdWN0ID0gbmV3IFNjUHJvZHVjdChudWxsKTtcblxuICAgICAgICBwcm9kdWN0Lm5hbWUgPSBuYW1lID8/IHByb2R1Y3QubmFtZTtcbiAgICAgICAgcHJvZHVjdC5zdXBwbGllclNrdSA9IHN1cHBsaWVyU2t1O1xuXG4gICAgICAgIHJldHVybiBwcm9kdWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlzSGlkZGVuOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc3VwcGxpZXJTa3U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQoUBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3Q/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBjb3N0UnViPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdERhdGU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBjdXJyZW5jeTogU2NJQ3VycmVuY3k7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyB1bml0OiBTY0lQcm9kdWN0VW5pdDtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG1pbkNvdW50PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RvY2tDb3VudD86IFNjSVdhcmVob3VzZVN0b2NrQ291bnRbXTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG9uT3JkZXI/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFjaz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlzRmF2b3JpdGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpc1ByZXZpb3VzbHlPcmRlcmVkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGltYWdlcz86IHJlYWRvbmx5IFNjSVByb2R1Y3RJbWFnZXNbXTtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNhdGVnb3JpZXM6IFNjSUNhdGVnb3J5W107XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBkaXNjb3VudD86IFNjSURpc2NvdW50O1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpbWFyeUNhdGVnb3J5PzogU2NJQ2F0ZWdvcnk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDQvdCw0LvQuNGH0LjRjyDQuNC30L7QsdGA0LDQttC10L3QuNGPINGDINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDRjdC70LXQvNC10L3RgtCwINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBjYXJ0SXRlbT86IFNjT3JkZXJJdGVtO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDRgtC+0LLQsNGAINC+0YLRgdGD0YLRgdGC0LLRg9C10YIuXG4gICAgICovXG4gICAgcHVibGljIGlzTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtGA0Y/QtNC+0Log0YHQu9C10LTQvtCy0LDQvdC40Y8g0YLQvtCy0LDRgNCwINCyINGB0L/QuNGB0LrQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3JkOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INGC0L7QstCw0YAg0YHQutGA0YvQu9C4INGE0LjQu9GM0YLRgNC+0LwuXG4gICAgICovXG4gICAgcHVibGljIGlzSGlkZGVuRmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNGB0YLQvtGA0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0YbQtdC90Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcHVibGljIHByaWNlSGlzdG9yeT86IFNjUHJpY2VIaXN0b3J5O1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0L3QtdC+0LHRhdC+0LTQuNC80L7RgdGC0Lgg0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINC/0YDQvtCy0LXRgNC60YMg0LzQuNC90LjQvNCw0LvRjNC90L7Qs9C+INC60L7Qu9C40YfQtdGB0YLQstCwINC4INC60YDQsNGC0L3QvtGB0YLQuCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdGDINC4INGB0L7Qt9C00LDQvdC40Lgg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBpZ25vcmVNaW5Db3VudENoZWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJvZHVjdH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0L4g0L/RgNC+0LTRg9C60YLQtS5cbiAgICAgKiBAcGFyYW0gb3JkINCf0L7RgNGP0LTQvtC6INGB0LvQtdC00L7QstCw0L3QuNGPINC/0YDQvtC00YPQutGC0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBTY0lQcm9kdWN0IHwgbnVsbCwgb3JkOiBudW1iZXIgPSAwKSB7XG4gICAgICAgIHN1cGVyKGRhdGEgPz8gdW5kZWZpbmVkKTtcblxuICAgICAgICB0aGlzLmlzSGlkZGVuID0gZGF0YT8uaXNIaWRkZW4gPz8gZmFsc2U7XG4gICAgICAgIHRoaXMub3JkID0gb3JkO1xuXG4gICAgICAgIGlmIChkYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmlzTnVsbCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gZGF0YS5pbWFnZXM/LmZpbmQoKGltZykgPT4gaW1nLmlzRGVmYXVsdCk/LmltYWdlID8/IGRhdGEucHJvcGVydGllcz8uaW1hZ2U7XG5cbiAgICAgICAgICAgIHRoaXMuc3VwcGxpZXJTa3UgPSBkYXRhLnN1cHBsaWVyU2t1O1xuICAgICAgICAgICAgdGhpcy5jb3N0ID0gZGF0YS5jb3N0O1xuICAgICAgICAgICAgdGhpcy5jb3N0UnViID0gZGF0YS5jb3N0UnViO1xuICAgICAgICAgICAgdGhpcy5jb3N0RGF0ZSA9IGRhdGEuY29zdERhdGU7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbmN5ID0gZGF0YS5jdXJyZW5jeTtcbiAgICAgICAgICAgIHRoaXMudW5pdCA9IGRhdGEudW5pdDtcbiAgICAgICAgICAgIHRoaXMubWluQ291bnQgPSBkYXRhLm1pbkNvdW50O1xuICAgICAgICAgICAgdGhpcy5zdG9ja0NvdW50ID0gZGF0YS5zdG9ja0NvdW50O1xuICAgICAgICAgICAgdGhpcy5vbk9yZGVyID0gZGF0YS5vbk9yZGVyO1xuICAgICAgICAgICAgdGhpcy5wYWNrID0gZGF0YS5wYWNrO1xuICAgICAgICAgICAgdGhpcy5pc0Zhdm9yaXRlID0gQm9vbGVhbihkYXRhLmlzRmF2b3JpdGUpO1xuICAgICAgICAgICAgdGhpcy5pc1ByZXZpb3VzbHlPcmRlcmVkID0gZGF0YS5pc1ByZXZpb3VzbHlPcmRlcmVkO1xuICAgICAgICAgICAgdGhpcy5oYXNJbWFnZSA9IChkYXRhLmltYWdlcyAmJiBkYXRhLmltYWdlcy5sZW5ndGggPiAwKSA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VzID0gZGF0YS5pbWFnZXM/LnNsaWNlKCkuc29ydCgoaW1nMSwgaW1nMikgPT4gTnVtYmVyKGltZzIuaXNEZWZhdWx0KSAtIE51bWJlcihpbWcxLmlzRGVmYXVsdCkpO1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzID0gZGF0YS5jYXRlZ29yaWVzLm1hcCgoY2F0ZWdvcnkpID0+IG5ldyBTY0NhdGVnb3J5KGNhdGVnb3J5KSk7XG4gICAgICAgICAgICB0aGlzLnByaW1hcnlDYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcmllcy5maW5kKChpdGVtKSA9PiBpdGVtLmlzUHJpbWFyeSk7XG4gICAgICAgICAgICB0aGlzLmlnbm9yZU1pbkNvdW50Q2hlY2sgPSBkYXRhLnByb3BlcnRpZXM/Lmlnbm9yZU1pbkNvdW50Q2hlY2sgPz8gdGhpcy5wcm9wZXJ0aWVzPy5pZ25vcmVNaW5Db3VudENoZWNrID8/IHRoaXMuaWdub3JlTWluQ291bnRDaGVjaztcbiAgICAgICAgICAgIHRoaXMuZGlzY291bnQgPSBkYXRhLmRpc2NvdW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INGBINCy0LDQu9GO0YLQvtC5INC4INC10LTQuNC90LjRhtC10Lkg0LjQt9C80LXRgNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY29zdFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0ID8gYCR7dGhpcy5jb3N0LnRvTG9jYWxlU3RyaW5nKCl9ICR7dGhpcy5jdXJyZW5jeS5zeW1ib2x9IC8gJHt0aGlzLnVuaXQubmFtZX1gIDogJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INCyINGA0YPQsdC70Y/RhSDQuCDRgSDQtdC00LjQvdC40YbQtdC5INC40LfQvNC10YDQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGNvc3RSdWJTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdFJ1YiA/IGAke3RoaXMuY29zdFJ1Yi50b0xvY2FsZVN0cmluZygpfSDigr0gLyAke3RoaXMudW5pdC5uYW1lfWAgOiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0YEg0LLQsNC70Y7RgtC+0Lkg0Lgg0LXQtNC40L3QuNGG0LXQuSDQuNC30LzQtdGA0LXQvdC40Y8g0LTQviDQv9GA0LjQvNC10L3QtdC90LjRjyDRgdC60LjQtNC60LguXG4gICAgICovXG4gICAgcHVibGljIGdldCBkaXNjb3VudENvc3RTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzY291bnQ/Lm9sZENvc3QgPyBgJHt0aGlzLmRpc2NvdW50Lm9sZENvc3QudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLmN1cnJlbmN5LnN5bWJvbH0gLyAke3RoaXMudW5pdC5uYW1lfWAgOiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGC0L7QstCw0YAg0L/RgNC+0LTQsNGR0YLRgdGPINCyINGA0YPQsdC70Y/RhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHByaWNlSW5SdWIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbmN5LnN5bWJvbCA9PT0gJ+KCvSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/QtdGA0LLQvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwLiDQldGB0LvQuCDQuNC30L7QsdGA0LDQttC10L3QuNC5INC90LXRgiwg0YLQviDQstC+0LfQstGA0LDRidCw0LXRgiB1bmRlZmluZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LzQsNGB0YHQuNCy0LUuXG4gICAgICovXG4gICAgcHVibGljIGdldEltYWdlKGltZ0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VzPy5bYCR7aW1nSW5kZXh9YF0uaW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L7RgdC90L7QstC90L7QtSDQuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQsiDRhNC+0YDQvNCw0YLQtSBXZWJQLiDQldGB0LvQuCBXZWJQINC40LfQvtCx0YDQsNC20LXQvdC40Y8g0L3QtdGCLCDRgtC+INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIHVuZGVmaW5lZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbWdJbmRleCDQmNC90LTQtdC60YEg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQvNCw0YHRgdC40LLQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW1hZ2VXZWJwKGltZ0luZGV4OiBudW1iZXIgPSAwKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VzPy5bYCR7aW1nSW5kZXh9YF0uaW1hZ2VXZWJwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0LXRgNCy0L7QtSDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAuINCV0YHQu9C4INC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC5INC90LXRgiwg0YLQviDQstC+0LfQstGA0LDRidCw0LXRgiB1bmRlZmluZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW1nSW5kZXgg0JjQvdC00LXQutGBINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNGPINCyINC80LDRgdGB0LjQstC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVByZXZpZXcoaW1nSW5kZXg6IG51bWJlciA9IDApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZXM/LltgJHtpbWdJbmRleH1gXS5wcmV2aWV3O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQtdCy0YzRji3QuNC30L7QsdGA0LDQttC10L3QuNC1INGC0L7QstCw0YDQsCDQsiDRhNC+0YDQvNCw0YLQtSBXZWJQLiDQldGB0LvQuCBXZWJQINC/0YDQtdCy0YzRjiDQvdC10YIsINGC0L4g0LLQvtC30LLRgNCw0YnQsNC10YIgdW5kZWZpbmVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGltZ0luZGV4INCY0L3QtNC10LrRgSDQv9GA0LXQstGM0Y4t0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQsiDQvNCw0YHRgdC40LLQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQcmV2aWV3V2VicChpbWdJbmRleDogbnVtYmVyID0gMCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlcz8uW2Ake2ltZ0luZGV4fWBdLnByZXZpZXdXZWJwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsCDQvdCwINGB0LrQu9Cw0LTQtSAo0L7RgdGC0LDRgtC+0LopLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V2FyZWhvdXNlU3RvY2tDb3VudCh3YXJlaG91c2VJZDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvY2tDb3VudD8uZmluZCgoc2MpID0+IHNjLndhcmVob3VzZUlkID09PSB3YXJlaG91c2VJZCk/LmNvdW50ID8/IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC40LfQvdCw0LosINGH0YLQviDQuNC80LXQtdGC0YHRjyDQvtGB0YLQsNGC0L7QuiDRgtC+0LLQsNGA0LAg0L3QsCDRgdC60LvQsNC00LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2FyZWhvdXNlSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1dhcmVob3VzZVN0b2NrRXhpc3Qod2FyZWhvdXNlSWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMub25PcmRlciAmJiB0aGlzLnN0b2NrQ291bnQ/LmZpbmQoKHNjKSA9PiBzYy53YXJlaG91c2VJZCA9PT0gd2FyZWhvdXNlSWQpICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1INC+0LEg0L7RgtGB0YPRgtGB0YLQstC40Lgg0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZSDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE5vdFN0b2NrTWVzc2FnZSh3YXJlaG91c2U6IFNjSVdhcmVob3VzZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh0aGlzLm9uT3JkZXIgPz8gdGhpcy5pc1dhcmVob3VzZVN0b2NrRXhpc3Qod2FyZWhvdXNlLmlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBsYW5pbmdEYXRlID0gdGhpcy5wcm9wZXJ0aWVzPy5wbGFuaW5nSW5jb21pbmdEYXRlID8/IHRoaXMucHJvcGVydGllcz8ucGxhbmluZ1Byb2R1Y3Rpb25EYXRlO1xuXG4gICAgICAgIGlmICghd2FyZWhvdXNlLmlzTWFpbiB8fCBwbGFuaW5nRGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gJ9Cg0LDRgdC60YPQv9C40LvQuCc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbFxuICAgICAgICBjb25zdCBkYXlzRGlmZiA9IFR1aURheS5sZW5ndGhCZXR3ZWVuKFR1aURheS5jdXJyZW50TG9jYWwoKSwgVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKHBsYW5pbmdEYXRlLCAnRE1ZJykpO1xuXG4gICAgICAgIHN3aXRjaCAoZGF5c0RpZmYpIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ9CR0YPQtNC10YIg0YHQtdCz0L7QtNC90Y8nO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJldHVybiAn0JHRg9C00LXRgiDQt9Cw0LLRgtGA0LAnO1xuICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgIHJldHVybiAn0JHRg9C00LXRgiDQv9C+0YHQu9C10LfQsNCy0YLRgNCwJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGDQntC20LjQtNCw0LXRgtGB0Y8gJHtwbGFuaW5nRGF0ZX1gO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -66,11 +66,11 @@ export class ScCatalogRedirectService {
66
66
  * (адрес со slug либо с идентификатором — в зависимости от настроек окружения).
67
67
  *
68
68
  * @param commands Сегменты канонического маршрута.
69
- * @param status Статус редиректа: адрес с идентификатором заменяется на канонический навсегда, поэтому по умолчанию постоянный.
69
+ * @param status Статус редиректа: вид адреса задаётся настройками окружения и может быть изменён, поэтому по умолчанию временный.
70
70
  * @returns Дерево канонического маршрута для навигации либо `false`, если редирект выполнен ответом сервера.
71
71
  */
72
72
  // eslint-disable-next-line sonarjs/function-return-type
73
- redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.Permanent) {
73
+ redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.Temporary) {
74
74
  const urlTree = this.router.createUrlTree(commands);
75
75
  if (this.isCanonicalRedirectEnabled && this.isServer && this.setServerRedirect(this.router.serializeUrl(urlTree), status)) {
76
76
  return false;
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
207
207
  providedIn: 'root',
208
208
  }]
209
209
  }] });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1yZWRpcmVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2ctcmVkaXJlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXdDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJSTs7V0FFRztRQUNjLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFM0Q7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTNEOztXQUVHO1FBQ2MsK0JBQTBCLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFcEY7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlDOzs7Ozs7OztXQVFHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVqRTs7V0FFRztRQUNjLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F1S2hEO0lBcktHOzs7Ozs7O09BT0c7SUFDSCx3REFBd0Q7SUFDakQsc0JBQXNCLENBQUMsUUFBZ0MsRUFBRSxTQUErQixvQkFBb0IsQ0FBQyxTQUFTO1FBQ3pILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEgsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLE1BQTRCO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELDRHQUE0RztRQUM1RywwRkFBMEY7UUFDMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLGdCQUFpQztRQUM5RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSx3QkFBd0IsQ0FBQyxlQUFnQztRQUM1RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSwwQkFBMEIsQ0FBSSxnQkFBaUMsRUFBRSxXQUFxQztRQUN6RyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFJLGVBQWdDLEVBQUUsV0FBcUM7UUFDdkcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrREFBa0Q7SUFDMUMsa0JBQWtCLENBQUksaUJBQTBDLEVBQUUsV0FBcUM7UUFDM0csT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2YsT0FBTyxDQUFDLElBQUksQ0FDUixVQUFVLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUMzQixVQUFVLENBQUMsQ0FBQyxhQUFzQixFQUFFLEVBQUU7b0JBQ2xDLElBQUksYUFBYSxZQUFZLGlCQUFpQixFQUFFLENBQUM7d0JBQzdDLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RDLENBQUM7b0JBRUQsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7WUFDTixDQUFDO1lBRUQsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztnQkFDckMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHlCQUF5QixDQUFDLGVBQXNEO1FBQ3BGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDekIsNERBQTREO1lBQzVELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFN0Msa0VBQWtFO1lBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLG9HQUFvRztnQkFDcEcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2dCQUVELG1GQUFtRjtnQkFDbkYsK0ZBQStGO2dCQUMvRixFQUFFO2dCQUNGLDJHQUEyRztnQkFDM0csdUhBQXVIO2dCQUN2SCxnRkFBZ0Y7Z0JBQ2hGLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFRCxxR0FBcUc7WUFDckcsdUdBQXVHO1lBQ3ZHLDhHQUE4RztZQUM5RyxFQUFFO1lBQ0YsMEdBQTBHO1lBQzFHLDZHQUE2RztZQUM3RywySEFBMkg7WUFDM0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQTlNUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIEVNUFRZLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1JlZGlyZWN0U3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9yZWRpcmVjdC1zdGF0dXMtZW51bSc7XG5pbXBvcnQgeyBJU19TRVJWRVIsIFJFU1BPTlNFIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfQ0FOT05JQ0FMX1JFRElSRUNUX0VOQUJMRUQgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY2Fub25pY2FsLXJlZGlyZWN0LWVuYWJsZWQnO1xuaW1wb3J0IHsgU0NfSURfT1JfU0xVR19JTl9ST1VURSB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pZC1vci1zbHVnLWluLXJvdXRlJztcbmltcG9ydCB7IFNjSVBhcmVudENhdGVnb3J5UmVkaXJlY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcGFyZW50LWNhdGVnb3J5LXJlZGlyZWN0JztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NjLWNhdGFsb2cuc2VydmljZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LXQtNC40YDQtdC60YLQvtCyINC60LDRgtCw0LvQvtCz0LA6INC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7RgdGC0LggKEhUVFAgNDA0KSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuFxuICog0Lgg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuCAo0YHQvC4ge0BsaW5rIHJlZGlyZWN0VG9DYW5vbmljYWxVcmx9KS5cbiAqXG4gKiDQoNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAqXG4gKiDQl9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGDINCx0Y3QutC10L3QtNCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4INC4INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCOlxuICogLSDQvdCwINGB0LXRgNCy0LXRgNC1IChTU1IpINC/0YDQuCDQtNC+0YHRgtGD0L/QvdC+0Lwge0BsaW5rIFJFU1BPTlNFfSDigJQg0LLRi9GB0YLQsNCy0LvRj9C10YIgSFRUUC3RgdGC0LDRgtGD0YEgMzAyINC4INC30LDQs9C+0LvQvtCy0L7QuiBgTG9jYXRpb25gINC00LvRjyDQutC+0YDRgNC10LrRgtC90L7Qs9C+INGA0LXQtNC40YDQtdC60YLQsCDQv9C+0LjRgdC60L7QstGL0YUg0LHQvtGC0L7QsjtcbiAqIC0g0L3QsCDRgdC10YDQstC10YDQtSDQsdC10Lcge0BsaW5rIFJFU1BPTlNFfSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKSDigJQg0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Log0L7RiNC40LHQutC+0LkgNDA0LCDRh9GC0L7QsdGLINC+0YLQvtCx0YDQsNC30LjQu9Cw0YHRjCDRgdGC0YDQsNC90LjRhtCwINC+0YjQuNCx0LrQuDtcbiAqIC0g0LIg0LHRgNCw0YPQt9C10YDQtSDigJQg0LLRi9C/0L7Qu9C90Y/QtdGCINC/0L7Qu9C90YPRjiDQvdCw0LLQuNCz0LDRhtC40Y4g0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICpcbiAqINCV0YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCwg0L/QvtGC0L7QuiDRgtCw0LrQttC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0Lkge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSxcbiAqINGH0YLQvtCx0Ysg0LLRi9C30YvQstCw0Y7RidC40Lkg0LrQvtC0INC+0YLQvtCx0YDQsNC30LjQuyDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nUmVkaXJlY3RTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZSA9IGluamVjdChTY0NhdGFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQvNCw0YDRiNGA0YPRgtC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQuNC70Lggc2x1ZyDQsiDQvNCw0YDRiNGA0YPRgtCw0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRPclNsdWcgPSBpbmplY3QoU0NfSURfT1JfU0xVR19JTl9ST1VURSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INCy0LrQu9GO0YfRkdC9INC/0L7RgdGC0L7Rj9C90L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkID0gaW5qZWN0KFNDX0NBTk9OSUNBTF9SRURJUkVDVF9FTkFCTEVEKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YLQtdC60YPRidC40Lkg0YHQutGA0LjQv9GCINC40YHQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQvtGC0LLQtdGC0LUg0L3QsCDQt9Cw0L/RgNC+0YEgKNC00L7RgdGC0YPQv9C90Ysg0YLQvtC70YzQutC+INC90LAg0YHQtdGA0LLQtdGA0LUg0L/RgNC4IFNTUikuXG4gICAgICpcbiAgICAgKiBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6IHtAbGluayBSRVNQT05TRX0g4oCUINC60LDRgdGC0L7QvNC90YvQuSBFeHByZXNzLdGC0L7QutC10L0sINC60L7RgtC+0YDRi9C5INC/0YDQvtCy0LDQudC00LjRgtGB0Y8g0LIgYHNlcnZlci50c2BcbiAgICAgKiDRh9C10YDQtdC3IENvbW1vbkVuZ2luZS4g0J3QsCB1cGdyYWRlLdCy0LXRgtC60LUgYHNlcnZlci50c2Ag0L7RgdGC0LDQu9GB0Y8g0L3QsCBDb21tb25FbmdpbmUsINC/0L7RjdGC0L7QvNGDINC/0YDQuCDRgdC70LjRj9C90LjQuCDQt9C00LXRgdGMXG4gICAgICog0L3QuNGH0LXQs9C+INC80LXQvdGP0YLRjCDQvdC1INC90YPQttC90L4uINCV0YHQu9C4IGBzZXJ2ZXIudHNgINC80LjQs9GA0LjRgNGD0Y7RgiDQvdCwIGBBbmd1bGFyTm9kZUFwcEVuZ2luZWAgKyBgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyYCxcbiAgICAgKiDQt9Cw0LzQtdC90LjRgtC1IHtAbGluayBSRVNQT05TRX0g0L3QsCDQvdCw0YLQuNCy0L3Ri9C5IGBSRVNQT05TRV9JTklUYCAoYEluamVjdGlvblRva2VuPFJlc3BvbnNlSW5pdCB8IG51bGw+YCDQuNC3IGBAYW5ndWxhci9jb3JlYCk7XG4gICAgICog0YHQvC4g0YHQtdGA0LLQtdGA0L3Ri9C1INCy0LXRgtC60Lgg0LIge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSR9INC4IHtAbGluayByZWRpcmVjdFRvQ2Fub25pY2FsVXJsfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlID0gaW5qZWN0KFJFU1BPTlNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0JTQvtC60YPQvNC10L3RgiDRgtC10LrRg9GJ0LXQuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQtdC30YPQu9GM0YLQsNGCINGB0YLRgNCw0LbQsCDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQv9C10YDQtdGF0L7QtNCwINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INCw0LTRgNC10YEg0YLQvtCy0LDRgNCwINC40LvQuCDQutCw0YLQtdCz0L7RgNC40LhcbiAgICAgKiAo0LDQtNGA0LXRgSDRgdC+IHNsdWcg0LvQuNCx0L4g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IOKAlCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0L3QsNGB0YLRgNC+0LXQuiDQvtC60YDRg9C20LXQvdC40Y8pLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1hbmRzINCh0LXQs9C80LXQvdGC0Ysg0LrQsNC90L7QvdC40YfQtdGB0LrQvtCz0L4g0LzQsNGA0YjRgNGD0YLQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LA6INCw0LTRgNC10YEg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8INC30LDQvNC10L3Rj9C10YLRgdGPINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INC90LDQstGB0LXQs9C00LAsINC/0L7RjdGC0L7QvNGDINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0L7RgdGC0L7Rj9C90L3Ri9C5LlxuICAgICAqIEByZXR1cm5zINCU0LXRgNC10LLQviDQutCw0L3QvtC90LjRh9C10YHQutC+0LPQviDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQvdCw0LLQuNCz0LDRhtC40Lgg0LvQuNCx0L4gYGZhbHNlYCwg0LXRgdC70Lgg0YDQtdC00LjRgNC10LrRgiDQstGL0L/QvtC70L3QtdC9INC+0YLQstC10YLQvtC8INGB0LXRgNCy0LXRgNCwLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2Z1bmN0aW9uLXJldHVybi10eXBlXG4gICAgcHVibGljIHJlZGlyZWN0VG9DYW5vbmljYWxVcmwoY29tbWFuZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4sIHN0YXR1czogU2NSZWRpcmVjdFN0YXR1c0VudW0gPSBTY1JlZGlyZWN0U3RhdHVzRW51bS5QZXJtYW5lbnQpOiBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKGNvbW1hbmRzKTtcblxuICAgICAgICBpZiAodGhpcy5pc0Nhbm9uaWNhbFJlZGlyZWN0RW5hYmxlZCAmJiB0aGlzLmlzU2VydmVyICYmIHRoaXMuc2V0U2VydmVyUmVkaXJlY3QodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpLCBzdGF0dXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsVHJlZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHRgtCw0LLQu9GP0LXRgiDRgNC10LTQuNGA0LXQutGCINCyINC+0YLQstC10YLQtSDRgdC10YDQstC10YDQsCAoU1NSKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXRVcmwg0JDQtNGA0LXRgSwg0L3QsCDQutC+0YLQvtGA0YvQuSDQstGL0L/QvtC70L3Rj9C10YLRgdGPINGA0LXQtNC40YDQtdC60YIuXG4gICAgICogQHBhcmFtIHN0YXR1cyDQodGC0LDRgtGD0YEg0YDQtdC00LjRgNC10LrRgtCwLlxuICAgICAqIEByZXR1cm5zINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YDQtdC00LjRgNC10LrRgiDQstGL0YHRgtCw0LLQu9C10L07IGBmYWxzZWAsINC10YHQu9C4INC00LDQvdC90YvQtSDQvtCxINC+0YLQstC10YLQtSDQvdC10LTQvtGB0YLRg9C/0L3RiyAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldFNlcnZlclJlZGlyZWN0KHRhcmdldFVybDogc3RyaW5nLCBzdGF0dXM6IFNjUmVkaXJlY3RTdGF0dXNFbnVtKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDQv9GA0Lgg0L/QtdGA0LXRhdC+0LTQtSBzZXJ2ZXIudHMg0L3QsCBBbmd1bGFyTm9kZUFwcEVuZ2luZSDRgdGC0LDRgtGD0YEg0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INCy0YvRgdGC0LDQstC70Y/RjtGC0YHRj1xuICAgICAgICAvLyDRh9C10YDQtdC3INC90LDRgtC40LLQvdGL0LkgUkVTUE9OU0VfSU5JVCDQstC80LXRgdGC0L4gRXhwcmVzcy3QvNC10YLQvtC00L7QsiByZXNwb25zZS5zZXRIZWFkZXIvcmVzcG9uc2Uuc3RhdHVzLlxuICAgICAgICB0aGlzLnJlc3BvbnNlLnNldEhlYWRlcignTG9jYXRpb24nLCB0YXJnZXRVcmwpO1xuICAgICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1cyhzdGF0dXMpO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQvdC10LTQvtGB0YLRg9C/0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqIEByZXR1cm5zINCf0L7RgtC+0LosINC30LDQstC10YDRiNCw0Y7RidC40LnRgdGPINC/0L7RgdC70LUg0YDQtdC00LjRgNC10LrRgtCwLiDQrdC80LjRgtC40YIg0L7RiNC40LHQutGDIHtAbGluayBIdHRwRXJyb3JSZXNwb25zZX0sINC10YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVkaXJlY3RUb0NhdGVnb3J5UGFyZW50JChjYXRlZ29yeUlkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSQodGhpcy5jYXRhbG9nU2VydmljZS5nZXRDYXRlZ29yeVBhcmVudENhdGVnb3J5JChjYXRlZ29yeUlkT3JTbHVnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWRpcmVjdFRvUHJvZHVjdFBhcmVudCQocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSQodGhpcy5jYXRhbG9nU2VydmljZS5nZXRQcm9kdWN0UGFyZW50Q2F0ZWdvcnkkKHByb2R1Y3RJZE9yU2x1ZykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0LkgKEhUVFAt0L7RiNC40LHQutCwKSDQutCw0YLQtdCz0L7RgNC40Lgg0LIg0L/QvtGC0L7QutC1INC00LDQvdC90YvRhTog0L/RgNC4IDQwNCDQstGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRglxuICAgICAqINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiwg0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lkg0L7RiNC40LHQutC1INGB0L7QvtCx0YnQsNC10YIg0LrQvtC0INGH0LXRgNC10Lcge0BsaW5rIG9uRXJyb3JDb2RlfS5cbiAgICAgKiDQntGI0LjQsdC60YMg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNC10YIgKNC30LDQstC10YDRiNCw0LXRgiDQv9C+0YLQvtC6IHtAbGluayBFTVBUWX0pLCDQv9C+0Y3RgtC+0LzRgyDQv9C+0YLQvtC6INC00LDQvdC90YvRhSDQvdC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDQvdC10LTQvtGB0YLRg9C/0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LggKNC90LDQv9GA0LjQvNC10YAsINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGB0YLRgNCw0L3QuNGG0Ysg0L7RiNC40LHQutC4KS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlVW5hdmFpbGFibGVDYXRlZ29yeSQ8VD4oY2F0ZWdvcnlJZE9yU2x1ZzogbnVtYmVyIHwgc3RyaW5nLCBvbkVycm9yQ29kZTogKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVW5hdmFpbGFibGUkKCgpID0+IHRoaXMucmVkaXJlY3RUb0NhdGVnb3J5UGFyZW50JChjYXRlZ29yeUlkT3JTbHVnKSwgb25FcnJvckNvZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviAoSFRUUC3QvtGI0LjQsdC60LApINGC0L7QstCw0YDQsCDQsiDQv9C+0YLQvtC60LUg0LTQsNC90L3Ri9GFOiDQv9GA0LggNDA0INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCXG4gICAgICog0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINGC0L7QstCw0YDQsCwg0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lkg0L7RiNC40LHQutC1INGB0L7QvtCx0YnQsNC10YIg0LrQvtC0INGH0LXRgNC10Lcge0BsaW5rIG9uRXJyb3JDb2RlfS5cbiAgICAgKiDQntGI0LjQsdC60YMg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNC10YIgKNC30LDQstC10YDRiNCw0LXRgiDQv9C+0YLQvtC6IHtAbGluayBFTVBUWX0pLCDQv9C+0Y3RgtC+0LzRgyDQv9C+0YLQvtC6INC00LDQvdC90YvRhSDQvdC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIG9uRXJyb3JDb2RlINCa0L7Qu9Cx0Y3QuiDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC00LAg0L7RiNC40LHQutC4ICjQvdCw0L/RgNC40LzQtdGALCDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdGC0YDQsNC90LjRhtGLINC+0YjQuNCx0LrQuCkuXG4gICAgICovXG4gICAgcHVibGljIGhhbmRsZVVuYXZhaWxhYmxlUHJvZHVjdCQ8VD4ocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcsIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVVbmF2YWlsYWJsZSQoKCkgPT4gdGhpcy5yZWRpcmVjdFRvUHJvZHVjdFBhcmVudCQocHJvZHVjdElkT3JTbHVnKSwgb25FcnJvckNvZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCR0LDQt9C+0LLRi9C5INC+0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0YHRg9GJ0L3QvtGB0YLQuDog0L/RgNC4IDQwNCDigJQg0YDQtdC00LjRgNC10LrRgiDQvdCwINGA0L7QtNC40YLQtdC70Y8gKNGH0LXRgNC10Lcge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnQkfSksXG4gICAgICog0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lwge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSDigJQge0BsaW5rIG9uRXJyb3JDb2RlfSDRgSDQutC+0LTQvtC8INC+0YLQstC10YLQsDsg0LLRgdC10LPQtNCwIHtAbGluayBFTVBUWX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVkaXJlY3RUb1BhcmVudCQg0KTQsNCx0YDQuNC60LAg0L/QvtGC0L7QutCwINGA0LXQtNC40YDQtdC60YLQsCDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4uXG4gICAgICogQHBhcmFtIG9uRXJyb3JDb2RlINCa0L7Qu9Cx0Y3QuiDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC00LAg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gICAgcHJpdmF0ZSBoYW5kbGVVbmF2YWlsYWJsZSQ8VD4ocmVkaXJlY3RUb1BhcmVudCQ6ICgpID0+IE9ic2VydmFibGU8bmV2ZXI+LCBvbkVycm9yQ29kZTogKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICAgICAgcmV0dXJuIChzb3VyY2UkKSA9PlxuICAgICAgICAgICAgc291cmNlJC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVkaXJlY3RUb1BhcmVudCQoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlZGlyZWN0RXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0RXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvckNvZGUocmVkaXJlY3RFcnJvci5zdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3JDb2RlKGVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDQv9C+0LvRg9GH0LXQvdC90YPRjiDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmVudENhdGVnb3J5JCDQn9C+0YLQvtC6INGBINC00LDQvdC90YvQvNC4INGA0L7QtNC40YLQtdC70YzRgdC60L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSDRgSDQutC+0LTQvtC8IDQwNCwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JChwYXJlbnRDYXRlZ29yeSQ6IE9ic2VydmFibGU8U2NJUGFyZW50Q2F0ZWdvcnlSZWRpcmVjdD4pOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiBwYXJlbnRDYXRlZ29yeSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocGFyZW50Q2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBwYXJlbnRDYXRlZ29yeVt0aGlzLmlkT3JTbHVnXTtcblxuICAgICAgICAgICAgICAgIC8vINCg0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCDigJQg0L7RgtC+0LHRgNCw0LbQsNC10Lwg0YHRgtGA0LDQvdC40YbRgyDQvtGI0LjQsdC60LguXG4gICAgICAgICAgICAgICAgaWYgKCF0dWlJc1ByZXNlbnQodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwNCB9KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvY2F0YWxvZycsIHRhcmdldF0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0VXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g0KHQutGA0YvRgtGL0LUg0LrQsNGC0LXQs9C+0YDQuNGPINC40LvQuCDRgtC+0LLQsNGAINC80L7Qs9GD0YIg0YHQvdC+0LLQsCDRgdGC0LDRgtGMINC00L7RgdGC0YPQv9C90YvQvNC4LCDQv9C+0Y3RgtC+0LzRgyDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjyDQstGA0LXQvNC10L3QvdGL0LkuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNldFNlcnZlclJlZGlyZWN0KHRhcmdldFVybCwgU2NSZWRpcmVjdFN0YXR1c0VudW0uVGVtcG9yYXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU1NSINCx0LXQtyBSRVNQT05TRSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBuZyBzZXJ2ZSk6INGB0LXRgNCy0LXRgNC90YvQuSDRgNC10LTQuNGA0LXQutGCINC90LXQstC+0LfQvNC+0LbQtdC9LFxuICAgICAgICAgICAgICAgICAgICAvLyDQv9C+0Y3RgtC+0LzRgyDQvtGC0L7QsdGA0LDQttCw0LXQvCDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuCwg0LrQsNC6INC00L4g0LLQvdC10LTRgNC10L3QuNGPINGA0LXQtNC40YDQtdC60YLQsCwg0LLQvNC10YHRgtC+INCx0LXRgdC60L7QvdC10YfQvdC+0LPQviDQu9C+0LDQtNC10YDQsC5cbiAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDRjdGC0L7RgiDRhNC+0LvQsdGN0Log0L3Rg9C20LXQvSwg0L/QvtC60LAgbmcgc2VydmUg0L3QtSDQuNGB0L/QvtC70L3Rj9C10YIgc2VydmVyLnRzICjQvtC9INC90LAgQ29tbW9uRW5naW5lKS5cbiAgICAgICAgICAgICAgICAgICAgLy8g0J/QvtGB0LvQtSDQvNC40LPRgNCw0YbQuNC4IHNlcnZlci50cyDQvdCwIGNyZWF0ZU5vZGVSZXF1ZXN0SGFuZGxlciBkZXYt0YHQtdGA0LLQtdGAINC90LDRh9C90ZHRgiDQuNGB0L/QvtC70L3Rj9GC0Ywgc2VydmVyLnRzLCDQuCBSRVNQT05TRS9SRVNQT05TRV9JTklUXG4gICAgICAgICAgICAgICAgICAgIC8vINGB0YLQsNC90LXRgiDQtNC+0YHRgtGD0L/QtdC9INCyIG5nIHNlcnZlIOKAlCDRgtC+0LPQtNCwINGN0YLRgyDQstC10YLQutGDINGBIHRocm93RXJyb3IoNDA0KSDQvNC+0LbQvdC+INGD0LTQsNC70LjRgtGMLlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwNCB9KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8g0JHRgNCw0YPQt9C10YA6INC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuCAoU0NfQ0FURUdPUllfSU5GTykg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuSDQv9GA0LggNDA0INC4INC90LUg0LLQvtC30L7QsdC90L7QstC70Y/QtdGC0YHRj1xuICAgICAgICAgICAgICAgIC8vINC/0YDQuCDQvdCw0LLQuNCz0LDRhtC40Lgg0LIg0YDQsNC80LrQsNGFINGC0L7Qs9C+INC20LUg0LzQsNGA0YjRgNGD0YLQsCwg0L/QvtGN0YLQvtC80YMg0YDQtdC00LjRgNC10LrRgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC/0L7Qu9C90L7QuSDQv9C10YDQtdC30LDQs9GA0YPQt9C60L7QuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uLnJlcGxhY2Ug0L3QtSDQtNC+0LHQsNCy0LvRj9C10YIg0LfQsNC/0LjRgdGMINCyINC40YHRgtC+0YDQuNGOLCDRh9GC0L7QsdGLINC60L3QvtC/0LrQsCDCq9Cd0LDQt9Cw0LTCuyDQvdC1INCy0L7Qt9Cy0YDQsNGJ0LDQu9CwINC90LAg0L3QtdC00L7RgdGC0YPQv9C90YPRjiDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDRjdGC0YMg0YHRgtGA0L7QutGDINCw0L/Qs9GA0LXQudC0INCd0JUg0YHQvdC40LzQsNC10YIg4oCUINC/0YDQuNGH0LjQvdCwINCyINGA0LDQvdGC0LDQudC80LUg0L/RgNC40LvQvtC20LXQvdC40Y8gKNC80ZHRgNGC0LLRi9C5INC/0L7RgtC+0LpcbiAgICAgICAgICAgICAgICAvLyBTQ19DQVRFR09SWV9JTkZPINC/0YDQuCBTUEEt0L3QsNCy0LjQs9Cw0YbQuNC4KSwg0LAg0L3QtSDQsiBTU1IuINCS0LXRgNC90YPRgtGMIFNQQS3QvdCw0LLQuNCz0LDRhtC40Y4gKHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKSDQvNC+0LbQvdC+INGC0L7Qu9GM0LrQvlxuICAgICAgICAgICAgICAgIC8vINGB0LTQtdC70LDQsiBTQ19DQVRFR09SWV9JTkZPINGD0YHRgtC+0LnRh9C40LLRi9C8INC6IDQwNCAo0LvQvtCy0LjRgtGMINC+0YjQuNCx0LrRgyDQstC90YPRgtGA0Lggc3dpdGNoTWFwKSDQu9C40LHQviDRg9C90LXRgdGPINGA0LXQtNC40YDQtdC60YIg0LIgZ3VhcmQgKyBSZWRpcmVjdENvbW1hbmQuXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1yZWRpcmVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2ctcmVkaXJlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXdDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJSTs7V0FFRztRQUNjLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFM0Q7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0s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LENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2dCQUVELG1GQUFtRjtnQkFDbkYsK0ZBQStGO2dCQUMvRixFQUFFO2dCQUNGLDJHQUEyRztnQkFDM0csdUhBQXVIO2dCQUN2SCxnRkFBZ0Y7Z0JBQ2hGLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFRCxxR0FBcUc7WUFDckcsdUdBQXVHO1lBQ3ZHLDhHQUE4RztZQUM5RyxFQUFFO1lBQ0YsMEdBQTBHO1lBQzFHLDZHQUE2RztZQUM3RywySEFBMkg7WUFDM0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQTlNUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIEVNUFRZLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1JlZGlyZWN0U3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9yZWRpcmVjdC1zdGF0dXMtZW51bSc7XG5pbXBvcnQgeyBJU19TRVJWRVIsIFJFU1BPTlNFIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfQ0FOT05JQ0FMX1JFRElSRUNUX0VOQUJMRUQgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY2Fub25pY2FsLXJlZGlyZWN0LWVuYWJsZWQnO1xuaW1wb3J0IHsgU0NfSURfT1JfU0xVR19JTl9ST1VURSB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pZC1vci1zbHVnLWluLXJvdXRlJztcbmltcG9ydCB7IFNjSVBhcmVudENhdGVnb3J5UmVkaXJlY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcGFyZW50LWNhdGVnb3J5LXJlZGlyZWN0JztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NjLWNhdGFsb2cuc2VydmljZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LXQtNC40YDQtdC60YLQvtCyINC60LDRgtCw0LvQvtCz0LA6INC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7RgdGC0LggKEhUVFAgNDA0KSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuFxuICog0Lgg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuCAo0YHQvC4ge0BsaW5rIHJlZGlyZWN0VG9DYW5vbmljYWxVcmx9KS5cbiAqXG4gKiDQoNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAqXG4gKiDQl9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGDINCx0Y3QutC10L3QtNCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4INC4INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCOlxuICogLSDQvdCwINGB0LXRgNCy0LXRgNC1IChTU1IpINC/0YDQuCDQtNC+0YHRgtGD0L/QvdC+0Lwge0BsaW5rIFJFU1BPTlNFfSDigJQg0LLRi9GB0YLQsNCy0LvRj9C10YIgSFRUUC3RgdGC0LDRgtGD0YEgMzAyINC4INC30LDQs9C+0LvQvtCy0L7QuiBgTG9jYXRpb25gINC00LvRjyDQutC+0YDRgNC10LrRgtC90L7Qs9C+INGA0LXQtNC40YDQtdC60YLQsCDQv9C+0LjRgdC60L7QstGL0YUg0LHQvtGC0L7QsjtcbiAqIC0g0L3QsCDRgdC10YDQstC10YDQtSDQsdC10Lcge0BsaW5rIFJFU1BPTlNFfSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKSDigJQg0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Log0L7RiNC40LHQutC+0LkgNDA0LCDRh9GC0L7QsdGLINC+0YLQvtCx0YDQsNC30LjQu9Cw0YHRjCDRgdGC0YDQsNC90LjRhtCwINC+0YjQuNCx0LrQuDtcbiAqIC0g0LIg0LHRgNCw0YPQt9C10YDQtSDigJQg0LLRi9C/0L7Qu9C90Y/QtdGCINC/0L7Qu9C90YPRjiDQvdCw0LLQuNCz0LDRhtC40Y4g0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICpcbiAqINCV0YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCwg0L/QvtGC0L7QuiDRgtCw0LrQttC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0Lkge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSxcbiAqINGH0YLQvtCx0Ysg0LLRi9C30YvQstCw0Y7RidC40Lkg0LrQvtC0INC+0YLQvtCx0YDQsNC30LjQuyDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nUmVkaXJlY3RTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZSA9IGluamVjdChTY0NhdGFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQvNCw0YDRiNGA0YPRgtC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQuNC70Lggc2x1ZyDQsiDQvNCw0YDRiNGA0YPRgtCw0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRPclNsdWcgPSBpbmplY3QoU0NfSURfT1JfU0xVR19JTl9ST1VURSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INCy0LrQu9GO0YfRkdC9INC/0L7RgdGC0L7Rj9C90L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkID0gaW5qZWN0KFNDX0NBTk9OSUNBTF9SRURJUkVDVF9FTkFCTEVEKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YLQtdC60YPRidC40Lkg0YHQutGA0LjQv9GCINC40YHQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQvtGC0LLQtdGC0LUg0L3QsCDQt9Cw0L/RgNC+0YEgKNC00L7RgdGC0YPQv9C90Ysg0YLQvtC70YzQutC+INC90LAg0YHQtdGA0LLQtdGA0LUg0L/RgNC4IFNTUikuXG4gICAgICpcbiAgICAgKiBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6IHtAbGluayBSRVNQT05TRX0g4oCUINC60LDRgdGC0L7QvNC90YvQuSBFeHByZXNzLdGC0L7QutC10L0sINC60L7RgtC+0YDRi9C5INC/0YDQvtCy0LDQudC00LjRgtGB0Y8g0LIgYHNlcnZlci50c2BcbiAgICAgKiDRh9C10YDQtdC3IENvbW1vbkVuZ2luZS4g0J3QsCB1cGdyYWRlLdCy0LXRgtC60LUgYHNlcnZlci50c2Ag0L7RgdGC0LDQu9GB0Y8g0L3QsCBDb21tb25FbmdpbmUsINC/0L7RjdGC0L7QvNGDINC/0YDQuCDRgdC70LjRj9C90LjQuCDQt9C00LXRgdGMXG4gICAgICog0L3QuNGH0LXQs9C+INC80LXQvdGP0YLRjCDQvdC1INC90YPQttC90L4uINCV0YHQu9C4IGBzZXJ2ZXIudHNgINC80LjQs9GA0LjRgNGD0Y7RgiDQvdCwIGBBbmd1bGFyTm9kZUFwcEVuZ2luZWAgKyBgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyYCxcbiAgICAgKiDQt9Cw0LzQtdC90LjRgtC1IHtAbGluayBSRVNQT05TRX0g0L3QsCDQvdCw0YLQuNCy0L3Ri9C5IGBSRVNQT05TRV9JTklUYCAoYEluamVjdGlvblRva2VuPFJlc3BvbnNlSW5pdCB8IG51bGw+YCDQuNC3IGBAYW5ndWxhci9jb3JlYCk7XG4gICAgICog0YHQvC4g0YHQtdGA0LLQtdGA0L3Ri9C1INCy0LXRgtC60Lgg0LIge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSR9INC4IHtAbGluayByZWRpcmVjdFRvQ2Fub25pY2FsVXJsfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlID0gaW5qZWN0KFJFU1BPTlNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0JTQvtC60YPQvNC10L3RgiDRgtC10LrRg9GJ0LXQuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQtdC30YPQu9GM0YLQsNGCINGB0YLRgNCw0LbQsCDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQv9C10YDQtdGF0L7QtNCwINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INCw0LTRgNC10YEg0YLQvtCy0LDRgNCwINC40LvQuCDQutCw0YLQtdCz0L7RgNC40LhcbiAgICAgKiAo0LDQtNGA0LXRgSDRgdC+IHNsdWcg0LvQuNCx0L4g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IOKAlCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0L3QsNGB0YLRgNC+0LXQuiDQvtC60YDRg9C20LXQvdC40Y8pLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1hbmRzINCh0LXQs9C80LXQvdGC0Ysg0LrQsNC90L7QvdC40YfQtdGB0LrQvtCz0L4g0LzQsNGA0YjRgNGD0YLQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LA6INCy0LjQtCDQsNC00YDQtdGB0LAg0LfQsNC00LDRkdGC0YHRjyDQvdCw0YHRgtGA0L7QudC60LDQvNC4INC+0LrRgNGD0LbQtdC90LjRjyDQuCDQvNC+0LbQtdGCINCx0YvRgtGMINC40LfQvNC10L3RkdC9LCDQv9C+0Y3RgtC+0LzRgyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQstGA0LXQvNC10L3QvdGL0LkuXG4gICAgICogQHJldHVybnMg0JTQtdGA0LXQstC+INC60LDQvdC+0L3QuNGH0LXRgdC60L7Qs9C+INC80LDRgNGI0YDRg9GC0LAg0LTQu9GPINC90LDQstC40LPQsNGG0LjQuCDQu9C40LHQviBgZmFsc2VgLCDQtdGB0LvQuCDRgNC10LTQuNGA0LXQutGCINCy0YvQv9C+0LvQvdC10L0g0L7RgtCy0LXRgtC+0Lwg0YHQtdGA0LLQtdGA0LAuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvZnVuY3Rpb24tcmV0dXJuLXR5cGVcbiAgICBwdWJsaWMgcmVkaXJlY3RUb0Nhbm9uaWNhbFVybChjb21tYW5kczogQXJyYXk8bnVtYmVyIHwgc3RyaW5nPiwgc3RhdHVzOiBTY1JlZGlyZWN0U3RhdHVzRW51bSA9IFNjUmVkaXJlY3RTdGF0dXNFbnVtLlRlbXBvcmFyeSk6IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY29tbWFuZHMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkICYmIHRoaXMuaXNTZXJ2ZXIgJiYgdGhpcy5zZXRTZXJ2ZXJSZWRpcmVjdCh0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSksIHN0YXR1cykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxUcmVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRgdGC0LDQstC70Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0LIg0L7RgtCy0LXRgtC1INGB0LXRgNCy0LXRgNCwIChTU1IpLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldFVybCDQkNC00YDQtdGBLCDQvdCwINC60L7RgtC+0YDRi9C5INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0YDQtdC00LjRgNC10LrRgi5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LAuXG4gICAgICogQHJldHVybnMg0J/RgNC40LfQvdCw0LosINGH0YLQviDRgNC10LTQuNGA0LXQutGCINCy0YvRgdGC0LDQstC70LXQvTsgYGZhbHNlYCwg0LXRgdC70Lgg0LTQsNC90L3Ri9C1INC+0LEg0L7RgtCy0LXRgtC1INC90LXQtNC+0YHRgtGD0L/QvdGLICjQvdCw0L/RgNC40LzQtdGALCBkZXYt0YHQtdGA0LLQtdGAIGBuZyBzZXJ2ZWApLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0U2VydmVyUmVkaXJlY3QodGFyZ2V0VXJsOiBzdHJpbmcsIHN0YXR1czogU2NSZWRpcmVjdFN0YXR1c0VudW0pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INC/0YDQuCDQv9C10YDQtdGF0L7QtNC1IHNlcnZlci50cyDQvdCwIEFuZ3VsYXJOb2RlQXBwRW5naW5lINGB0YLQsNGC0YPRgSDQuCDQt9Cw0LPQvtC70L7QstC+0Log0LLRi9GB0YLQsNCy0LvRj9GO0YLRgdGPXG4gICAgICAgIC8vINGH0LXRgNC10Lcg0L3QsNGC0LjQstC90YvQuSBSRVNQT05TRV9JTklUINCy0LzQtdGB0YLQviBFeHByZXNzLdC80LXRgtC+0LTQvtCyIHJlc3BvbnNlLnNldEhlYWRlci9yZXNwb25zZS5zdGF0dXMuXG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc2V0SGVhZGVyKCdMb2NhdGlvbicsIHRhcmdldFVybCk7XG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzKHN0YXR1cyk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWRpcmVjdFRvQ2F0ZWdvcnlQYXJlbnQkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JCh0aGlzLmNhdGFsb2dTZXJ2aWNlLmdldENhdGVnb3J5UGFyZW50Q2F0ZWdvcnkkKGNhdGVnb3J5SWRPclNsdWcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRgiDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKiBAcmV0dXJucyDQn9C+0YLQvtC6LCDQt9Cw0LLQtdGA0YjQsNGO0YnQuNC50YHRjyDQv9C+0YHQu9C1INGA0LXQtNC40YDQtdC60YLQsC4g0K3QvNC40YLQuNGCINC+0YjQuNCx0LrRgyB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9LCDQtdGB0LvQuCDRgNC+0LTQuNGC0LXQu9GM0YHQutCw0Y8g0LrQsNGC0LXQs9C+0YDQuNGPINC90LUg0L3QsNC50LTQtdC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlZGlyZWN0VG9Qcm9kdWN0UGFyZW50JChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JCh0aGlzLmNhdGFsb2dTZXJ2aWNlLmdldFByb2R1Y3RQYXJlbnRDYXRlZ29yeSQocHJvZHVjdElkT3JTbHVnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QuSAoSFRUUC3QvtGI0LjQsdC60LApINC60LDRgtC10LPQvtGA0LjQuCDQsiDQv9C+0YLQvtC60LUg0LTQsNC90L3Ri9GFOiDQv9GA0LggNDA0INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCXG4gICAgICog0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLCDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QuSDQvtGI0LjQsdC60LUg0YHQvtC+0LHRidCw0LXRgiDQutC+0LQg0YfQtdGA0LXQtyB7QGxpbmsgb25FcnJvckNvZGV9LlxuICAgICAqINCe0YjQuNCx0LrRgyDQvdC1INC/0YDQvtCx0YDQsNGB0YvQstCw0LXRgiAo0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Loge0BsaW5rIEVNUFRZfSksINC/0L7RjdGC0L7QvNGDINC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC90LUg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqIEBwYXJhbSBvbkVycm9yQ29kZSDQmtC+0LvQsdGN0Log0YPRgdGC0LDQvdC+0LLQutC4INC60L7QtNCwINC+0YjQuNCx0LrQuCAo0L3QsNC/0YDQuNC80LXRgCwg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YHRgtGA0LDQvdC40YbRiyDQvtGI0LjQsdC60LgpLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVVbmF2YWlsYWJsZUNhdGVnb3J5JDxUPihjYXRlZ29yeUlkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcsIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVVbmF2YWlsYWJsZSQoKCkgPT4gdGhpcy5yZWRpcmVjdFRvQ2F0ZWdvcnlQYXJlbnQkKGNhdGVnb3J5SWRPclNsdWcpLCBvbkVycm9yQ29kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+IChIVFRQLdC+0YjQuNCx0LrQsCkg0YLQvtCy0LDRgNCwINCyINC/0L7RgtC+0LrQtSDQtNCw0L3QvdGL0YU6INC/0YDQuCA0MDQg0LLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YJcbiAgICAgKiDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0YLQvtCy0LDRgNCwLCDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QuSDQvtGI0LjQsdC60LUg0YHQvtC+0LHRidCw0LXRgiDQutC+0LQg0YfQtdGA0LXQtyB7QGxpbmsgb25FcnJvckNvZGV9LlxuICAgICAqINCe0YjQuNCx0LrRgyDQvdC1INC/0YDQvtCx0YDQsNGB0YvQstCw0LXRgiAo0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Loge0BsaW5rIEVNUFRZfSksINC/0L7RjdGC0L7QvNGDINC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC90LUg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LggKNC90LDQv9GA0LjQvNC10YAsINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGB0YLRgNCw0L3QuNGG0Ysg0L7RiNC40LHQutC4KS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlVW5hdmFpbGFibGVQcm9kdWN0JDxUPihwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZywgb25FcnJvckNvZGU6IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVVuYXZhaWxhYmxlJCgoKSA9PiB0aGlzLnJlZGlyZWN0VG9Qcm9kdWN0UGFyZW50JChwcm9kdWN0SWRPclNsdWcpLCBvbkVycm9yQ29kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JHQsNC30L7QstGL0Lkg0L7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4OiDQv9GA0LggNDA0IOKAlCDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjyAo0YfQtdGA0LXQtyB7QGxpbmsgcmVkaXJlY3RUb1BhcmVudCR9KSxcbiAgICAgKiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QvCB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9IOKAlCB7QGxpbmsgb25FcnJvckNvZGV9INGBINC60L7QtNC+0Lwg0L7RgtCy0LXRgtCwOyDQstGB0LXQs9C00LAge0BsaW5rIEVNUFRZfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWRpcmVjdFRvUGFyZW50JCDQpNCw0LHRgNC40LrQsCDQv9C+0YLQvtC60LAg0YDQtdC00LjRgNC10LrRgtCwINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIGhhbmRsZVVuYXZhaWxhYmxlJDxUPihyZWRpcmVjdFRvUGFyZW50JDogKCkgPT4gT2JzZXJ2YWJsZTxuZXZlcj4sIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gKHNvdXJjZSQpID0+XG4gICAgICAgICAgICBzb3VyY2UkLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWRpcmVjdFRvUGFyZW50JCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVkaXJlY3RFcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVkaXJlY3RFcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yQ29kZShyZWRpcmVjdEVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvckNvZGUoZXJyb3Iuc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRgiDQvdCwINC/0L7Qu9GD0YfQtdC90L3Rg9GOINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyZW50Q2F0ZWdvcnkkINCf0L7RgtC+0Log0YEg0LTQsNC90L3Ri9C80Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKiBAcmV0dXJucyDQn9C+0YLQvtC6LCDQt9Cw0LLQtdGA0YjQsNGO0YnQuNC50YHRjyDQv9C+0YHQu9C1INGA0LXQtNC40YDQtdC60YLQsC4g0K3QvNC40YLQuNGCINC+0YjQuNCx0LrRgyB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9INGBINC60L7QtNC+0LwgNDA0LCDQtdGB0LvQuCDRgNC+0LTQuNGC0LXQu9GM0YHQutCw0Y8g0LrQsNGC0LXQs9C+0YDQuNGPINC90LUg0L3QsNC50LTQtdC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWRpcmVjdFRvUGFyZW50Q2F0ZWdvcnkkKHBhcmVudENhdGVnb3J5JDogT2JzZXJ2YWJsZTxTY0lQYXJlbnRDYXRlZ29yeVJlZGlyZWN0Pik6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHBhcmVudENhdGVnb3J5JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChwYXJlbnRDYXRlZ29yeSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHBhcmVudENhdGVnb3J5W3RoaXMuaWRPclNsdWddO1xuXG4gICAgICAgICAgICAgICAgLy8g0KDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwIOKAlCDQvtGC0L7QsdGA0LDQttCw0LXQvCDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAgICAgICAgICAgICAgICBpZiAoIXR1aUlzUHJlc2VudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7IHN0YXR1czogNDA0IH0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy9jYXRhbG9nJywgdGFyZ2V0XSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRVcmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1NlcnZlcikge1xuICAgICAgICAgICAgICAgICAgICAvLyDQodC60YDRi9GC0YvQtSDQutCw0YLQtdCz0L7RgNC40Y8g0LjQu9C4INGC0L7QstCw0YAg0LzQvtCz0YPRgiDRgdC90L7QstCwINGB0YLQsNGC0Ywg0LTQvtGB0YLRg9C/0L3Ri9C80LgsINC/0L7RjdGC0L7QvNGDINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GPINCy0YDQtdC80LXQvdC90YvQuS5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2V0U2VydmVyUmVkaXJlY3QodGFyZ2V0VXJsLCBTY1JlZGlyZWN0U3RhdHVzRW51bS5UZW1wb3JhcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBTU1Ig0LHQtdC3IFJFU1BPTlNFICjQvdCw0L/RgNC40LzQtdGALCBkZXYt0YHQtdGA0LLQtdGAIG5nIHNlcnZlKTog0YHQtdGA0LLQtdGA0L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QtdCy0L7Qt9C80L7QttC10L0sXG4gICAgICAgICAgICAgICAgICAgIC8vINC/0L7RjdGC0L7QvNGDINC+0YLQvtCx0YDQsNC20LDQtdC8INGB0YLRgNCw0L3QuNGG0YMg0L7RiNC40LHQutC4LCDQutCw0Log0LTQviDQstC90LXQtNGA0LXQvdC40Y8g0YDQtdC00LjRgNC10LrRgtCwLCDQstC80LXRgdGC0L4g0LHQtdGB0LrQvtC90LXRh9C90L7Qs9C+INC70L7QsNC00LXRgNCwLlxuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INGN0YLQvtGCINGE0L7Qu9Cx0Y3QuiDQvdGD0LbQtdC9LCDQv9C+0LrQsCBuZyBzZXJ2ZSDQvdC1INC40YHQv9C+0LvQvdGP0LXRgiBzZXJ2ZXIudHMgKNC+0L0g0L3QsCBDb21tb25FbmdpbmUpLlxuICAgICAgICAgICAgICAgICAgICAvLyDQn9C+0YHQu9C1INC80LjQs9GA0LDRhtC40Lggc2VydmVyLnRzINC90LAgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyIGRldi3RgdC10YDQstC10YAg0L3QsNGH0L3RkdGCINC40YHQv9C+0LvQvdGP0YLRjCBzZXJ2ZXIudHMsINC4IFJFU1BPTlNFL1JFU1BPTlNFX0lOSVRcbiAgICAgICAgICAgICAgICAgICAgLy8g0YHRgtCw0L3QtdGCINC00L7RgdGC0YPQv9C10L0g0LIgbmcgc2VydmUg4oCUINGC0L7Qs9C00LAg0Y3RgtGDINCy0LXRgtC60YMg0YEgdGhyb3dFcnJvcig0MDQpINC80L7QttC90L4g0YPQtNCw0LvQuNGC0YwuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7IHN0YXR1czogNDA0IH0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyDQkdGA0LDRg9C30LXRgDog0L/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0LrQsNGC0LXQs9C+0YDQuNC4IChTQ19DQVRFR09SWV9JTkZPKSDQt9Cw0LLQtdGA0YjQsNC10YLRgdGPINC+0YjQuNCx0LrQvtC5INC/0YDQuCA0MDQg0Lgg0L3QtSDQstC+0LfQvtCx0L3QvtCy0LvRj9C10YLRgdGPXG4gICAgICAgICAgICAgICAgLy8g0L/RgNC4INC90LDQstC40LPQsNGG0LjQuCDQsiDRgNCw0LzQutCw0YUg0YLQvtCz0L4g0LbQtSDQvNCw0YDRiNGA0YPRgtCwLCDQv9C+0Y3RgtC+0LzRgyDRgNC10LTQuNGA0LXQutGCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L/QvtC70L3QvtC5INC/0LXRgNC10LfQsNCz0YDRg9C30LrQvtC5INGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICAgICAgICAgICAgLy8gbG9jYXRpb24ucmVwbGFjZSDQvdC1INC00L7QsdCw0LLQu9GP0LXRgiDQt9Cw0L/QuNGB0Ywg0LIg0LjRgdGC0L7RgNC40Y4sINGH0YLQvtCx0Ysg0LrQvdC+0L/QutCwIMKr0J3QsNC30LDQtMK7INC90LUg0LLQvtC30LLRgNCw0YnQsNC70LAg0L3QsCDQvdC10LTQvtGB0YLRg9C/0L3Rg9GOINGB0YLRgNCw0L3QuNGG0YMuXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INGN0YLRgyDRgdGC0YDQvtC60YMg0LDQv9Cz0YDQtdC50LQg0J3QlSDRgdC90LjQvNCw0LXRgiDigJQg0L/RgNC40YfQuNC90LAg0LIg0YDQsNC90YLQsNC50LzQtSDQv9GA0LjQu9C+0LbQtdC90LjRjyAo0LzRkdGA0YLQstGL0Lkg0L/QvtGC0L7QulxuICAgICAgICAgICAgICAgIC8vIFNDX0NBVEVHT1JZX0lORk8g0L/RgNC4IFNQQS3QvdCw0LLQuNCz0LDRhtC40LgpLCDQsCDQvdC1INCyIFNTUi4g0JLQtdGA0L3Rg9GC0YwgU1BBLdC90LDQstC40LPQsNGG0LjRjiAocm91dGVyLm5hdmlnYXRlQnlVcmwpINC80L7QttC90L4g0YLQvtC70YzQutC+XG4gICAgICAgICAgICAgICAgLy8g0YHQtNC10LvQsNCyIFNDX0NBVEVHT1JZX0lORk8g0YPRgdGC0L7QudGH0LjQstGL0Lwg0LogNDA0ICjQu9C+0LLQuNGC0Ywg0L7RiNC40LHQutGDINCy0L3Rg9GC0YDQuCBzd2l0Y2hNYXApINC70LjQsdC+INGD0L3QtdGB0Y8g0YDQtdC00LjRgNC10LrRgiDQsiBndWFyZCArIFJlZGlyZWN0Q29tbWFuZC5cbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS11cGRhdGUtaW50ZXJ2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbmZpZy9zYy1pLXVwZGF0ZS1pbnRlcnZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSVVwZGF0ZUludGVydmFsIHtcbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFINC30LDQutCw0LfQsCAobXMpLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yZGVyRGF0YTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JLRgNC10LzRjyDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC40L3RgtC10YDQstCw0LvQsCDQvtCx0L3QvtCy0LvQtdC90LjRjyDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICByZWFkb25seSBub3RpZmljYXRpb25zVXBkYXRlOiBudW1iZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS11cGRhdGUtaW50ZXJ2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbmZpZy9zYy1pLXVwZGF0ZS1pbnRlcnZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSVVwZGF0ZUludGVydmFsIHtcbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFINC30LDQutCw0LfQsCAobXMpLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yZGVyRGF0YTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JLRgNC10LzRjyDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC40L3RgtC10YDQstCw0LvQsCDQvtCx0L3QvtCy0LvQtdC90LjRjyDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICByZWFkb25seSBub3RpZmljYXRpb25zVXBkYXRlOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC7INGE0L7QvdC+0LLQvtCz0L4g0L7QsdC90L7QstC70LXQvdC40Y8g0YHQv9C40YHQutCwINGH0LXRgNC90L7QstC40LrQvtCyINC30LDQutCw0LfQvtCyIChtcykuXG4gICAgICovXG4gICAgcmVhZG9ubHkgb3JkZXJEcmFmdHNMaXN0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC7INC+0L/RgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0YfQtdGA0L3QvtCy0LjQutC+0LIg0J/RgNC+0YTRgdGC0YDQvtC5LCDQvdCw0YXQvtC00Y/RidC40YXRgdGPINCyINC+0LHRgNCw0LHQvtGC0LrQtSAobXMpLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yZGVyRHJhZnRTdGF0dXM6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0Lsg0L/RgNC+0LLQtdGA0LrQuCDQuNGB0YLQtdGH0LXQvdC40Y8g0YHRgNC+0LrQsCDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0YfQtdGA0L3QvtCy0LjQutCwINCf0YDQvtGE0YHRgtGA0L7QuSAobXMpLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yZGVyRHJhZnRFeHBpcmF0aW9uOiBudW1iZXI7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './sc-image-helper';
2
2
  export * from './sc-units-helper';
3
3
  export * from './sc-get-current-route';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWltYWdlLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLXVuaXRzLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWdldC1jdXJyZW50LXJvdXRlJztcbiJdfQ==
4
+ export * from './sc-date-helper';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtaW1hZ2UtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtdW5pdHMtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZ2V0LWN1cnJlbnQtcm91dGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1kYXRlLWhlbHBlcic7XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { isValid, parse } from 'date-fns';
2
+ /**
3
+ * Класс-помощник для работы с датами.
4
+ */
5
+ export class ScDateHelper {
6
+ /**
7
+ * Возвращает дату, полученную из строки в указанном формате, или `undefined`, если значение отсутствует или не является датой.
8
+ *
9
+ * @param value Дата строкой или готовый объект даты.
10
+ * @param format Формат даты строкой (например, {@link ScIDateFormat.api}).
11
+ */
12
+ static parse(value, format) {
13
+ if (value instanceof Date) {
14
+ return isValid(value) ? value : undefined;
15
+ }
16
+ if (!value) {
17
+ return undefined;
18
+ }
19
+ const date = parse(value, format, new Date());
20
+ return isValid(date) ? date : undefined;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGF0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2hlbHBlcnMvc2MtZGF0ZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUNyQjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBdUMsRUFBRSxNQUFjO1FBQ3ZFLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNWYWxpZCwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5cbi8qKlxuICog0JrQu9Cw0YHRgS3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LTQsNGC0LDQvNC4LlxuICovXG5leHBvcnQgY2xhc3MgU2NEYXRlSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNCw0YLRgywg0L/QvtC70YPRh9C10L3QvdGD0Y4g0LjQtyDRgdGC0YDQvtC60Lgg0LIg0YPQutCw0LfQsNC90L3QvtC8INGE0L7RgNC80LDRgtC1LCDQuNC70LggYHVuZGVmaW5lZGAsINC10YHQu9C4INC30L3QsNGH0LXQvdC40LUg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQuNC70Lgg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LDRgtC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0JTQsNGC0LAg0YHRgtGA0L7QutC+0Lkg0LjQu9C4INCz0L7RgtC+0LLRi9C5INC+0LHRitC10LrRgiDQtNCw0YLRiy5cbiAgICAgKiBAcGFyYW0gZm9ybWF0INCk0L7RgNC80LDRgiDQtNCw0YLRiyDRgdGC0YDQvtC60L7QuSAo0L3QsNC/0YDQuNC80LXRgCwge0BsaW5rIFNjSURhdGVGb3JtYXQuYXBpfSkuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQsIGZvcm1hdDogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZSh2YWx1ZSwgZm9ybWF0LCBuZXcgRGF0ZSgpKTtcblxuICAgICAgICByZXR1cm4gaXNWYWxpZChkYXRlKSA/IGRhdGUgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
@@ -8,7 +8,8 @@ export class ScUnitsHelper {
8
8
  * @param product Данные о товаре для которого нужно проверить линейность его единицы измерения.
9
9
  */
10
10
  static productIsMeasurable(product) {
11
- return product.unit.isLinear || product.unit.isSquare;
11
+ // У товара, не найденного в каталоге, единицы измерения нет.
12
+ return !product.isNull && (product.unit.isLinear || product.unit.isSquare);
12
13
  }
13
14
  /**
14
15
  * Возвращает кратность количества для указанного товара.
@@ -34,4 +35,4 @@ export class ScUnitsHelper {
34
35
  return !product.properties?.ignoreMinCountCheck && product.minCount ? product.minCount : 0.01;
35
36
  }
36
37
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdW5pdHMtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLXVuaXRzLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBa0I7UUFDaEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBa0I7UUFDbkQsT0FBTyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsNEJBQTRCLENBQUMsT0FBa0I7UUFDekQsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi9jYXRhbG9nL2R0by9zYy1wcm9kdWN0JztcblxuLyoqXG4gKiDQmtC70LDRgdGBLdC/0L7QvNC+0YnQvdC40Log0LTQu9GPINGA0LDQsdC+0YLRiyDRgdC+INC30L3QsNGH0LXQvdC40Y/QvNC4INC10LTQuNC90LjRhiDQuNC30LzQtdGA0LXQvdC40Y8g0YLQvtCy0LDRgNCwLlxuICovXG5leHBvcnQgY2xhc3MgU2NVbml0c0hlbHBlciB7XG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC40LfQvdCw0LosINGH0YLQviDRg9C60LDQt9Cw0L3QvdGL0Lkg0YLQvtCy0LDRgCDQuNC80LXQtdGCINC70LjQvdC10LnQvdGD0Y4g0LXQtNC40L3QuNGG0YMg0LjQt9C80LXRgNC10L3QuNGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0JTQsNC90L3Ri9C1INC+INGC0L7QstCw0YDQtSDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvdGD0LbQvdC+INC/0YDQvtCy0LXRgNC40YLRjCDQu9C40L3QtdC50L3QvtGB0YLRjCDQtdCz0L4g0LXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcHJvZHVjdElzTWVhc3VyYWJsZShwcm9kdWN0OiBTY1Byb2R1Y3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHByb2R1Y3QudW5pdC5pc0xpbmVhciB8fCBwcm9kdWN0LnVuaXQuaXNTcXVhcmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrRgNCw0YLQvdC+0YHRgtGMINC60L7Qu9C40YfQtdGB0YLQstCwINC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiDQmtGA0LDRgtC90L7RgdGC0Ywg0YDQsNCy0L3QsCB7QGxpbmsgU2NQcm9kdWN0Lm1pbkNvdW50fSDQuCDQvdC1INC30LDQstC40YHQuNGCINC+0YIge0BsaW5rIFNjSVByb3BlcnRpZXMuaWdub3JlTWluQ291bnRDaGVja306XG4gICAgICog0Y3RgtC+0YIg0L/RgNC40LfQvdCw0Log0YLQvtC70YzQutC+INGB0L3QuNC80LDQtdGCINCy0LDQu9C40LTQsNGG0LjRjiDQutGA0LDRgtC90L7RgdGC0Lgv0LzQuNC90LjQvNGD0LzQsCDQv9GA0Lgg0YDRg9GH0L3QvtC8INCy0LLQvtC00LUsINC90L4g0L3QsNGH0LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+XG4gICAgICog0Lgg0YjQsNCzINC60L3QvtC/0L7QuiArLy0g0L7RgdGC0LDRjtGC0YHRjyDQutGA0LDRgtC90YsgbWluQ291bnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1INC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INCy0LXRgNC90YPRgtGMINC60YDQsNGC0L3QvtGB0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFByb2R1Y3RNdWx0aXBsaWNpdHkocHJvZHVjdDogU2NQcm9kdWN0KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHByb2R1Y3QubWluQ291bnQgJiYgIVNjVW5pdHNIZWxwZXIucHJvZHVjdElzTWVhc3VyYWJsZShwcm9kdWN0KSA/IHByb2R1Y3QubWluQ291bnQgOiAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60YDQsNGC0L3QvtGB0YLRjCDQtNC70LjQvdGLINC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1INC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INCy0LXRgNC90YPRgtGMINC60YDQsNGC0L3QvtGB0YLRjCDQtNC70LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UHJvZHVjdExlbmd0aE11bHRpcGxpY2l0eShwcm9kdWN0OiBTY1Byb2R1Y3QpOiBudW1iZXIge1xuICAgICAgICBpZiAocHJvZHVjdC5wcm9wZXJ0aWVzPy5sZW5ndGhTdGVwKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvZHVjdC5wcm9wZXJ0aWVzLmxlbmd0aFN0ZXA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gIXByb2R1Y3QucHJvcGVydGllcz8uaWdub3JlTWluQ291bnRDaGVjayAmJiBwcm9kdWN0Lm1pbkNvdW50ID8gcHJvZHVjdC5taW5Db3VudCA6IDAuMDE7XG4gICAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdW5pdHMtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9oZWxwZXJzL3NjLXVuaXRzLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBa0I7UUFDaEQsNkRBQTZEO1FBQzdELE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBa0I7UUFDbkQsT0FBTyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsNEJBQTRCLENBQUMsT0FBa0I7UUFDekQsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNjUHJvZHVjdCB9IGZyb20gJy4uL2NhdGFsb2cvZHRvL3NjLXByb2R1Y3QnO1xuXG4vKipcbiAqINCa0LvQsNGB0YEt0L/QvtC80L7RidC90LjQuiDQtNC70Y8g0YDQsNCx0L7RgtGLINGB0L4g0LfQvdCw0YfQtdC90LjRj9C80Lgg0LXQtNC40L3QuNGGINC40LfQvNC10YDQtdC90LjRjyDRgtC+0LLQsNGA0LAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY1VuaXRzSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiwg0YfRgtC+INGD0LrQsNC30LDQvdC90YvQuSDRgtC+0LLQsNGAINC40LzQtdC10YIg0LvQuNC90LXQudC90YPRjiDQtdC00LjQvdC40YbRgyDQuNC30LzQtdGA0LXQvdC40Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1INC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90YPQttC90L4g0L/RgNC+0LLQtdGA0LjRgtGMINC70LjQvdC10LnQvdC+0YHRgtGMINC10LPQviDQtdC00LjQvdC40YbRiyDQuNC30LzQtdGA0LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBwcm9kdWN0SXNNZWFzdXJhYmxlKHByb2R1Y3Q6IFNjUHJvZHVjdCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyDQoyDRgtC+0LLQsNGA0LAsINC90LUg0L3QsNC50LTQtdC90L3QvtCz0L4g0LIg0LrQsNGC0LDQu9C+0LPQtSwg0LXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPINC90LXRgi5cbiAgICAgICAgcmV0dXJuICFwcm9kdWN0LmlzTnVsbCAmJiAocHJvZHVjdC51bml0LmlzTGluZWFyIHx8IHByb2R1Y3QudW5pdC5pc1NxdWFyZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrRgNCw0YLQvdC+0YHRgtGMINC60L7Qu9C40YfQtdGB0YLQstCwINC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiDQmtGA0LDRgtC90L7RgdGC0Ywg0YDQsNCy0L3QsCB7QGxpbmsgU2NQcm9kdWN0Lm1pbkNvdW50fSDQuCDQvdC1INC30LDQstC40YHQuNGCINC+0YIge0BsaW5rIFNjSVByb3BlcnRpZXMuaWdub3JlTWluQ291bnRDaGVja306XG4gICAgICog0Y3RgtC+0YIg0L/RgNC40LfQvdCw0Log0YLQvtC70YzQutC+INGB0L3QuNC80LDQtdGCINCy0LDQu9C40LTQsNGG0LjRjiDQutGA0LDRgtC90L7RgdGC0Lgv0LzQuNC90LjQvNGD0LzQsCDQv9GA0Lgg0YDRg9GH0L3QvtC8INCy0LLQvtC00LUsINC90L4g0L3QsNGH0LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+XG4gICAgICog0Lgg0YjQsNCzINC60L3QvtC/0L7QuiArLy0g0L7RgdGC0LDRjtGC0YHRjyDQutGA0LDRgtC90YsgbWluQ291bnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1INC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INCy0LXRgNC90YPRgtGMINC60YDQsNGC0L3QvtGB0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFByb2R1Y3RNdWx0aXBsaWNpdHkocHJvZHVjdDogU2NQcm9kdWN0KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHByb2R1Y3QubWluQ291bnQgJiYgIVNjVW5pdHNIZWxwZXIucHJvZHVjdElzTWVhc3VyYWJsZShwcm9kdWN0KSA/IHByb2R1Y3QubWluQ291bnQgOiAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60YDQsNGC0L3QvtGB0YLRjCDQtNC70LjQvdGLINC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1INC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INCy0LXRgNC90YPRgtGMINC60YDQsNGC0L3QvtGB0YLRjCDQtNC70LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UHJvZHVjdExlbmd0aE11bHRpcGxpY2l0eShwcm9kdWN0OiBTY1Byb2R1Y3QpOiBudW1iZXIge1xuICAgICAgICBpZiAocHJvZHVjdC5wcm9wZXJ0aWVzPy5sZW5ndGhTdGVwKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvZHVjdC5wcm9wZXJ0aWVzLmxlbmd0aFN0ZXA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gIXByb2R1Y3QucHJvcGVydGllcz8uaWdub3JlTWluQ291bnRDaGVjayAmJiBwcm9kdWN0Lm1pbkNvdW50ID8gcHJvZHVjdC5taW5Db3VudCA6IDAuMDE7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './sc-delivery-cost';
2
2
  export * from './sc-order-base';
3
3
  export * from './sc-order-draft';
4
+ export * from './sc-order-draft-actualization';
4
5
  export * from './sc-order-draft-short';
5
6
  export * from './sc-order-delivery';
6
7
  export * from './sc-order-history-user';
@@ -8,5 +9,6 @@ export * from './sc-i-order-history';
8
9
  export * from './sc-order-item';
9
10
  export * from './sc-order-payment';
10
11
  export * from './sc-order-short';
12
+ export * from './sc-profstroy-order-item';
11
13
  export * from './sc-order';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtZGVsaXZlcnktY29zdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1kcmFmdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyLWRyYWZ0LXNob3J0JztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItZGVsaXZlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1oaXN0b3J5LXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLW9yZGVyLWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItcGF5bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyLXNob3J0JztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXInO1xuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWRlbGl2ZXJ5LWNvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItZHJhZnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1kcmFmdC1hY3R1YWxpemF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItZHJhZnQtc2hvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1kZWxpdmVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyLWhpc3RvcnktdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktb3JkZXItaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci1wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtb3JkZXItc2hvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1wcm9mc3Ryb3ktb3JkZXItaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLW9yZGVyJztcbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { ScDateHelper } from '../../helpers/sc-date-helper';
2
+ import { ScOrderDraftActualizationStatus } from '../enums/sc-order-draft-actualization-status';
3
+ /**
4
+ * Данные об актуализации черновика Профстрой.
5
+ */
6
+ export class ScOrderDraftActualization {
7
+ /**
8
+ * Инициализирует экземпляр класса {@link ScOrderDraftActualization}.
9
+ *
10
+ * @param data Данные от API или готовый экземпляр актуализации.
11
+ * @param apiDateFormat Формат дат в данных API.
12
+ */
13
+ constructor(data, apiDateFormat) {
14
+ this.status = data?.status ?? ScOrderDraftActualizationStatus.processing;
15
+ this.actualizedAt = ScDateHelper.parse(data?.actualizedAt, apiDateFormat);
16
+ this.expiresAt = ScDateHelper.parse(data?.expiresAt, apiDateFormat);
17
+ this.error = data?.error ?? undefined;
18
+ }
19
+ /**
20
+ * Признак, что выполняется обработка.
21
+ */
22
+ get isProcessing() {
23
+ return this.status === ScOrderDraftActualizationStatus.processing;
24
+ }
25
+ /**
26
+ * Возвращает признак, что данные актуализации устарели на указанный момент: актуализация не завершена успешно или истёк срок её действия.
27
+ * Момент, равный сроку действия, ещё допустим. Если срок не известен, данные считаются актуальными.
28
+ *
29
+ * @param now Момент проверки.
30
+ */
31
+ isOutdatedAt(now) {
32
+ if (this.status !== ScOrderDraftActualizationStatus.completed || !this.actualizedAt) {
33
+ return true;
34
+ }
35
+ return this.expiresAt !== undefined && this.expiresAt.getTime() < now.getTime();
36
+ }
37
+ /**
38
+ * Возвращает признак, что на указанный момент из черновика можно оформить заказ.
39
+ *
40
+ * @param now Момент проверки.
41
+ */
42
+ isOrderAllowedAt(now) {
43
+ return this.status === ScOrderDraftActualizationStatus.completed && !this.isOutdatedAt(now);
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1kcmFmdC1hY3R1YWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUcvRjs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFxQmxDOzs7OztPQUtHO0lBQ0gsWUFBbUIsSUFBK0UsRUFBRSxhQUFxQjtRQUNySCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxNQUFNLElBQUksK0JBQStCLENBQUMsVUFBVSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssSUFBSSxTQUFTLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSywrQkFBK0IsQ0FBQyxVQUFVLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLEdBQVM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLCtCQUErQixDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLEdBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLCtCQUErQixDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycy9zYy1kYXRlLWhlbHBlcic7XG5pbXBvcnQgeyBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvc2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbi1zdGF0dXMnO1xuaW1wb3J0IHsgU2NJT3JkZXJEcmFmdEFjdHVhbGl6YXRpb24gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWRyYWZ0LWFjdHVhbGl6YXRpb24nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQvtCxINCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuCDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB7XG4gICAgLyoqXG4gICAgICog0KHRgtCw0YLRg9GBINCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdHVzOiBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzO1xuXG4gICAgLyoqXG4gICAgICog0JTQsNGC0LAg0Lgg0LLRgNC10LzRjyDQv9C+0YHQu9C10LTQvdC10Lkg0YPRgdC/0LXRiNC90L7QuSDQsNC60YLRg9Cw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGFjdHVhbGl6ZWRBdD86IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPLCDQtNC+INC60L7RgtC+0YDRi9GFINC00LDQvdC90YvQtSDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0YHRh9C40YLQsNGO0YLRgdGPINCw0LrRgtGD0LDQu9GM0L3Ri9C80LguXG4gICAgICovXG4gICAgcHVibGljIGV4cGlyZXNBdD86IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiDQotC10LrRgdGCINC+0YjQuNCx0LrQuCDQv9C+0YHQu9C10LTQvdC10Lkg0L7QsdGA0LDQsdC+0YLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBlcnJvcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbn0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0L7RgiBBUEkg0LjQu9C4INCz0L7RgtC+0LLRi9C5INGN0LrQt9C10LzQv9C70Y/RgCDQsNC60YLRg9Cw0LvQuNC30LDRhtC40LguXG4gICAgICogQHBhcmFtIGFwaURhdGVGb3JtYXQg0KTQvtGA0LzQsNGCINC00LDRgiDQsiDQtNCw0L3QvdGL0YUgQVBJLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBTY0lPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB8IFNjT3JkZXJEcmFmdEFjdHVhbGl6YXRpb24gfCBudWxsIHwgdW5kZWZpbmVkLCBhcGlEYXRlRm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBkYXRhPy5zdGF0dXMgPz8gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5wcm9jZXNzaW5nO1xuICAgICAgICB0aGlzLmFjdHVhbGl6ZWRBdCA9IFNjRGF0ZUhlbHBlci5wYXJzZShkYXRhPy5hY3R1YWxpemVkQXQsIGFwaURhdGVGb3JtYXQpO1xuICAgICAgICB0aGlzLmV4cGlyZXNBdCA9IFNjRGF0ZUhlbHBlci5wYXJzZShkYXRhPy5leHBpcmVzQXQsIGFwaURhdGVGb3JtYXQpO1xuICAgICAgICB0aGlzLmVycm9yID0gZGF0YT8uZXJyb3IgPz8gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQvtCx0YDQsNCx0L7RgtC60LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpc1Byb2Nlc3NpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5wcm9jZXNzaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC30L3QsNC6LCDRh9GC0L4g0LTQsNC90L3Ri9C1INCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuCDRg9GB0YLQsNGA0LXQu9C4INC90LAg0YPQutCw0LfQsNC90L3Ri9C5INC80L7QvNC10L3Rgjog0LDQutGC0YPQsNC70LjQt9Cw0YbQuNGPINC90LUg0LfQsNCy0LXRgNGI0LXQvdCwINGD0YHQv9C10YjQvdC+INC40LvQuCDQuNGB0YLRkdC6INGB0YDQvtC6INC10ZEg0LTQtdC50YHRgtCy0LjRjy5cbiAgICAgKiDQnNC+0LzQtdC90YIsINGA0LDQstC90YvQuSDRgdGA0L7QutGDINC00LXQudGB0YLQstC40Y8sINC10YnRkSDQtNC+0L/Rg9GB0YLQuNC8LiDQldGB0LvQuCDRgdGA0L7QuiDQvdC1INC40LfQstC10YHRgtC10L0sINC00LDQvdC90YvQtSDRgdGH0LjRgtCw0Y7RgtGB0Y8g0LDQutGC0YPQsNC70YzQvdGL0LzQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3cg0JzQvtC80LXQvdGCINC/0YDQvtCy0LXRgNC60LguXG4gICAgICovXG4gICAgcHVibGljIGlzT3V0ZGF0ZWRBdChub3c6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdHVzICE9PSBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzLmNvbXBsZXRlZCB8fCAhdGhpcy5hY3R1YWxpemVkQXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwaXJlc0F0ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5leHBpcmVzQXQuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LAg0YPQutCw0LfQsNC90L3Ri9C5INC80L7QvNC10L3RgiDQuNC3INGH0LXRgNC90L7QstC40LrQsCDQvNC+0LbQvdC+INC+0YTQvtGA0LzQuNGC0Ywg0LfQsNC60LDQty5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3cg0JzQvtC80LXQvdGCINC/0YDQvtCy0LXRgNC60LguXG4gICAgICovXG4gICAgcHVibGljIGlzT3JkZXJBbGxvd2VkQXQobm93OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5jb21wbGV0ZWQgJiYgIXRoaXMuaXNPdXRkYXRlZEF0KG5vdyk7XG4gICAgfVxufVxuIl19