@data-client/core 0.14.19 → 0.14.21
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.
- package/dist/index.js +5 -8
- package/dist/index.umd.min.js +1 -1
- package/legacy/controller/Controller.js +4 -5
- package/legacy/controller/actions/createFetch.js +2 -3
- package/legacy/controller/ensurePojo.js +2 -3
- package/legacy/manager/DevtoolsManager.js +6 -12
- package/legacy/manager/NetworkManager.js +5 -7
- package/legacy/manager/PollingSubscription.js +3 -6
- package/legacy/manager/SubscriptionManager.js +3 -4
- package/legacy/state/GCPolicy.js +5 -7
- package/legacy/state/reducer/createReducer.js +1 -1
- package/legacy/state/reducer/expireReducer.js +1 -1
- package/legacy/state/reducer/fetchReducer.js +1 -1
- package/legacy/state/reducer/invalidateReducer.js +1 -1
- package/legacy/state/reducer/setResponseReducer.js +1 -1
- package/lib/manager/DevtoolsManager.js +3 -7
- package/lib/manager/NetworkManager.js +2 -3
- package/lib/state/GCPolicy.js +5 -7
- package/package.json +5 -6
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
var _DevToolsManager;
|
|
3
|
-
import _globalThis from "core-js-pure/stable/global-this.js";
|
|
4
|
-
import _endsWithInstanceProperty from "core-js-pure/stable/instance/ends-with.js";
|
|
5
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
6
|
-
import _reduceInstanceProperty from "core-js-pure/stable/instance/reduce.js";
|
|
7
3
|
import createReducer from '../state/reducer/createReducer.js';
|
|
8
4
|
let DEFAULT_CONFIG = {};
|
|
9
5
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -23,7 +19,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
23
19
|
}
|
|
24
20
|
const HASINTL = typeof Intl !== 'undefined';
|
|
25
21
|
DEFAULT_CONFIG = {
|
|
26
|
-
name: `Data Client: ${(_globalThis$document =
|
|
22
|
+
name: `Data Client: ${(_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.title}`,
|
|
27
23
|
autoPause: true,
|
|
28
24
|
features: {
|
|
29
25
|
pause: true,
|
|
@@ -56,7 +52,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
56
52
|
options: undefined,
|
|
57
53
|
/* istanbul ignore next */
|
|
58
54
|
replacer: HASINTL ? (key, value) => {
|
|
59
|
-
if (typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' ||
|
|
55
|
+
if (typeof value === 'number' && typeof key === 'string' && isFinite(value) && (key === 'date' || key.endsWith('At'))) {
|
|
60
56
|
return Intl.DateTimeFormat('en-US', {
|
|
61
57
|
hour: 'numeric',
|
|
62
58
|
minute: 'numeric',
|
|
@@ -91,12 +87,11 @@ export default class DevToolsManager {
|
|
|
91
87
|
if (this.started) {
|
|
92
88
|
this.devTools.send(action, state);
|
|
93
89
|
} else {
|
|
94
|
-
var _context;
|
|
95
90
|
// avoid this getting too big in case this is long running
|
|
96
91
|
// we cut in half so we aren't constantly reallocating
|
|
97
92
|
if (this.actions.length > this.maxBufferLength) this.actions = this.actions.slice(this.maxBufferLength / 2);
|
|
98
93
|
// queue actions
|
|
99
|
-
|
|
94
|
+
this.actions.push([action, state]);
|
|
100
95
|
}
|
|
101
96
|
}
|
|
102
97
|
|
|
@@ -152,9 +147,8 @@ _DevToolsManager = DevToolsManager;
|
|
|
152
147
|
state = controller.getState();
|
|
153
148
|
}
|
|
154
149
|
ret.then(() => {
|
|
155
|
-
var _context2;
|
|
156
150
|
if (shouldSkip) return;
|
|
157
|
-
this.handleAction(action,
|
|
151
|
+
this.handleAction(action, state.optimistic.reduce(reducer, state));
|
|
158
152
|
});
|
|
159
153
|
return ret;
|
|
160
154
|
};
|
|
@@ -163,4 +157,4 @@ _DevToolsManager = DevToolsManager;
|
|
|
163
157
|
_DevToolsManager.prototype.middleware = () => next => action => next(action);
|
|
164
158
|
}
|
|
165
159
|
})();
|
|
166
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJfZ2xvYmFsVGhpcyIsImRvY3VtZW50IiwidGl0bGUiLCJhdXRvUGF1c2UiLCJmZWF0dXJlcyIsInBhdXNlIiwibG9jayIsInBlcnNpc3QiLCJleHBvcnQiLCJpbXBvcnQiLCJqdW1wIiwic2tpcCIsInJlb3JkZXIiLCJkaXNwYXRjaCIsInRlc3QiLCJhY3Rpb25TYW5pdGl6ZXIiLCJhY3Rpb24iLCJfZXh0ZW5kcyIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJyZXBsYWNlciIsInZhbHVlIiwiaXNGaW5pdGUiLCJfZW5kc1dpdGhJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsIkRhdGVUaW1lRm9ybWF0IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsImZyYWN0aW9uYWxTZWNvbmREaWdpdHMiLCJmb3JtYXQiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNraXBMb2dnaW5nIiwic3RhcnRlZCIsImFjdGlvbnMiLCJtYXhCdWZmZXJMZW5ndGgiLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwibWF4QWdlIiwiaGFuZGxlQWN0aW9uIiwic3RhdGUiLCJzZW5kIiwiX2NvbnRleHQiLCJsZW5ndGgiLCJzbGljZSIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImluaXQiLCJzdWJzY3JpYmUiLCJtc2ciLCJ0eXBlIiwicGF5bG9hZCIsImNvbnRyb2xsZXIiLCJyZXNldEVudGlyZVN0b3JlIiwiY2xlYW51cCIsIl9EZXZUb29sc01hbmFnZXIiLCJwcm90b3R5cGUiLCJtaWRkbGV3YXJlIiwibmV4dCIsInJlZHVjZXIiLCJnZXRTdGF0ZSIsIl90aGlzJHNraXBMb2dnaW5nIiwic2hvdWxkU2tpcCIsInJldCIsInRoZW4iLCJfY29udGV4dDIiLCJfcmVkdWNlSW5zdGFuY2VQcm9wZXJ0eSIsIm9wdGltaXN0aWMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9EZXZ0b29sc01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xsZXIsIEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlIH0gZnJvbSAnLi4vbWlkZGxld2FyZVR5cGVzLmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZXIsIFN0YXRlLCBBY3Rpb25UeXBlcyB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9O1xuXG5sZXQgREVGQVVMVF9DT05GSUcgPSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgY29uc3QgZXh0cmFFbmRwb2ludEtleXMgPSBbXG4gICAgJ2RhdGFFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvckV4cGlyeUxlbmd0aCcsXG4gICAgJ2Vycm9yUG9saWN5JyxcbiAgICAnaW52YWxpZElmU3RhbGUnLFxuICAgICdwb2xsRnJlcXVlbmN5JyxcbiAgICAnZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlJyxcbiAgICAndXBkYXRlJyxcbiAgXTtcblxuICBmdW5jdGlvbiBzZXJpYWxpemVFbmRwb2ludChlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2UpIHtcbiAgICBjb25zdCBzZXJpYWw6IGFueSA9IHtcbiAgICAgIG5hbWU6IGVuZHBvaW50Lm5hbWUsXG4gICAgICBzY2hlbWE6IChlbmRwb2ludC5zY2hlbWEgYXMgYW55KT8udG9KU09OPy4oKSA/PyBlbmRwb2ludC5zY2hlbWEsXG4gICAgICBzaWRlRWZmZWN0OiBlbmRwb2ludC5zaWRlRWZmZWN0LFxuICAgIH07XG4gICAgZXh0cmFFbmRwb2ludEtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBlbmRwb2ludClcbiAgICAgICAgc2VyaWFsW2tleV0gPSBlbmRwb2ludFtrZXkgYXMga2V5b2YgRW5kcG9pbnRJbnRlcmZhY2VdO1xuICAgIH0pO1xuICAgIHJldHVybiBzZXJpYWw7XG4gIH1cblxuICBjb25zdCBIQVNJTlRMID0gdHlwZW9mIEludGwgIT09ICd1bmRlZmluZWQnO1xuICBERUZBVUxUX0NPTkZJRyA9IHtcbiAgICBuYW1lOiBgRGF0YSBDbGllbnQ6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgICBhdXRvUGF1c2U6IHRydWUsXG4gICAgZmVhdHVyZXM6IHtcbiAgICAgIHBhdXNlOiB0cnVlLCAvLyBzdGFydC9wYXVzZSByZWNvcmRpbmcgb2YgZGlzcGF0Y2hlZCBhY3Rpb25zXG4gICAgICBsb2NrOiB0cnVlLCAvLyBsb2NrL3VubG9jayBkaXNwYXRjaGluZyBhY3Rpb25zIGFuZCBzaWRlIGVmZmVjdHNcbiAgICAgIHBlcnNpc3Q6IGZhbHNlLCAvLyBwZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgICAgZXhwb3J0OiB0cnVlLCAvLyBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAgaW1wb3J0OiAnY3VzdG9tJywgLy8gaW1wb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBmcm9tIGEgZmlsZVxuICAgICAganVtcDogdHJ1ZSwgLy8ganVtcCBiYWNrIGFuZCBmb3J0aCAodGltZSB0cmF2ZWxsaW5nKVxuICAgICAgc2tpcDogdHJ1ZSwgLy8gc2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAgICByZW9yZGVyOiB0cnVlLCAvLyBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAgZGlzcGF0Y2g6IGZhbHNlLCAvLyBkaXNwYXRjaCBjdXN0b20gYWN0aW9ucyBvciBhY3Rpb24gY3JlYXRvcnNcbiAgICAgIHRlc3Q6IGZhbHNlLCAvLyBnZW5lcmF0ZSB0ZXN0cyBmb3IgdGhlIHNlbGVjdGVkIGFjdGlvbnNcbiAgICB9LFxuICAgIGFjdGlvblNhbml0aXplcjogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IHtcbiAgICAgIGlmICghKCdlbmRwb2ludCcgaW4gYWN0aW9uKSkgcmV0dXJuIGFjdGlvbjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6IHNlcmlhbGl6ZUVuZHBvaW50KGFjdGlvbi5lbmRwb2ludCksXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2VyaWFsaXplOiB7XG4gICAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmVwbGFjZXI6XG4gICAgICAgIEhBU0lOVEwgP1xuICAgICAgICAgIChrZXk6IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICBpc0Zpbml0ZSh2YWx1ZSkgJiZcbiAgICAgICAgICAgICAgKGtleSA9PT0gJ2RhdGUnIHx8IGtleS5lbmRzV2l0aCgnQXQnKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIHNlY29uZDogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6IDMsXG4gICAgICAgICAgICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuXG4vKiogSW50ZWdyYXRlcyB3aXRoIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzXG4gKlxuICogT3B0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVkdXgtZGV2dG9vbHMvYmxvYi9tYWluL2V4dGVuc2lvbi9kb2NzL0FQSS9Bcmd1bWVudHMubWRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9EZXZUb29sc01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2VG9vbHNNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIGRlY2xhcmUgbWlkZGxld2FyZTogTWlkZGxld2FyZTtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgZGV2VG9vbHM6IHVuZGVmaW5lZCB8IGFueTtcbiAgcHJvdGVjdGVkIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IFtBY3Rpb25UeXBlcywgU3RhdGU8dW5rbm93bj5dW10gPSBbXTtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlcjtcbiAgZGVjbGFyZSBza2lwTG9nZ2luZz86IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiBib29sZWFuO1xuICBtYXhCdWZmZXJMZW5ndGggPSAxMDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnPzogRGV2VG9vbHNDb25maWcsXG4gICAgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLmRldlRvb2xzID1cbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7XG4gICAgICAgIC4uLkRFRkFVTFRfQ09ORklHLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KTtcbiAgICAvLyB3ZSBjdXQgaXQgaW4gaGFsZiBzbyB3ZSBzaG91bGQgZG91YmxlIHNvIHdlIGRvbid0IGxvc2VcbiAgICBpZiAoY29uZmlnPy5tYXhBZ2UpIHRoaXMubWF4QnVmZmVyTGVuZ3RoID0gY29uZmlnLm1heEFnZSAqIDI7XG4gICAgaWYgKHNraXBMb2dnaW5nKSB0aGlzLnNraXBMb2dnaW5nID0gc2tpcExvZ2dpbmc7XG4gIH1cblxuICBzdGF0aWMge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHRoaXMucHJvdG90eXBlLm1pZGRsZXdhcmUgPSBmdW5jdGlvbiAoY29udHJvbGxlcikge1xuICAgICAgICBpZiAoIXRoaXMuZGV2VG9vbHMpIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXIgYXMgYW55KTtcbiAgICAgICAgbGV0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZFNraXAgPSB0aGlzLnNraXBMb2dnaW5nPy4oYWN0aW9uKTtcbiAgICAgICAgICBjb25zdCByZXQgPSBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgLy8gd2UgdHJhY2sgc3RhdGUgY2hhbmdlcyBoZXJlIHNpbmNlIGdldFN0YXRlKCkgd2lsbCBvbmx5IHVwZGF0ZSBhZnRlciBhIGJhdGNoIGNvbW1pdFxuICAgICAgICAgICAgc3RhdGUgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNob3VsZFNraXApIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uKGFjdGlvbiwgc3RhdGUub3B0aW1pc3RpYy5yZWR1Y2UocmVkdWNlciwgc3RhdGUpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm90b3R5cGUubWlkZGxld2FyZSA9ICgpID0+IG5leHQgPT4gYWN0aW9uID0+IG5leHQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBY3Rpb24oYWN0aW9uOiBhbnksIHN0YXRlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLnNlbmQoYWN0aW9uLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGF2b2lkIHRoaXMgZ2V0dGluZyB0b28gYmlnIGluIGNhc2UgdGhpcyBpcyBsb25nIHJ1bm5pbmdcbiAgICAgIC8vIHdlIGN1dCBpbiBoYWxmIHNvIHdlIGFyZW4ndCBjb25zdGFudGx5IHJlYWxsb2NhdGluZ1xuICAgICAgaWYgKHRoaXMuYWN0aW9ucy5sZW5ndGggPiB0aGlzLm1heEJ1ZmZlckxlbmd0aClcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5hY3Rpb25zLnNsaWNlKHRoaXMubWF4QnVmZmVyTGVuZ3RoIC8gMik7XG4gICAgICAvLyBxdWV1ZSBhY3Rpb25zXG4gICAgICB0aGlzLmFjdGlvbnMucHVzaChbYWN0aW9uLCBzdGF0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBpbml0aWFsIHN0YXRlIGlzIHJlYWR5ICovXG4gIGluaXQoc3RhdGU6IFN0YXRlPGFueT4pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0aGlzLmRldlRvb2xzKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLmluaXQoc3RhdGUpO1xuICAgICAgdGhpcy5kZXZUb29scy5zdWJzY3JpYmUoKG1zZzogYW55KSA9PiB7XG4gICAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdTVEFSVCc6XG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoW2FjdGlvbiwgc3RhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1NUT1AnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdESVNQQVRDSCc6XG4gICAgICAgICAgICBpZiAobXNnLnBheWxvYWQudHlwZSA9PT0gJ1JFU0VUJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBzdWJzY3JpcHRpb25zIGFyZSBjbGVhbmVkIHVwLiAqL1xuICBjbGVhbnVwKCkge31cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsT0FBT0EsYUFBYSxNQUFNLG1DQUFtQztBQUs3RCxJQUFJQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBRXZCLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO0VBQUEsSUFBQUMsb0JBQUE7RUFDekMsTUFBTUMsaUJBQWlCLEdBQUcsQ0FDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsUUFBUSxDQUNUO0VBRUQsU0FBU0MsaUJBQWlCQSxDQUFDQyxRQUEyQixFQUFFO0lBQUEsSUFBQUMsT0FBQSxFQUFBQyxnQkFBQTtJQUN0RCxNQUFNQyxNQUFXLEdBQUc7TUFDbEJDLElBQUksRUFBRUosUUFBUSxDQUFDSSxJQUFJO01BQ25CQyxNQUFNLEdBQUFKLE9BQUEsSUFBQUMsZ0JBQUEsR0FBR0YsUUFBUSxDQUFDSyxNQUFNLGFBQWhCSCxnQkFBQSxDQUEwQkksTUFBTSxvQkFBaENKLGdCQUFBLENBQTBCSSxNQUFNLENBQUcsQ0FBQyxZQUFBTCxPQUFBLEdBQUlELFFBQVEsQ0FBQ0ssTUFBTTtNQUMvREUsVUFBVSxFQUFFUCxR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
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ0aXRsZSIsImF1dG9QYXVzZSIsImZlYXR1cmVzIiwicGF1c2UiLCJsb2NrIiwicGVyc2lzdCIsImV4cG9ydCIsImltcG9ydCIsImp1bXAiLCJza2lwIiwicmVvcmRlciIsImRpc3BhdGNoIiwidGVzdCIsImFjdGlvblNhbml0aXplciIsImFjdGlvbiIsIl9leHRlbmRzIiwic2VyaWFsaXplIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsInJlcGxhY2VyIiwidmFsdWUiLCJpc0Zpbml0ZSIsImVuZHNXaXRoIiwiRGF0ZVRpbWVGb3JtYXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyIsImZvcm1hdCIsIkRldlRvb2xzTWFuYWdlciIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwic2tpcExvZ2dpbmciLCJzdGFydGVkIiwiYWN0aW9ucyIsIm1heEJ1ZmZlckxlbmd0aCIsImRldlRvb2xzIiwid2luZG93IiwiX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyIsImNvbm5lY3QiLCJtYXhBZ2UiLCJoYW5kbGVBY3Rpb24iLCJzdGF0ZSIsInNlbmQiLCJsZW5ndGgiLCJzbGljZSIsInB1c2giLCJpbml0Iiwic3Vic2NyaWJlIiwibXNnIiwidHlwZSIsInBheWxvYWQiLCJjb250cm9sbGVyIiwicmVzZXRFbnRpcmVTdG9yZSIsImNsZWFudXAiLCJfRGV2VG9vbHNNYW5hZ2VyIiwicHJvdG90eXBlIiwibWlkZGxld2FyZSIsIm5leHQiLCJyZWR1Y2VyIiwiZ2V0U3RhdGUiLCJfdGhpcyRza2lwTG9nZ2luZyIsInNob3VsZFNraXAiLCJjYWxsIiwicmV0IiwidGhlbiIsIm9wdGltaXN0aWMiLCJyZWR1Y2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9EZXZ0b29sc01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xsZXIsIEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlIH0gZnJvbSAnLi4vbWlkZGxld2FyZVR5cGVzLmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZXIsIFN0YXRlLCBBY3Rpb25UeXBlcyB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9O1xuXG5sZXQgREVGQVVMVF9DT05GSUcgPSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgY29uc3QgZXh0cmFFbmRwb2ludEtleXMgPSBbXG4gICAgJ2RhdGFFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvckV4cGlyeUxlbmd0aCcsXG4gICAgJ2Vycm9yUG9saWN5JyxcbiAgICAnaW52YWxpZElmU3RhbGUnLFxuICAgICdwb2xsRnJlcXVlbmN5JyxcbiAgICAnZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlJyxcbiAgICAndXBkYXRlJyxcbiAgXTtcblxuICBmdW5jdGlvbiBzZXJpYWxpemVFbmRwb2ludChlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2UpIHtcbiAgICBjb25zdCBzZXJpYWw6IGFueSA9IHtcbiAgICAgIG5hbWU6IGVuZHBvaW50Lm5hbWUsXG4gICAgICBzY2hlbWE6IChlbmRwb2ludC5zY2hlbWEgYXMgYW55KT8udG9KU09OPy4oKSA/PyBlbmRwb2ludC5zY2hlbWEsXG4gICAgICBzaWRlRWZmZWN0OiBlbmRwb2ludC5zaWRlRWZmZWN0LFxuICAgIH07XG4gICAgZXh0cmFFbmRwb2ludEtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBlbmRwb2ludClcbiAgICAgICAgc2VyaWFsW2tleV0gPSBlbmRwb2ludFtrZXkgYXMga2V5b2YgRW5kcG9pbnRJbnRlcmZhY2VdO1xuICAgIH0pO1xuICAgIHJldHVybiBzZXJpYWw7XG4gIH1cblxuICBjb25zdCBIQVNJTlRMID0gdHlwZW9mIEludGwgIT09ICd1bmRlZmluZWQnO1xuICBERUZBVUxUX0NPTkZJRyA9IHtcbiAgICBuYW1lOiBgRGF0YSBDbGllbnQ6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgICBhdXRvUGF1c2U6IHRydWUsXG4gICAgZmVhdHVyZXM6IHtcbiAgICAgIHBhdXNlOiB0cnVlLCAvLyBzdGFydC9wYXVzZSByZWNvcmRpbmcgb2YgZGlzcGF0Y2hlZCBhY3Rpb25zXG4gICAgICBsb2NrOiB0cnVlLCAvLyBsb2NrL3VubG9jayBkaXNwYXRjaGluZyBhY3Rpb25zIGFuZCBzaWRlIGVmZmVjdHNcbiAgICAgIHBlcnNpc3Q6IGZhbHNlLCAvLyBwZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgICAgZXhwb3J0OiB0cnVlLCAvLyBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAgaW1wb3J0OiAnY3VzdG9tJywgLy8gaW1wb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBmcm9tIGEgZmlsZVxuICAgICAganVtcDogdHJ1ZSwgLy8ganVtcCBiYWNrIGFuZCBmb3J0aCAodGltZSB0cmF2ZWxsaW5nKVxuICAgICAgc2tpcDogdHJ1ZSwgLy8gc2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAgICByZW9yZGVyOiB0cnVlLCAvLyBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAgZGlzcGF0Y2g6IGZhbHNlLCAvLyBkaXNwYXRjaCBjdXN0b20gYWN0aW9ucyBvciBhY3Rpb24gY3JlYXRvcnNcbiAgICAgIHRlc3Q6IGZhbHNlLCAvLyBnZW5lcmF0ZSB0ZXN0cyBmb3IgdGhlIHNlbGVjdGVkIGFjdGlvbnNcbiAgICB9LFxuICAgIGFjdGlvblNhbml0aXplcjogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IHtcbiAgICAgIGlmICghKCdlbmRwb2ludCcgaW4gYWN0aW9uKSkgcmV0dXJuIGFjdGlvbjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6IHNlcmlhbGl6ZUVuZHBvaW50KGFjdGlvbi5lbmRwb2ludCksXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2VyaWFsaXplOiB7XG4gICAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmVwbGFjZXI6XG4gICAgICAgIEhBU0lOVEwgP1xuICAgICAgICAgIChrZXk6IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICBpc0Zpbml0ZSh2YWx1ZSkgJiZcbiAgICAgICAgICAgICAgKGtleSA9PT0gJ2RhdGUnIHx8IGtleS5lbmRzV2l0aCgnQXQnKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIHNlY29uZDogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6IDMsXG4gICAgICAgICAgICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuXG4vKiogSW50ZWdyYXRlcyB3aXRoIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzXG4gKlxuICogT3B0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVkdXgtZGV2dG9vbHMvYmxvYi9tYWluL2V4dGVuc2lvbi9kb2NzL0FQSS9Bcmd1bWVudHMubWRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9EZXZUb29sc01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2VG9vbHNNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIGRlY2xhcmUgbWlkZGxld2FyZTogTWlkZGxld2FyZTtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgZGV2VG9vbHM6IHVuZGVmaW5lZCB8IGFueTtcbiAgcHJvdGVjdGVkIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IFtBY3Rpb25UeXBlcywgU3RhdGU8dW5rbm93bj5dW10gPSBbXTtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlcjtcbiAgZGVjbGFyZSBza2lwTG9nZ2luZz86IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiBib29sZWFuO1xuICBtYXhCdWZmZXJMZW5ndGggPSAxMDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnPzogRGV2VG9vbHNDb25maWcsXG4gICAgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLmRldlRvb2xzID1cbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7XG4gICAgICAgIC4uLkRFRkFVTFRfQ09ORklHLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KTtcbiAgICAvLyB3ZSBjdXQgaXQgaW4gaGFsZiBzbyB3ZSBzaG91bGQgZG91YmxlIHNvIHdlIGRvbid0IGxvc2VcbiAgICBpZiAoY29uZmlnPy5tYXhBZ2UpIHRoaXMubWF4QnVmZmVyTGVuZ3RoID0gY29uZmlnLm1heEFnZSAqIDI7XG4gICAgaWYgKHNraXBMb2dnaW5nKSB0aGlzLnNraXBMb2dnaW5nID0gc2tpcExvZ2dpbmc7XG4gIH1cblxuICBzdGF0aWMge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHRoaXMucHJvdG90eXBlLm1pZGRsZXdhcmUgPSBmdW5jdGlvbiAoY29udHJvbGxlcikge1xuICAgICAgICBpZiAoIXRoaXMuZGV2VG9vbHMpIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXIgYXMgYW55KTtcbiAgICAgICAgbGV0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZFNraXAgPSB0aGlzLnNraXBMb2dnaW5nPy4oYWN0aW9uKTtcbiAgICAgICAgICBjb25zdCByZXQgPSBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgLy8gd2UgdHJhY2sgc3RhdGUgY2hhbmdlcyBoZXJlIHNpbmNlIGdldFN0YXRlKCkgd2lsbCBvbmx5IHVwZGF0ZSBhZnRlciBhIGJhdGNoIGNvbW1pdFxuICAgICAgICAgICAgc3RhdGUgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNob3VsZFNraXApIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uKGFjdGlvbiwgc3RhdGUub3B0aW1pc3RpYy5yZWR1Y2UocmVkdWNlciwgc3RhdGUpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm90b3R5cGUubWlkZGxld2FyZSA9ICgpID0+IG5leHQgPT4gYWN0aW9uID0+IG5leHQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBY3Rpb24oYWN0aW9uOiBhbnksIHN0YXRlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLnNlbmQoYWN0aW9uLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGF2b2lkIHRoaXMgZ2V0dGluZyB0b28gYmlnIGluIGNhc2UgdGhpcyBpcyBsb25nIHJ1bm5pbmdcbiAgICAgIC8vIHdlIGN1dCBpbiBoYWxmIHNvIHdlIGFyZW4ndCBjb25zdGFudGx5IHJlYWxsb2NhdGluZ1xuICAgICAgaWYgKHRoaXMuYWN0aW9ucy5sZW5ndGggPiB0aGlzLm1heEJ1ZmZlckxlbmd0aClcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5hY3Rpb25zLnNsaWNlKHRoaXMubWF4QnVmZmVyTGVuZ3RoIC8gMik7XG4gICAgICAvLyBxdWV1ZSBhY3Rpb25zXG4gICAgICB0aGlzLmFjdGlvbnMucHVzaChbYWN0aW9uLCBzdGF0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBpbml0aWFsIHN0YXRlIGlzIHJlYWR5ICovXG4gIGluaXQoc3RhdGU6IFN0YXRlPGFueT4pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0aGlzLmRldlRvb2xzKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLmluaXQoc3RhdGUpO1xuICAgICAgdGhpcy5kZXZUb29scy5zdWJzY3JpYmUoKG1zZzogYW55KSA9PiB7XG4gICAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdTVEFSVCc6XG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoW2FjdGlvbiwgc3RhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1NUT1AnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdESVNQQVRDSCc6XG4gICAgICAgICAgICBpZiAobXNnLnBheWxvYWQudHlwZSA9PT0gJ1JFU0VUJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBzdWJzY3JpcHRpb25zIGFyZSBjbGVhbmVkIHVwLiAqL1xuICBjbGVhbnVwKCkge31cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFHQSxPQUFPQSxhQUFhLE1BQU0sbUNBQW1DO0FBSzdELElBQUlDLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7RUFBQSxJQUFBQyxvQkFBQTtFQUN6QyxNQUFNQyxpQkFBaUIsR0FBRyxDQUN4QixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixRQUFRLENBQ1Q7RUFFRCxTQUFTQyxpQkFBaUJBLENBQUNDLFFBQTJCLEVBQUU7SUFBQSxJQUFBQyxPQUFBLEVBQUFDLGdCQUFBO0lBQ3RELE1BQU1DLE1BQVcsR0FBRztNQUNsQkMsSUFBSSxFQUFFSixRQUFRLENBQUNJLElBQUk7TUFDbkJDLE1BQU0sR0FBQUosT0FBQSxJQUFBQyxnQkFBQSxHQUFHRixRQUFRLENBQUNLLE1BQU0sYUFBaEJILGdCQUFBLENBQTBCSSxNQUFNLG9CQUFoQ0osZ0JBQUEsQ0FBMEJJLE1BQU0sQ0FBRyxDQUFDLFlBQUFMLE9BQUEsR0FBSUQsUUFBUSxDQUFDSyxNQUFNO01BQy9ERSxVQUFVLEVBQUVQLFFBQVEsQ0FBQ087SUFDdkIsQ0FBQztJQUNEVCxpQkFBaUIsQ0FBQ1UsT0FBTyxDQUFDQyxHQUFHLElBQUk7TUFDL0IsSUFBSUEsR0FBRyxJ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
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
2
|
-
import _Promise from "core-js-pure/stable/promise/index.js";
|
|
3
|
-
import _Promise$allSettled from "core-js-pure/stable/promise/all-settled.js";
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
2
|
import { SET_RESPONSE, FETCH, RESET } from '../actionTypes.js';
|
|
5
3
|
import { createSetResponse } from '../controller/actions/index.js';
|
|
6
4
|
import Controller from '../controller/Controller.js';
|
|
@@ -42,7 +40,7 @@ export default class NetworkManager {
|
|
|
42
40
|
if (action.endpoint.getOptimisticResponse !== undefined && action.endpoint.sideEffect) {
|
|
43
41
|
return next(action);
|
|
44
42
|
}
|
|
45
|
-
return
|
|
43
|
+
return Promise.resolve();
|
|
46
44
|
case SET_RESPONSE:
|
|
47
45
|
// only set after new state is computed
|
|
48
46
|
return next(action).then(() => {
|
|
@@ -102,7 +100,7 @@ export default class NetworkManager {
|
|
|
102
100
|
}
|
|
103
101
|
allSettled() {
|
|
104
102
|
const fetches = Object.values(this.fetched);
|
|
105
|
-
if (fetches.length) return
|
|
103
|
+
if (fetches.length) return Promise.allSettled(fetches);
|
|
106
104
|
}
|
|
107
105
|
|
|
108
106
|
/** Clear all promise state */
|
|
@@ -231,7 +229,7 @@ export default class NetworkManager {
|
|
|
231
229
|
if (key in this.fetched && this.fetchedAt[key] > lastReset) {
|
|
232
230
|
return this.fetched[key];
|
|
233
231
|
}
|
|
234
|
-
this.fetched[key] = new
|
|
232
|
+
this.fetched[key] = new Promise((resolve, reject) => {
|
|
235
233
|
this.resolvers[key] = resolve;
|
|
236
234
|
this.rejectors[key] = reject;
|
|
237
235
|
});
|
|
@@ -255,4 +253,4 @@ export default class NetworkManager {
|
|
|
255
253
|
callback();
|
|
256
254
|
}
|
|
257
255
|
}
|
|
258
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfUkVTUE9OU0UiLCJGRVRDSCIsIlJFU0VUIiwiY3JlYXRlU2V0UmVzcG9uc2UiLCJDb250cm9sbGVyIiwiUmVzZXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiTmV0d29ya01hbmFnZXIiLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJmZXRjaGVkIiwiT2JqZWN0IiwiY3JlYXRlIiwicmVzb2x2ZXJzIiwicmVqZWN0b3JzIiwiZmV0Y2hlZEF0IiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZUZldGNoIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJ1bmRlZmluZWQiLCJzaWRlRWZmZWN0IiwiX1Byb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImtleSIsIl9jb250cm9sbGVyJGdldFN0YXRlJCIsImVycm9yIiwiZ2V0U3RhdGUiLCJtZXRhIiwiaGFuZGxlU2V0IiwiYXJncyIsInJlc3BvbnNlIiwiX2V4dGVuZHMiLCJjbGVhckFsbCIsImsiLCJpbml0IiwiY2xlYW51cERhdGUiLCJjbGVhbnVwIiwiRGF0ZSIsIm5vdyIsInNraXBMb2dnaW5nIiwiYWxsU2V0dGxlZCIsImZldGNoZXMiLCJ2YWx1ZXMiLCJsZW5ndGgiLCJfUHJvbWlzZSRhbGxTZXR0bGVkIiwiY2xlYXIiLCJjYXRjaCIsImdldExhc3RSZXNldCIsImxhc3RSZXNldCIsInJlamVjdCIsInRocm90dGxlIiwiZGVmZXJlZEZldGNoIiwicHJvbWlzZSIsInJlc29sdmVQcm9taXNlIiwiZGF0YSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTmFOIiwiY29uc29sZSIsInByb21pc2VIYW5kbGVyIiwiZmV0Y2giLCJpZGxlQ2FsbGJhY2siLCJ0aW1lb3V0IiwiY2FsbGJhY2siLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvTmV0d29ya01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VUX1JFU1BPTlNFLCBGRVRDSCwgUkVTRVQgfSBmcm9tICcuLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVTZXRSZXNwb25zZSB9IGZyb20gJy4uL2NvbnRyb2xsZXIvYWN0aW9ucy9pbmRleC5qcyc7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tICcuLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBGZXRjaEFjdGlvbixcbiAgTWFuYWdlcixcbiAgQWN0aW9uVHlwZXMsXG4gIE1pZGRsZXdhcmVBUEksXG4gIE1pZGRsZXdhcmUsXG4gIFNldFJlc3BvbnNlQWN0aW9uLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBSZXNldEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBuYW1lID0gJ1Jlc2V0RXJyb3InO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdBYm9ydGVkIGR1ZSB0byBSRVNFVCcpO1xuICB9XG59XG5cbi8qKiBIYW5kbGVzIGFsbCBhc3luYyBuZXR3b3JrIGRpc3BhdGNoZXNcbiAqXG4gKiBEZWR1cGVzIGNvbmN1cnJlbnQgcmVxdWVzdHMgYnkga2VlcGluZyB0cmFjayBvZiBhbGwgZmV0Y2hlcyBpbiBmbGlnaHRcbiAqIGFuZCByZXR1cm5pbmcgZXhpc3RpbmcgcHJvbWlzZXMgZm9yIHJlcXVlc3RzIGFscmVhZHkgaW4gZmxpZ2h0LlxuICpcbiAqIEludGVyZmFjZXMgd2l0aCBzdG9yZSB2aWEgYSByZWR1eC1jb21wYXRpYmxlIG1pZGRsZXdhcmUuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTmV0d29ya01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0d29ya01hbmFnZXIgaW1wbGVtZW50cyBNYW5hZ2VyIHtcbiAgcHJvdGVjdGVkIGZldGNoZWQ6IHsgW2s6IHN0cmluZ106IFByb21pc2U8YW55PiB9ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcHJvdGVjdGVkIHJlc29sdmVyczogeyBbazogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiB2b2lkIH0gPSB7fTtcbiAgcHJvdGVjdGVkIHJlamVjdG9yczogeyBbazogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiB2b2lkIH0gPSB7fTtcbiAgcHJvdGVjdGVkIGZldGNoZWRBdDogeyBbazogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgZGVjbGFyZSByZWFkb25seSBkYXRhRXhwaXJ5TGVuZ3RoOiBudW1iZXI7XG4gIGRlY2xhcmUgcmVhZG9ubHkgZXJyb3JFeHBpcnlMZW5ndGg6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIgPSBuZXcgQ29udHJvbGxlcigpO1xuICBkZWNsYXJlIGNsZWFudXBEYXRlPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHsgZGF0YUV4cGlyeUxlbmd0aCA9IDYwMDAwLCBlcnJvckV4cGlyeUxlbmd0aCA9IDEwMDAgfSA9IHt9KSB7XG4gICAgdGhpcy5kYXRhRXhwaXJ5TGVuZ3RoID0gZGF0YUV4cGlyeUxlbmd0aDtcbiAgICB0aGlzLmVycm9yRXhwaXJ5TGVuZ3RoID0gZXJyb3JFeHBpcnlMZW5ndGg7XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEZFVENIOlxuICAgICAgICAgIHRoaXMuaGFuZGxlRmV0Y2goYWN0aW9uKTtcbiAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNhc2UgdGhhdCBjYXVzZXMgYW55IHN0YXRlIGNoYW5nZVxuICAgICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIGludGVyY2VwdCBvdGhlciBmZXRjaGVzIGFzIHdlIGRvbid0IHdhbnQgdG8gdHJpZ2dlciByZWR1Y2VycyBkdXJpbmdcbiAgICAgICAgICAvLyByZW5kZXIgLSBzbyB3ZSBuZWVkIHRvIHN0b3AgJ3JlYWRvbmx5JyBmZXRjaGVzIHdoaWNoIGNhbiBiZSB0cmlnZ2VyZWQgaW4gcmVuZGVyXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBhY3Rpb24uZW5kcG9pbnQuc2lkZUVmZmVjdFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBjYXNlIFNFVF9SRVNQT05TRTpcbiAgICAgICAgICAvLyBvbmx5IHNldCBhZnRlciBuZXcgc3RhdGUgaXMgY29tcHV0ZWRcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkKSB7XG4gICAgICAgICAgICAgIC8vIE5vdGU6IG1ldGEgKm11c3QqIGJlIHNldCBieSByZWR1Y2VyIHNvIHRoaXMgc2hvdWxkIGJlIHNhZmVcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBjb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVthY3Rpb24ua2V5XT8uZXJyb3I7XG4gICAgICAgICAgICAgIC8vIHByb2Nlc3NpbmcgZXJyb3JzIHJlc3VsdCBpbiBzdGF0ZSBtZXRhIGhhdmluZyBlcnJvciwgc28gd2Ugc2hvdWxkIHJlamVjdCB0aGUgcHJvbWlzZVxuICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChcbiAgICAgICAgICAgICAgICAgIGNyZWF0ZVNldFJlc3BvbnNlKGFjdGlvbi5lbmRwb2ludCwge1xuICAgICAgICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24uYXJncyxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6IGVycm9yLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaGVkQXQ6IGFjdGlvbi5tZXRhLmZldGNoZWRBdCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2V0KGFjdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSBSRVNFVDoge1xuICAgICAgICAgIGNvbnN0IHJlamVjdG9ycyA9IHsgLi4udGhpcy5yZWplY3RvcnMgfTtcblxuICAgICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgLy8gdGhlcmUgY291bGQgYmUgZXh0ZXJuYWwgbGlzdGVuZXJzIHRvIHRoZSBwcm9taXNlXG4gICAgICAgICAgICAvLyB0aGlzIG11c3QgaGFwcGVuIGFmdGVyIGNvbW1pdCBzbyBvdXIgb3duIHJlamVjdG9yIGtub3dzIG5vdCB0byBkaXNwYXRjaCBhbiBlcnJvciBiYXNlZCBvbiB0aGlzXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGsgaW4gcmVqZWN0b3JzKSB7XG4gICAgICAgICAgICAgIHJlamVjdG9yc1trXShuZXcgUmVzZXRFcnJvcigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICAvKiogT24gbW91bnQgKi9cbiAgaW5pdCgpIHtcbiAgICBkZWxldGUgdGhpcy5jbGVhbnVwRGF0ZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBwcm9taXNlcyBhcmUgY29tcGxldGVkIGJ5IHJlamVjdGluZyByZW1haW5pbmcuICovXG4gIGNsZWFudXAoKSB7XG4gICAgLy8gZW5zdXJlIG5vIGRpc3BhdGNoZXMgYWZ0ZXIgdW5tb3VudFxuICAgIC8vIHRoaXMgbXVzdCBiZSByZXZlcnNpYmxlIChkb25lIGluIGluaXQpIHNvIHVzZUVmZmVjdCgpIHJlbWFpbnMgc3ltbWV0cmljXG4gICAgdGhpcy5jbGVhbnVwRGF0ZSA9IERhdGUubm93KCk7XG4gIH1cblxuICAvKiogVXNlZCBieSBEZXZ0b29sc01hbmFnZXIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gbG9nIGFuIGFjdGlvbiAqL1xuICBza2lwTG9nZ2luZyhhY3Rpb246IEFjdGlvblR5cGVzKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gYWN0aW9uLnR5cGUgPT09IEZFVENIICYmIGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkO1xuICB9XG5cbiAgYWxsU2V0dGxlZCgpIHtcbiAgICBjb25zdCBmZXRjaGVzID0gT2JqZWN0LnZhbHVlcyh0aGlzLmZldGNoZWQpO1xuICAgIGlmIChmZXRjaGVzLmxlbmd0aCkgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChmZXRjaGVzKTtcbiAgfVxuXG4gIC8qKiBDbGVhciBhbGwgcHJvbWlzZSBzdGF0ZSAqL1xuICBwcm90ZWN0ZWQgY2xlYXJBbGwoKSB7XG4gICAgZm9yIChjb25zdCBrIGluIHRoaXMucmVqZWN0b3JzKSB7XG4gICAgICB0aGlzLmNsZWFyKGspO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbGVhciBwcm9taXNlIHN0YXRlIGZvciBhIGdpdmVuIGtleSAqL1xuICBwcm90ZWN0ZWQgY2xlYXIoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZldGNoZWRba2V5XS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgZGVsZXRlIHRoaXMucmVzb2x2ZXJzW2tleV07XG4gICAgZGVsZXRlIHRoaXMucmVqZWN0b3JzW2tleV07XG4gICAgZGVsZXRlIHRoaXMuZmV0Y2hlZFtrZXldO1xuICAgIGRlbGV0ZSB0aGlzLmZldGNoZWRBdFtrZXldO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldExhc3RSZXNldCgpIHtcbiAgICBpZiAodGhpcy5jbGVhbnVwRGF0ZSkgcmV0dXJuIHRoaXMuY2xlYW51cERhdGU7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5nZXRTdGF0ZSgpLmxhc3RSZXNldDtcbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBtaWRkbGV3YXJlIGludGVyY2VwdHMgJ3JkYy9mZXRjaCcgYWN0aW9uLlxuICAgKlxuICAgKiBXaWxsIHRoZW4gc3RhcnQgYSBwcm9taXNlIGZvciBhIGtleSBhbmQgcG90ZW50aWFsbHkgc3RhcnQgdGhlIG5ldHdvcmtcbiAgICogZmV0Y2guXG4gICAqXG4gICAqIFVzZXMgdGhyb3R0bGUgZW5kcG9pbnRzIHdpdGhvdXQgc2lkZUVmZmVjdHMuIFRoaXMgaXMgdmFsdWFibGVcbiAgICogZm9yIGVuc3VyZXMgbXV0YXRpb24gcmVxdWVzdHMgYWx3YXlzIGdvIHRocm91Z2guXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRmV0Y2goYWN0aW9uOiBGZXRjaEFjdGlvbikge1xuICAgIGNvbnN0IHsgcmVzb2x2ZSwgcmVqZWN0LCBmZXRjaGVkQXQgfSA9IGFjdGlvbi5tZXRhO1xuICAgIGNvbnN0IHRocm90dGxlID0gIWFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0O1xuXG4gICAgY29uc3QgZGVmZXJlZEZldGNoID0gKCkgPT4ge1xuICAgICAgbGV0IHByb21pc2UgPSBhY3Rpb24uZW5kcG9pbnQoLi4uYWN0aW9uLmFyZ3MpO1xuICAgICAgY29uc3QgcmVzb2x2ZVByb21pc2UgPSAoXG4gICAgICAgIHByb21pc2U6IFByb21pc2U8c3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0IHwgbnVsbD4sXG4gICAgICApID0+XG4gICAgICAgIHByb21pc2VcbiAgICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgfSk7XG4gICAgICAvLyBzY2hlZHVsZSBub24tdGhyb3R0bGVkIHJlc29sdXRpb25zIGluIGEgbWljcm90YXNrIGJlZm9yZSBzZXRcbiAgICAgIC8vIHRoaXMgZW5hYmxlcyB1c2VycyBhd2FpdGluZyB0aGVpciBmZXRjaCB0byB0cmlnZ2VyIGFueSByZWFjdCB1cGRhdGVzIG5lZWRlZCB0byBkZWFsXG4gICAgICAvLyB3aXRoIHVwY29taW5nIGNoYW5nZXMgYmVjYXVzZSBvZiB0aGUgZmV0Y2ggKGZvciBpbnN0YW5jZSBhdm9pZGluZyBzdXNwZW5zZSBpZiBzb21ldGhpbmcgaXMgZGVsZXRlZClcbiAgICAgIGlmICghdGhyb3R0bGUpIHtcbiAgICAgICAgcHJvbWlzZSA9IHJlc29sdmVQcm9taXNlKHByb21pc2UpO1xuICAgICAgfVxuICAgICAgcHJvbWlzZSA9IHByb21pc2VcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc05hTihsYXN0UmVzZXQpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAnc3RhdGUubGFzdFJlc2V0IGlzIE5hTi4gT25seSBwb3NpdGl2ZSB0aW1lc3RhbXBzIGFyZSB2YWxpZC4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGxhc3RSZXNldCA9IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChmZXRjaGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLmFyZ3MsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICBmZXRjaGVkQXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnN0IGxhc3RSZXNldCA9IHRoaXMuZ2V0TGFzdFJlc2V0KCk7XG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChmZXRjaGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLmFyZ3MsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBlcnJvcixcbiAgICAgICAgICAgICAgZmV0Y2hlZEF0LFxuICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9O1xuXG4gICAgaWYgKHRocm90dGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy50aHJvdHRsZShhY3Rpb24ua2V5LCBkZWZlcmVkRmV0Y2gsIGZldGNoZWRBdClcbiAgICAgICAgLnRoZW4oZGF0YSA9PiByZXNvbHZlKGRhdGEpKVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4gcmVqZWN0KGVycm9yKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWZlcmVkRmV0Y2goKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyBhIHNldCBhY3Rpb24uXG4gICAqXG4gICAqIFdpbGwgcmVzb2x2ZSB0aGUgcHJvbWlzZSBhc3NvY2lhdGVkIHdpdGggc2V0IGtleS5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVTZXQoYWN0aW9uOiBTZXRSZXNwb25zZUFjdGlvbikge1xuICAgIC8vIHRoaXMgY2FuIHN0aWxsIHR1cm4gb3V0IHRvIGJlIHVudHJ1ZSBzaW5jZSB0aGlzIGlzIGFzeW5jXG4gICAgaWYgKGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkKSB7XG4gICAgICBsZXQgcHJvbWlzZUhhbmRsZXI6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcbiAgICAgIGlmIChhY3Rpb24uZXJyb3IpIHtcbiAgICAgICAgcHJvbWlzZUhhbmRsZXIgPSB0aGlzLnJlamVjdG9yc1thY3Rpb24ua2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb21pc2VIYW5kbGVyID0gdGhpcy5yZXNvbHZlcnNbYWN0aW9uLmtleV07XG4gICAgICB9XG4gICAgICBwcm9taXNlSGFuZGxlcihhY3Rpb24ucmVzcG9uc2UpO1xuICAgICAgLy8gc2luY2Ugd2UncmUgcmVzb2x2ZWQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGlzIHByb21pc2VcbiAgICAgIHRoaXMuY2xlYXIoYWN0aW9uLmtleSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEVuc3VyZXMgb25seSBvbmUgcmVxdWVzdCBmb3IgYSBnaXZlbiBrZXkgaXMgaW4gZmxpZ2h0IGF0IGFueSB0aW1lXG4gICAqXG4gICAqIFVzZXMga2V5IHRvIGVpdGhlciByZXRyaWV2ZSBpbi1mbGlnaHQgcHJvbWlzZSwgb3IgaWYgbm90XG4gICAqIGNyZWF0ZSBhIG5ldyBwcm9taXNlIGFuZCBjYWxsIGZldGNoLlxuICAgKlxuICAgKiBOb3RlOiBUaGUgbmV3IHByb21pc2UgaXMgbm90IGFjdHVhbGx5IHRpZWQgdG8gZmV0Y2ggYXQgYWxsLFxuICAgKiBidXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgZXhwZWN0ZWQgJ3JlY2lldmUnIGFjdGlvbiBpcyBwcm9jZXNzZWQuXG4gICAqIFRoaXMgZW5zdXJlcyBwcm9taXNlcyBhcmUgcmVzb2x2ZWQgb25seSBvbmNlIHRoZWlyIGRhdGEgaXMgcHJvY2Vzc2VkXG4gICAqIGJ5IHRoZSByZWR1Y2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHRocm90dGxlKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGZldGNoOiAoKSA9PiBQcm9taXNlPGFueT4sXG4gICAgZmV0Y2hlZEF0OiBudW1iZXIsXG4gICkge1xuICAgIGNvbnN0IGxhc3RSZXNldCA9IHRoaXMuZ2V0TGFzdFJlc2V0KCk7XG4gICAgLy8gd2UncmUgYWxyZWFkeSBmZXRjaGluZyBzbyByZXVzZSB0aGUgcHJvbWlzZVxuICAgIC8vIGZldGNoZXMgYWZ0ZXIgcmVzZXQgZG8gbm90IGNvdW50XG4gICAgaWYgKGtleSBpbiB0aGlzLmZldGNoZWQgJiYgdGhpcy5mZXRjaGVkQXRba2V5XSA+IGxhc3RSZXNldCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hlZFtrZXldO1xuICAgIH1cblxuICAgIHRoaXMuZmV0Y2hlZFtrZXldID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlcnNba2V5XSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlamVjdG9yc1trZXldID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZmV0Y2hlZEF0W2tleV0gPSBmZXRjaGVkQXQ7XG5cbiAgICB0aGlzLmlkbGVDYWxsYmFjayhcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gc2luY2Ugb3VyIHJlYWwgcHJvbWlzZSBpcyByZXNvbHZlZCB2aWEgdGhlIHdyYXBSZWR1Y2VyKCksXG4gICAgICAgIC8vIHdlIHNob3VsZCBqdXN0IHN0b3AgYWxsIGVycm9ycyBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBkZWNvdXBsZSB0aGlzIGZyb20gdXNlRmV0Y2hlcigpICh0aGF0J3Mgd2hhdCdzIGRpc3BhdGNoaW5nIHRoZSBlcnJvciB0aGUgcmVzb2x2ZXMgaW4gaGVyZSlcbiAgICAgICAgZmV0Y2goKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgIH0sXG4gICAgICB7IHRpbWVvdXQ6IDUwMCB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5mZXRjaGVkW2tleV07XG4gIH1cblxuICAvKiogQ2FsbHMgdGhlIGNhbGxiYWNrIHdoZW4gY2xpZW50IGlzIG5vdCAnYnVzeScgd2l0aCBoaWdoIHByaW9yaXR5IGludGVyYWN0aW9uIHRhc2tzXG4gICAqXG4gICAqIE92ZXJyaWRlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBpZGxlQ2FsbGJhY2soXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCxcbiAgICBvcHRpb25zPzogSWRsZVJlcXVlc3RPcHRpb25zLFxuICApIHtcbiAgICBjYWxsYmFjaygpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFlBQVksRUFBRUMsS0FBSyxFQUFFQyxLQUFLLFFBQVEsbUJBQW1CO0FBQzlELFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCO0FBVXBELE9BQU8sTUFBTUMsVUFBVSxTQUFTQyxLQUFLLENBQUM7RUFHcENDLFdBQVdBLENBQUEsRUFBRztJQUNaLEtBQUssQ0FBQyxzQkFBc0IsQ0FB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
|
|
256
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfUkVTUE9OU0UiLCJGRVRDSCIsIlJFU0VUIiwiY3JlYXRlU2V0UmVzcG9uc2UiLCJDb250cm9sbGVyIiwiUmVzZXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiTmV0d29ya01hbmFnZXIiLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJmZXRjaGVkIiwiT2JqZWN0IiwiY3JlYXRlIiwicmVzb2x2ZXJzIiwicmVqZWN0b3JzIiwiZmV0Y2hlZEF0IiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZUZldGNoIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJ1bmRlZmluZWQiLCJzaWRlRWZmZWN0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwia2V5IiwiX2NvbnRyb2xsZXIkZ2V0U3RhdGUkIiwiZXJyb3IiLCJnZXRTdGF0ZSIsIm1ldGEiLCJoYW5kbGVTZXQiLCJhcmdzIiwicmVzcG9uc2UiLCJfZXh0ZW5kcyIsImNsZWFyQWxsIiwiayIsImluaXQiLCJjbGVhbnVwRGF0ZSIsImNsZWFudXAiLCJEYXRlIiwibm93Iiwic2tpcExvZ2dpbmciLCJhbGxTZXR0bGVkIiwiZmV0Y2hlcyIsInZhbHVlcyIsImxlbmd0aCIsImNsZWFyIiwiY2F0Y2giLCJnZXRMYXN0UmVzZXQiLCJsYXN0UmVzZXQiLCJyZWplY3QiLCJ0aHJvdHRsZSIsImRlZmVyZWRGZXRjaCIsInByb21pc2UiLCJyZXNvbHZlUHJvbWlzZSIsImRhdGEiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJpc05hTiIsImNvbnNvbGUiLCJwcm9taXNlSGFuZGxlciIsImZldGNoIiwiaWRsZUNhbGxiYWNrIiwidGltZW91dCIsImNhbGxiYWNrIiwib3B0aW9ucyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL05ldHdvcmtNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNFVF9SRVNQT05TRSwgRkVUQ0gsIFJFU0VUIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHsgY3JlYXRlU2V0UmVzcG9uc2UgfSBmcm9tICcuLi9jb250cm9sbGVyL2FjdGlvbnMvaW5kZXguanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmV0Y2hBY3Rpb24sXG4gIE1hbmFnZXIsXG4gIEFjdGlvblR5cGVzLFxuICBNaWRkbGV3YXJlQVBJLFxuICBNaWRkbGV3YXJlLFxuICBTZXRSZXNwb25zZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgUmVzZXRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgbmFtZSA9ICdSZXNldEVycm9yJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignQWJvcnRlZCBkdWUgdG8gUkVTRVQnKTtcbiAgfVxufVxuXG4vKiogSGFuZGxlcyBhbGwgYXN5bmMgbmV0d29yayBkaXNwYXRjaGVzXG4gKlxuICogRGVkdXBlcyBjb25jdXJyZW50IHJlcXVlc3RzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgYWxsIGZldGNoZXMgaW4gZmxpZ2h0XG4gKiBhbmQgcmV0dXJuaW5nIGV4aXN0aW5nIHByb21pc2VzIGZvciByZXF1ZXN0cyBhbHJlYWR5IGluIGZsaWdodC5cbiAqXG4gKiBJbnRlcmZhY2VzIHdpdGggc3RvcmUgdmlhIGEgcmVkdXgtY29tcGF0aWJsZSBtaWRkbGV3YXJlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL2RvY3MvYXBpL05ldHdvcmtNYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ldHdvcmtNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIHByb3RlY3RlZCBmZXRjaGVkOiB7IFtrOiBzdHJpbmddOiBQcm9taXNlPGFueT4gfSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHByb3RlY3RlZCByZXNvbHZlcnM6IHsgW2s6IHN0cmluZ106ICh2YWx1ZT86IGFueSkgPT4gdm9pZCB9ID0ge307XG4gIHByb3RlY3RlZCByZWplY3RvcnM6IHsgW2s6IHN0cmluZ106ICh2YWx1ZT86IGFueSkgPT4gdm9pZCB9ID0ge307XG4gIHByb3RlY3RlZCBmZXRjaGVkQXQ6IHsgW2s6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIGRlY2xhcmUgcmVhZG9ubHkgZGF0YUV4cGlyeUxlbmd0aDogbnVtYmVyO1xuICBkZWNsYXJlIHJlYWRvbmx5IGVycm9yRXhwaXJ5TGVuZ3RoOiBudW1iZXI7XG4gIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoKTtcbiAgZGVjbGFyZSBjbGVhbnVwRGF0ZT86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcih7IGRhdGFFeHBpcnlMZW5ndGggPSA2MDAwMCwgZXJyb3JFeHBpcnlMZW5ndGggPSAxMDAwIH0gPSB7fSkge1xuICAgIHRoaXMuZGF0YUV4cGlyeUxlbmd0aCA9IGRhdGFFeHBpcnlMZW5ndGg7XG4gICAgdGhpcy5lcnJvckV4cGlyeUxlbmd0aCA9IGVycm9yRXhwaXJ5TGVuZ3RoO1xuICB9XG5cbiAgbWlkZGxld2FyZTogTWlkZGxld2FyZSA9IGNvbnRyb2xsZXIgPT4ge1xuICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgcmV0dXJuIG5leHQgPT4gYWN0aW9uID0+IHtcbiAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBGRVRDSDpcbiAgICAgICAgICB0aGlzLmhhbmRsZUZldGNoKGFjdGlvbik7XG4gICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBjYXNlIHRoYXQgY2F1c2VzIGFueSBzdGF0ZSBjaGFuZ2VcbiAgICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBpbnRlcmNlcHQgb3RoZXIgZmV0Y2hlcyBhcyB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgcmVkdWNlcnMgZHVyaW5nXG4gICAgICAgICAgLy8gcmVuZGVyIC0gc28gd2UgbmVlZCB0byBzdG9wICdyZWFkb25seScgZmV0Y2hlcyB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIGluIHJlbmRlclxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYWN0aW9uLmVuZHBvaW50LnNpZGVFZmZlY3RcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgY2FzZSBTRVRfUkVTUE9OU0U6XG4gICAgICAgICAgLy8gb25seSBzZXQgYWZ0ZXIgbmV3IHN0YXRlIGlzIGNvbXB1dGVkXG4gICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24ua2V5IGluIHRoaXMuZmV0Y2hlZCkge1xuICAgICAgICAgICAgICAvLyBOb3RlOiBtZXRhICptdXN0KiBiZSBzZXQgYnkgcmVkdWNlciBzbyB0aGlzIHNob3VsZCBiZSBzYWZlXG4gICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gY29udHJvbGxlci5nZXRTdGF0ZSgpLm1ldGFbYWN0aW9uLmtleV0/LmVycm9yO1xuICAgICAgICAgICAgICAvLyBwcm9jZXNzaW5nIGVycm9ycyByZXN1bHQgaW4gc3RhdGUgbWV0YSBoYXZpbmcgZXJyb3IsIHNvIHdlIHNob3VsZCByZWplY3QgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXQoXG4gICAgICAgICAgICAgICAgICBjcmVhdGVTZXRSZXNwb25zZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgYXJnczogYWN0aW9uLmFyZ3MsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiBlcnJvcixcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hlZEF0OiBhY3Rpb24ubWV0YS5mZXRjaGVkQXQsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChhY3Rpb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIGNhc2UgUkVTRVQ6IHtcbiAgICAgICAgICBjb25zdCByZWplY3RvcnMgPSB7IC4uLnRoaXMucmVqZWN0b3JzIH07XG5cbiAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIC8vIHRoZXJlIGNvdWxkIGJlIGV4dGVybmFsIGxpc3RlbmVycyB0byB0aGUgcHJvbWlzZVxuICAgICAgICAgICAgLy8gdGhpcyBtdXN0IGhhcHBlbiBhZnRlciBjb21taXQgc28gb3VyIG93biByZWplY3RvciBrbm93cyBub3QgdG8gZGlzcGF0Y2ggYW4gZXJyb3IgYmFzZWQgb24gdGhpc1xuICAgICAgICAgICAgZm9yIChjb25zdCBrIGluIHJlamVjdG9ycykge1xuICAgICAgICAgICAgICByZWplY3RvcnNba10obmV3IFJlc2V0RXJyb3IoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIE9uIG1vdW50ICovXG4gIGluaXQoKSB7XG4gICAgZGVsZXRlIHRoaXMuY2xlYW51cERhdGU7XG4gIH1cblxuICAvKiogRW5zdXJlcyBhbGwgcHJvbWlzZXMgYXJlIGNvbXBsZXRlZCBieSByZWplY3RpbmcgcmVtYWluaW5nLiAqL1xuICBjbGVhbnVwKCkge1xuICAgIC8vIGVuc3VyZSBubyBkaXNwYXRjaGVzIGFmdGVyIHVubW91bnRcbiAgICAvLyB0aGlzIG11c3QgYmUgcmV2ZXJzaWJsZSAoZG9uZSBpbiBpbml0KSBzbyB1c2VFZmZlY3QoKSByZW1haW5zIHN5bW1ldHJpY1xuICAgIHRoaXMuY2xlYW51cERhdGUgPSBEYXRlLm5vdygpO1xuICB9XG5cbiAgLyoqIFVzZWQgYnkgRGV2dG9vbHNNYW5hZ2VyIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGxvZyBhbiBhY3Rpb24gKi9cbiAgc2tpcExvZ2dpbmcoYWN0aW9uOiBBY3Rpb25UeXBlcykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBGRVRDSCAmJiBhY3Rpb24ua2V5IGluIHRoaXMuZmV0Y2hlZDtcbiAgfVxuXG4gIGFsbFNldHRsZWQoKSB7XG4gICAgY29uc3QgZmV0Y2hlcyA9IE9iamVjdC52YWx1ZXModGhpcy5mZXRjaGVkKTtcbiAgICBpZiAoZmV0Y2hlcy5sZW5ndGgpIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQoZmV0Y2hlcyk7XG4gIH1cblxuICAvKiogQ2xlYXIgYWxsIHByb21pc2Ugc3RhdGUgKi9cbiAgcHJvdGVjdGVkIGNsZWFyQWxsKCkge1xuICAgIGZvciAoY29uc3QgayBpbiB0aGlzLnJlamVjdG9ycykge1xuICAgICAgdGhpcy5jbGVhcihrKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xlYXIgcHJvbWlzZSBzdGF0ZSBmb3IgYSBnaXZlbiBrZXkgKi9cbiAgcHJvdGVjdGVkIGNsZWFyKGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5mZXRjaGVkW2tleV0uY2F0Y2goKCkgPT4ge30pO1xuICAgIGRlbGV0ZSB0aGlzLnJlc29sdmVyc1trZXldO1xuICAgIGRlbGV0ZSB0aGlzLnJlamVjdG9yc1trZXldO1xuICAgIGRlbGV0ZSB0aGlzLmZldGNoZWRba2V5XTtcbiAgICBkZWxldGUgdGhpcy5mZXRjaGVkQXRba2V5XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRMYXN0UmVzZXQoKSB7XG4gICAgaWYgKHRoaXMuY2xlYW51cERhdGUpIHJldHVybiB0aGlzLmNsZWFudXBEYXRlO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuZ2V0U3RhdGUoKS5sYXN0UmVzZXQ7XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvZmV0Y2gnIGFjdGlvbi5cbiAgICpcbiAgICogV2lsbCB0aGVuIHN0YXJ0IGEgcHJvbWlzZSBmb3IgYSBrZXkgYW5kIHBvdGVudGlhbGx5IHN0YXJ0IHRoZSBuZXR3b3JrXG4gICAqIGZldGNoLlxuICAgKlxuICAgKiBVc2VzIHRocm90dGxlIGVuZHBvaW50cyB3aXRob3V0IHNpZGVFZmZlY3RzLiBUaGlzIGlzIHZhbHVhYmxlXG4gICAqIGZvciBlbnN1cmVzIG11dGF0aW9uIHJlcXVlc3RzIGFsd2F5cyBnbyB0aHJvdWdoLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZldGNoKGFjdGlvbjogRmV0Y2hBY3Rpb24pIHtcbiAgICBjb25zdCB7IHJlc29sdmUsIHJlamVjdCwgZmV0Y2hlZEF0IH0gPSBhY3Rpb24ubWV0YTtcbiAgICBjb25zdCB0aHJvdHRsZSA9ICFhY3Rpb24uZW5kcG9pbnQuc2lkZUVmZmVjdDtcblxuICAgIGNvbnN0IGRlZmVyZWRGZXRjaCA9ICgpID0+IHtcbiAgICAgIGxldCBwcm9taXNlID0gYWN0aW9uLmVuZHBvaW50KC4uLmFjdGlvbi5hcmdzKTtcbiAgICAgIGNvbnN0IHJlc29sdmVQcm9taXNlID0gKFxuICAgICAgICBwcm9taXNlOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IG9iamVjdCB8IG51bGw+LFxuICAgICAgKSA9PlxuICAgICAgICBwcm9taXNlXG4gICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgIH0pO1xuICAgICAgLy8gc2NoZWR1bGUgbm9uLXRocm90dGxlZCByZXNvbHV0aW9ucyBpbiBhIG1pY3JvdGFzayBiZWZvcmUgc2V0XG4gICAgICAvLyB0aGlzIGVuYWJsZXMgdXNlcnMgYXdhaXRpbmcgdGhlaXIgZmV0Y2ggdG8gdHJpZ2dlciBhbnkgcmVhY3QgdXBkYXRlcyBuZWVkZWQgdG8gZGVhbFxuICAgICAgLy8gd2l0aCB1cGNvbWluZyBjaGFuZ2VzIGJlY2F1c2Ugb2YgdGhlIGZldGNoIChmb3IgaW5zdGFuY2UgYXZvaWRpbmcgc3VzcGVuc2UgaWYgc29tZXRoaW5nIGlzIGRlbGV0ZWQpXG4gICAgICBpZiAoIXRocm90dGxlKSB7XG4gICAgICAgIHByb21pc2UgPSByZXNvbHZlUHJvbWlzZShwcm9taXNlKTtcbiAgICAgIH1cbiAgICAgIHByb21pc2UgPSBwcm9taXNlXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBsZXQgbGFzdFJlc2V0ID0gdGhpcy5nZXRMYXN0UmVzZXQoKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNOYU4obGFzdFJlc2V0KSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgJ3N0YXRlLmxhc3RSZXNldCBpcyBOYU4uIE9ubHkgcG9zaXRpdmUgdGltZXN0YW1wcyBhcmUgdmFsaWQuJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsYXN0UmVzZXQgPSAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGRvbid0IHVwZGF0ZSBzdGF0ZSB3aXRoIHByb21pc2VzIHN0YXJ0ZWQgYmVmb3JlIGxhc3QgY2xlYXJcbiAgICAgICAgICBpZiAoZmV0Y2hlZEF0ID49IGxhc3RSZXNldCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnJlc29sdmUoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgIGFyZ3M6IGFjdGlvbi5hcmdzLFxuICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgZmV0Y2hlZEF0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgICAgICAgIC8vIGRvbid0IHVwZGF0ZSBzdGF0ZSB3aXRoIHByb21pc2VzIHN0YXJ0ZWQgYmVmb3JlIGxhc3QgY2xlYXJcbiAgICAgICAgICBpZiAoZmV0Y2hlZEF0ID49IGxhc3RSZXNldCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnJlc29sdmUoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgIGFyZ3M6IGFjdGlvbi5hcmdzLFxuICAgICAgICAgICAgICByZXNwb25zZTogZXJyb3IsXG4gICAgICAgICAgICAgIGZldGNoZWRBdCxcbiAgICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfTtcblxuICAgIGlmICh0aHJvdHRsZSkge1xuICAgICAgcmV0dXJuIHRoaXMudGhyb3R0bGUoYWN0aW9uLmtleSwgZGVmZXJlZEZldGNoLCBmZXRjaGVkQXQpXG4gICAgICAgIC50aGVuKGRhdGEgPT4gcmVzb2x2ZShkYXRhKSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHJlamVjdChlcnJvcikpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVmZXJlZEZldGNoKCkuY2F0Y2goKCkgPT4ge30pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBtaWRkbGV3YXJlIGludGVyY2VwdHMgYSBzZXQgYWN0aW9uLlxuICAgKlxuICAgKiBXaWxsIHJlc29sdmUgdGhlIHByb21pc2UgYXNzb2NpYXRlZCB3aXRoIHNldCBrZXkuXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2V0KGFjdGlvbjogU2V0UmVzcG9uc2VBY3Rpb24pIHtcbiAgICAvLyB0aGlzIGNhbiBzdGlsbCB0dXJuIG91dCB0byBiZSB1bnRydWUgc2luY2UgdGhpcyBpcyBhc3luY1xuICAgIGlmIChhY3Rpb24ua2V5IGluIHRoaXMuZmV0Y2hlZCkge1xuICAgICAgbGV0IHByb21pc2VIYW5kbGVyOiAodmFsdWU/OiBhbnkpID0+IHZvaWQ7XG4gICAgICBpZiAoYWN0aW9uLmVycm9yKSB7XG4gICAgICAgIHByb21pc2VIYW5kbGVyID0gdGhpcy5yZWplY3RvcnNbYWN0aW9uLmtleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVzb2x2ZXJzW2FjdGlvbi5rZXldO1xuICAgICAgfVxuICAgICAgcHJvbWlzZUhhbmRsZXIoYWN0aW9uLnJlc3BvbnNlKTtcbiAgICAgIC8vIHNpbmNlIHdlJ3JlIHJlc29sdmVkIHdlIG5vIGxvbmdlciBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhpcyBwcm9taXNlXG4gICAgICB0aGlzLmNsZWFyKGFjdGlvbi5rZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbnN1cmVzIG9ubHkgb25lIHJlcXVlc3QgZm9yIGEgZ2l2ZW4ga2V5IGlzIGluIGZsaWdodCBhdCBhbnkgdGltZVxuICAgKlxuICAgKiBVc2VzIGtleSB0byBlaXRoZXIgcmV0cmlldmUgaW4tZmxpZ2h0IHByb21pc2UsIG9yIGlmIG5vdFxuICAgKiBjcmVhdGUgYSBuZXcgcHJvbWlzZSBhbmQgY2FsbCBmZXRjaC5cbiAgICpcbiAgICogTm90ZTogVGhlIG5ldyBwcm9taXNlIGlzIG5vdCBhY3R1YWxseSB0aWVkIHRvIGZldGNoIGF0IGFsbCxcbiAgICogYnV0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGV4cGVjdGVkICdyZWNpZXZlJyBhY3Rpb24gaXMgcHJvY2Vzc2VkLlxuICAgKiBUaGlzIGVuc3VyZXMgcHJvbWlzZXMgYXJlIHJlc29sdmVkIG9ubHkgb25jZSB0aGVpciBkYXRhIGlzIHByb2Nlc3NlZFxuICAgKiBieSB0aGUgcmVkdWNlci5cbiAgICovXG4gIHByb3RlY3RlZCB0aHJvdHRsZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBmZXRjaDogKCkgPT4gUHJvbWlzZTxhbnk+LFxuICAgIGZldGNoZWRBdDogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgIC8vIHdlJ3JlIGFscmVhZHkgZmV0Y2hpbmcgc28gcmV1c2UgdGhlIHByb21pc2VcbiAgICAvLyBmZXRjaGVzIGFmdGVyIHJlc2V0IGRvIG5vdCBjb3VudFxuICAgIGlmIChrZXkgaW4gdGhpcy5mZXRjaGVkICYmIHRoaXMuZmV0Y2hlZEF0W2tleV0gPiBsYXN0UmVzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgICB9XG5cbiAgICB0aGlzLmZldGNoZWRba2V5XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZXJzW2tleV0gPSByZXNvbHZlO1xuICAgICAgdGhpcy5yZWplY3RvcnNba2V5XSA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLmZldGNoZWRBdFtrZXldID0gZmV0Y2hlZEF0O1xuXG4gICAgdGhpcy5pZGxlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIHNpbmNlIG91ciByZWFsIHByb21pc2UgaXMgcmVzb2x2ZWQgdmlhIHRoZSB3cmFwUmVkdWNlcigpLFxuICAgICAgICAvLyB3ZSBzaG91bGQganVzdCBzdG9wIGFsbCBlcnJvcnMgaGVyZS5cbiAgICAgICAgLy8gVE9ETzogZGVjb3VwbGUgdGhpcyBmcm9tIHVzZUZldGNoZXIoKSAodGhhdCdzIHdoYXQncyBkaXNwYXRjaGluZyB0aGUgZXJyb3IgdGhlIHJlc29sdmVzIGluIGhlcmUpXG4gICAgICAgIGZldGNoKCkuY2F0Y2goKCkgPT4gbnVsbCk7XG4gICAgICB9LFxuICAgICAgeyB0aW1lb3V0OiA1MDAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hlZFtrZXldO1xuICB9XG5cbiAgLyoqIENhbGxzIHRoZSBjYWxsYmFjayB3aGVuIGNsaWVudCBpcyBub3QgJ2J1c3knIHdpdGggaGlnaCBwcmlvcml0eSBpbnRlcmFjdGlvbiB0YXNrc1xuICAgKlxuICAgKiBPdmVycmlkZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgaWRsZUNhbGxiYWNrKFxuICAgIGNhbGxiYWNrOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQsXG4gICAgb3B0aW9ucz86IElkbGVSZXF1ZXN0T3B0aW9ucyxcbiAgKSB7XG4gICAgY2FsbGJhY2soKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsWUFBWSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssUUFBUSxtQkFBbUI7QUFDOUQsU0FBU0MsaUJBQWlCLFFBQVEsZ0NBQWdDO0FBQ2xFLE9BQU9DLFVBQVUsTUFBTSw2QkFBNkI7QUFVcEQsT0FBTyxNQUFNQyxVQUFVLFNBQVNDLEtBQUssQ0FBQztFQUdwQ0MsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osS0FBSyxDQUFDLHNCQUFzQixDQUFDO0lBQUMsS0FIaENDLElBQUksR0FBRyxZ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
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _keysInstanceProperty from "core-js-pure/stable/instance/keys.js";
|
|
2
|
-
import _Object$assign from "core-js-pure/stable/object/assign.js";
|
|
3
1
|
import DefaultConnectionListener from './DefaultConnectionListener.js';
|
|
4
2
|
/**
|
|
5
3
|
* PollingSubscription keeps a given resource updated by
|
|
@@ -81,8 +79,7 @@ export default class PollingSubscription {
|
|
|
81
79
|
|
|
82
80
|
// this was the min, so find the next size
|
|
83
81
|
if (frequency <= this.frequency) {
|
|
84
|
-
|
|
85
|
-
this.frequency = Math.min(..._keysInstanceProperty(_context = this.frequencyHistogram).call(_context));
|
|
82
|
+
this.frequency = Math.min(...this.frequencyHistogram.keys());
|
|
86
83
|
this.run();
|
|
87
84
|
}
|
|
88
85
|
}
|
|
@@ -116,7 +113,7 @@ export default class PollingSubscription {
|
|
|
116
113
|
const endpoint = function endpoint(...args) {
|
|
117
114
|
return sup.call(this, ...args);
|
|
118
115
|
};
|
|
119
|
-
|
|
116
|
+
Object.assign(endpoint, this.endpoint);
|
|
120
117
|
endpoint.dataExpiryLength = this.frequency / 2;
|
|
121
118
|
endpoint.errorExpiryLength = this.frequency / 10;
|
|
122
119
|
endpoint.errorPolicy = () => 'soft';
|
|
@@ -150,4 +147,4 @@ export default class PollingSubscription {
|
|
|
150
147
|
return (_this$controller$getS = (_this$controller$getS2 = this.controller.getState().meta[this.key]) == null ? void 0 : _this$controller$getS2.date) != null ? _this$controller$getS : 0;
|
|
151
148
|
}
|
|
152
149
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwic2V0IiwiaXNPbmxpbmUiLCJhZGQiLCJoYXMiLCJnZXQiLCJyZW1vdmUiLCJkZWxldGUiLCJzaXplIiwiX2NvbnRleHQiLCJtaW4iLCJfa2V5c0luc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiZXJyb3IiLCJpbnRlcnZhbElkIiwiY2xlYXJJbnRlcnZhbCIsImxhc3RJbnRlcnZhbElkIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlT2ZmbGluZUxpc3RlbmVyIiwic3VwIiwiX09iamVjdCRhc3NpZ24iLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJlcnJvclBvbGljeSIsImZldGNoIiwiY2F0Y2giLCJzZXRJbnRlcnZhbCIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UyIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UzIiLCJnZXRTdGF0ZSIsIm1ldGEiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBrZXk6IHN0cmluZztcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBkZWNsYXJlIHByb3RlY3RlZCBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIGRlY2xhcmUgcHJpdmF0ZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLmFyZ3M7XG4gICAgdGhpcy5rZXkgPSBhY3Rpb24ua2V5O1xuICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldCh0aGlzLmZyZXF1ZW5jeSwgMSk7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lciA9XG4gICAgICBjb25uZWN0aW9uTGlzdGVuZXIgfHwgbmV3IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIoKTtcblxuICAgIC8vIEtpY2tzdGFydCBydW5uaW5nIHNpbmNlIHRoaXMgaXMgaW5pdGlhbGl6ZWQgYWZ0ZXIgdGhlIG9ubGluZSBub3RpZiBpcyBzZW50XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmlzT25saW5lKCkpIHtcbiAgICAgIHRoaXMub25saW5lTGlzdGVuZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vZmZsaW5lTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKiogU3Vic2NyaWJlIHRvIGEgZnJlcXVlbmN5ICovXG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpIHtcbiAgICBpZiAoZnJlcXVlbmN5ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uaGFzKGZyZXF1ZW5jeSkpIHtcbiAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldChcbiAgICAgICAgZnJlcXVlbmN5LFxuICAgICAgICAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSArIDEsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoZnJlcXVlbmN5LCAxKTtcblxuICAgICAgLy8gbmV3IG1pbiBzbyByZXN0YXJ0IHNlcnZpY2VcbiAgICAgIGlmIChmcmVxdWVuY3kgPCB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTtcbiAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVW5zdWJzY3JpYmUgZnJvbSBhIGZyZXF1ZW5jeSAqL1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgLSAxLFxuICAgICAgKTtcbiAgICAgIGlmICgodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSA8IDEpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZGVsZXRlKGZyZXF1ZW5jeSk7XG5cbiAgICAgICAgLy8gbm90aGluZyBzdWJzY3JpYmVkIHRvIHRoaXMgYW55bW9yZS4uLml0IGlzIGludmFsaWRcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNpemUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmNsZWFudXAoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMgd2FzIHRoZSBtaW4sIHNvIGZpbmQgdGhlIG5leHQgc2l6ZVxuICAgICAgICBpZiAoZnJlcXVlbmN5IDw9IHRoaXMuZnJlcXVlbmN5KSB7XG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBNYXRoLm1pbiguLi50aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5rZXlzKCkpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGVsc2UgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYE1pc21hdGNoZWQgcmVtb3ZlOiAke2ZyZXF1ZW5jeX0gaXMgbm90IHN1YnNjcmliZWQgZm9yICR7dGhpcy5rZXl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIG1lYW5zIGNsZWFyaW5nIG91dCBiYWNrZ3JvdW5kIGludGVydmFsLiAqL1xuICBjbGVhbnVwKCkge1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMubGFzdEludGVydmFsSWQpO1xuICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXJ0SWQpO1xuICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICB9XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIHJlcXVlc3QgZm9yIGxhdGVzdCByZXNvdXJjZSAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xuICAgIGNvbnN0IHN1cCA9IHRoaXMuZW5kcG9pbnQ7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgcmV0dXJuIHN1cC5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICAgIH07XG4gICAgT2JqZWN0LmFzc2lnbihlbmRwb2ludCwgdGhpcy5lbmRwb2ludCk7XG4gICAgZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMjtcbiAgICBlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMTA7XG4gICAgZW5kcG9pbnQuZXJyb3JQb2xpY3kgPSAoKSA9PiAnc29mdCcgYXMgY29uc3Q7XG4gICAgZW5kcG9pbnQua2V5ID0gKCkgPT4gdGhpcy5rZXk7XG4gICAgLy8gc3RvcCBhbnkgZXJyb3JzIGhlcmUgZnJvbSBidWJibGluZ1xuICAgIHRoaXMuY29udHJvbGxlci5mZXRjaChlbmRwb2ludCwgLi4udGhpcy5hcmdzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGdvZXMgb2ZmbGluZSAqL1xuICBwcm90ZWN0ZWQgb2ZmbGluZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgIC8vIHRoaXMgY2xlYXJzIGV4aXN0aW5nIGxpc3RlbmVycywgc28gbm8gbmVlZCB0byBjbGVhciBvZmZsaW5lIGxpc3RlbmVyXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gIH07XG5cbiAgLyoqIFdoYXQgaGFwcGVucyB3aGVuIGJyb3dzZXIgY29tZXMgb25saW5lICovXG4gIHByb3RlY3RlZCBvbmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5yZW1vdmVPbmxpbmVMaXN0ZW5lcih0aGlzLm9ubGluZUxpc3RlbmVyKTtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuc3RhcnRJZCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5zdGFydElkO1xuICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFBvbGwgc2V0VGltZW91dCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IHRpbWVvdXRJZCBkZWxldGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTWF0aC5tYXgoMCwgdGhpcy5sYXN0RmV0Y2hUaW1lKCkgLSBub3cgKyB0aGlzLmZyZXF1ZW5jeSksXG4gICAgKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5hZGRPZmZsaW5lTGlzdGVuZXIodGhpcy5vZmZsaW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBSdW4gcG9sbGluZyBwcm9jZXNzIHdpdGggY3VycmVudCBmcmVxdWVuY3lcbiAgICpcbiAgICogV2lsbCBjbGVhbiB1cCBvbGQgcG9sbCBpbnRlcnZhbCBvbiBuZXh0IHJ1blxuICAgKi9cbiAgcHJvdGVjdGVkIHJ1bigpIHtcbiAgICBpZiAodGhpcy5zdGFydElkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy5sYXN0SW50ZXJ2YWxJZCA9IHRoaXMuaW50ZXJ2YWxJZDtcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAvLyBzaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBsb25nIGludG8gdGhlIGxhc3QgcG9sbCBpdCB3YXMgYmVmb3JlIHJlc2V0dGluZ1xuICAgICAgLy8gd2Ugd2FpdCB0aWwgdGhlIG5leHQgZmV0Y2ggdG8gY2xlYXIgb2xkIGludGVydmFsc1xuICAgICAgaWYgKHRoaXMubGFzdEludGVydmFsSWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB0aGlzLnVwZGF0ZSgpO1xuICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFBvbGwgaW50ZXJ2YWxJZCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IGludGVydmFsSWQgZGVsZXRlZGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5mcmVxdWVuY3kpO1xuICB9XG5cbiAgLyoqIExhc3QgZmV0Y2ggdGltZSAqL1xuICBwcm90ZWN0ZWQgbGFzdEZldGNoVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVt0aGlzLmtleV0/LmRhdGUgPz8gMDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUdBLE9BQU9BLHlCQUF5QixNQUFNLGdDQUFnQztBQUt0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTUMsbUJBQW1CLENBQXlCO0VBWS9EQyxXQUFXQSxDQUNUQyxNQUFxQyxFQUNyQ0MsVUFBc0IsRUFDdEJDLGtCQUF1QyxFQUN2QztJQUFBLEtBWFFDLGtCQUFrQixHQUF3QixJQUFJQyxHQUFHLENBQUMsQ0FBQztJQW9IN0Q7SUFBQSxLQUNVQyxlQUFlLEdBQUcsTUFBTTtNQUNoQztNQUNBLElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUM7TUFDZCxJQUFJLENBQUNKLGtCQUFrQixDQUFDSyxpQkFBaUIsQ0FBQyxJQUFJLENBQUNDLGNBQWMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7SUFBQSxLQUNVQSxjQUFjLEdBQUcsTUFBTTtNQUMvQixJQUFJLENBQUNOLGtCQUFrQixDQUFDTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUNELGNBQWMsQ0FBQztNQUNqRSxNQUFNRSxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBRyxDQUFDLENBQUM7TUFDdEIsSUFBSSxDQUFDRSxPQUFPLEdBQUdDLFVBQVUsQ0FDdkIsTUFBTTtRQUNKLElBQUksSUFBSSxD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
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwic2V0IiwiaXNPbmxpbmUiLCJhZGQiLCJoYXMiLCJnZXQiLCJyZW1vdmUiLCJkZWxldGUiLCJzaXplIiwibWluIiwia2V5cyIsImVycm9yIiwiaW50ZXJ2YWxJZCIsImNsZWFySW50ZXJ2YWwiLCJsYXN0SW50ZXJ2YWxJZCIsImNsZWFyVGltZW91dCIsInJlbW92ZU9mZmxpbmVMaXN0ZW5lciIsInN1cCIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJlcnJvclBvbGljeSIsImZldGNoIiwiY2F0Y2giLCJzZXRJbnRlcnZhbCIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UyIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UzIiLCJnZXRTdGF0ZSIsIm1ldGEiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBrZXk6IHN0cmluZztcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBkZWNsYXJlIHByb3RlY3RlZCBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIGRlY2xhcmUgcHJpdmF0ZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLmFyZ3M7XG4gICAgdGhpcy5rZXkgPSBhY3Rpb24ua2V5O1xuICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldCh0aGlzLmZyZXF1ZW5jeSwgMSk7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lciA9XG4gICAgICBjb25uZWN0aW9uTGlzdGVuZXIgfHwgbmV3IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIoKTtcblxuICAgIC8vIEtpY2tzdGFydCBydW5uaW5nIHNpbmNlIHRoaXMgaXMgaW5pdGlhbGl6ZWQgYWZ0ZXIgdGhlIG9ubGluZSBub3RpZiBpcyBzZW50XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmlzT25saW5lKCkpIHtcbiAgICAgIHRoaXMub25saW5lTGlzdGVuZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vZmZsaW5lTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKiogU3Vic2NyaWJlIHRvIGEgZnJlcXVlbmN5ICovXG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpIHtcbiAgICBpZiAoZnJlcXVlbmN5ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uaGFzKGZyZXF1ZW5jeSkpIHtcbiAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldChcbiAgICAgICAgZnJlcXVlbmN5LFxuICAgICAgICAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSArIDEsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoZnJlcXVlbmN5LCAxKTtcblxuICAgICAgLy8gbmV3IG1pbiBzbyByZXN0YXJ0IHNlcnZpY2VcbiAgICAgIGlmIChmcmVxdWVuY3kgPCB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTtcbiAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVW5zdWJzY3JpYmUgZnJvbSBhIGZyZXF1ZW5jeSAqL1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgLSAxLFxuICAgICAgKTtcbiAgICAgIGlmICgodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSA8IDEpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZGVsZXRlKGZyZXF1ZW5jeSk7XG5cbiAgICAgICAgLy8gbm90aGluZyBzdWJzY3JpYmVkIHRvIHRoaXMgYW55bW9yZS4uLml0IGlzIGludmFsaWRcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNpemUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmNsZWFudXAoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMgd2FzIHRoZSBtaW4sIHNvIGZpbmQgdGhlIG5leHQgc2l6ZVxuICAgICAgICBpZiAoZnJlcXVlbmN5IDw9IHRoaXMuZnJlcXVlbmN5KSB7XG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBNYXRoLm1pbiguLi50aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5rZXlzKCkpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGVsc2UgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYE1pc21hdGNoZWQgcmVtb3ZlOiAke2ZyZXF1ZW5jeX0gaXMgbm90IHN1YnNjcmliZWQgZm9yICR7dGhpcy5rZXl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIG1lYW5zIGNsZWFyaW5nIG91dCBiYWNrZ3JvdW5kIGludGVydmFsLiAqL1xuICBjbGVhbnVwKCkge1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMubGFzdEludGVydmFsSWQpO1xuICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXJ0SWQpO1xuICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICB9XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIHJlcXVlc3QgZm9yIGxhdGVzdCByZXNvdXJjZSAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xuICAgIGNvbnN0IHN1cCA9IHRoaXMuZW5kcG9pbnQ7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgcmV0dXJuIHN1cC5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICAgIH07XG4gICAgT2JqZWN0LmFzc2lnbihlbmRwb2ludCwgdGhpcy5lbmRwb2ludCk7XG4gICAgZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMjtcbiAgICBlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMTA7XG4gICAgZW5kcG9pbnQuZXJyb3JQb2xpY3kgPSAoKSA9PiAnc29mdCcgYXMgY29uc3Q7XG4gICAgZW5kcG9pbnQua2V5ID0gKCkgPT4gdGhpcy5rZXk7XG4gICAgLy8gc3RvcCBhbnkgZXJyb3JzIGhlcmUgZnJvbSBidWJibGluZ1xuICAgIHRoaXMuY29udHJvbGxlci5mZXRjaChlbmRwb2ludCwgLi4udGhpcy5hcmdzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGdvZXMgb2ZmbGluZSAqL1xuICBwcm90ZWN0ZWQgb2ZmbGluZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgIC8vIHRoaXMgY2xlYXJzIGV4aXN0aW5nIGxpc3RlbmVycywgc28gbm8gbmVlZCB0byBjbGVhciBvZmZsaW5lIGxpc3RlbmVyXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gIH07XG5cbiAgLyoqIFdoYXQgaGFwcGVucyB3aGVuIGJyb3dzZXIgY29tZXMgb25saW5lICovXG4gIHByb3RlY3RlZCBvbmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5yZW1vdmVPbmxpbmVMaXN0ZW5lcih0aGlzLm9ubGluZUxpc3RlbmVyKTtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuc3RhcnRJZCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5zdGFydElkO1xuICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFBvbGwgc2V0VGltZW91dCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IHRpbWVvdXRJZCBkZWxldGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTWF0aC5tYXgoMCwgdGhpcy5sYXN0RmV0Y2hUaW1lKCkgLSBub3cgKyB0aGlzLmZyZXF1ZW5jeSksXG4gICAgKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5hZGRPZmZsaW5lTGlzdGVuZXIodGhpcy5vZmZsaW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBSdW4gcG9sbGluZyBwcm9jZXNzIHdpdGggY3VycmVudCBmcmVxdWVuY3lcbiAgICpcbiAgICogV2lsbCBjbGVhbiB1cCBvbGQgcG9sbCBpbnRlcnZhbCBvbiBuZXh0IHJ1blxuICAgKi9cbiAgcHJvdGVjdGVkIHJ1bigpIHtcbiAgICBpZiAodGhpcy5zdGFydElkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy5sYXN0SW50ZXJ2YWxJZCA9IHRoaXMuaW50ZXJ2YWxJZDtcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAvLyBzaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBsb25nIGludG8gdGhlIGxhc3QgcG9sbCBpdCB3YXMgYmVmb3JlIHJlc2V0dGluZ1xuICAgICAgLy8gd2Ugd2FpdCB0aWwgdGhlIG5leHQgZmV0Y2ggdG8gY2xlYXIgb2xkIGludGVydmFsc1xuICAgICAgaWYgKHRoaXMubGFzdEludGVydmFsSWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB0aGlzLnVwZGF0ZSgpO1xuICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFBvbGwgaW50ZXJ2YWxJZCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IGludGVydmFsSWQgZGVsZXRlZGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5mcmVxdWVuY3kpO1xuICB9XG5cbiAgLyoqIExhc3QgZmV0Y2ggdGltZSAqL1xuICBwcm90ZWN0ZWQgbGFzdEZldGNoVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVt0aGlzLmtleV0/LmRhdGUgPz8gMDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSx5QkFBeUIsTUFBTSxnQ0FBZ0M7QUFLdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLG1CQUFtQixDQUF5QjtFQVkvREMsV0FBV0EsQ0FDVEMsTUFBcUMsRUFDckNDLFVBQXNCLEVBQ3RCQyxrQkFBdUMsRUFDdkM7SUFBQSxLQVhRQyxrQkFBa0IsR0FBd0IsSUFBSUMsR0FBRyxDQUFDLENBQUM7SUFvSDdEO0lBQUEsS0FDVUMsZUFBZSxHQUFHLE1BQU07TUFDaEM7TUFDQSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ2QsSUFBSSxDQUFDSixrQkFBa0IsQ0FBQ0ssaUJBQWlCLENBQUMsSUFBSSxDQUFDQyxjQUFjLENBQUM7SUFDaEUsQ0FBQztJQUVEO0lBQUEsS0FDVUEsY0FBYyxHQUFHLE1BQU07TUFDL0IsSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ08sb0JBQW9CLENBQUMsSUFBSSxDQUFDRCxjQUFjLENBQUM7TUFDakUsTUFBTUUsR0FBRyxHQUFHQyxJQUFJLENBQUNELEdBQUcsQ0FBQyxDQUFDO01BQ3RCLElBQUksQ0FBQ0UsT0FBTyxHQUFHQyxVQUFVLENBQ3ZCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQ0QsT0FBTyxFQUFFO1VBQ2hCLE9BQU8sSUFB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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _Promise from "core-js-pure/stable/promise/index.js";
|
|
2
1
|
import { SUBSCRIBE, UNSUBSCRIBE } from '../actionTypes.js';
|
|
3
2
|
import Controller from '../controller/Controller.js';
|
|
4
3
|
|
|
@@ -27,10 +26,10 @@ export default class SubscriptionManager {
|
|
|
27
26
|
} catch (e) {
|
|
28
27
|
console.error(e);
|
|
29
28
|
}
|
|
30
|
-
return
|
|
29
|
+
return Promise.resolve();
|
|
31
30
|
case UNSUBSCRIBE:
|
|
32
31
|
this.handleUnsubscribe(action);
|
|
33
|
-
return
|
|
32
|
+
return Promise.resolve();
|
|
34
33
|
default:
|
|
35
34
|
return next(action);
|
|
36
35
|
}
|
|
@@ -76,4 +75,4 @@ export default class SubscriptionManager {
|
|
|
76
75
|
}
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+XG57XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiB7XG4gICAgW2tleTogc3RyaW5nXTogSW5zdGFuY2VUeXBlPFM+O1xuICB9ID0ge307XG5cbiAgZGVjbGFyZSBwcm90ZWN0ZWQgcmVhZG9ubHkgU3Vic2NyaXB0aW9uOiBTO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoU3Vic2NyaXB0aW9uOiBTKSB7XG4gICAgdGhpcy5TdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb247XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFNVQlNDUklCRTpcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpYmUoYWN0aW9uKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgVU5TVUJTQ1JJQkU6XG4gICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5hZGQoZnJlcXVlbmN5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2tleV0gPSBuZXcgdGhpcy5TdWJzY3JpcHRpb24oXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLFxuICAgICAgKSBhcyBJbnN0YW5jZVR5cGU8Uz47XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3Vuc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVW5zdWJzY3JpYmUoYWN0aW9uOiBVbnN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIGNvbnN0IGVtcHR5ID0gdGhpcy5zdWJzY3JpcHRpb25zW2tleV0ucmVtb3ZlKGZyZXF1ZW5jeSk7XG4gICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWlzbWF0Y2hlZCB1bnN1YnNjcmliZTogJHtrZXl9IGlzIG5vdCBzdWJzY3JpYmVkYCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsV0FBVyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVVwRDs7QUFP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
|
package/legacy/state/GCPolicy.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
2
1
|
import { GC } from '../actionTypes.js';
|
|
3
2
|
export class GCPolicy {
|
|
4
3
|
constructor({
|
|
@@ -69,10 +68,9 @@ export class GCPolicy {
|
|
|
69
68
|
const entityCount = instanceCount.get(path.pk);
|
|
70
69
|
if (entityCount !== undefined) {
|
|
71
70
|
if (entityCount <= 1) {
|
|
72
|
-
var _context;
|
|
73
71
|
instanceCount.delete(path.pk);
|
|
74
72
|
// queue for cleanup
|
|
75
|
-
|
|
73
|
+
this.entitiesQ.push(path);
|
|
76
74
|
} else {
|
|
77
75
|
instanceCount.set(path.pk, entityCount - 1);
|
|
78
76
|
}
|
|
@@ -100,7 +98,7 @@ export class GCPolicy {
|
|
|
100
98
|
date: 0,
|
|
101
99
|
expiresAt: 0
|
|
102
100
|
}) < now) {
|
|
103
|
-
|
|
101
|
+
endpoints.push(key);
|
|
104
102
|
} else {
|
|
105
103
|
nextEndpointsQ.add(key);
|
|
106
104
|
}
|
|
@@ -114,9 +112,9 @@ export class GCPolicy {
|
|
|
114
112
|
date: 0,
|
|
115
113
|
expiresAt: 0
|
|
116
114
|
}) < now) {
|
|
117
|
-
|
|
115
|
+
entities.push(path);
|
|
118
116
|
} else {
|
|
119
|
-
|
|
117
|
+
nextEntitiesQ.push(path);
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
120
|
this.entitiesQ = nextEntitiesQ;
|
|
@@ -150,4 +148,4 @@ export class ImmortalGCPolicy {
|
|
|
150
148
|
return () => () => undefined;
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHQyIsIkdDUG9saWN5IiwiY29uc3RydWN0b3IiLCJpbnRlcnZhbE1TIiwiZXhwaXJ5TXVsdGlwbGllciIsImV4cGlyZXNBdCIsImVuZHBvaW50Q291bnQiLCJNYXAiLCJlbnRpdHlDb3VudCIsImVuZHBvaW50c1EiLCJTZXQiLCJlbnRpdGllc1EiLCJiaW5kIiwib3B0aW9ucyIsImluaXQiLCJjb250cm9sbGVyIiwiaW50ZXJ2YWxJZCIsInNldEludGVydmFsIiwiaWRsZUNhbGxiYWNrIiwicnVuU3dlZXAiLCJ0aW1lb3V0IiwiY2xlYW51cCIsImNsZWFySW50ZXJ2YWwiLCJjcmVhdGVDb3VudFJlZiIsImtleSIsInBhdGhzIiwiX3RoaXMkZW5kcG9pbnRDb3VudCRnIiwic2V0IiwiZ2V0IiwiZm9yRWFjaCIsInBhdGgiLCJfaW5zdGFuY2VDb3VudCRnZXQiLCJoYXMiLCJpbnN0YW5jZUNvdW50IiwicGsiLCJjdXJyZW50Q291bnQiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJhZGQiLCJfY29udGV4dCIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJmZXRjaGVkQXQiLCJNYXRoIiwibWF4Iiwic3RhdGUiLCJnZXRTdGF0ZSIsImVudGl0aWVzIiwiZW5kcG9pbnRzIiwibm93IiwiRGF0ZSIsIm5leHRFbmRwb2ludHNRIiwiX3N0YXRlJG1ldGEka2V5IiwibWV0YSIsImRhdGUiLCJuZXh0RW50aXRpZXNRIiwiX3RoaXMkZW50aXR5Q291bnQkZ2V0IiwiX3N0YXRlJGVudGl0eU1ldGEkcGF0IiwiX3N0YXRlJGVudGl0eU1ldGEkcGF0MiIsImVudGl0eU1ldGEiLCJsZW5ndGgiLCJkaXNwYXRjaCIsInR5cGUiLCJjYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJJbW1vcnRhbEdDUG9saWN5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlL0dDUG9saWN5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5UGF0aCB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBHQyB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBHQ1BvbGljeSBpbXBsZW1lbnRzIEdDSW50ZXJmYWNlIHtcbiAgcHJvdGVjdGVkIGVuZHBvaW50Q291bnQgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuICBwcm90ZWN0ZWQgZW50aXR5Q291bnQgPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgbnVtYmVyPj4oKTtcbiAgcHJvdGVjdGVkIGVuZHBvaW50c1EgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIGVudGl0aWVzUTogRW50aXR5UGF0aFtdID0gW107XG5cbiAgZGVjbGFyZSBwcm90ZWN0ZWQgaW50ZXJ2YWxJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBkZWNsYXJlIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyO1xuICBkZWNsYXJlIHByb3RlY3RlZCBvcHRpb25zOiBSZXF1aXJlZDxPbWl0PEdDT3B0aW9ucywgJ2V4cGlyZXNBdCc+PjtcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgLy8gZXZlcnkgNSBtaW5cbiAgICBpbnRlcnZhbE1TID0gNjAgKiAxMDAwICogNSxcbiAgICBleHBpcnlNdWx0aXBsaWVyID0gMixcbiAgICBleHBpcmVzQXQsXG4gIH06IEdDT3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKGV4cGlyZXNBdCkge1xuICAgICAgdGhpcy5leHBpcmVzQXQgPSBleHBpcmVzQXQuYmluZCh0aGlzKTtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgaW50ZXJ2YWxNUyxcbiAgICAgIGV4cGlyeU11bHRpcGxpZXIsXG4gICAgfTtcbiAgfVxuXG4gIGluaXQoY29udHJvbGxlcjogQ29udHJvbGxlcikge1xuICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG5cbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLmlkbGVDYWxsYmFjaygoKSA9PiB0aGlzLnJ1blN3ZWVwKCksIHsgdGltZW91dDogMTAwMCB9KTtcbiAgICB9LCB0aGlzLm9wdGlvbnMuaW50ZXJ2YWxNUyk7XG4gIH1cblxuICBjbGVhbnVwKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgfVxuXG4gIGNyZWF0ZUNvdW50UmVmKHsga2V5LCBwYXRocyA9IFtdIH06IHsga2V5Pzogc3RyaW5nOyBwYXRocz86IEVudGl0eVBhdGhbXSB9KSB7XG4gICAgLy8gaW5jcmVtZW50XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChrZXkpXG4gICAgICAgIHRoaXMuZW5kcG9pbnRDb3VudC5zZXQoa2V5LCAodGhpcy5lbmRwb2ludENvdW50LmdldChrZXkpID8/IDApICsgMSk7XG4gICAgICBwYXRocy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZW50aXR5Q291bnQuaGFzKHBhdGgua2V5KSkge1xuICAgICAgICAgIHRoaXMuZW50aXR5Q291bnQuc2V0KHBhdGgua2V5LCBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnN0YW5jZUNvdW50ID0gdGhpcy5lbnRpdHlDb3VudC5nZXQocGF0aC5rZXkpITtcbiAgICAgICAgaW5zdGFuY2VDb3VudC5zZXQocGF0aC5waywgKGluc3RhbmNlQ291bnQuZ2V0KHBhdGgucGspID8/IDApICsgMSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gZGVjcmVtZW50XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudENvdW50ID0gdGhpcy5lbmRwb2ludENvdW50LmdldChrZXkpITtcbiAgICAgICAgICBpZiAoY3VycmVudENvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50Q291bnQgPD0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmVuZHBvaW50Q291bnQuZGVsZXRlKGtleSk7XG4gICAgICAgICAgICAgIC8vIHF1ZXVlIGZvciBjbGVhbnVwXG4gICAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRzUS5hZGQoa2V5KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRDb3VudC5zZXQoa2V5LCBjdXJyZW50Q291bnQgLSAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcGF0aHMuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuZW50aXR5Q291bnQuaGFzKHBhdGgua2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBpbnN0YW5jZUNvdW50ID0gdGhpcy5lbnRpdHlDb3VudC5nZXQocGF0aC5rZXkpITtcbiAgICAgICAgICBjb25zdCBlbnRpdHlDb3VudCA9IGluc3RhbmNlQ291bnQuZ2V0KHBhdGgucGspITtcbiAgICAgICAgICBpZiAoZW50aXR5Q291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKGVudGl0eUNvdW50IDw9IDEpIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudC5kZWxldGUocGF0aC5wayk7XG4gICAgICAgICAgICAgIC8vIHF1ZXVlIGZvciBjbGVhbnVwXG4gICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNRLnB1c2gocGF0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpbnN0YW5jZUNvdW50LnNldChwYXRoLnBrLCBlbnRpdHlDb3VudCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgZXhwaXJlc0F0KHtcbiAgICBmZXRjaGVkQXQsXG4gICAgZXhwaXJlc0F0LFxuICB9OiB7XG4gICAgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgZGF0ZTogbnVtYmVyO1xuICAgIGZldGNoZWRBdDogbnVtYmVyO1xuICB9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKFxuICAgICAgTWF0aC5tYXgoXG4gICAgICAgIChleHBpcmVzQXQgLSBmZXRjaGVkQXQpICogdGhpcy5vcHRpb25zLmV4cGlyeU11bHRpcGxpZXIsXG4gICAgICAgIDEyMDAwMCxcbiAgICAgICkgKyBmZXRjaGVkQXRcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJ1blN3ZWVwKCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCk7XG4gICAgY29uc3QgZW50aXRpZXM6IEVudGl0eVBhdGhbXSA9IFtdO1xuICAgIGNvbnN0IGVuZHBvaW50czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gICAgY29uc3QgbmV4dEVuZHBvaW50c1EgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmVuZHBvaW50c1EpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuZW5kcG9pbnRDb3VudC5oYXMoa2V5KSAmJlxuICAgICAgICB0aGlzLmV4cGlyZXNBdChcbiAgICAgICAgICBzdGF0ZS5tZXRhW2tleV0gPz8ge1xuICAgICAgICAgICAgZmV0Y2hlZEF0OiAwLFxuICAgICAgICAgICAgZGF0ZTogMCxcbiAgICAgICAgICAgIGV4cGlyZXNBdDogMCxcbiAgICAgICAgICB9LFxuICAgICAgICApIDwgbm93XG4gICAgICApIHtcbiAgICAgICAgZW5kcG9pbnRzLnB1c2goa2V5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRFbmRwb2ludHNRLmFkZChrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmVuZHBvaW50c1EgPSBuZXh0RW5kcG9pbnRzUTtcblxuICAgIGNvbnN0IG5leHRFbnRpdGllc1E6IEVudGl0eVBhdGhbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcGF0aCBvZiB0aGlzLmVudGl0aWVzUSkge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5lbnRpdHlDb3VudC5nZXQocGF0aC5rZXkpPy5oYXMocGF0aC5waykgJiZcbiAgICAgICAgdGhpcy5leHBpcmVzQXQoXG4gICAgICAgICAgc3RhdGUuZW50aXR5TWV0YVtwYXRoLmtleV0/LltwYXRoLnBrXSA/PyB7XG4gICAgICAgICAgICBmZXRjaGVkQXQ6IDAsXG4gICAgICAgICAgICBkYXRlOiAwLFxuICAgICAgICAgICAgZXhwaXJlc0F0OiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgICkgPCBub3dcbiAgICAgICkge1xuICAgICAgICBlbnRpdGllcy5wdXNoKHBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dEVudGl0aWVzUS5wdXNoKHBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmVudGl0aWVzUSA9IG5leHRFbnRpdGllc1E7XG5cbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoIHx8IGVuZHBvaW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY29udHJvbGxlci5kaXNwYXRjaCh7IHR5cGU6IEdDLCBlbnRpdGllcywgZW5kcG9pbnRzIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxscyB0aGUgY2FsbGJhY2sgd2hlbiBjbGllbnQgaXMgbm90ICdidXN5JyB3aXRoIGhpZ2ggcHJpb3JpdHkgaW50ZXJhY3Rpb24gdGFza3NcbiAgICpcbiAgICogT3ZlcnJpZGUgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGlkbGVDYWxsYmFjayhcbiAgICBjYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkLFxuICAgIG9wdGlvbnM/OiBJZGxlUmVxdWVzdE9wdGlvbnMsXG4gICkge1xuICAgIGlmICh0eXBlb2YgcmVxdWVzdElkbGVDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmVxdWVzdElkbGVDYWxsYmFjayhjYWxsYmFjaywgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbW1vcnRhbEdDUG9saWN5IGltcGxlbWVudHMgR0NJbnRlcmZhY2Uge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIGluaXQoKSB7fVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIGNsZWFudXAoKSB7fVxuICBjcmVhdGVDb3VudFJlZigpIHtcbiAgICByZXR1cm4gKCkgPT4gKCkgPT4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0NPcHRpb25zIHtcbiAgaW50ZXJ2YWxNUz86IG51bWJlcjtcbiAgZXhwaXJ5TXVsdGlwbGllcj86IG51bWJlcjtcbiAgZXhwaXJlc0F0PzogKG1ldGE6IHtcbiAgICBleHBpcmVzQXQ6IG51bWJlcjtcbiAgICBkYXRlOiBudW1iZXI7XG4gICAgZmV0Y2hlZEF0OiBudW1iZXI7XG4gIH0pID0+IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ291bnRSZWYge1xuICAoeyBrZXksIHBhdGhzIH06IHsga2V5Pzogc3RyaW5nOyBwYXRocz86IEVudGl0eVBhdGhbXSB9KTogKCkgPT4gKCkgPT4gdm9pZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR0NJbnRlcmZhY2Uge1xuICBjcmVhdGVDb3VudFJlZjogQ3JlYXRlQ291bnRSZWY7XG4gIGluaXQoY29udHJvbGxlcjogQ29udHJvbGxlcik6IHZv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QUNFLEdBQUFGLHFCQUFBLEdBQUMsSUFBSSxDQUFDaEQsV0FBVyxDQUFDb0IsR0FBRyxDQUFDRSxJQUFJLENBQUNOLEdBQUcsQ0FBQyxhQUE5QmdDLHFCQUFBLENBQWdDeEIsR0FBRyxDQUFDRixJQUFJLENBQUNJLEVBQUUsQ0FBQyxLQUM3QyxJQUFJLENBQUM3QixTQUFTLEVBQUFvRCxxQkFBQSxJQUFBQyxzQkFBQSxHQUNaYixLQUFLLENBQUNjLFVBQVUsQ0FBQzdCLElBQUksQ0FBQ04sR0FBRyxDQUFDLHFCQUExQmtDLHNCQUFBLENBQTZCNUIsSUFBSSxDQUFDSSxFQUFFLENBQUMsWUFBQXVCLHFCQUFBLEdBQUk7UUFDdkNmLFNBQVMsRUFBRSxDQUFDO1FBQ1pZLElBQUksRUFBRSxDQUFDO1FBQ1BqRCxTQUFTLEVBQUU7TUFDYixDQUNGLENBQUMsR0FBRzRDLEdBQUcsRUFDUDtRQUNBVCxxQkFBQSxDQUFBTyxRQUFRLEVBQUFOLElBQUEsQ0FBUk0sUUFBUSxFQUFNakIsSUFBSSxDQUFDO01BQ3JCLENBQUMsTUFBTTtRQUNMVSxxQkFBQSxDQUFBZSxhQUFhLEVBQUFkLElBQUEsQ0FBYmMsYUFBYSxFQUFNekIsSUFBSSxDQUFDO01BQzFCO0lBQ0Y7SUFDQSxJQUFJLENBQUNuQixTQUFTLEdBQUc0QyxhQUFhO0lBRTlCLElBQUlSLFFBQVEsQ0FBQ2EsTUFBTSxJQUFJWixTQUFTLENBQUNZLE1BQU0sRUFBRTtNQUN2QyxJQUFJLENBQUM3QyxVQUFVLENBQUM4QyxRQUFRLENBQUM7UUFBRUMsSUFBSSxFQUFFOUQsRUFBRTtRQUFFK0MsUUFBUTtRQUFFQztNQUFVLENBQUMsQ0FBQztJQUM3RDtFQUNGOztFQUVBO0FBQ0Y7QUFDQTtBQUNBO0VBQ1k5QixZQUFZQSxDQUNwQjZDLFFBQWtDLEVBQ2xDbEQsT0FBNEIsRUFDNUI7SUFDQSxJQUFJLE9BQU9tRCxtQkFBbUIsS0FBSyxVQUFVLEVBQUU7TUFDN0NBLG1CQUFtQixDQUFDRCxRQUFRLEVBQUVsRCxPQUFPLENBQUM7SUFDeEMsQ0FBQyxNQUFNO01BQ0xrRCxRQUFRLENBQUMsQ0FBQztJQUNaO0VBQ0Y7QUFDRjtBQUVBLE9BQU8sTUFBTUUsZ0JBQWdCLENBQXdCO0VBQ25EO0VBQ0FuRCxJQUFJQSxDQUFBLEVBQUcsQ0FBQztFQUNSO0VBQ0FPLE9BQU9BLENBQUEsRUFBRyxDQUFDO0VBQ1hFLGNBQWNBLENBQUEsRUFBRztJQUNmLE9BQU8sTUFBTSxNQUFNYSxTQUFTO0VBQzlCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHQyIsIkdDUG9saWN5IiwiY29uc3RydWN0b3IiLCJpbnRlcnZhbE1TIiwiZXhwaXJ5TXVsdGlwbGllciIsImV4cGlyZXNBdCIsImVuZHBvaW50Q291bnQiLCJNYXAiLCJlbnRpdHlDb3VudCIsImVuZHBvaW50c1EiLCJTZXQiLCJlbnRpdGllc1EiLCJiaW5kIiwib3B0aW9ucyIsImluaXQiLCJjb250cm9sbGVyIiwiaW50ZXJ2YWxJZCIsInNldEludGVydmFsIiwiaWRsZUNhbGxiYWNrIiwicnVuU3dlZXAiLCJ0aW1lb3V0IiwiY2xlYW51cCIsImNsZWFySW50ZXJ2YWwiLCJjcmVhdGVDb3VudFJlZiIsImtleSIsInBhdGhzIiwiX3RoaXMkZW5kcG9pbnRDb3VudCRnIiwic2V0IiwiZ2V0IiwiZm9yRWFjaCIsInBhdGgiLCJfaW5zdGFuY2VDb3VudCRnZXQiLCJoYXMiLCJpbnN0YW5jZUNvdW50IiwicGsiLCJjdXJyZW50Q291bnQiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJhZGQiLCJwdXNoIiwiZmV0Y2hlZEF0IiwiTWF0aCIsIm1heCIsInN0YXRlIiwiZ2V0U3RhdGUiLCJlbnRpdGllcyIsImVuZHBvaW50cyIsIm5vdyIsIkRhdGUiLCJuZXh0RW5kcG9pbnRzUSIsIl9zdGF0ZSRtZXRhJGtleSIsIm1ldGEiLCJkYXRlIiwibmV4dEVudGl0aWVzUSIsIl90aGlzJGVudGl0eUNvdW50JGdldCIsIl9zdGF0ZSRlbnRpdHlNZXRhJHBhdCIsIl9zdGF0ZSRlbnRpdHlNZXRhJHBhdDIiLCJlbnRpdHlNZXRhIiwibGVuZ3RoIiwiZGlzcGF0Y2giLCJ0eXBlIiwiY2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiSW1tb3J0YWxHQ1BvbGljeSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZS9HQ1BvbGljeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eVBhdGggfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgR0MgfSBmcm9tICcuLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tICcuLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgR0NQb2xpY3kgaW1wbGVtZW50cyBHQ0ludGVyZmFjZSB7XG4gIHByb3RlY3RlZCBlbmRwb2ludENvdW50ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgcHJvdGVjdGVkIGVudGl0eUNvdW50ID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIG51bWJlcj4+KCk7XG4gIHByb3RlY3RlZCBlbmRwb2ludHNRID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCBlbnRpdGllc1E6IEVudGl0eVBhdGhbXSA9IFtdO1xuXG4gIGRlY2xhcmUgcHJvdGVjdGVkIGludGVydmFsSWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlcjtcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgb3B0aW9uczogUmVxdWlyZWQ8T21pdDxHQ09wdGlvbnMsICdleHBpcmVzQXQnPj47XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIC8vIGV2ZXJ5IDUgbWluXG4gICAgaW50ZXJ2YWxNUyA9IDYwICogMTAwMCAqIDUsXG4gICAgZXhwaXJ5TXVsdGlwbGllciA9IDIsXG4gICAgZXhwaXJlc0F0LFxuICB9OiBHQ09wdGlvbnMgPSB7fSkge1xuICAgIGlmIChleHBpcmVzQXQpIHtcbiAgICAgIHRoaXMuZXhwaXJlc0F0ID0gZXhwaXJlc0F0LmJpbmQodGhpcyk7XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIGludGVydmFsTVMsXG4gICAgICBleHBpcnlNdWx0aXBsaWVyLFxuICAgIH07XG4gIH1cblxuICBpbml0KGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5pZGxlQ2FsbGJhY2soKCkgPT4gdGhpcy5ydW5Td2VlcCgpLCB7IHRpbWVvdXQ6IDEwMDAgfSk7XG4gICAgfSwgdGhpcy5vcHRpb25zLmludGVydmFsTVMpO1xuICB9XG5cbiAgY2xlYW51cCgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gIH1cblxuICBjcmVhdGVDb3VudFJlZih7IGtleSwgcGF0aHMgPSBbXSB9OiB7IGtleT86IHN0cmluZzsgcGF0aHM/OiBFbnRpdHlQYXRoW10gfSkge1xuICAgIC8vIGluY3JlbWVudFxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoa2V5KVxuICAgICAgICB0aGlzLmVuZHBvaW50Q291bnQuc2V0KGtleSwgKHRoaXMuZW5kcG9pbnRDb3VudC5nZXQoa2V5KSA/PyAwKSArIDEpO1xuICAgICAgcGF0aHMuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmVudGl0eUNvdW50LmhhcyhwYXRoLmtleSkpIHtcbiAgICAgICAgICB0aGlzLmVudGl0eUNvdW50LnNldChwYXRoLmtleSwgbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5zdGFuY2VDb3VudCA9IHRoaXMuZW50aXR5Q291bnQuZ2V0KHBhdGgua2V5KSE7XG4gICAgICAgIGluc3RhbmNlQ291bnQuc2V0KHBhdGgucGssIChpbnN0YW5jZUNvdW50LmdldChwYXRoLnBrKSA/PyAwKSArIDEpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIGRlY3JlbWVudFxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDb3VudCA9IHRoaXMuZW5kcG9pbnRDb3VudC5nZXQoa2V5KSE7XG4gICAgICAgICAgaWYgKGN1cnJlbnRDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudENvdW50IDw9IDEpIHtcbiAgICAgICAgICAgICAgdGhpcy5lbmRwb2ludENvdW50LmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgICAvLyBxdWV1ZSBmb3IgY2xlYW51cFxuICAgICAgICAgICAgICB0aGlzLmVuZHBvaW50c1EuYWRkKGtleSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmVuZHBvaW50Q291bnQuc2V0KGtleSwgY3VycmVudENvdW50IC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBhdGhzLmZvckVhY2gocGF0aCA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmVudGl0eUNvdW50LmhhcyhwYXRoLmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgaW5zdGFuY2VDb3VudCA9IHRoaXMuZW50aXR5Q291bnQuZ2V0KHBhdGgua2V5KSE7XG4gICAgICAgICAgY29uc3QgZW50aXR5Q291bnQgPSBpbnN0YW5jZUNvdW50LmdldChwYXRoLnBrKSE7XG4gICAgICAgICAgaWYgKGVudGl0eUNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChlbnRpdHlDb3VudCA8PSAxKSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlQ291bnQuZGVsZXRlKHBhdGgucGspO1xuICAgICAgICAgICAgICAvLyBxdWV1ZSBmb3IgY2xlYW51cFxuICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzUS5wdXNoKHBhdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudC5zZXQocGF0aC5waywgZW50aXR5Q291bnQgLSAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGlyZXNBdCh7XG4gICAgZmV0Y2hlZEF0LFxuICAgIGV4cGlyZXNBdCxcbiAgfToge1xuICAgIGV4cGlyZXNBdDogbnVtYmVyO1xuICAgIGRhdGU6IG51bWJlcjtcbiAgICBmZXRjaGVkQXQ6IG51bWJlcjtcbiAgfSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIE1hdGgubWF4KFxuICAgICAgICAoZXhwaXJlc0F0IC0gZmV0Y2hlZEF0KSAqIHRoaXMub3B0aW9ucy5leHBpcnlNdWx0aXBsaWVyLFxuICAgICAgICAxMjAwMDAsXG4gICAgICApICsgZmV0Y2hlZEF0XG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBydW5Td2VlcCgpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IGVudGl0aWVzOiBFbnRpdHlQYXRoW10gPSBbXTtcbiAgICBjb25zdCBlbmRwb2ludHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcblxuICAgIGNvbnN0IG5leHRFbmRwb2ludHNRID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5lbmRwb2ludHNRKSB7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmVuZHBvaW50Q291bnQuaGFzKGtleSkgJiZcbiAgICAgICAgdGhpcy5leHBpcmVzQXQoXG4gICAgICAgICAgc3RhdGUubWV0YVtrZXldID8/IHtcbiAgICAgICAgICAgIGZldGNoZWRBdDogMCxcbiAgICAgICAgICAgIGRhdGU6IDAsXG4gICAgICAgICAgICBleHBpcmVzQXQ6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgKSA8IG5vd1xuICAgICAgKSB7XG4gICAgICAgIGVuZHBvaW50cy5wdXNoKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0RW5kcG9pbnRzUS5hZGQoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbmRwb2ludHNRID0gbmV4dEVuZHBvaW50c1E7XG5cbiAgICBjb25zdCBuZXh0RW50aXRpZXNROiBFbnRpdHlQYXRoW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgdGhpcy5lbnRpdGllc1EpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuZW50aXR5Q291bnQuZ2V0KHBhdGgua2V5KT8uaGFzKHBhdGgucGspICYmXG4gICAgICAgIHRoaXMuZXhwaXJlc0F0KFxuICAgICAgICAgIHN0YXRlLmVudGl0eU1ldGFbcGF0aC5rZXldPy5bcGF0aC5wa10gPz8ge1xuICAgICAgICAgICAgZmV0Y2hlZEF0OiAwLFxuICAgICAgICAgICAgZGF0ZTogMCxcbiAgICAgICAgICAgIGV4cGlyZXNBdDogMCxcbiAgICAgICAgICB9LFxuICAgICAgICApIDwgbm93XG4gICAgICApIHtcbiAgICAgICAgZW50aXRpZXMucHVzaChwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRFbnRpdGllc1EucHVzaChwYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbnRpdGllc1EgPSBuZXh0RW50aXRpZXNRO1xuXG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCB8fCBlbmRwb2ludHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbnRyb2xsZXIuZGlzcGF0Y2goeyB0eXBlOiBHQywgZW50aXRpZXMsIGVuZHBvaW50cyB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbHMgdGhlIGNhbGxiYWNrIHdoZW4gY2xpZW50IGlzIG5vdCAnYnVzeScgd2l0aCBoaWdoIHByaW9yaXR5IGludGVyYWN0aW9uIHRhc2tzXG4gICAqXG4gICAqIE92ZXJyaWRlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBpZGxlQ2FsbGJhY2soXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCxcbiAgICBvcHRpb25zPzogSWRsZVJlcXVlc3RPcHRpb25zLFxuICApIHtcbiAgICBpZiAodHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2soY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1tb3J0YWxHQ1BvbGljeSBpbXBsZW1lbnRzIEdDSW50ZXJmYWNlIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBpbml0KCkge31cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBjbGVhbnVwKCkge31cbiAgY3JlYXRlQ291bnRSZWYoKSB7XG4gICAgcmV0dXJuICgpID0+ICgpID0+IHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdDT3B0aW9ucyB7XG4gIGludGVydmFsTVM/OiBudW1iZXI7XG4gIGV4cGlyeU11bHRpcGxpZXI/OiBudW1iZXI7XG4gIGV4cGlyZXNBdD86IChtZXRhOiB7XG4gICAgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgZGF0ZTogbnVtYmVyO1xuICAgIGZldGNoZWRBdDogbnVtYmVyO1xuICB9KSA9PiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvdW50UmVmIHtcbiAgKHsga2V5LCBwYXRocyB9OiB7IGtleT86IHN0cmluZzsgcGF0aHM/OiBFbnRpdHlQYXRoW10gfSk6ICgpID0+ICgpID0+IHZvaWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdDSW50ZXJmYWNlIHtcbiAgY3JlYXRlQ291bnRSZWY6IENyZWF0ZUNvdW50UmVmO1xuICBpbml0KGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpOiB2b2lkO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG4iXSwibWFw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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { expireReducer } from './expireReducer.js';
|
|
3
3
|
import { fetchReducer } from './fetchReducer.js';
|
|
4
4
|
import { invalidateReducer } from './invalidateReducer.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { createOptimistic } from '../../controller/actions/createOptimistic.js';
|
|
3
3
|
export function fetchReducer(state, action) {
|
|
4
4
|
if (action.endpoint.getOptimisticResponse && action.endpoint.sideEffect) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { INVALIDATE } from '../../actionTypes.js';
|
|
3
3
|
export function invalidateReducer(state, action) {
|
|
4
4
|
const endpoints = _extends({}, state.endpoints);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { normalize } from '@data-client/normalizr';
|
|
3
3
|
import { OPTIMISTIC } from '../../actionTypes.js';
|
|
4
4
|
import AbortOptimistic from '../../controller/AbortOptimistic.js';
|