@snabcentr/client-core 2.45.0 → 2.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/config/index.d.ts +1 -0
  2. package/config/sc-i-api-keys.d.ts +5 -1
  3. package/config/sc-i-feedback-api.d.ts +17 -0
  4. package/contacts/dto/sc-i-feedback-message.d.ts +5 -0
  5. package/contacts/enums/index.d.ts +1 -0
  6. package/contacts/enums/sc-feedback-forms.d.ts +29 -0
  7. package/contacts/services/sc-feedback.service.d.ts +11 -6
  8. package/esm2022/cart/services/sc-cart.service.mjs +4 -1
  9. package/esm2022/config/index.mjs +2 -1
  10. package/esm2022/config/sc-i-api-keys.mjs +1 -1
  11. package/esm2022/config/sc-i-feedback-api.mjs +2 -0
  12. package/esm2022/contacts/dto/sc-i-feedback-message.mjs +1 -1
  13. package/esm2022/contacts/enums/index.mjs +2 -1
  14. package/esm2022/contacts/enums/sc-feedback-forms.mjs +2 -0
  15. package/esm2022/contacts/services/sc-feedback.service.mjs +31 -11
  16. package/esm2022/providers/virtual-category.providers.mjs +5 -10
  17. package/esm2022/references/dto/sc-i-references-types.mjs +1 -1
  18. package/esm2022/references/enums/index.mjs +1 -2
  19. package/esm2022/references/enums/sc-reference-name.mjs +1 -5
  20. package/esm2022/references/services/sc-references.service.mjs +1 -5
  21. package/esm2022/tokens/index.mjs +2 -1
  22. package/esm2022/tokens/sc-feedback-api.mjs +6 -0
  23. package/fesm2022/snabcentr-client-core.mjs +38 -49
  24. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/references/dto/sc-i-references-types.d.ts +1 -1
  27. package/references/enums/index.d.ts +0 -1
  28. package/references/enums/sc-reference-name.d.ts +1 -5
  29. package/references/services/sc-references.service.d.ts +0 -5
  30. package/release_notes.tmp +7 -3
  31. package/tokens/index.d.ts +1 -0
  32. package/tokens/sc-feedback-api.d.ts +6 -0
  33. package/esm2022/references/enums/sc-feedback-form.mjs +0 -25
  34. package/references/enums/sc-feedback-form.d.ts +0 -22
