@esolve/ng-esolve-connect 0.48.0 → 0.49.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 (54) hide show
  1. package/esm2022/lib/account/esolve-account.service.mjs +3 -3
  2. package/esm2022/lib/auth/esolve-auth-interceptor.service.mjs +3 -3
  3. package/esm2022/lib/auth/esolve-auth.service.mjs +3 -3
  4. package/esm2022/lib/banners/esolve-banner.service.mjs +3 -3
  5. package/esm2022/lib/cart/esolve-cart.service.mjs +3 -3
  6. package/esm2022/lib/category-tree/esolve-category-tree.service.mjs +3 -3
  7. package/esm2022/lib/core/esolve-config.service.mjs +3 -3
  8. package/esm2022/lib/coupons/esolve-coupons.service.mjs +3 -3
  9. package/esm2022/lib/enquiry/esolve-enquiry.service.mjs +3 -3
  10. package/esm2022/lib/images/directives/cdn-src.directive.mjs +3 -3
  11. package/esm2022/lib/locations/esolve-locations.service.mjs +3 -3
  12. package/esm2022/lib/manufacturers/esolve-manufacturers.service.mjs +3 -3
  13. package/esm2022/lib/menu/esolve-menu.service.mjs +3 -3
  14. package/esm2022/lib/news/esolve-news.service.mjs +3 -3
  15. package/esm2022/lib/ng-esolve-connect.module.mjs +4 -4
  16. package/esm2022/lib/payment/esolve-payment.service.mjs +3 -3
  17. package/esm2022/lib/ranges/esolve-ranges.service.mjs +3 -3
  18. package/esm2022/lib/session/esolve-session-metadata.service.mjs +3 -3
  19. package/esm2022/lib/session/esolve-session.service.mjs +3 -3
  20. package/esm2022/lib/shared/assets/esolve-assets.service.mjs +3 -3
  21. package/esm2022/lib/shared/cookie/esolve-cookie.service.mjs +3 -3
  22. package/esm2022/lib/shared/errors/esolve-error-handler.service.mjs +3 -3
  23. package/esm2022/lib/shared/geocoder/esolve-geocoder.service.mjs +3 -3
  24. package/esm2022/lib/shared/response/esolve-response-handler.service.mjs +3 -3
  25. package/esm2022/lib/shared/seo/esolve-seo.service.mjs +3 -3
  26. package/esm2022/lib/shipping/esolve-shipping.service.mjs +3 -3
  27. package/esm2022/lib/specials/esolve-specials.service.mjs +3 -3
  28. package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +6 -1
  29. package/esm2022/lib/stock/esolve-stock.service.mjs +3 -3
  30. package/esm2022/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
  31. package/esm2022/lib/suppliers/esolve-suppliers.service.mjs +3 -3
  32. package/esm2022/lib/tags/esolve-tags.service.mjs +3 -3
  33. package/esm2022/lib/topics/esolve-topic.service.mjs +3 -3
  34. package/esm2022/lib/transactions/esolve-transactions.service.mjs +3 -3
  35. package/esm2022/lib/vouchers/esolve-vouchers.service.mjs +3 -3
  36. package/esm2022/lib/wishlist/esolve-wishlist.service.mjs +3 -3
  37. package/esm2022/media/lib/components/media-layout/esolve-media-layout.component.mjs +3 -3
  38. package/esm2022/media/lib/components/media-section/esolve-media-section.component.mjs +3 -3
  39. package/esm2022/media/lib/interfaces/esolve-layout-config.interface.mjs +1 -1
  40. package/esm2022/media/lib/ng-esolve-connect-media.module.mjs +4 -4
  41. package/esm2022/media/lib/services/esolve-media-layout.service.mjs +7 -4
  42. package/esm2022/media/lib/services/esolve-media.service.mjs +3 -3
  43. package/esm2022/notifications/lib/services/esolve-notifications.service.mjs +3 -3
  44. package/esm2022/survey/lib/services/esolve-survey.service.mjs +3 -3
  45. package/fesm2022/esolve-ng-esolve-connect-media.mjs +19 -16
  46. package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
  47. package/fesm2022/esolve-ng-esolve-connect-notifications.mjs +3 -3
  48. package/fesm2022/esolve-ng-esolve-connect-survey.mjs +3 -3
  49. package/fesm2022/esolve-ng-esolve-connect.mjs +108 -103
  50. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  51. package/lib/stock/classes/esolve-stock-item-base.model.d.ts +4 -0
  52. package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +1 -0
  53. package/media/lib/interfaces/esolve-layout-config.interface.d.ts +2 -2
  54. package/package.json +1 -1
