@ngxs/store 18.1.6-dev.master-d290a0e → 18.1.6-dev.master-a9e7ff3

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 (144) hide show
  1. package/experimental/index.d.ts +6 -5
  2. package/fesm2022/ngxs-store-experimental.mjs +8 -25
  3. package/fesm2022/ngxs-store-experimental.mjs.map +1 -1
  4. package/fesm2022/ngxs-store-internals-testing.mjs +8 -9
  5. package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -1
  6. package/fesm2022/ngxs-store-internals.mjs +6 -6
  7. package/fesm2022/ngxs-store-internals.mjs.map +1 -1
  8. package/fesm2022/ngxs-store-operators.mjs.map +1 -1
  9. package/fesm2022/ngxs-store-plugins.mjs.map +1 -1
  10. package/fesm2022/ngxs-store.mjs +101 -72
  11. package/fesm2022/ngxs-store.mjs.map +1 -1
  12. package/index.d.ts +11 -1
  13. package/package.json +2 -14
  14. package/schematics/src/actions/actions.factory.js +1 -2
  15. package/schematics/src/actions/actions.factory.js.map +1 -1
  16. package/schematics/src/ng-add/add-declaration.js +2 -3
  17. package/schematics/src/ng-add/add-declaration.js.map +1 -1
  18. package/schematics/src/ng-add/ng-add.factory.js +1 -2
  19. package/schematics/src/ng-add/ng-add.factory.js.map +1 -1
  20. package/schematics/src/starter-kit/starter-kit.factory.js +1 -2
  21. package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -1
  22. package/schematics/src/state/state.factory.js +1 -2
  23. package/schematics/src/state/state.factory.js.map +1 -1
  24. package/schematics/src/store/store.factory.js +1 -2
  25. package/schematics/src/store/store.factory.js.map +1 -1
  26. package/schematics/src/utils/common/properties.js +1 -2
  27. package/schematics/src/utils/common/properties.js.map +1 -1
  28. package/schematics/src/utils/config.js +2 -3
  29. package/schematics/src/utils/config.js.map +1 -1
  30. package/schematics/src/utils/generate-utils.js +1 -2
  31. package/schematics/src/utils/generate-utils.js.map +1 -1
  32. package/schematics/src/utils/normalize-options.js +3 -4
  33. package/schematics/src/utils/normalize-options.js.map +1 -1
  34. package/schematics/src/utils/project.js +4 -5
  35. package/schematics/src/utils/project.js.map +1 -1
  36. package/esm2022/experimental/index.mjs +0 -2
  37. package/esm2022/experimental/ngxs-store-experimental.mjs +0 -5
  38. package/esm2022/experimental/pending-tasks.mjs +0 -30
  39. package/esm2022/index.mjs +0 -13
  40. package/esm2022/internals/custom-rxjs-operators.mjs +0 -19
  41. package/esm2022/internals/custom-rxjs-subjects.mjs +0 -92
  42. package/esm2022/internals/index.mjs +0 -11
  43. package/esm2022/internals/initial-state.mjs +0 -17
  44. package/esm2022/internals/internal-tokens.mjs +0 -5
  45. package/esm2022/internals/memoize.mjs +0 -43
  46. package/esm2022/internals/metadata.mjs +0 -57
  47. package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +0 -19
  48. package/esm2022/internals/ngxs-store-internals.mjs +0 -5
  49. package/esm2022/internals/state-stream.mjs +0 -33
  50. package/esm2022/internals/state-token.mjs +0 -17
  51. package/esm2022/internals/symbols.mjs +0 -11
  52. package/esm2022/internals/testing/fresh-platform.mjs +0 -72
  53. package/esm2022/internals/testing/helpers/ngxs-test.component.mjs +0 -16
  54. package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +0 -20
  55. package/esm2022/internals/testing/index.mjs +0 -4
  56. package/esm2022/internals/testing/ngxs-store-internals-testing.mjs +0 -5
  57. package/esm2022/internals/testing/ngxs.setup.mjs +0 -49
  58. package/esm2022/internals/testing/skip-console-logging.mjs +0 -37
  59. package/esm2022/internals/testing/symbol.mjs +0 -2
  60. package/esm2022/ngxs-store.mjs +0 -5
  61. package/esm2022/operators/append.mjs +0 -20
  62. package/esm2022/operators/compose.mjs +0 -6
  63. package/esm2022/operators/iif.mjs +0 -38
  64. package/esm2022/operators/index.mjs +0 -14
  65. package/esm2022/operators/insert-item.mjs +0 -29
  66. package/esm2022/operators/ngxs-store-operators.mjs +0 -5
  67. package/esm2022/operators/patch.mjs +0 -21
  68. package/esm2022/operators/remove-item.mjs +0 -22
  69. package/esm2022/operators/types.mjs +0 -2
  70. package/esm2022/operators/update-item.mjs +0 -40
  71. package/esm2022/operators/utils.mjs +0 -19
  72. package/esm2022/plugins/actions.mjs +0 -16
  73. package/esm2022/plugins/index.mjs +0 -4
  74. package/esm2022/plugins/ngxs-store-plugins.mjs +0 -5
  75. package/esm2022/plugins/symbols.mjs +0 -15
  76. package/esm2022/plugins/utils.mjs +0 -51
  77. package/esm2022/src/actions/action-registry.mjs +0 -34
  78. package/esm2022/src/actions/symbols.mjs +0 -2
  79. package/esm2022/src/actions-stream.mjs +0 -61
  80. package/esm2022/src/configs/messages.config.mjs +0 -48
  81. package/esm2022/src/decorators/action.mjs +0 -31
  82. package/esm2022/src/decorators/select/select-factory.mjs +0 -29
  83. package/esm2022/src/decorators/select/select.mjs +0 -29
  84. package/esm2022/src/decorators/select/symbols.mjs +0 -29
  85. package/esm2022/src/decorators/selector/selector.mjs +0 -29
  86. package/esm2022/src/decorators/selector/symbols.mjs +0 -2
  87. package/esm2022/src/decorators/selector-options.mjs +0 -21
  88. package/esm2022/src/decorators/state.mjs +0 -35
  89. package/esm2022/src/dev-features/ngxs-development.module.mjs +0 -28
  90. package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +0 -43
  91. package/esm2022/src/dev-features/symbols.mjs +0 -7
  92. package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +0 -52
  93. package/esm2022/src/execution/internal-ngxs-execution-strategy.mjs +0 -21
  94. package/esm2022/src/execution/noop-ngxs-execution-strategy.mjs +0 -17
  95. package/esm2022/src/execution/symbols.mjs +0 -28
  96. package/esm2022/src/internal/dispatcher.mjs +0 -125
  97. package/esm2022/src/internal/fallback-subscriber.mjs +0 -29
  98. package/esm2022/src/internal/internals.mjs +0 -205
  99. package/esm2022/src/internal/lifecycle-state-manager.mjs +0 -81
  100. package/esm2022/src/internal/provide-internal-tokens.mjs +0 -20
  101. package/esm2022/src/internal/state-context-factory.mjs +0 -70
  102. package/esm2022/src/internal/state-factory.mjs +0 -311
  103. package/esm2022/src/internal/state-operations.mjs +0 -60
  104. package/esm2022/src/internal/state-operators.mjs +0 -20
  105. package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +0 -46
  106. package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -25
  107. package/esm2022/src/module.mjs +0 -27
  108. package/esm2022/src/modules/ngxs-feature.module.mjs +0 -18
  109. package/esm2022/src/modules/ngxs-root.module.mjs +0 -18
  110. package/esm2022/src/ngxs-unhandled-error-handler.mjs +0 -29
  111. package/esm2022/src/operators/leave-ngxs.mjs +0 -9
  112. package/esm2022/src/operators/of-action.mjs +0 -104
  113. package/esm2022/src/plugin-manager.mjs +0 -34
  114. package/esm2022/src/plugin_api.mjs +0 -2
  115. package/esm2022/src/private_api.mjs +0 -5
  116. package/esm2022/src/public_api.mjs +0 -20
  117. package/esm2022/src/selectors/create-model-selector.mjs +0 -30
  118. package/esm2022/src/selectors/create-pick-selector.mjs +0 -16
  119. package/esm2022/src/selectors/create-property-selectors.mjs +0 -20
  120. package/esm2022/src/selectors/create-selector.mjs +0 -9
  121. package/esm2022/src/selectors/index.mjs +0 -6
  122. package/esm2022/src/selectors/private_api.mjs +0 -2
  123. package/esm2022/src/selectors/selector-checks.util.mjs +0 -43
  124. package/esm2022/src/selectors/selector-metadata.mjs +0 -35
  125. package/esm2022/src/selectors/selector-models.mjs +0 -2
  126. package/esm2022/src/selectors/selector-types.util.mjs +0 -2
  127. package/esm2022/src/selectors/selector-utils.mjs +0 -95
  128. package/esm2022/src/standalone-features/feature-providers.mjs +0 -18
  129. package/esm2022/src/standalone-features/index.mjs +0 -5
  130. package/esm2022/src/standalone-features/initializers.mjs +0 -94
  131. package/esm2022/src/standalone-features/plugin.mjs +0 -33
  132. package/esm2022/src/standalone-features/preboot.mjs +0 -31
  133. package/esm2022/src/standalone-features/provide-states.mjs +0 -26
  134. package/esm2022/src/standalone-features/provide-store.mjs +0 -26
  135. package/esm2022/src/standalone-features/root-providers.mjs +0 -34
  136. package/esm2022/src/store.mjs +0 -117
  137. package/esm2022/src/symbols.mjs +0 -86
  138. package/esm2022/src/utils/create-dispatch-map.mjs +0 -11
  139. package/esm2022/src/utils/create-select-map.mjs +0 -13
  140. package/esm2022/src/utils/dispatch.mjs +0 -7
  141. package/esm2022/src/utils/freeze.mjs +0 -20
  142. package/esm2022/src/utils/public_api.mjs +0 -5
  143. package/esm2022/src/utils/select.mjs +0 -19
  144. package/esm2022/src/utils/store-validators.mjs +0 -25