@@ -44,10 +44,6 @@ export class ScReferencesService {
44
44
  * Список статусов рекламаций.
45
45
  */
46
46
  this.reclamationStatuses$ = this.getReference$(ScReferenceName.reclamationStatus);
47
- /**
48
- * Список форм обратной связи.
49
- */
50
- this.feedbackForms$ = this.getReference$(ScReferenceName.feedbackForm);
51
47
  /**
52
48
  * Список организационно-правовых форм..
53
49
  */
@@ -197,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
197
193
  type: Inject,
198
194
  args: [SC_URLS]
199
195
  }] }, { type: i2.ScAuthService }, { type: i3.ScConvertersService }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9yZWZlcmVuY2VzL3NlcnZpY2VzL3NjLXJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBTzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFFN0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBeUU1Qjs7Ozs7OztPQU9HO0lBQ0gsWUFDcUIsSUFBZ0IsRUFDQyxJQUFhLEVBQzlCLFdBQTBCLEVBQzFCLGlCQUFzQztRQUh0QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0MsU0FBSSxHQUFKLElBQUksQ0FBUztRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBcEYzRDs7V0FFRztRQUNJLGdCQUFXLEdBQW9DLElBQUksQ0FBQyxhQUFhLENBQXNCLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5SDs7V0FFRztRQUNJLG1CQUFjLEdBQWlGLElBQUksQ0FBQyxhQUFhLENBRXRILGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQzs7V0FFRztRQUNJLG1CQUFjLEdBQXlGLElBQUksQ0FBQyxhQUFhLENBRTlILGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQjs7V0FFRztRQUNJLHFCQUFnQixHQUFtRixJQUFJ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LENBQUM7K0dBbk5RLG1CQUFtQiw0Q0FtRmhCLE9BQU87bUhBbkZWLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFvRlEsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXJ2aWNlcy9zYy1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTY0NvbnZlcnRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udmVydGVycyc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5VHlwZSB9IGZyb20gJy4uLy4uL29yZGVyL2VudW1zL3NjLWRlbGl2ZXJ5LXR5cGUnO1xuaW1wb3J0IHsgU2NQYXltZW50VHlwZSB9IGZyb20gJy4uLy4uL29yZGVyL2VudW1zL3NjLXBheW1lbnQtdHlwZSc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLXVybHMnO1xuaW1wb3J0IHsgU2NDbGllbnRUeXBlIH0gZnJvbSAnLi4vLi4vdXNlcic7XG5pbXBvcnQgeyBTY0lDdXJyZW5jeSwgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiB9IGZyb20gJy4uL2R0byc7XG5pbXBvcnQgeyBTY0ZlZWRiYWNrRm9ybSB9IGZyb20gJy4uL2VudW1zL3NjLWZlZWRiYWNrLWZvcm0nO1xuaW1wb3J0IHsgU2NPcGZMaXN0IH0gZnJvbSAnLi4vZW51bXMvc2Mtb3BmLWxpc3QnO1xuaW1wb3J0IHsgU2NPcmRlclN0YXRlU3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvc2Mtb3JkZXItc3RhdGUtc3RhdHVzJztcbmltcG9ydCB7IFNjUGF5bWVudFN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3NjLXBheW1lbnQtc3RhdHVzJztcbmltcG9ydCB7IFNjUmVjbGFtYXRpb25TdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9zYy1yZWNsYW1hdGlvbi1zdGF0dXMnO1xuaW1wb3J0IHsgU2NSZWZlcmVuY2VOYW1lIH0gZnJvbSAnLi4vZW51bXMvc2MtcmVmZXJlbmNlLW5hbWUnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDRgdC/0YDQsNCy0L7Rh9C90LjQutC+0LIuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjUmVmZXJlbmNlc1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQvdCw0L/RgNCw0LLQu9C10L3QuNC5INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlyZWN0aW9ucyQ6IE9ic2VydmFibGU8U2NJU2FsZXNEaXJlY3Rpb25bXT4gPSB0aGlzLmdldFJlZmVyZW5jZSQ8U2NJU2FsZXNEaXJlY3Rpb25bXT4oU2NSZWZlcmVuY2VOYW1lLnNhbGVzRGlyZWN0aW9uKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgtC40L/QvtCyINC00L7RgdGC0LDQstC60Lgg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxpdmVyeVR5cGVzJDogT2JzZXJ2YWJsZTxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NEZWxpdmVyeVR5cGUsIHR5cGVvZiBTY0RlbGl2ZXJ5VHlwZT4+PiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxcbiAgICAgICAgQXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjRGVsaXZlcnlUeXBlLCB0eXBlb2YgU2NEZWxpdmVyeVR5cGU+PlxuICAgID4oU2NSZWZlcmVuY2VOYW1lLmRlbGl2ZXJ5VHlwZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0YHRgtCw0YLRg9GB0L7QsiDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIG9yZGVyU3RhdHVzZXMkOiBPYnNlcnZhYmxlPEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY09yZGVyU3RhdGVTdGF0dXMsIHR5cGVvZiBTY09yZGVyU3RhdGVTdGF0dXM+Pj4gPSB0aGlzLmdldFJlZmVyZW5jZSQ8XG4gICAgICAgIEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY09yZGVyU3RhdGVTdGF0dXMsIHR5cGVvZiBTY09yZGVyU3RhdGVTdGF0dXM+PlxuICAgID4oU2NSZWZlcmVuY2VOYW1lLm9yZGVyU3RhdHVzKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGC0LDRgtGD0YHQvtCyINC+0L/Qu9Cw0YLRiyDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIHBheW1lbnRTdGF0dXNlcyQ6IE9ic2VydmFibGU8QXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjUGF5bWVudFN0YXR1cywgdHlwZW9mIFNjUGF5bWVudFN0YXR1cz4+PiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxcbiAgICAgICAgQXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjUGF5bWVudFN0YXR1cywgdHlwZW9mIFNjUGF5bWVudFN0YXR1cz4+XG4gICAgPihTY1JlZmVyZW5jZU5hbWUub3JkZXJQYXltZW50U3RhdHVzKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGC0LDRgtGD0YHQvtCyINGA0LXQutC70LDQvNCw0YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWNsYW1hdGlvblN0YXR1c2VzJDogT2JzZXJ2YWJsZTxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NSZWNsYW1hdGlvblN0YXR1cywgdHlwZW9mIFNjUmVjbGFtYXRpb25TdGF0dXM+Pj4gPSB0aGlzLmdldFJlZmVyZW5jZSQ8XG4gICAgICAgIEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY1JlY2xhbWF0aW9uU3RhdHVzLCB0eXBlb2YgU2NSZWNsYW1hdGlvblN0YXR1cz4+XG4gICAgPihTY1JlZmVyZW5jZU5hbWUucmVjbGFtYXRpb25TdGF0dXMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGE0L7RgNC8INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmVlZGJhY2tGb3JtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjRmVlZGJhY2tGb3JtLCB0eXBlb2YgU2NGZWVkYmFja0Zvcm0+Pj4gPSB0aGlzLmdldFJlZmVyZW5jZSQ8XG4gICAgICAgIEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY0ZlZWRiYWNrRm9ybSwgdHlwZW9mIFNjRmVlZGJhY2tGb3JtPj5cbiAgICA+KFNjUmVmZXJlbmNlTmFtZS5mZWVkYmFja0Zvcm0pO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC+0YDQs9Cw0L3QuNC30LDRhtC40L7QvdC90L4t0L/RgNCw0LLQvtCy0YvRhSDRhNC+0YDQvC4uXG4gICAgICovXG4gICAgcHVibGljIG9wZiQ6IE9ic2VydmFibGU8QXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjT3BmTGlzdCwgdHlwZW9mIFNjT3BmTGlzdD4+PiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NPcGZMaXN0LCB0eXBlb2YgU2NPcGZMaXN0Pj4+KFxuICAgICAgICBTY1JlZmVyZW5jZU5hbWUub3BmXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGC0LDRgtGD0YHQvtCyINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3VycmVuY2llcyQ6IE9ic2VydmFibGU8U2NJQ3VycmVuY3lbXT4gPSB0aGlzLmdldFJlZmVyZW5jZSQ8U2NJQ3VycmVuY3lbXT4oU2NSZWZlcmVuY2VOYW1lLmN1cnJlbmN5KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgtC40L/QvtCyINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQl9Cw0LzQtdC90LjRgtGMINC90LAg0YHQv9GA0LDQstC+0YfQvdC40LrQuCDQuNC3IEFQSS4g0J3QsNC/0LjRgdCw0YLRjCDRgtC10YHRgtGLINC/0L7RgdC70LUg0LTQvtGA0LDQsdC+0YLQutC4INGB0L/RgNCw0LLQvtGH0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBjbGllbnRUeXBlcyQ6IE9ic2VydmFibGU8YW55W10+ID0gb2YoW1xuICAgICAgICB7IG5hbWU6IFNjQ2xpZW50VHlwZS5wZXJzb24sIGRlc2NyaXB0aW9uOiAn0KTQuNC30LjRh9C10YHQutC+0LUg0LvQuNGG0L4nIH0sXG4gICAgICAgIHsgbmFtZTogU2NDbGllbnRUeXBlLm9yZywgZGVzY3JpcHRpb246ICfQrtGA0LjQtNC40YfQtdGB0LrQvtC1INC70LjRhtC+JyB9LFxuICAgICAgICB7IG5hbWU6IFNjQ2xpZW50VHlwZS5pYywgZGVzY3JpcHRpb246ICfQmNC90LTQuNCy0LjQtNGD0LDQu9GM0L3Ri9C5INC/0YDQtdC00L/RgNC40L3QuNC80LDRgtC10LvRjCcgfSxcbiAgICBdKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgtC40L/QvtCyINC+0L/Qu9Cw0YLRiyDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIHBheW1lbnRUeXBlcyQ6IE9ic2VydmFibGU8QXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjUGF5bWVudFR5cGUsIHR5cGVvZiBTY1BheW1lbnRUeXBlPj4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0UmVmZXJlbmNlJDxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50VHlwZSwgdHlwZW9mIFNjUGF5bWVudFR5cGU+Pj4oU2NSZWZlcmVuY2VOYW1lLnBheW1lbnRUeXBlKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NSZWZlcmVuY2VzU2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHR0cCBIVFRQLdC60LvQuNC10L3Rgi5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gY29udmVydGVyc1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJ0ZXJzU2VydmljZTogU2NDb252ZXJ0ZXJzU2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDQvdC90YvQtSDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZU5hbWUg0J3QsNC30LLQsNC90LjQtSDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0LfQsNC/0YDQvtGB0LAuXG4gICAgICogQHBhcmFtIHBhcmFtcy5jb3VudHJ5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHRgtGA0LDQvdGLLlxuICAgICAqIEBwYXJhbSBwYXJhbXMucmVnaW9uSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YDQtdCz0LjQvtC90LAg0LIg0YHRgtGA0LDQvdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSZWZlcmVuY2UkPFQ+KHJlZmVyZW5jZU5hbWU6IFNjUmVmZXJlbmNlTmFtZSwgcGFyYW1zPzogeyBjb3VudHJ5SWQ/OiBudW1iZXI7IHJlZ2lvbklkPzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxUPihgJHt0aGlzLnVybHMuYXBpVXJsfS9yZWZlcmVuY2VzLyR7cmVmZXJlbmNlTmFtZX1gLCB7IHBhcmFtczogdGhpcy5jb252ZXJ0ZXJzU2VydmljZS50b0h0dHBQYXJhbXMoeyBwYXJhbXM6IHBhcmFtcyB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pIH0pXG4gICAgICAgICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAg0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZU5hbWUg0J3QsNC30LLQsNC90LjQtSDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLlxuICAgICAqIEBwYXJhbSB0ZXJtINCf0L7QuNGB0LrQvtCy0YvQuSDQt9Cw0L/RgNC+0YEuXG4gICAgICogQHBhcmFtIHBhcmFtcyDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKiBAcGFyYW0gcGFyYW1zLmNvdW50cnlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdGC0YDQsNC90YsuXG4gICAgICogQHBhcmFtIHBhcmFtcy5yZWdpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgNC10LPQuNC+0L3QsCDQsiDRgdGC0YDQsNC90LUuXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZmVyZW5jZUJ5VGVybSQ8VD4ocmVmZXJlbmNlTmFtZTogU2NSZWZlcmVuY2VOYW1lLCB0ZXJtOiBzdHJpbmcsIHBhcmFtcz86IHsgY291bnRyeUlkPzogbnVtYmVyOyByZWdpb25JZD86IG51bWJlciB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8VD4oYCR7dGhpcy51cmxzLmFwaVVybH0vcmVmZXJlbmNlcy8ke3JlZmVyZW5jZU5hbWV9L3NlYXJjaGAsIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKHsgdGVybTogdGVybSwgcGFyYW1zOiBwYXJhbXMgfSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAg0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZU5hbWUg0J3QsNC30LLQsNC90LjQtSDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLlxuICAgICAqIEBwYXJhbSBpZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0Lgg0YHQv9GA0LDQstC+0YfQvdC40LrQsCwg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LrQvtGC0L7RgNC+0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0LLQtdGA0L3Rg9GC0YwuXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZmVyZW5jZUJ5SWQkPFQ+KHJlZmVyZW5jZU5hbWU6IFNjUmVmZXJlbmNlTmFtZSwgaWQ6IG51bWJlcik6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPihgJHt0aGlzLnVybHMuYXBpVXJsfS9yZWZlcmVuY2VzLyR7cmVmZXJlbmNlTmFtZX0vJHtpZH1gKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L3QsNC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNCw0LYsINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGlyZWN0aW9uQnlJZCQoZGlyZWN0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NJU2FsZXNEaXJlY3Rpb24gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9ucyQucGlwZShtYXAoKGRpcmVjdGlvbnMpID0+IGRpcmVjdGlvbnMuZmluZCgoZGlyZWN0aW9uKSA9PiBkaXJlY3Rpb24uaWQgPT09IGRpcmVjdGlvbklkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgtC40L/QsCDQutC70LjQtdC90YLQsCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INGB0LjQvNCy0L7Qu9GM0L3QvtC80YMg0L7QsdC+0LfQvdCw0YfQtdC90LjRjiAoc2x1Zykg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqIFRPRE86INCd0LDQv9C40YHQsNGC0Ywg0YLQtdGB0YLRiyDQv9C+0YHQu9C1INC00L7RgNCw0LHQvtGC0LrQuCDRgdC/0YDQsNCy0L7Rh9C90LjQutC+0LIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2x1ZyDQodC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKSDRgtC40L/QsCDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBnZXRDbGllbnRUeXBlc0J5U2x1ZyQoc2x1Zzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50VHlwZXMkLnBpcGUobWFwKCh0eXBlcykgPT4gdHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5uYW1lID09PSBzbHVnKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdGC0LDRgtGD0YEg0L7Qv9C70LDRgtGLLCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgyDQvdCwINCy0YXQvtC00LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0YLQsNGC0YPRgdCwINC+0L/Qu9Cw0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGF5bWVudFN0YXR1c0J5SWQkKHR5cGVJZDogU2NQYXltZW50U3RhdHVzKTogT2JzZXJ2YWJsZTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50U3RhdHVzLCB0eXBlb2YgU2NQYXltZW50U3RhdHVzPiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXltZW50U3RhdHVzZXMkLnBpcGUobWFwKCh0eXBlcykgPT4gdHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5pZCA9PT0gdHlwZUlkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgtC40L8g0LTQvtGB0YLQsNCy0LrQuCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGVJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC40L/QsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZWxpdmVyeVR5cGVCeUlkJCh0eXBlSWQ6IFNjRGVsaXZlcnlUeXBlKTogT2JzZXJ2YWJsZTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NEZWxpdmVyeVR5cGUsIHR5cGVvZiBTY0RlbGl2ZXJ5VHlwZT4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsaXZlcnlUeXBlcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLmlkID09PSB0eXBlSWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGC0LjQvyDRgdGC0LDRgtGD0YHQsCDQt9Cw0LrQsNC30LAsINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGF0dXNJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC40L/QsCDRgdGC0LDRgtGD0YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JkZXJTdGF0dXNCeUlkJChzdGF0dXNJZDogU2NPcmRlclN0YXRlU3RhdHVzKTogT2JzZXJ2YWJsZTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NPcmRlclN0YXRlU3RhdHVzLCB0eXBlb2YgU2NPcmRlclN0YXRlU3RhdHVzPiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlclN0YXR1c2VzJC5waXBlKG1hcCgodHlwZXMpID0+IHR5cGVzLmZpbmQoKHR5cGUpID0+IHR5cGUuaWQgPT09IHN0YXR1c0lkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgtC40L/QsCDRgdGC0LDRgtGD0YHQsCDRgNC10LrQu9Cw0LzQsNGG0LjQuSwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INGD0LrQsNC30LDQvdC90L7QvNGDINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhdHVzSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQuNC/0LAg0YHRgtCw0YLRg9GB0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldFJlY2xhbWF0aW9uU3RhdHVzQnlJZCQoc3RhdHVzSWQ6IFNjUmVjbGFtYXRpb25TdGF0dXMpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY1JlY2xhbWF0aW9uU3RhdHVzLCB0eXBlb2YgU2NSZWNsYW1hdGlvblN0YXR1cz4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjbGFtYXRpb25TdGF0dXNlcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLmlkID09PSBzdGF0dXNJZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YLQuNC/INC+0L/Qu9Cw0YLRiywg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGVJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC40L/QsCDQvtC/0LvQsNGC0YsuXG4gICAgICovXG4gICAgcHVibGljIGdldFBheW1lbnRUeXBlQnlJZCQodHlwZUlkOiBTY1BheW1lbnRUeXBlKTogT2JzZXJ2YWJsZTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50VHlwZSwgdHlwZW9mIFNjUGF5bWVudFR5cGU+IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBheW1lbnRUeXBlcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLmlkID09PSB0eXBlSWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC+0YDQs9Cw0L3QuNC30LDRhtC40L7QvdC90L4t0L/RgNCw0LLQvtCy0L7QuSDRhNC+0YDQvNGLLCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0YHQuNC80LLQvtC70YzQvdC+0LzRgyDQvtCx0L7Qt9C90LDRh9C10L3QuNGOIChzbHVnKSDQvdCwINCy0YXQvtC00LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2x1ZyDQodC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3BmQnlTbHVnJChzbHVnOiBrZXlvZiB0eXBlb2YgU2NPcGZMaXN0KTogT2JzZXJ2YWJsZTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NPcGZMaXN0LCB0eXBlb2YgU2NPcGZMaXN0PiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGYkLnBpcGUobWFwKCh0eXBlcykgPT4gdHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5zbHVnID09PSBzbHVnKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQstCw0LvRjtGC0YssINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjdXJyZW5jeUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LDQu9GO0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVuY3lCeUlkJChjdXJyZW5jeUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUN1cnJlbmN5IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbmNpZXMkLnBpcGUobWFwKCh0eXBlcykgPT4gdHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5pZCA9PT0gY3VycmVuY3lJZCkpKTtcbiAgICB9XG59XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9yZWZlcmVuY2VzL3NlcnZpY2VzL3NjLXJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBTTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFFN0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBa0U1Qjs7Ozs7OztPQU9HO0lBQ0gsWUFDcUIsSUFBZ0IsRUFDQyxJQUFhLEVBQzlCLFdBQTBCLEVBQzFCLGlCQUFzQztRQUh0QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0MsU0FBSSxHQUFKLElBQUksQ0FBUztRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBN0UzRDs7V0FFRztRQUNJLGdCQUFXLEdBQW9DLElBQUksQ0FBQyxhQUFhLENBQXNCLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5SDs7V0FFRztRQUNJLG1CQUFjLEdBQWlGLElBQUksQ0FBQyxhQUFhLENBRXRILGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQzs7V0FFRztRQUNJLG1CQUFjLEdBQXlGLElBQUksQ0FBQyxhQUFhLENBRTlILGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQjs7V0FFRztRQUNJLHFCQUFnQixHQUFtRixJQUFJ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SC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkE2RVEsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXJ2aWNlcy9zYy1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTY0NvbnZlcnRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udmVydGVycyc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5VHlwZSB9IGZyb20gJy4uLy4uL29yZGVyL2VudW1zL3NjLWRlbGl2ZXJ5LXR5cGUnO1xuaW1wb3J0IHsgU2NQYXltZW50VHlwZSB9IGZyb20gJy4uLy4uL29yZGVyL2VudW1zL3NjLXBheW1lbnQtdHlwZSc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLXVybHMnO1xuaW1wb3J0IHsgU2NDbGllbnRUeXBlIH0gZnJvbSAnLi4vLi4vdXNlcic7XG5pbXBvcnQgeyBTY0lDdXJyZW5jeSwgU2NJUmVmZXJlbmNlc1R5cGVzLCBTY0lTYWxlc0RpcmVjdGlvbiB9IGZyb20gJy4uL2R0byc7XG5pbXBvcnQgeyBTY09wZkxpc3QgfSBmcm9tICcuLi9lbnVtcy9zYy1vcGYtbGlzdCc7XG5pbXBvcnQgeyBTY09yZGVyU3RhdGVTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9zYy1vcmRlci1zdGF0ZS1zdGF0dXMnO1xuaW1wb3J0IHsgU2NQYXltZW50U3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvc2MtcGF5bWVudC1zdGF0dXMnO1xuaW1wb3J0IHsgU2NSZWNsYW1hdGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3NjLXJlY2xhbWF0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBTY1JlZmVyZW5jZU5hbWUgfSBmcm9tICcuLi9lbnVtcy9zYy1yZWZlcmVuY2UtbmFtZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGB0L/RgNCw0LLQvtGH0L3QuNC60L7Qsi5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NSZWZlcmVuY2VzU2VydmljZSB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC90LDQv9GA0LDQstC70LXQvdC40Lkg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHB1YmxpYyBkaXJlY3Rpb25zJDogT2JzZXJ2YWJsZTxTY0lTYWxlc0RpcmVjdGlvbltdPiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxTY0lTYWxlc0RpcmVjdGlvbltdPihTY1JlZmVyZW5jZU5hbWUuc2FsZXNEaXJlY3Rpb24pO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LTQvtGB0YLQsNCy0LrQuCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGRlbGl2ZXJ5VHlwZXMkOiBPYnNlcnZhYmxlPEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY0RlbGl2ZXJ5VHlwZSwgdHlwZW9mIFNjRGVsaXZlcnlUeXBlPj4+ID0gdGhpcy5nZXRSZWZlcmVuY2UkPFxuICAgICAgICBBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NEZWxpdmVyeVR5cGUsIHR5cGVvZiBTY0RlbGl2ZXJ5VHlwZT4+XG4gICAgPihTY1JlZmVyZW5jZU5hbWUuZGVsaXZlcnlUeXBlKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGC0LDRgtGD0YHQvtCyINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3JkZXJTdGF0dXNlcyQ6IE9ic2VydmFibGU8QXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjT3JkZXJTdGF0ZVN0YXR1cywgdHlwZW9mIFNjT3JkZXJTdGF0ZVN0YXR1cz4+PiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxcbiAgICAgICAgQXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjT3JkZXJTdGF0ZVN0YXR1cywgdHlwZW9mIFNjT3JkZXJTdGF0ZVN0YXR1cz4+XG4gICAgPihTY1JlZmVyZW5jZU5hbWUub3JkZXJTdGF0dXMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YLQsNGC0YPRgdC+0LIg0L7Qv9C70LDRgtGLINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGF5bWVudFN0YXR1c2VzJDogT2JzZXJ2YWJsZTxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50U3RhdHVzLCB0eXBlb2YgU2NQYXltZW50U3RhdHVzPj4+ID0gdGhpcy5nZXRSZWZlcmVuY2UkPFxuICAgICAgICBBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50U3RhdHVzLCB0eXBlb2YgU2NQYXltZW50U3RhdHVzPj5cbiAgICA+KFNjUmVmZXJlbmNlTmFtZS5vcmRlclBheW1lbnRTdGF0dXMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YLQsNGC0YPRgdC+0LIg0YDQtdC60LvQsNC80LDRhtC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlY2xhbWF0aW9uU3RhdHVzZXMkOiBPYnNlcnZhYmxlPEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY1JlY2xhbWF0aW9uU3RhdHVzLCB0eXBlb2YgU2NSZWNsYW1hdGlvblN0YXR1cz4+PiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxcbiAgICAgICAgQXJyYXk8U2NJUmVmZXJlbmNlc1R5cGVzPFNjUmVjbGFtYXRpb25TdGF0dXMsIHR5cGVvZiBTY1JlY2xhbWF0aW9uU3RhdHVzPj5cbiAgICA+KFNjUmVmZXJlbmNlTmFtZS5yZWNsYW1hdGlvblN0YXR1cyk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0L7RgNCz0LDQvdC40LfQsNGG0LjQvtC90L3Qvi3Qv9GA0LDQstC+0LLRi9GFINGE0L7RgNC8Li5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BmJDogT2JzZXJ2YWJsZTxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NPcGZMaXN0LCB0eXBlb2YgU2NPcGZMaXN0Pj4+ID0gdGhpcy5nZXRSZWZlcmVuY2UkPEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY09wZkxpc3QsIHR5cGVvZiBTY09wZkxpc3Q+Pj4oXG4gICAgICAgIFNjUmVmZXJlbmNlTmFtZS5vcGZcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YLQsNGC0YPRgdC+0LIg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjdXJyZW5jaWVzJDogT2JzZXJ2YWJsZTxTY0lDdXJyZW5jeVtdPiA9IHRoaXMuZ2V0UmVmZXJlbmNlJDxTY0lDdXJyZW5jeVtdPihTY1JlZmVyZW5jZU5hbWUuY3VycmVuY3kpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIFRPRE86INCX0LDQvNC10L3QuNGC0Ywg0L3QsCDRgdC/0YDQsNCy0L7Rh9C90LjQutC4INC40LcgQVBJLiDQndCw0L/QuNGB0LDRgtGMINGC0LXRgdGC0Ysg0L/QvtGB0LvQtSDQtNC+0YDQsNCx0L7RgtC60Lgg0YHQv9GA0LDQstC+0YfQvdC40LrQvtCyLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGNsaWVudFR5cGVzJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSBvZihbXG4gICAgICAgIHsgbmFtZTogU2NDbGllbnRUeXBlLnBlcnNvbiwgZGVzY3JpcHRpb246ICfQpNC40LfQuNGH0LXRgdC60L7QtSDQu9C40YbQvicgfSxcbiAgICAgICAgeyBuYW1lOiBTY0NsaWVudFR5cGUub3JnLCBkZXNjcmlwdGlvbjogJ9Cu0YDQuNC00LjRh9C10YHQutC+0LUg0LvQuNGG0L4nIH0sXG4gICAgICAgIHsgbmFtZTogU2NDbGllbnRUeXBlLmljLCBkZXNjcmlwdGlvbjogJ9CY0L3QtNC40LLQuNC00YPQsNC70YzQvdGL0Lkg0L/RgNC10LTQv9GA0LjQvdC40LzQsNGC0LXQu9GMJyB9LFxuICAgIF0pO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGC0LjQv9C+0LIg0L7Qv9C70LDRgtGLINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGF5bWVudFR5cGVzJDogT2JzZXJ2YWJsZTxBcnJheTxTY0lSZWZlcmVuY2VzVHlwZXM8U2NQYXltZW50VHlwZSwgdHlwZW9mIFNjUGF5bWVudFR5cGU+Pj4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhDaGFuZ2UoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRSZWZlcmVuY2UkPEFycmF5PFNjSVJlZmVyZW5jZXNUeXBlczxTY1BheW1lbnRUeXBlLCB0eXBlb2YgU2NQYXltZW50VHlwZT4+PihTY1JlZmVyZW5jZU5hbWUucGF5bWVudFR5cGUpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1JlZmVyZW5jZXNTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodHRwIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqIEBwYXJhbSBjb252ZXJ0ZXJzU2VydmljZSDQodC10YDQstC40YEg0LrQvtC90LLQtdGA0YLQsNGG0LjQuCDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBTY0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVmZXJlbmNlTmFtZSDQndCw0LfQstCw0L3QuNC1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAuXG4gICAgICogQHBhcmFtIHBhcmFtcyDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKiBAcGFyYW0gcGFyYW1zLmNvdW50cnlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdGC0YDQsNC90YsuXG4gICAgICogQHBhcmFtIHBhcmFtcy5yZWdpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgNC10LPQuNC+0L3QsCDQsiDRgdGC0YDQsNC90LUuXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZmVyZW5jZSQ8VD4ocmVmZXJlbmNlTmFtZTogU2NSZWZlcmVuY2VOYW1lLCBwYXJhbXM/OiB7IGNvdW50cnlJZD86IG51bWJlcjsgcmVnaW9uSWQ/OiBudW1iZXIgfSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3JlZmVyZW5jZXMvJHtyZWZlcmVuY2VOYW1lfWAsIHsgcGFyYW1zOiB0aGlzLmNvbnZlcnRlcnNTZXJ2aWNlLnRvSHR0cFBhcmFtcyh7IHBhcmFtczogcGFyYW1zIH0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSkgfSlcbiAgICAgICAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNCw0L3QvdGL0LUg0YHQv9GA0LDQstC+0YfQvdC40LrQsCDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVmZXJlbmNlTmFtZSDQndCw0LfQstCw0L3QuNC1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAuXG4gICAgICogQHBhcmFtIHRlcm0g0J/QvtC40YHQutC+0LLRi9C5INC30LDQv9GA0L7RgS5cbiAgICAgKiBAcGFyYW0gcGFyYW1zINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0L/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwLlxuICAgICAqIEBwYXJhbSBwYXJhbXMuY291bnRyeUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0YLRgNCw0L3Riy5cbiAgICAgKiBAcGFyYW0gcGFyYW1zLnJlZ2lvbklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGA0LXQs9C40L7QvdCwINCyINGB0YLRgNCw0L3QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UmVmZXJlbmNlQnlUZXJtJDxUPihyZWZlcmVuY2VOYW1lOiBTY1JlZmVyZW5jZU5hbWUsIHRlcm06IHN0cmluZywgcGFyYW1zPzogeyBjb3VudHJ5SWQ/OiBudW1iZXI7IHJlZ2lvbklkPzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxUPihgJHt0aGlzLnVybHMuYXBpVXJsfS9yZWZlcmVuY2VzLyR7cmVmZXJlbmNlTmFtZX0vc2VhcmNoYCwge1xuICAgICAgICAgICAgICAgIHBhcmFtczogdGhpcy5jb252ZXJ0ZXJzU2VydmljZS50b0h0dHBQYXJhbXMoeyB0ZXJtOiB0ZXJtLCBwYXJhbXM6IHBhcmFtcyB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNCw0L3QvdGL0LUg0YHQv9GA0LDQstC+0YfQvdC40LrQsCDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVmZXJlbmNlTmFtZSDQndCw0LfQstCw0L3QuNC1INGB0L/RgNCw0LLQvtGH0L3QuNC60LAuXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQv9C40YHQuCDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQutC+0YLQvtGA0L7QuSDQvdC10L7QsdGF0L7QtNC40LzQviDQstC10YDQvdGD0YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UmVmZXJlbmNlQnlJZCQ8VD4ocmVmZXJlbmNlTmFtZTogU2NSZWZlcmVuY2VOYW1lLCBpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KGAke3RoaXMudXJscy5hcGlVcmx9L3JlZmVyZW5jZXMvJHtyZWZlcmVuY2VOYW1lfS8ke2lkfWApLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQtiwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90LDQv9GA0LDQstC70LXQvdC40Y8g0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXJlY3Rpb25CeUlkJChkaXJlY3Rpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lTYWxlc0RpcmVjdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25zJC5waXBlKG1hcCgoZGlyZWN0aW9ucykgPT4gZGlyZWN0aW9ucy5maW5kKChkaXJlY3Rpb24pID0+IGRpcmVjdGlvbi5pZCA9PT0gZGlyZWN0aW9uSWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGC0LjQv9CwINC60LvQuNC10L3RgtCwLCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0YHQuNC80LLQvtC70YzQvdC+0LzRgyDQvtCx0L7Qt9C90LDRh9C10L3QuNGOIChzbHVnKSDQvdCwINCy0YXQvtC00LUuXG4gICAgICogVE9ETzog0J3QsNC/0LjRgdCw0YLRjCDRgtC10YHRgtGLINC/0L7RgdC70LUg0LTQvtGA0LDQsdC+0YLQutC4INGB0L/RgNCw0LLQvtGH0L3QuNC60L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzbHVnINCh0LjQvNCy0L7Qu9GM0L3QvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUgKHNsdWcpINGC0LjQv9CwINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGdldENsaWVudFR5cGVzQnlTbHVnJChzbHVnOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm4sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnRUeXBlcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLm5hbWUgPT09IHNsdWcpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0YLQsNGC0YPRgSDQvtC/0LvQsNGC0YssINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHRgtCw0YLRg9GB0LAg0L7Qv9C70LDRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXltZW50U3RhdHVzQnlJZCQodHlwZUlkOiBTY1BheW1lbnRTdGF0dXMpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY1BheW1lbnRTdGF0dXMsIHR5cGVvZiBTY1BheW1lbnRTdGF0dXM+IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBheW1lbnRTdGF0dXNlcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLmlkID09PSB0eXBlSWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGC0LjQvyDQtNC+0YHRgtCw0LLQutC4LCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgyDQvdCwINCy0YXQvtC00LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0LjQv9CwINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgcHVibGljIGdldERlbGl2ZXJ5VHlwZUJ5SWQkKHR5cGVJZDogU2NEZWxpdmVyeVR5cGUpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY0RlbGl2ZXJ5VHlwZSwgdHlwZW9mIFNjRGVsaXZlcnlUeXBlPiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWxpdmVyeVR5cGVzJC5waXBlKG1hcCgodHlwZXMpID0+IHR5cGVzLmZpbmQoKHR5cGUpID0+IHR5cGUuaWQgPT09IHR5cGVJZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YLQuNC/INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0YXR1c0lkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0LjQv9CwINGB0YLQsNGC0YPRgdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRPcmRlclN0YXR1c0J5SWQkKHN0YXR1c0lkOiBTY09yZGVyU3RhdGVTdGF0dXMpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY09yZGVyU3RhdGVTdGF0dXMsIHR5cGVvZiBTY09yZGVyU3RhdGVTdGF0dXM+IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVyU3RhdHVzZXMkLnBpcGUobWFwKCh0eXBlcykgPT4gdHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5pZCA9PT0gc3RhdHVzSWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGC0LjQv9CwINGB0YLQsNGC0YPRgdCwINGA0LXQutC70LDQvNCw0YbQuNC5LCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0YPQutCw0LfQsNC90L3QvtC80YMg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGF0dXNJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC40L/QsCDRgdGC0LDRgtGD0YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UmVjbGFtYXRpb25TdGF0dXNCeUlkJChzdGF0dXNJZDogU2NSZWNsYW1hdGlvblN0YXR1cyk6IE9ic2VydmFibGU8U2NJUmVmZXJlbmNlc1R5cGVzPFNjUmVjbGFtYXRpb25TdGF0dXMsIHR5cGVvZiBTY1JlY2xhbWF0aW9uU3RhdHVzPiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWNsYW1hdGlvblN0YXR1c2VzJC5waXBlKG1hcCgodHlwZXMpID0+IHR5cGVzLmZpbmQoKHR5cGUpID0+IHR5cGUuaWQgPT09IHN0YXR1c0lkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgtC40L8g0L7Qv9C70LDRgtGLLCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRgyDQvdCwINCy0YXQvtC00LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0LjQv9CwINC+0L/Qu9Cw0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGF5bWVudFR5cGVCeUlkJCh0eXBlSWQ6IFNjUGF5bWVudFR5cGUpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY1BheW1lbnRUeXBlLCB0eXBlb2YgU2NQYXltZW50VHlwZT4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF5bWVudFR5cGVzJC5waXBlKG1hcCgodHlwZXMpID0+IHR5cGVzLmZpbmQoKHR5cGUpID0+IHR5cGUuaWQgPT09IHR5cGVJZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L7RgNCz0LDQvdC40LfQsNGG0LjQvtC90L3Qvi3Qv9GA0LDQstC+0LLQvtC5INGE0L7RgNC80YssINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDRgdC40LzQstC+0LvRjNC90L7QvNGDINC+0LHQvtC30L3QsNGH0LXQvdC40Y4gKHNsdWcpINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzbHVnINCh0LjQvNCy0L7Qu9GM0L3QvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUgKHNsdWcpLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRPcGZCeVNsdWckKHNsdWc6IGtleW9mIHR5cGVvZiBTY09wZkxpc3QpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY09wZkxpc3QsIHR5cGVvZiBTY09wZkxpc3Q+IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZiQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLnNsdWcgPT09IHNsdWcpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INCy0LDQu9GO0YLRiywg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGN1cnJlbmN5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQsNC70Y7RgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW5jeUJ5SWQkKGN1cnJlbmN5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NJQ3VycmVuY3kgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY2llcyQucGlwZShtYXAoKHR5cGVzKSA9PiB0eXBlcy5maW5kKCh0eXBlKSA9PiB0eXBlLmlkID09PSBjdXJyZW5jeUlkKSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -11,4 +11,5 @@ export * from './sc-path-image-not-found';