@@ -128,6 +128,10 @@ export class EsolveStockItemBase {
128
128
  * Number of stock available
129
129
  */
130
130
  this.amount_in_stock = 0;
131
+ /**
132
+ * Number of stock available
133
+ */
134
+ this.limit_per_transaction = 0;
131
135
  /**
132
136
  * Total items linked to the item as a recipe
133
137
  */
@@ -244,6 +248,7 @@ export class EsolveStockItemBase {
244
248
  this.allow_quotes = record.allow_quotes ?? true;
245
249
  this.allow_orders = record.allow_orders ?? true;
246
250
  this.amount_in_stock = +(record.onhand ?? 0);
251
+ this.limit_per_transaction = +(record.limit_per_transaction ?? 0);
247
252
  this.total_recipe_items = +(record.total_recipe_items ?? 0);
248
253
  this.pack_size = +(record.items_in_pack ?? 0);
249
254
  this.pack_description = record.pack_description ?? '';
@@ -326,4 +331,4 @@ export class EsolveStockItemBase {
326
331
  return '';
327
332
  }
328
333
  }
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekYsTUFBTSxPQUFPLG1CQUFtQjtJQWlONUI7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVB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Q3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgRXNvbHZlU2VvRGV0YWlscywgRXNvbHZlU2VvSW5mbyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZW8nO1xuXG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtIH0gZnJvbSAnLi4vLi4vY2F0ZWdvcnktdHJlZSc7XG5pbXBvcnQgeyBFc29sdmVNYW51ZmFjdHVyZXIgfSBmcm9tICcuLi8uLi9tYW51ZmFjdHVyZXJzJztcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcbmltcG9ydCB7IEVzb2x2ZVRhZyB9IGZyb20gJy4uLy4uL3RhZ3MnO1xuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi8uLi90b3BpY3MnO1xuXG5pbXBvcnQgeyBFc29sdmVTdG9ja0ltYWdlU2l6ZSwgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tQcmljZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUaGUgYmFyY29kZSBvZiB0aGUgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBiYXJjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHNlZl9uYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvc2l0ZSBmaWVsZCBtYWRlIHVwIG9mIGtleSBwaHJhc2VzXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaF9jb21wb3NpdGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUeXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFN1YiB0eXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViX3R5cGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTaG9ydCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogQWN0aXZlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEZlYXR1cmVkIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGZlYXR1cmVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGlzcGxheSBPbmx5IHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlfb25seSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFF1b3RhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X3F1b3RlcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X29yZGVycyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSXRlbSBtdXN0IGJlIGNvbGxlY3RlZCwgbm90IGRlbGl2ZXJ5IHBvc3NpYmxlXG4gICAgICovXG4gICAgcHVibGljIG11c3RfY29sbGVjdCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEl0ZW0gbmVlZHMgdG8gYmUgYXNzZW1ibGVkIGFmdGVyIHB1cmNoYXNlXG4gICAgICovXG4gICAgcHVibGljIHJlcXVpcmVzX2Fzc2VtYmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5ID0gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0b2NrIGxhYmVsIGFkZGVkIG9uIHRvIGl0ZW0gdG8gZGlzcGxheSBmb3IgdXNlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21fbGFiZWwgPSAnJztcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2Ygc3RvY2sgYXZhaWxhYmxlXG4gICAgICovXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jayA9IDA7XG4gICAgLyoqXG4gICAgICogVG90YWwgaXRlbXMgbGlua2VkIHRvIHRoZSBpdGVtIGFzIGEgcmVjaXBlXG4gICAgICovXG4gICAgcHVibGljIHRvdGFsX3JlY2lwZV9pdGVtcyA9IDA7XG4gICAgLyoqXG4gICAgICogSGVpZ2h0IG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgaGVpZ2h0ID0gMDtcbiAgICAvKipcbiAgICAgKiBXaWR0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoID0gMDtcbiAgICAvKipcbiAgICAgKiBMZW5ndGggLyBkZXB0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aCA9IDA7XG4gICAgLyoqXG4gICAgICogV2VpZ2h0IG1lYXN1cmVkIGluIGtpbG9ncmFtcyAoa2cpXG4gICAgICovXG4gICAgcHVibGljIHdlaWdodCA9IDA7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGl0ZW1zIGluIGEgcGFja1xuICAgICAqL1xuICAgIHB1YmxpYyBwYWNrX3NpemUgPSAwO1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIG9mIHRoZSBwYWNrXG4gICAgICovXG4gICAgcHVibGljIHBhY2tfZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBVbml0cyB1c2VkIHRvIG1lYXN1cmUgdGhlIHF1YW50aXR5XG4gICAgICovXG4gICAgcHVibGljIHVuaXRfb2ZfbWVhc3VyZTogRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlID0gJ3VuaXQnO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGRlZmF1bHQgY2F0ZWdvcnkgbGlua2VkIHRvIHRoZSBzdG9jayBpdGVtXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeV9pZCA9ICcnO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgbGlua2VkIGNhdGVnb3J5XG4gICAgICovXG4gICAgcHVibGljIGNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdWJjYXRlZ29yeS5lc29sdmVfaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViY2F0ZWdvcnlfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgbGlua2VkIHN1YmNhdGVnb3J5XG4gICAgICovXG4gICAgcHVibGljIHN1YmNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBsaW5rZWQgbWFudWZhY3R1cmVyXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYG1hbnVmYWN0dXJlci5pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXJzX2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXG4gICAgICovXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcj86IEVzb2x2ZU1hbnVmYWN0dXJlcjtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBsaW5rZWQgcmFuZ2VcbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgcmFuZ2UuaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2VzX2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgcmFuZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2U/OiBFc29sdmVSYW5nZTtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHByaWNlXG4gICAgICovXG4gICAgcHVibGljIHByaWNlOiBFc29sdmVTdG9ja1ByaWNlO1xuICAgIC8qKlxuICAgICAqIFNFTyBwYWdlIGRldGFpbHNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VvX2RldGFpbHM6IEVzb2x2ZVNlb0luZm87XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRhZ3NcbiAgICAgKi9cbiAgICBwdWJsaWMgdGFnczogRXNvbHZlVGFnW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgdG9waWNzXG4gICAgICovXG4gICAgcHVibGljIHRvcGljczogRXNvbHZlVG9waWNbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGJhZGdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBiYWRnZXM6IEVzb2x2ZVN0b2NrQmFkZ2VbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGl0ZW0gY3VzdG9tIGZpZWxkcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3VzdG9tX2ZpZWxkcz86IFQ7XG4gICAgLyoqXG4gICAgICogQ29sb3Vyc1xuICAgICAqL1xuICAgIHB1YmxpYyBjb2xvdXJzOiBFc29sdmVDb2xvdXJbXSA9IFtdO1xuICAgIC8qKiBTaXplcyAqL1xuICAgIHB1YmxpYyBzaXplczogc3RyaW5nW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBJdGVtIExlYWQgVGltZXMgZm9yIHN1cHBseVxuICAgICAqL1xuICAgIHB1YmxpYyBsZWFkX3RpbWVzPzogRXNvbHZlU3RvY2tMZWFkVGltZXM7XG4gICAgLyoqXG4gICAgICogVHJhbnNhY3Rpb24gaGlzdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBoaXN0b3J5PzogRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3Rvcnk7XG5cbiAgICAvKipcbiAgICAgKiBJbWFnZSBmaWxlbmFtZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbmFtZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgTGFzdCBtb2RpZmllZFxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbGFzdF9tb2RpZmllZCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RpbnknKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ2JpZycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudF9pbl9zdG9jayA+IDA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBQYXJ0aWFsPEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxUPj4gPSB7fSkge1xuICAgICAgICBsZXQgc2VvX3RpdGxlID0gJyc7XG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcbiAgICAgICAgbGV0IGJhc2VfcHJpY2UgPSAwO1xuICAgICAgICBsZXQgYmFzZV9wcmljZV93aXRoX3RheCA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IHNlbGxfcHJpY2Vfd2l0aF90YXggPSAwO1xuXG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdXBwbGllcl9jb2RlID0gcmVjb3JkLnN1cHBsaWVyX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmJhcmNvZGUgPSByZWNvcmQuYmFyY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IHJlY29yZC5uYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zZWZfbmFtZSA9IHJlY29yZC5zZWZfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoX2NvbXBvc2l0ZSA9IHJlY29yZC5zZWFyY2hfY29tcG9zaXRlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gcmVjb3JkLnR5cGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN1Yl90eXBlID0gcmVjb3JkLnN1Yl90eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSByZWNvcmQuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX25hbWUgPSByZWNvcmQuaW1hZ2VfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCA9IHJlY29yZC5pbWFnZV9sYXN0X21vZGlmaWVkID8/ICcnO1xuXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5X2lkID0gcmVjb3JkLmNhdGVnb3J5X2lkID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJjYXRlZ29yeV9pZCA9ICsocmVjb3JkLnN1YmNhdGVnb3J5X2lkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5tYW51ZmFjdHVyZXJzX2lkID0gKyhyZWNvcmQubWFudWZhY3R1cmVyc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucmFuZ2VzX2lkID0gKyhyZWNvcmQucmFuZ2VzX2lkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeV9jYXRlZ29yeSA9IHJlY29yZC5kZWxpdmVyeV9jYXRlZ29yeSA/PyAncmVndWxhcl9pdGVtJztcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tX2xhYmVsID0gcmVjb3JkLmN1c3RvbV9sYWJlbCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5tdXN0X2NvbGxlY3QgPSAhISsocmVjb3JkLm11c3RfY29sbGVjdCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVzX2Fzc2VtYmx5ID0gISErKHJlY29yZC5yZXF1aXJlc19hc3NlbWJseSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZWQgPSAhISsocmVjb3JkLmlzX2ZlYXR1cmVkID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheV9vbmx5ID0gISErKHJlY29yZC5kaXNwbGF5X29ubHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19xdW90ZXMgPSByZWNvcmQuYWxsb3dfcXVvdGVzID8/IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFsbG93X29yZGVycyA9IHJlY29yZC5hbGxvd19vcmRlcnMgPz8gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5hbW91bnRfaW5fc3RvY2sgPSArKHJlY29yZC5vbmhhbmQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcblxuICAgICAgICAgICAgdGhpcy5wYWNrX3NpemUgPSArKHJlY29yZC5pdGVtc19pbl9wYWNrID8/IDApO1xuICAgICAgICAgICAgdGhpcy5wYWNrX2Rlc2NyaXB0aW9uID0gcmVjb3JkLnBhY2tfZGVzY3JpcHRpb24gPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9ICsocmVjb3JkLndpZHRoID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSArKHJlY29yZC5sZW5ndGggPz8gMCk7XG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC51bml0X29mX21lYXN1cmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnRvdGFsX29yZGVyX3F0eSB8fCByZWNvcmQudG90YWxfcXVvdGVfcXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfb3JkZXJfcXR5ID0gKyhyZWNvcmQudG90YWxfb3JkZXJfcXR5ID8/IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX3F1b3RlX3F0eSA9ICsocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkoXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX29yZGVyX3F0eSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcXVvdGVfcXR5LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICBiYXNlX3ByaWNlLFxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICBzZWxsX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9yYXRlLFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekYsTUFBTSxPQUFPLG1CQUFtQjtJQXFONUI7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVB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QUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztTQUNuRTtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgRXNvbHZlU2VvRGV0YWlscywgRXNvbHZlU2VvSW5mbyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZW8nO1xuXG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtIH0gZnJvbSAnLi4vLi4vY2F0ZWdvcnktdHJlZSc7XG5pbXBvcnQgeyBFc29sdmVNYW51ZmFjdHVyZXIgfSBmcm9tICcuLi8uLi9tYW51ZmFjdHVyZXJzJztcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcbmltcG9ydCB7IEVzb2x2ZVRhZyB9IGZyb20gJy4uLy4uL3RhZ3MnO1xuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi8uLi90b3BpY3MnO1xuXG5pbXBvcnQgeyBFc29sdmVTdG9ja0ltYWdlU2l6ZSwgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tQcmljZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUaGUgYmFyY29kZSBvZiB0aGUgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBiYXJjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHNlZl9uYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvc2l0ZSBmaWVsZCBtYWRlIHVwIG9mIGtleSBwaHJhc2VzXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaF9jb21wb3NpdGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUeXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFN1YiB0eXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViX3R5cGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTaG9ydCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogQWN0aXZlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEZlYXR1cmVkIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGZlYXR1cmVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGlzcGxheSBPbmx5IHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlfb25seSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFF1b3RhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X3F1b3RlcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X29yZGVycyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSXRlbSBtdXN0IGJlIGNvbGxlY3RlZCwgbm90IGRlbGl2ZXJ5IHBvc3NpYmxlXG4gICAgICovXG4gICAgcHVibGljIG11c3RfY29sbGVjdCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEl0ZW0gbmVlZHMgdG8gYmUgYXNzZW1ibGVkIGFmdGVyIHB1cmNoYXNlXG4gICAgICovXG4gICAgcHVibGljIHJlcXVpcmVzX2Fzc2VtYmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5ID0gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0b2NrIGxhYmVsIGFkZGVkIG9uIHRvIGl0ZW0gdG8gZGlzcGxheSBmb3IgdXNlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21fbGFiZWwgPSAnJztcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2Ygc3RvY2sgYXZhaWxhYmxlXG4gICAgICovXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jayA9IDA7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIHN0b2NrIGF2YWlsYWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyBsaW1pdF9wZXJfdHJhbnNhY3Rpb24gPSAwO1xuICAgIC8qKlxuICAgICAqIFRvdGFsIGl0ZW1zIGxpbmtlZCB0byB0aGUgaXRlbSBhcyBhIHJlY2lwZVxuICAgICAqL1xuICAgIHB1YmxpYyB0b3RhbF9yZWNpcGVfaXRlbXMgPSAwO1xuICAgIC8qKlxuICAgICAqIEhlaWdodCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodCA9IDA7XG4gICAgLyoqXG4gICAgICogV2lkdGggbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aCA9IDA7XG4gICAgLyoqXG4gICAgICogTGVuZ3RoIC8gZGVwdGggbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyBsZW5ndGggPSAwO1xuICAgIC8qKlxuICAgICAqIFdlaWdodCBtZWFzdXJlZCBpbiBraWxvZ3JhbXMgKGtnKVxuICAgICAqL1xuICAgIHB1YmxpYyB3ZWlnaHQgPSAwO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIHBhY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFja19zaXplID0gMDtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgcGFja1xuICAgICAqL1xuICAgIHB1YmxpYyBwYWNrX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogVW5pdHMgdXNlZCB0byBtZWFzdXJlIHRoZSBxdWFudGl0eVxuICAgICAqL1xuICAgIHB1YmxpYyB1bml0X29mX21lYXN1cmU6IEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSA9ICd1bml0JztcbiAgICAvKipcbiAgICAgKiBJRCBvZiBkZWZhdWx0IGNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBjYXRlZ29yeS5lc29sdmVfaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcnlfaWQgPSAnJztcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBjYXRlZ29yeVxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XG4gICAgLyoqXG4gICAgICogSUQgb2YgZGVmYXVsdCBzdWJjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgc3ViY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIHN1YmNhdGVnb3J5X2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBzdWJjYXRlZ29yeVxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XG4gICAgLyoqXG4gICAgICogSUQgb2YgbGlua2VkIG1hbnVmYWN0dXJlclxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBtYW51ZmFjdHVyZXIuaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFudWZhY3R1cmVyc19pZCA9IDA7XG4gICAgLyoqXG4gICAgICogTGlua2VkIG1hbnVmYWN0dXJlclxuICAgICAqL1xuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXI/OiBFc29sdmVNYW51ZmFjdHVyZXI7XG4gICAgLyoqXG4gICAgICogSUQgb2YgbGlua2VkIHJhbmdlXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJhbmdlLmlkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlc19pZCA9IDA7XG4gICAgLyoqXG4gICAgICogTGlua2VkIHJhbmdlXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlPzogRXNvbHZlUmFuZ2U7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBwcmljZVxuICAgICAqL1xuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlU3RvY2tQcmljZTtcbiAgICAvKipcbiAgICAgKiBTRU8gcGFnZSBkZXRhaWxzXG4gICAgICovXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCB0YWdzXG4gICAgICovXG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRvcGljc1xuICAgICAqL1xuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBiYWRnZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYmFkZ2VzOiBFc29sdmVTdG9ja0JhZGdlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xuICAgIC8qKlxuICAgICAqIENvbG91cnNcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcbiAgICAvKiogU2l6ZXMgKi9cbiAgICBwdWJsaWMgc2l6ZXM6IHN0cmluZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogU3RvY2sgSXRlbSBMZWFkIFRpbWVzIGZvciBzdXBwbHlcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVhZF90aW1lcz86IEVzb2x2ZVN0b2NrTGVhZFRpbWVzO1xuICAgIC8qKlxuICAgICAqIFRyYW5zYWN0aW9uIGhpc3RvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlzdG9yeT86IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5O1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgZmlsZW5hbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIGltYWdlX25hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEltYWdlIExhc3QgbW9kaWZpZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIGltYWdlX2xhc3RfbW9kaWZpZWQgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gdGlueSBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGlueV9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aW55Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aHVtYm5haWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRodW1ibmFpbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aHVtYicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gc21hbGwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNtYWxsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3NtYWxsJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBiaWcgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGJpZ19pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdiaWcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIG9yaWdpbmFsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBvcmlnaW5hbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdvcmlnaW5hbCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbW91bnRfaW5fc3RvY2sgPiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogUGFydGlhbDxFc29sdmVTdG9ja0Jhc2VSZWNvcmQ8VD4+ID0ge30pIHtcbiAgICAgICAgbGV0IHNlb190aXRsZSA9ICcnO1xuICAgICAgICBsZXQgc2VvX2tleXdvcmRzID0gJyc7XG4gICAgICAgIGxldCBiYXNlX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IGJhc2VfcHJpY2Vfd2l0aF90YXggPSAwO1xuICAgICAgICBsZXQgc2VsbF9wcmljZSA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlX3dpdGhfdGF4ID0gMDtcblxuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gKyhyZWNvcmQuaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmNvZGUgPSByZWNvcmQuY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3VwcGxpZXJfY29kZSA9IHJlY29yZC5zdXBwbGllcl9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYXJjb2RlID0gcmVjb3JkLmJhcmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaF9jb21wb3NpdGUgPSByZWNvcmQuc2VhcmNoX2NvbXBvc2l0ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgPSByZWNvcmQuaW1hZ2VfbGFzdF9tb2RpZmllZCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeV9pZCA9IHJlY29yZC5jYXRlZ29yeV9pZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfaWQgPSArKHJlY29yZC5zdWJjYXRlZ29yeV9pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnJhbmdlc19pZCA9ICsocmVjb3JkLnJhbmdlc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfY2F0ZWdvcnkgPSByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnkgPz8gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbV9sYWJlbCA9IHJlY29yZC5jdXN0b21fbGFiZWwgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMubXVzdF9jb2xsZWN0ID0gISErKHJlY29yZC5tdXN0X2NvbGxlY3QgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc19hc3NlbWJseSA9ICEhKyhyZWNvcmQucmVxdWlyZXNfYXNzZW1ibHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVkID0gISErKHJlY29yZC5pc19mZWF0dXJlZCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlfb25seSA9ICEhKyhyZWNvcmQuZGlzcGxheV9vbmx5ID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuYWxsb3dfcXVvdGVzID0gcmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSByZWNvcmQuYWxsb3dfb3JkZXJzID8/IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xuICAgICAgICAgICAgdGhpcy5saW1pdF9wZXJfdHJhbnNhY3Rpb24gPSArKHJlY29yZC5saW1pdF9wZXJfdHJhbnNhY3Rpb24gPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcblxuICAgICAgICAgICAgdGhpcy5wYWNrX3NpemUgPSArKHJlY29yZC5pdGVtc19pbl9wYWNrID8/IDApO1xuICAgICAgICAgICAgdGhpcy5wYWNrX2Rlc2NyaXB0aW9uID0gcmVjb3JkLnBhY2tfZGVzY3JpcHRpb24gPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9ICsocmVjb3JkLndpZHRoID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSArKHJlY29yZC5sZW5ndGggPz8gMCk7XG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC51bml0X29mX21lYXN1cmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnRvdGFsX29yZGVyX3F0eSB8fCByZWNvcmQudG90YWxfcXVvdGVfcXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfb3JkZXJfcXR5ID0gKyhyZWNvcmQudG90YWxfb3JkZXJfcXR5ID8/IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX3F1b3RlX3F0eSA9ICsocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkoXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX29yZGVyX3F0eSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcXVvdGVfcXR5LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICBiYXNlX3ByaWNlLFxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICBzZWxsX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9yYXRlLFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
@@ -402,10 +402,10 @@ export class EsolveStockService {
402
402
  getStockHistoryRecords(params) {
403
403
  return this.http.get(`${this.config.api_url}/get-items-transaction-history.php`, { params });
404
404
  }
405
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveStockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
406
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveStockService, providedIn: 'root' }); }
405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveStockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
406
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveStockService, providedIn: 'root' }); }
407
407
  }