@@ -1,20 +0,0 @@
1
- /**
2
- * Object freeze code
3
- * https://github.com/jsdf/deep-freeze
4
- */
5
- export const deepFreeze = (o) => {
6
- Object.freeze(o);
7
- const oIsFunction = typeof o === 'function';
8
- const hasOwnProp = Object.prototype.hasOwnProperty;
9
- Object.getOwnPropertyNames(o).forEach(function (prop) {
10
- if (hasOwnProp.call(o, prop) &&
11
- (oIsFunction ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments' : true) &&
12
- o[prop] !== null &&
13
- (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&
14
- !Object.isFrozen(o[prop])) {
15
- deepFreeze(o[prop]);
16
- }
17
- });
18
- return o;
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3V0aWxzL2ZyZWV6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtJQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztJQUM1QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztJQUVuRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSTtRQUNsRCxJQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN4QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyRixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSTtZQUNoQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLENBQUM7WUFDOUQsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN6QixDQUFDO1lBQ0QsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPYmplY3QgZnJlZXplIGNvZGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qc2RmL2RlZXAtZnJlZXplXG4gKi9cbmV4cG9ydCBjb25zdCBkZWVwRnJlZXplID0gKG86IGFueSkgPT4ge1xuICBPYmplY3QuZnJlZXplKG8pO1xuXG4gIGNvbnN0IG9Jc0Z1bmN0aW9uID0gdHlwZW9mIG8gPT09ICdmdW5jdGlvbic7XG4gIGNvbnN0IGhhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG4gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG8pLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICBpZiAoXG4gICAgICBoYXNPd25Qcm9wLmNhbGwobywgcHJvcCkgJiZcbiAgICAgIChvSXNGdW5jdGlvbiA/IHByb3AgIT09ICdjYWxsZXInICYmIHByb3AgIT09ICdjYWxsZWUnICYmIHByb3AgIT09ICdhcmd1bWVudHMnIDogdHJ1ZSkgJiZcbiAgICAgIG9bcHJvcF0gIT09IG51bGwgJiZcbiAgICAgICh0eXBlb2Ygb1twcm9wXSA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9bcHJvcF0gPT09ICdmdW5jdGlvbicpICYmXG4gICAgICAhT2JqZWN0LmlzRnJvemVuKG9bcHJvcF0pXG4gICAgKSB7XG4gICAgICBkZWVwRnJlZXplKG9bcHJvcF0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG87XG59O1xuIl19
@@ -1,5 +0,0 @@
1
- export { select } from './select';
2
- export { dispatch } from './dispatch';
3
- export { createSelectMap } from './create-select-map';
4
- export { createDispatchMap } from './create-dispatch-map';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy91dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBzZWxlY3QgfSBmcm9tICcuL3NlbGVjdCc7XG5leHBvcnQgeyBkaXNwYXRjaCB9IGZyb20gJy4vZGlzcGF0Y2gnO1xuZXhwb3J0IHsgU2VsZWN0b3JNYXAsIGNyZWF0ZVNlbGVjdE1hcCB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdC1tYXAnO1xuZXhwb3J0IHsgQWN0aW9uTWFwLCBjcmVhdGVEaXNwYXRjaE1hcCB9IGZyb20gJy4vY3JlYXRlLWRpc3BhdGNoLW1hcCc7XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { Store } from '../store';
3
- /**
4
- * This function serves as a utility and has multiple purposes.
5
- * Firstly, it allows you to select properties from the state class
6
- * without having to inject the store class and use `this.store.selectSignal`,
7
- * resulting in a more concise implementation. Secondly, it can be used with
8
- * other solutions such as NgRx signal store with its `signalStoreFeature` or
9
- * `withComputed` functionalities.
10
- *
11
- * Please note that it's named `select` instead of `selectSignal` because
12
- * signals are evolving into first-class primitives in Angular, displacing other
13
- * primitives such as observables. Observables represent a stream of events,
14
- * whereas signals represent a single value changing over time.
15
- */
16
- export function select(selector) {
17
- return inject(Store).selectSignal(selector);
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3V0aWxzL3NlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHakM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBSSxRQUEwQjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgVHlwZWRTZWxlY3RvciB9IGZyb20gJy4uL3NlbGVjdG9ycyc7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBzZXJ2ZXMgYXMgYSB1dGlsaXR5IGFuZCBoYXMgbXVsdGlwbGUgcHVycG9zZXMuXG4gKiBGaXJzdGx5LCBpdCBhbGxvd3MgeW91IHRvIHNlbGVjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIHN0YXRlIGNsYXNzXG4gKiB3aXRob3V0IGhhdmluZyB0byBpbmplY3QgdGhlIHN0b3JlIGNsYXNzIGFuZCB1c2UgYHRoaXMuc3RvcmUuc2VsZWN0U2lnbmFsYCxcbiAqIHJlc3VsdGluZyBpbiBhIG1vcmUgY29uY2lzZSBpbXBsZW1lbnRhdGlvbi4gU2Vjb25kbHksIGl0IGNhbiBiZSB1c2VkIHdpdGhcbiAqIG90aGVyIHNvbHV0aW9ucyBzdWNoIGFzIE5nUnggc2lnbmFsIHN0b3JlIHdpdGggaXRzIGBzaWduYWxTdG9yZUZlYXR1cmVgIG9yXG4gKiBgd2l0aENvbXB1dGVkYCBmdW5jdGlvbmFsaXRpZXMuXG4gKlxuICogUGxlYXNlIG5vdGUgdGhhdCBpdCdzIG5hbWVkIGBzZWxlY3RgIGluc3RlYWQgb2YgYHNlbGVjdFNpZ25hbGAgYmVjYXVzZVxuICogc2lnbmFscyBhcmUgZXZvbHZpbmcgaW50byBmaXJzdC1jbGFzcyBwcmltaXRpdmVzIGluIEFuZ3VsYXIsIGRpc3BsYWNpbmcgb3RoZXJcbiAqIHByaW1pdGl2ZXMgc3VjaCBhcyBvYnNlcnZhYmxlcy4gT2JzZXJ2YWJsZXMgcmVwcmVzZW50IGEgc3RyZWFtIG9mIGV2ZW50cyxcbiAqIHdoZXJlYXMgc2lnbmFscyByZXByZXNlbnQgYSBzaW5nbGUgdmFsdWUgY2hhbmdpbmcgb3ZlciB0aW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogU2lnbmFsPFQ+IHtcbiAgcmV0dXJuIGluamVjdChTdG9yZSkuc2VsZWN0U2lnbmFsKHNlbGVjdG9yKTtcbn1cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { ɵgetStoreMetadata } from '@ngxs/store/internals';
2
- import { throwStateDecoratorError, throwStateNameError, throwStateNamePropertyError, throwStateUniqueError } from '../configs/messages.config';
3
- const stateNameRegex = new RegExp('^[a-zA-Z0-9_]+$');
4
- export function ensureStateNameIsValid(name) {
5
- if (!name) {
6
- throwStateNamePropertyError();
7
- }
8
- else if (!stateNameRegex.test(name)) {
9
- throwStateNameError(name);
10
- }
11
- }
12
- export function ensureStateNameIsUnique(stateName, state, statesByName) {
13
- const existingState = statesByName[stateName];
14
- if (existingState && existingState !== state) {
15
- throwStateUniqueError(stateName, state.name, existingState.name);
16
- }
17
- }
18
- export function ensureStatesAreDecorated(stateClasses) {
19
- stateClasses.forEach((stateClass) => {
20
- if (!ɵgetStoreMetadata(stateClass)) {
21
- throwStateDecoratorError(stateClass.name);
22
- }
23
- });
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy91dGlscy9zdG9yZS12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3RCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVyRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBbUI7SUFDeEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsMkJBQTJCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO1NBQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsU0FBaUIsRUFDakIsS0FBMEIsRUFDMUIsWUFBMEI7SUFFMUIsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLElBQUksYUFBYSxJQUFJLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUM3QyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsWUFBbUM7SUFDMUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQStCLEVBQUUsRUFBRTtRQUN2RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U3RhdGVDbGFzc0ludGVybmFsLCDJtWdldFN0b3JlTWV0YWRhdGEgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBTdGF0ZXNCeU5hbWUgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHtcbiAgdGhyb3dTdGF0ZURlY29yYXRvckVycm9yLFxuICB0aHJvd1N0YXRlTmFtZUVycm9yLFxuICB0aHJvd1N0YXRlTmFtZVByb3BlcnR5RXJyb3IsXG4gIHRocm93U3RhdGVVbmlxdWVFcnJvclxufSBmcm9tICcuLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XG5cbmNvbnN0IHN0YXRlTmFtZVJlZ2V4ID0gbmV3IFJlZ0V4cCgnXlthLXpBLVowLTlfXSskJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdGF0ZU5hbWVJc1ZhbGlkKG5hbWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHwgbmV2ZXIge1xuICBpZiAoIW5hbWUpIHtcbiAgICB0aHJvd1N0YXRlTmFtZVByb3BlcnR5RXJyb3IoKTtcbiAgfSBlbHNlIGlmICghc3RhdGVOYW1lUmVnZXgudGVzdChuYW1lKSkge1xuICAgIHRocm93U3RhdGVOYW1lRXJyb3IobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0YXRlTmFtZUlzVW5pcXVlKFxuICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgc3RhdGU6IMm1U3RhdGVDbGFzc0ludGVybmFsLFxuICBzdGF0ZXNCeU5hbWU6IFN0YXRlc0J5TmFtZVxuKTogdm9pZCB8IG5ldmVyIHtcbiAgY29uc3QgZXhpc3RpbmdTdGF0ZSA9IHN0YXRlc0J5TmFtZVtzdGF0ZU5hbWVdO1xuICBpZiAoZXhpc3RpbmdTdGF0ZSAmJiBleGlzdGluZ1N0YXRlICE9PSBzdGF0ZSkge1xuICAgIHRocm93U3RhdGVVbmlxdWVFcnJvcihzdGF0ZU5hbWUsIHN0YXRlLm5hbWUsIGV4aXN0aW5nU3RhdGUubmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0YXRlc0FyZURlY29yYXRlZChzdGF0ZUNsYXNzZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10pOiB2b2lkIHwgbmV2ZXIge1xuICBzdGF0ZUNsYXNzZXMuZm9yRWFjaCgoc3RhdGVDbGFzczogybVTdGF0ZUNsYXNzSW50ZXJuYWwpID0+IHtcbiAgICBpZiAoIcm1Z2V0U3RvcmVNZXRhZGF0YShzdGF0ZUNsYXNzKSkge1xuICAgICAgdGhyb3dTdGF0ZURlY29yYXRvckVycm9yKHN0YXRlQ2xhc3MubmFtZSk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==