11
11
  export * from './sc-release';
12
12
  export * from './sc-update-interval';
13
13
  export * from './sc-urls';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWFwaS1rZXlzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY2FjaGUtbGlmZXRpbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1jb21wYW55LW5hbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1jb25maWd1cmF0b3ItY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvbmZpZ3VyYXRvci1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRlZmF1bHQtcGFnZS1tZXRhJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaXMtaGlkZGVuLWVycm9yLWFsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtbGluZWFyLXZhbHVlcy10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBhdGgtaW1hZ2Utbm90LWZvdW5kJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtcmVsZWFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXVwZGF0ZS1pbnRlcnZhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXVybHMnO1xuIl19
14
+ export * from './sc-feedback-api';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtYXBpLWtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1jYWNoZS1saWZldGltZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvbXBhbnktbmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNvbmZpZ3VyYXRvci1jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY29uZmlndXJhdG9yLXNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZGVmYXVsdC1wYWdlLW1ldGEnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pcy1oaWRkZW4tZXJyb3ItYWxlcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1saW5lYXItdmFsdWVzLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtcGF0aC1pbWFnZS1ub3QtZm91bmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1yZWxlYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtdXBkYXRlLWludGVydmFsJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtdXJscyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWZlZWRiYWNrLWFwaSc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { tuiCreateToken } from '@taiga-ui/cdk';
2
+ /**
3
+ * Токен внедрения данных API обратной связи.
4
+ */
5
+ export const SC_FEEDBACK_API = tuiCreateToken();
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmVlZGJhY2stYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS90b2tlbnMvc2MtZmVlZGJhY2stYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW1DLGNBQWMsRUFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0dWlDcmVhdGVUb2tlbiB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5pbXBvcnQgeyBTY0lGZWVkYmFja0FQSSB9IGZyb20gJy4uL2NvbmZpZy9zYy1pLWZlZWRiYWNrLWFwaSc7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQstC90LXQtNGA0LXQvdC40Y8g0LTQsNC90L3Ri9GFIEFQSSDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LguXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19GRUVEQkFDS19BUEk6IEluamVjdGlvblRva2VuPFNjSUZlZWRiYWNrQVBJPiA9IHR1aUNyZWF0ZVRva2VuPFNjSUZlZWRiYWNrQVBJPigpO1xuIl19
@@ -297,6 +297,11 @@ const SC_UPDATE_INTERVAL = new InjectionToken('UPDATE_INTERVAL');
297
297
  */