408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveStockService, decorators: [{
408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveStockService, decorators: [{
409
409
  type: Injectable,
410
410
  args: [{
411
411
  providedIn: 'root',
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhc2UtcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9pbnRlcmZhY2VzL2Vzb2x2ZS1zdG9jay1iYXNlLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyUmVjb3JkIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZVJlY29yZCB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYWRnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ29sb3VyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY29sb3VyLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tMZWFkVGltZXNSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1sZWFkLXRpbWVzLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxcbiAgICBUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzLFxuPiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgc3VwcGxpZXJfY29kZTogc3RyaW5nO1xuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgYmFyY29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzZWZfbmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaF9jb21wb3NpdGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgc3ViX3R5cGU6IHN0cmluZztcbiAgICBzZW9fcGFnZV90aXRsZTogc3RyaW5nO1xuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZXh0ZW5kZWRfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeV9pZDogc3RyaW5nO1xuICAgIGNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQ7XG4gICAgc3ViY2F0ZWdvcnlfaWQ6IG51bWJlcjtcbiAgICBzdWJjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkO1xuICAgIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlcjtcbiAgICBtYW51ZmFjdHVyZXI6IEVzb2x2ZU1hbnVmYWN0dXJlclJlY29yZDtcbiAgICByYW5nZXNfaWQ6IG51bWJlcjtcbiAgICByYW5nZTogRXNvbHZlUmFuZ2VSZWNvcmQ7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2NoZWNrc3VtPzogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ/OiBzdHJpbmc7XG4gICAgbXVzdF9jb2xsZWN0OiBib29sZWFuO1xuICAgIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VzdG9tX2xhYmVsOiBzdHJpbmc7XG4gICAgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW47XG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xuICAgIGlzX2ZlYXR1cmVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlfb25seTogYm9vbGVhbjtcbiAgICB2YXRfaXRlbTogYm9vbGVhbjtcbiAgICB2YXRfcmF0ZTogbnVtYmVyO1xuICAgIHZhdF9wZXJjZW50YWdlOiBudW1iZXI7XG4gICAgaXRlbXNfaW5fcGFjazogbnVtYmVyO1xuICAgIHBhY2tfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICByZWd1bGFyX3NlbGxwcmljZTogbnVtYmVyO1xuICAgIHJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBkaXNjb3VudHNfb25fY29kZTogYW55W107XG4gICAgdGFnczogRXNvbHZlVGFnUmVjb3JkW107XG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xuICAgIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVJlY29yZFtdO1xuICAgIGxlYWRfdGltZXM6IEVzb2x2ZVN0b2NrTGVhZFRpbWVzUmVjb3JkO1xuICAgIGNvbG91cnM6IEVzb2x2ZUNvbG91clJlY29yZFtdO1xuICAgIHNpemVzOiBzdHJpbmdbXTtcbiAgICBjdXN0b21fZmllbGRzOiBUO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgd2VpZ2h0OiBudW1iZXI7XG4gICAgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmU7XG4gICAgb25oYW5kOiBudW1iZXI7XG4gICAgdG90YWxfcmVjaXBlX2l0ZW1zOiBudW1iZXI7XG4gICAgYWxsb3dfcXVvdGVzOiBib29sZWFuO1xuICAgIGFsbG93X29yZGVyczogYm9vbGVhbjtcbiAgICB0b3RhbF9vcmRlcl9xdHk/OiBudW1iZXI7XG4gICAgdG90YWxfcXVvdGVfcXR5PzogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhc2UtcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9pbnRlcmZhY2VzL2Vzb2x2ZS1zdG9jay1iYXNlLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyUmVjb3JkIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZVJlY29yZCB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYWRnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ29sb3VyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY29sb3VyLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tMZWFkVGltZXNSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1sZWFkLXRpbWVzLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxcbiAgICBUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzLFxuPiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgc3VwcGxpZXJfY29kZTogc3RyaW5nO1xuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgYmFyY29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzZWZfbmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaF9jb21wb3NpdGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgc3ViX3R5cGU6IHN0cmluZztcbiAgICBzZW9fcGFnZV90aXRsZTogc3RyaW5nO1xuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZXh0ZW5kZWRfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeV9pZDogc3RyaW5nO1xuICAgIGNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQ7XG4gICAgc3ViY2F0ZWdvcnlfaWQ6IG51bWJlcjtcbiAgICBzdWJjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkO1xuICAgIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlcjtcbiAgICBtYW51ZmFjdHVyZXI6IEVzb2x2ZU1hbnVmYWN0dXJlclJlY29yZDtcbiAgICByYW5nZXNfaWQ6IG51bWJlcjtcbiAgICByYW5nZTogRXNvbHZlUmFuZ2VSZWNvcmQ7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2NoZWNrc3VtPzogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ/OiBzdHJpbmc7XG4gICAgbXVzdF9jb2xsZWN0OiBib29sZWFuO1xuICAgIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VzdG9tX2xhYmVsOiBzdHJpbmc7XG4gICAgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW47XG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xuICAgIGlzX2ZlYXR1cmVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlfb25seTogYm9vbGVhbjtcbiAgICB2YXRfaXRlbTogYm9vbGVhbjtcbiAgICB2YXRfcmF0ZTogbnVtYmVyO1xuICAgIHZhdF9wZXJjZW50YWdlOiBudW1iZXI7XG4gICAgaXRlbXNfaW5fcGFjazogbnVtYmVyO1xuICAgIHBhY2tfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICByZWd1bGFyX3NlbGxwcmljZTogbnVtYmVyO1xuICAgIHJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBkaXNjb3VudHNfb25fY29kZTogYW55W107XG4gICAgdGFnczogRXNvbHZlVGFnUmVjb3JkW107XG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xuICAgIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVJlY29yZFtdO1xuICAgIGxlYWRfdGltZXM6IEVzb2x2ZVN0b2NrTGVhZFRpbWVzUmVjb3JkO1xuICAgIGNvbG91cnM6IEVzb2x2ZUNvbG91clJlY29yZFtdO1xuICAgIHNpemVzOiBzdHJpbmdbXTtcbiAgICBjdXN0b21fZmllbGRzOiBUO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgd2VpZ2h0OiBudW1iZXI7XG4gICAgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmU7XG4gICAgb25oYW5kOiBudW1iZXI7XG4gICAgbGltaXRfcGVyX3RyYW5zYWN0aW9uOiBudW1iZXI7XG4gICAgdG90YWxfcmVjaXBlX2l0ZW1zOiBudW1iZXI7XG4gICAgYWxsb3dfcXVvdGVzOiBib29sZWFuO1xuICAgIGFsbG93X29yZGVyczogYm9vbGVhbjtcbiAgICB0b3RhbF9vcmRlcl9xdHk/OiBudW1iZXI7XG4gICAgdG90YWxfcXVvdGVfcXR5PzogbnVtYmVyO1xufVxuIl19
@@ -42,10 +42,10 @@ export class EsolveSuppliersService {
42
42
  processSuppliers(record) {
43
43
  return new EsolveSupplier(record);
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSuppliersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSuppliersService, providedIn: 'root' }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSuppliersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSuppliersService, providedIn: 'root' }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSuppliersService, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSuppliersService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root',
@@ -62,10 +62,10 @@ export class EsolveTagsService {
62
62
  }
63
63
  return tags;
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTagsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTagsService, providedIn: 'root' }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTagsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTagsService, providedIn: 'root' }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTagsService, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTagsService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root',
@@ -39,10 +39,10 @@ export class EsolveTopicService {
39
39
  }
40
40
  return topics;
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTopicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTopicService, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTopicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTopicService, providedIn: 'root' }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTopicService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTopicService, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{
48
48
  providedIn: 'root',
@@ -116,10 +116,10 @@ export class EsolveTransactionsService {
116
116
  }
117
117
  return transactions;
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTransactionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTransactionsService, providedIn: 'root' }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTransactionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTransactionsService, providedIn: 'root' }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveTransactionsService, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveTransactionsService, decorators: [{
123
123
  type: Injectable,
124
124
  args: [{
125
125
  providedIn: 'root',
@@ -209,10 +209,10 @@ export class EsolveVouchersService {
209
209
  }
210
210
  return vouchers;
211
211
  }
212
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveVouchersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
213
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveVouchersService, providedIn: 'root' }); }
212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveVouchersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
213
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveVouchersService, providedIn: 'root' }); }
214
214
  }
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveVouchersService, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveVouchersService, decorators: [{
216
216
  type: Injectable,
217
217
  args: [{
218
218
  providedIn: 'root',
@@ -101,10 +101,10 @@ export class EsolveWishlistService {
101
101
  getWishlistRecords(params) {
102
102
  return this.http.get(`${this.config.api_url}/get-wishlist.php`, { params });
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveWishlistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveWishlistService, providedIn: 'root' }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveWishlistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveWishlistService, providedIn: 'root' }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveWishlistService, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveWishlistService, decorators: [{
108
108
  type: Injectable,
109
109
  args: [{
110
110
  providedIn: 'root',
@@ -22,10 +22,10 @@ export class EsolveMediaLayoutComponent {
22
22
  });
23
23
  this.portal = new ComponentPortal(component, null, injector);
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: EsolveMediaLayoutComponent, isStandalone: true, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [EsolveMediaLayoutService], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EsolveMediaLayoutComponent, isStandalone: true, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [EsolveMediaLayoutService], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ standalone: true, selector: 'eslv-media-layout', imports: [CommonModule, PortalModule], providers: [EsolveMediaLayoutService], template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n" }]
31
31
  }], propDecorators: { media: [{
@@ -34,10 +34,10 @@ export class EsolveMediaSectionComponent {
34
34
  this.portals.push(portal);
35
35
  }
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: EsolveMediaSectionComponent, isStandalone: true, selector: "eslv-media-section", inputs: { key: "key" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EsolveMediaSectionComponent, isStandalone: true, selector: "eslv-media-section", inputs: { key: "key" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaSectionComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaSectionComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ standalone: true, selector: 'eslv-media-section', imports: [CommonModule, PortalModule], template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n" }]
43
43
  }], propDecorators: { key: [{
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2ludGVyZmFjZXMvZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEVzb2x2ZUxheW91dFNlY3Rpb25Db25maWcgfSBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtc2VjdGlvbi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVMYXlvdXRDb25maWcge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIHNlY3Rpb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEZWZhdWx0IHNlY3Rpb25zIHRvIHVzZSBmb3IgZW50aXJlIGxheW91dFxuICAgICAgICAgKi9cbiAgICAgICAgX19kZWZhdWx0OiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW107XG4gICAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2ludGVyZmFjZXMvZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEVzb2x2ZUxheW91dFNlY3Rpb25Db25maWcgfSBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtc2VjdGlvbi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVMYXlvdXRDb25maWcge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIHNlY3Rpb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW10gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIERlZmF1bHQgc2VjdGlvbnMgdG8gdXNlIGZvciBlbnRpcmUgbGF5b3V0XG4gICAgICAgICAqL1xuICAgICAgICBfX2RlZmF1bHQ/OiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW107XG4gICAgfTtcbn1cbiJdfQ==
@@ -9,11 +9,11 @@ export class NgEsolveConnectMediaModule {
9
9
  providers: [provideNgEsolveConnectMedia(config)],
10
10
  };
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent], exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent], exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],
@@ -17,6 +17,9 @@ export class EsolveMediaLayoutService {
17
17
  if (layout.sections) {
18
18
  for (const section_group_key in layout.sections) {
19
19
  const sections = layout.sections[section_group_key];
20
+ if (!sections || sections.length === 0) {
21
+ continue;
22
+ }
20
23
  for (const section of sections) {
21
24
  const key_options = {
22
25
  type: section.key,
@@ -139,10 +142,10 @@ export class EsolveMediaLayoutService {
139
142
  }
140
143
  return key_array.join(this.section_key_delimiter);
141
144
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
146
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService }); }
144
147
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService, decorators: [{
146
149
  type: Injectable
147
150
  }], ctorParameters: function () { return []; } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL3NlcnZpY2VzL2Vzb2x2ZS1tZWRpYS1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFZbkYsTUFBTSxPQUFPLHdCQUF3QjtJQVVqQztRQVRpQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsOEJBQXlCLEdBQUcsV0FBVyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUc1QyxlQUFVLEdBQWlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckMsZ0JBQVcsR0FBaUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUkxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVuRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU3QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTSxpQkFBaUIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBRXBELEtB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LFdBQThCO1FBRTlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFdBQThCO1FBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFdEQsTUFBTSxTQUFTLEdBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyxJQUFJLFFBQVEsRUFBRTtZQUNWLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNSLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdkIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtTQUNKO1FBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBOUxRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVzb2x2ZU1lZGlhQXJ0aWNsZSwgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9NRURJQV9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1tZWRpYS1jb25maWcudG9rZW4nO1xuXG50eXBlIENvbXBvbmVudE1hcCA9IE1hcDxzdHJpbmcsIENvbXBvbmVudFR5cGU8YW55Pj47XG5cbnR5cGUgU2VjdGlvbktleU9wdGlvbnMgPSB7XG4gICAgdHlwZTogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZTtcbiAgICBzdWJfdHlwZT86IHN0cmluZztcbiAgICBsYXlvdXQ/OiBzdHJpbmc7XG4gICAgZ3JvdXA/OiBzdHJpbmc7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXNvbHZlTWVkaWFMYXlvdXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3Rpb25fa2V5X2RlbGltaXRlciA9ICc+Pj4nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdF9zZWN0aW9uX2dyb3VwX2tleSA9ICdfX2RlZmF1bHQnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdF9sYXlvdXRfa2V5ID0gJ19fZGVmYXVsdF9fJztcblxuICAgIHByaXZhdGUgbWVkaWE/OiBFc29sdmVNZWRpYUFydGljbGU7XG4gICAgcHJpdmF0ZSBsYXlvdXRfbWFwOiBDb21wb25lbnRNYXAgPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBzZWN0aW9uX21hcDogQ29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgZGVmYXVsdF9sYXlvdXQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSBpbmplY3QoRVNPTFZFX0NPTk5FQ1RfTUVESUFfQ09ORklHKTtcblxuICAgICAgICBpZiAoY29uZmlnLmxheW91dHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGxheW91dHMgaGF2ZSBiZWVuIGRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgbGF5b3V0IG9mIGNvbmZpZy5sYXlvdXRzKSB7XG4gICAgICAgICAgICB0aGlzLnNldExheW91dChsYXlvdXQua2V5LCBsYXlvdXQuY29tcG9uZW50KTtcblxuICAgICAgICAgICAgaWYgKGxheW91dC5zZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2VjdGlvbl9ncm91cF9rZXkgaW4gbGF5b3V0LnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlY3Rpb25zID0gbGF5b3V0LnNlY3Rpb25zW3NlY3Rpb25fZ3JvdXBfa2V5XTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2Ygc2VjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzZWN0aW9uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJfdHlwZTogc2VjdGlvbi5zdWJfa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDogbGF5b3V0LmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uX2dyb3VwX2tleSAhPT0gdGhpcy5kZWZhdWx0X3NlY3Rpb25fZ3JvdXBfa2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlfb3B0aW9ucy5ncm91cCA9IHNlY3Rpb25fZ3JvdXBfa2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNlY3Rpb24oc2VjdGlvbi5jb21wb25lbnQsIGtleV9vcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRfbGF5b3V0ID0gY29uZmlnLmRlZmF1bHRfbGF5b3V0O1xuXG4gICAgICAgIGlmIChkZWZhdWx0X2xheW91dCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X2xheW91dCA9IGRlZmF1bHRfbGF5b3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X2xheW91dCA9IGNvbmZpZy5sYXlvdXRzWzBdLmtleTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWcuc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uIG9mIGNvbmZpZy5zZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogc2VjdGlvbi5rZXksXG4gICAgICAgICAgICAgICAgICAgIHN1Yl90eXBlOiBzZWN0aW9uLnN1Yl9rZXksXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbihzZWN0aW9uLmNvbXBvbmVudCwga2V5X29wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1lZGlhKCkge1xuICAgICAgICBpZiAoIXRoaXMubWVkaWEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWVkaWEgbm90IGRlY2xhcmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZWRpYTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TWVkaWEobWVkaWE6IEVzb2x2ZU1lZGlhQXJ0aWNsZSkge1xuICAgICAgICB0aGlzLm1lZGlhID0gbWVkaWE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExheW91dCgpIHtcbiAgICAgICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgbGV0IGxheW91dF9rZXkgPSBtZWRpYS5sYXlvdXQ7XG5cbiAgICAgICAgaWYgKGxheW91dF9rZXkgPT09ICcnKSB7XG4gICAgICAgICAgICBsYXlvdXRfa2V5ID0gdGhpcy5kZWZhdWx0X2xheW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaExheW91dChsYXlvdXRfa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbnRlbnQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgaWYgKG1lZGlhLnNlY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gbWVkaWEuc2VjdGlvbnMuZ2V0KGtleSk7XG5cbiAgICAgICAgICAgIGlmIChzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlY3Rpb25Db21wb25lbnQoa2V5OiBzdHJpbmcsIHNlY3Rpb246IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvbikge1xuICAgICAgICBjb25zdCB0eXBlID0gc2VjdGlvbi50eXBlO1xuICAgICAgICBjb25zdCBzdWJfdHlwZSA9IHNlY3Rpb24uc3ViX3R5cGU7XG4gICAgICAgIGNvbnN0IHsgbGF5b3V0IH0gPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgY29uc3Qgc2VjdGlvbl9rZXkgPSB0aGlzLmNyZWF0ZVNlY3Rpb25NYXBLZXkoe1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIHN1Yl90eXBlLFxuICAgICAgICAgICAgbGF5b3V0LFxuICAgICAgICAgICAgZ3JvdXA6IGtleSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KHNlY3Rpb25fa2V5KTtcblxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGF5b3V0X2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KGxheW91dF9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYXNlX2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KGJhc2Vfa2V5KTtcblxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZWN0aW9uIGNvbXBvbmVudCBub3QgZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoTGF5b3V0KGxheW91dF9rZXk6IHN0cmluZykge1xuICAgICAgICBpZiAobGF5b3V0X2tleSA9PT0gdGhpcy5kZWZhdWx0X2xheW91dF9rZXkpIHtcbiAgICAgICAgICAgIGxheW91dF9rZXkgPSB0aGlzLmRlZmF1bHRfbGF5b3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5sYXlvdXRfbWFwLmdldChsYXlvdXRfa2V5KTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMYXlvdXQgbm90IGRlY2xhcmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGF5b3V0KGtleTogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55Pikge1xuICAgICAgICB0aGlzLmxheW91dF9tYXAuc2V0KGtleSwgY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlY3Rpb24oXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+LFxuICAgICAgICBrZXlfb3B0aW9uczogU2VjdGlvbktleU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleShrZXlfb3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5zZWN0aW9uX21hcC5zZXQoa2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2VjdGlvbk1hcEtleShrZXlfb3B0aW9uczogU2VjdGlvbktleU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBzdWJfdHlwZSwgbGF5b3V0LCBncm91cCB9ID0ga2V5X29wdGlvbnM7XG5cbiAgICAgICAgY29uc3Qga2V5X2FycmF5OiBzdHJpbmdbXSA9IFt0eXBlXTtcblxuICAgICAgICBpZiAoc3ViX3R5cGUpIHtcbiAgICAgICAgICAgIGtleV9hcnJheS5wdXNoKHN1Yl90eXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXlvdXQpIHtcbiAgICAgICAgICAgIGtleV9hcnJheS5wdXNoKGxheW91dCk7XG5cbiAgICAgICAgICAgIGlmIChncm91cCkge1xuICAgICAgICAgICAgICAgIGtleV9hcnJheS5wdXNoKGdyb3VwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXlfYXJyYXkuam9pbih0aGlzLnNlY3Rpb25fa2V5X2RlbGltaXRlcik7XG4gICAgfVxufVxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL3NlcnZpY2VzL2Vzb2x2ZS1tZWRpYS1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFZbkYsTUFBTSxPQUFPLHdCQUF3QjtJQVVqQztRQVRpQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsOEJBQXlCLEdBQUcsV0FBVyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUc1QyxlQUFVLEdBQWlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckMsZ0JBQVcsR0FBaUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUkxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVuRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU3QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTSxpQkFBaUIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBRXBELElB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QyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVLENBQ2QsU0FBNkIsRUFDN0IsV0FBOEI7UUFFOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsV0FBOEI7UUFDdEQsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUV0RCxNQUFNLFNBQVMsR0FBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksUUFBUSxFQUFFO1lBQ1YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2QixJQUFJLEtBQUssRUFBRTtnQkFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1NBQ0o7UUFFRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FsTVEsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlLCBFc29sdmVNZWRpYUxheW91dFNlY3Rpb24gfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX01FRElBX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LW1lZGlhLWNvbmZpZy50b2tlbic7XG5cbnR5cGUgQ29tcG9uZW50TWFwID0gTWFwPHN0cmluZywgQ29tcG9uZW50VHlwZTxhbnk+PjtcblxudHlwZSBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICB0eXBlOiBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlO1xuICAgIHN1Yl90eXBlPzogc3RyaW5nO1xuICAgIGxheW91dD86IHN0cmluZztcbiAgICBncm91cD86IHN0cmluZztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYUxheW91dFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdGlvbl9rZXlfZGVsaW1pdGVyID0gJz4+Pic7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0X3NlY3Rpb25fZ3JvdXBfa2V5ID0gJ19fZGVmYXVsdCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0X2xheW91dF9rZXkgPSAnX19kZWZhdWx0X18nO1xuXG4gICAgcHJpdmF0ZSBtZWRpYT86IEVzb2x2ZU1lZGlhQXJ0aWNsZTtcbiAgICBwcml2YXRlIGxheW91dF9tYXA6IENvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcbiAgICBwcml2YXRlIHNlY3Rpb25fbWFwOiBDb21wb25lbnRNYXAgPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBkZWZhdWx0X2xheW91dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChFU09MVkVfQ09OTkVDVF9NRURJQV9DT05GSUcpO1xuXG4gICAgICAgIGlmIChjb25maWcubGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gbGF5b3V0cyBoYXZlIGJlZW4gZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBsYXlvdXQgb2YgY29uZmlnLmxheW91dHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGF5b3V0KGxheW91dC5rZXksIGxheW91dC5jb21wb25lbnQpO1xuXG4gICAgICAgICAgICBpZiAobGF5b3V0LnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uX2dyb3VwX2tleSBpbiBsYXlvdXQuc2VjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSBsYXlvdXQuc2VjdGlvbnNbc2VjdGlvbl9ncm91cF9rZXldO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghc2VjdGlvbnMgfHwgc2VjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2VjdGlvbiBvZiBzZWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5X29wdGlvbnM6IFNlY3Rpb25LZXlPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHNlY3Rpb24ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl90eXBlOiBzZWN0aW9uLnN1Yl9rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBsYXlvdXQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb25fZ3JvdXBfa2V5ICE9PSB0aGlzLmRlZmF1bHRfc2VjdGlvbl9ncm91cF9rZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9vcHRpb25zLmdyb3VwID0gc2VjdGlvbl9ncm91cF9rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbihzZWN0aW9uLmNvbXBvbmVudCwga2V5X29wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdF9sYXlvdXQgPSBjb25maWcuZGVmYXVsdF9sYXlvdXQ7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRfbGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfbGF5b3V0ID0gZGVmYXVsdF9sYXlvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfbGF5b3V0ID0gY29uZmlnLmxheW91dHNbMF0ua2V5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5zZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2YgY29uZmlnLnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5X29wdGlvbnM6IFNlY3Rpb25LZXlPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBzZWN0aW9uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgc3ViX3R5cGU6IHNlY3Rpb24uc3ViX2tleSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTZWN0aW9uKHNlY3Rpb24uY29tcG9uZW50LCBrZXlfb3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVkaWEoKSB7XG4gICAgICAgIGlmICghdGhpcy5tZWRpYSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZWRpYSBub3QgZGVjbGFyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRNZWRpYShtZWRpYTogRXNvbHZlTWVkaWFBcnRpY2xlKSB7XG4gICAgICAgIHRoaXMubWVkaWEgPSBtZWRpYTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGF5b3V0KCkge1xuICAgICAgICBjb25zdCBtZWRpYSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBsZXQgbGF5b3V0X2tleSA9IG1lZGlhLmxheW91dDtcblxuICAgICAgICBpZiAobGF5b3V0X2tleSA9PT0gJycpIHtcbiAgICAgICAgICAgIGxheW91dF9rZXkgPSB0aGlzLmRlZmF1bHRfbGF5b3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoTGF5b3V0KGxheW91dF9rZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWN0aW9uQ29udGVudChrZXk6IHN0cmluZykge1xuICAgICAgICBjb25zdCBtZWRpYSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBpZiAobWVkaWEuc2VjdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSBtZWRpYS5zZWN0aW9ucy5nZXQoa2V5KTtcblxuICAgICAgICAgICAgaWYgKHNlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbXBvbmVudChrZXk6IHN0cmluZywgc2VjdGlvbjogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBzZWN0aW9uLnR5cGU7XG4gICAgICAgIGNvbnN0IHN1Yl90eXBlID0gc2VjdGlvbi5zdWJfdHlwZTtcbiAgICAgICAgY29uc3QgeyBsYXlvdXQgfSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uX2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICBncm91cDoga2V5LFxuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQoc2VjdGlvbl9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXlvdXRfa2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBzdWJfdHlwZSxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQobGF5b3V0X2tleSk7XG5cbiAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2Vfa2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBzdWJfdHlwZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQoYmFzZV9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3Rpb24gY29tcG9uZW50IG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hMYXlvdXQobGF5b3V0X2tleTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChsYXlvdXRfa2V5ID09PSB0aGlzLmRlZmF1bHRfbGF5b3V0X2tleSkge1xuICAgICAgICAgICAgbGF5b3V0X2tleSA9IHRoaXMuZGVmYXVsdF9sYXlvdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmxheW91dF9tYXAuZ2V0KGxheW91dF9rZXkpO1xuXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xheW91dCBub3QgZGVjbGFyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMYXlvdXQoa2V5OiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+KSB7XG4gICAgICAgIHRoaXMubGF5b3V0X21hcC5zZXQoa2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2VjdGlvbihcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT4sXG4gICAgICAgIGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zKTtcblxuICAgICAgICB0aGlzLnNlY3Rpb25fbWFwLnNldChrZXksIGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IHR5cGUsIHN1Yl90eXBlLCBsYXlvdXQsIGdyb3VwIH0gPSBrZXlfb3B0aW9ucztcblxuICAgICAgICBjb25zdCBrZXlfYXJyYXk6IHN0cmluZ1tdID0gW3R5cGVdO1xuXG4gICAgICAgIGlmIChzdWJfdHlwZSkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2goc3ViX3R5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2gobGF5b3V0KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwKSB7XG4gICAgICAgICAgICAgICAga2V5X2FycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleV9hcnJheS5qb2luKHRoaXMuc2VjdGlvbl9rZXlfZGVsaW1pdGVyKTtcbiAgICB9XG59XG4iXX0=
@@ -98,10 +98,10 @@ export class EsolveMediaService {
98
98
  getMediaRecords(params) {
99
99
  return this.http.get(`${this.config.api_url}/get-media.php`, { params });
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
102
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, providedIn: 'root' }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
102
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, providedIn: 'root' }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, decorators: [{
105
105
  type: Injectable,
106
106
  args: [{
107
107
  providedIn: 'root',
@@ -33,10 +33,10 @@ export class EsolveNotificationsService {
33
33
  }
34
34
  return notifications;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveNotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveNotificationsService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveNotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveNotificationsService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveNotificationsService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveNotificationsService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root',
@@ -88,10 +88,10 @@ export class EsolveSurveyService {
88
88
  }
89
89
  return params;
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSurveyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSurveyService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSurveyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSurveyService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveSurveyService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveSurveyService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root',
@@ -218,10 +218,10 @@ class EsolveMediaService {
218
218
  getMediaRecords(params) {
219
219
  return this.http.get(`${this.config.api_url}/get-media.php`, { params });
220
220
  }
221
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
222
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, providedIn: 'root' }); }
221
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
222
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, providedIn: 'root' }); }
223
223
  }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaService, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaService, decorators: [{
225
225
  type: Injectable,
226
226
  args: [{
227
227
  providedIn: 'root',
@@ -246,6 +246,9 @@ class EsolveMediaLayoutService {
246
246
  if (layout.sections) {
247
247
  for (const section_group_key in layout.sections) {
248
248
  const sections = layout.sections[section_group_key];
249
+ if (!sections || sections.length === 0) {
250
+ continue;
251
+ }
249
252
  for (const section of sections) {
250
253
  const key_options = {
251
254
  type: section.key,
@@ -368,10 +371,10 @@ class EsolveMediaLayoutService {
368
371
  }
369
372
  return key_array.join(this.section_key_delimiter);
370
373
  }
371
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
372
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService }); }
374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
375
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService }); }
373
376
  }
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService, decorators: [{
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutService, decorators: [{
375
378
  type: Injectable
376
379
  }], ctorParameters: function () { return []; } });
377
380
 
@@ -392,10 +395,10 @@ class EsolveMediaLayoutComponent {
392
395
  });
393
396
  this.portal = new ComponentPortal(component, null, injector);
394
397
  }
395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
396
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: EsolveMediaLayoutComponent, isStandalone: true, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [EsolveMediaLayoutService], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
398
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
399
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EsolveMediaLayoutComponent, isStandalone: true, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [EsolveMediaLayoutService], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
397
400
  }
398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
399
402
  type: Component,
400
403
  args: [{ standalone: true, selector: 'eslv-media-layout', imports: [CommonModule, PortalModule], providers: [EsolveMediaLayoutService], template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n" }]
401
404
  }], propDecorators: { media: [{
@@ -431,10 +434,10 @@ class EsolveMediaSectionComponent {
431
434
  this.portals.push(portal);
432
435
  }
433
436
  }
434
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
435
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: EsolveMediaSectionComponent, isStandalone: true, selector: "eslv-media-section", inputs: { key: "key" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
438
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EsolveMediaSectionComponent, isStandalone: true, selector: "eslv-media-section", inputs: { key: "key" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
436
439
  }
437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaSectionComponent, decorators: [{
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EsolveMediaSectionComponent, decorators: [{
438
441
  type: Component,
439
442
  args: [{ standalone: true, selector: 'eslv-media-section', imports: [CommonModule, PortalModule], template: "<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n" }]
440
443
  }], propDecorators: { key: [{
@@ -456,11 +459,11 @@ class NgEsolveConnectMediaModule {
456
459
  providers: [provideNgEsolveConnectMedia(config)],
457
460
  };
458
461
  }
459
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
460
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent], exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
461
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
463
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent], exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
464
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] }); }
462
465
  }
463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: NgEsolveConnectMediaModule, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgEsolveConnectMediaModule, decorators: [{
464
467
  type: NgModule,
465
468
  args: [{
466
469
  imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],