298
298
  const SC_URLS = new InjectionToken('IUrls');
299
299
 
300
+ /**
301
+ * Токен внедрения данных API обратной связи.
302
+ */
303
+ const SC_FEEDBACK_API = tuiCreateToken();
304
+
300
305
  /**
301
306
  * Перечисление названий целей метрики используемых для отслеживания действий пользователей.
302
307
  */
@@ -1873,10 +1878,6 @@ var ScReferenceName;
1873
1878
  * Валюта.
1874
1879
  */
1875
1880
  ScReferenceName["currency"] = "currency";
1876
- /**
1877
- * Тип канала сообщений чата.
1878
- */
1879
- ScReferenceName["feedbackForm"] = "feedback-form";
1880
1881
  })(ScReferenceName || (ScReferenceName = {}));
1881
1882
 
1882
1883
  /* eslint-disable security/detect-object-injection,no-param-reassign */
@@ -2049,10 +2050,6 @@ class ScReferencesService {
2049
2050
  * Список статусов рекламаций.
2050
2051
  */
2051
2052
  this.reclamationStatuses$ = this.getReference$(ScReferenceName.reclamationStatus);
2052
- /**
2053
- * Список форм обратной связи.
2054
- */
2055
- this.feedbackForms$ = this.getReference$(ScReferenceName.feedbackForm);
2056
2053
  /**
2057
2054
  * Список организационно-правовых форм..
2058
2055
  */
@@ -2597,6 +2594,9 @@ class ScCartService {
2597
2594
  this.cart$.next(cart);
2598
2595
  });
2599
2596
  }
2597
+ else {
2598
+ this.cart$.next(new ScCart());
2599
+ }
2600
2600
  this.cartDirections$ = referencesService.directions$.pipe(switchMap((directions) => this.cart$.pipe(switchMap((cart) => this.warehouseService.getWarehouseSelectChange$().pipe(map((warehouse) => directions
2601
2601
  .map((direction) => new ScISalesDirectionCart(direction, cart.items.filter((cartItem) => cartItem.salesDirection === direction.id), cart.directionsSum[direction.id], warehouse.id))
2602
2602
  .filter((direction) => direction.items.length > 0 || direction.itemsOnOrder.length > 0 || direction.itemsNotInWarehouseStock.length > 0)))))));
@@ -3629,13 +3629,24 @@ class ScFeedbackService {
3629
3629
  * Инициализирует экземпляр класса {@link ScFeedbackService}.
3630
3630
  *
3631
3631
  * @param http HTTP-клиент.
3632
- * @param urls Список ссылок на разделы backend'a.
3633
3632
  * @param userMetrikaService Сервис для сбора метрик о действиях пользователей.
3633
+ * @param feedbackApi Данные для взаимодействия с API обратной связи.
3634
3634
  */
3635
- constructor(http, urls, userMetrikaService) {
3635
+ constructor(http, userMetrikaService, feedbackApi) {
3636
3636
  this.http = http;
3637
- this.urls = urls;
3638
3637
  this.userMetrikaService = userMetrikaService;
3638
+ this.feedbackApi = feedbackApi;
3639
+ /**
3640
+ * Список форм обратной связи.
3641
+ */
3642
+ this.feedbackForms$ = this.http
3643
+ .get(`${this.feedbackApi.apiUrl}/feedback/forms`, {
3644
+ context: new HttpContext().set(SC_AUTH_ADD_HEADER_REQUIRED, false),
3645
+ headers: {
3646
+ [this.feedbackApi.keyName]: this.feedbackApi.authToken,
3647
+ },
3648
+ })
3649
+ .pipe(shareReplay(1));
3639
3650
  }
3640
3651
  /**
3641
3652
  * Отправляет сообщение обратной связи.
@@ -3644,13 +3655,20 @@ class ScFeedbackService {
3644
3655
  * @param feedbackMessage Объект сообщения обратной связи.
3645
3656
  */
3646
3657
  sendFeedback(formSlug, feedbackMessage) {
3647
- return this.http.post(`${this.urls.apiUrl}/feedback/${formSlug}`, feedbackMessage).pipe(tap(() => {
3658
+ return this.http
3659
+ .post(`${this.feedbackApi.apiUrl}/feedback/${formSlug}`, feedbackMessage, {
3660
+ context: new HttpContext().set(SC_AUTH_ADD_HEADER_REQUIRED, false),
3661
+ headers: {
3662
+ [this.feedbackApi.keyName]: this.feedbackApi.authToken,
3663
+ },
3664
+ })
3665
+ .pipe(tap(() => {
3648
3666
  this.userMetrikaService.emitUserMetrikaEvent({
3649
3667
  target: ScUserMetrikaGoalsEnum.feedbackSent,
3650
3668
  });
3651
3669
  }));
3652
3670
  }
3653
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScFeedbackService, deps: [{ token: i1$1.HttpClient }, { token: SC_URLS }, { token: ScUserMetrikaService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3671
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScFeedbackService, deps: [{ token: i1$1.HttpClient }, { token: ScUserMetrikaService }, { token: SC_FEEDBACK_API }], target: i0.ɵɵFactoryTarget.Injectable }); }
3654
3672
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScFeedbackService, providedIn: 'root' }); }
3655
3673
  }
3656
3674
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScFeedbackService, decorators: [{
@@ -3658,10 +3676,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
3658
3676
  args: [{
3659
3677
  providedIn: 'root',
3660
3678
  }]
3661
- }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
3679
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ScUserMetrikaService }, { type: undefined, decorators: [{
3662
3680
  type: Inject,
3663
- args: [SC_URLS]
3664
- }] }, { type: ScUserMetrikaService }] });
3681
+ args: [SC_FEEDBACK_API]
3682
+ }] }] });
3665
3683
 
3666
3684
  /**
3667
3685
  * Сервис для работы с реквизитами и с обойной связью.
@@ -4482,13 +4500,9 @@ const SC_VIRTUAL_CATEGORY_INFO = new InjectionToken('A stream with current virtu
4482
4500
  * @param paramMap.paramMap Параметры.
4483
4501
  * @param catalogService.paramMap Параметры маршрута.
4484
4502
  * @param catalogService Сервис для работы с каталогом.
4485
- * @param cartService Сервис для работы с корзиной.
4486
4503
  */
4487
- function virtualCategoryFactory({ paramMap }, catalogService, cartService) {
4488
- return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug)), switchMap((virtualCategory) => cartService.getCartChange$().pipe(map((cart) => {
4489
- virtualCategory?.products?.forEach((product) => (product.cartItem = cart.items.find((cartItem) => cartItem.product.id === product.id)));
4490
- return virtualCategory;
4491
- }))), takeUntilDestroyed());
4504
+ function virtualCategoryFactory({ paramMap }, catalogService) {
4505
+ return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug).pipe(shareReplay())), takeUntilDestroyed());
4492
4506
  }
4493
4507
  /**
4494
4508
  * Провайдеры потока данных о виртуальной категории.
@@ -4496,7 +4510,7 @@ function virtualCategoryFactory({ paramMap }, catalogService, cartService) {
4496
4510
  const SC_VIRTUAL_CATEGORY_PROVIDERS = [
4497
4511
  {
4498
4512
  provide: SC_VIRTUAL_CATEGORY_INFO,
4499
- deps: [ActivatedRoute, ScCatalogService, ScCartService],
4513
+ deps: [ActivatedRoute, ScCatalogService],
4500
4514
  useFactory: virtualCategoryFactory,
4501
4515
  },
4502
4516
  ];
@@ -4992,31 +5006,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
4992
5006
  type: Injectable
4993
5007
  }] });
4994
5008
 
4995
- /**
4996
- * Перечисление форм обратной связи.
4997
- * Ключами являются символьные обозначения (slug) формы, из запроса {@link ScReferencesService.feedbackForms$}
4998
- */
4999
- // eslint-disable-next-line no-shadow
5000
- var ScFeedbackForm;
5001
- (function (ScFeedbackForm) {
5002
- /**
5003
- * Стандартная форма обратной связи.
5004
- */
5005
- ScFeedbackForm[ScFeedbackForm["common"] = 1] = "common";
5006
- /**
5007
- * Форма заявки на запрос бесплатных образцов.
5008
- */
5009
- ScFeedbackForm[ScFeedbackForm["samples"] = 2] = "samples";
5010
- /**
5011
- * Форма обратной связи со страницы контактов.
5012
- */
5013
- ScFeedbackForm[ScFeedbackForm["contacts"] = 3] = "contacts";
5014
- /**
5015
- * Форма обратной связи со страницы вакансий.
5016
- */
5017
- ScFeedbackForm[ScFeedbackForm["vacancies"] = 4] = "vacancies";
5018
- })(ScFeedbackForm || (ScFeedbackForm = {}));
5019
-
5020
5009
  /**
5021
5010
  * Перечисление организационно-правовых форм.
5022
5011
  */
@@ -7157,5 +7146,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
7157
7146
  * Generated bundle index. Do not edit.
7158
7147
  */
7159
7148
 
7160
- export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DEFAULT_PAGE_META, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForm, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7149
+ export { EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartItem, ScCartService, ScCatalogFormat, ScCatalogService, ScCategory, ScClientType, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScISalesDirectionCart, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScImageHelper, ScJsonLdComponent, ScJsonLdModule, ScLocationsService, ScMimeTypes, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReferenceName, ScReferencesService, ScRequisitesService, ScSearchService, ScSeoResource, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, runningOnTerminalFactory, searchTermFactory };
7161
7150
  //# sourceMappingURL=snabcentr-client-core.mjs.map