@kaspernj/api-maker 1.0.2111 → 1.0.2113
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/build/base-model/attribute.d.ts +8 -8
- package/build/base-model/attribute.d.ts.map +1 -1
- package/build/base-model/attribute.js +5 -5
- package/build/base-model/column.d.ts +8 -2
- package/build/base-model/column.d.ts.map +1 -1
- package/build/base-model/column.js +5 -2
- package/build/base-model.js +39 -26
- package/build/bootstrap/attribute-rows.js +2 -3
- package/build/bootstrap/paginate.js +2 -3
- package/build/collection.js +6 -6
- package/build/deserializer.d.ts.map +1 -1
- package/build/deserializer.js +8 -3
- package/build/draggable-sort/index.js +2 -3
- package/build/inputs/money.js +2 -3
- package/build/inputs/select.js +2 -3
- package/build/instance-of-class-name.js +2 -2
- package/build/model-recipes-model-loader.d.ts +13 -11
- package/build/model-recipes-model-loader.d.ts.map +1 -1
- package/build/model-recipes-model-loader.js +2 -2
- package/build/source-maps-loader.js +2 -2
- package/build/super-admin/edit-page/edit-attribute.js +2 -2
- package/build/super-admin/edit-page.js +2 -3
- package/build/super-admin/layout/menu/index.js +2 -2
- package/build/table/filters/filter-form.js +2 -2
- package/build/table/settings/download-action.js +2 -2
- package/build/table/table.js +2 -2
- package/build/use-input.js +2 -2
- package/build/utils/text.js +6 -4
- package/package.json +3 -3
|
@@ -21,8 +21,7 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends
|
|
|
21
21
|
});
|
|
22
22
|
render() {
|
|
23
23
|
const { attributes, checkIfAttributeLoaded, defaultDateFormatName, defaultDateTimeFormatName, model } = this.p;
|
|
24
|
-
return attributes.map((attribute) => (
|
|
25
|
-
_jsx(AttributeRow, { attribute: attribute, checkIfAttributeLoaded: checkIfAttributeLoaded, defaultDateFormatName: defaultDateFormatName, defaultDateTimeFormatName: defaultDateTimeFormatName, model: model }, `attribute-${attribute}`)));
|
|
24
|
+
return attributes.map((attribute) => (_jsx(AttributeRow, { attribute: attribute, checkIfAttributeLoaded: checkIfAttributeLoaded, defaultDateFormatName: defaultDateFormatName, defaultDateTimeFormatName: defaultDateTimeFormatName, model: model }, `attribute-${attribute}`)));
|
|
26
25
|
}
|
|
27
26
|
}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXJvd3MuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9hdHRyaWJ1dGUtcm93cy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUEsQ0FBQyxtQ0FBbUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBLENBQUMsbUNBQW1DO0FBQzlFLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBRTdDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDhCQUErQixTQUFRLGFBQWE7SUFDM0YsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMseUJBQXlCLEVBQUUsU0FBUztLQUNyQyxDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVTtRQUN0QyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQscUJBQXFCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQTtJQUVGLE1BQU07UUFDSixNQUFNLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFNUcsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUNuQyxLQUFDLFlBQVksSUFDWCxTQUFTLEVBQUUsU0FBUyxFQUNwQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHlCQUF5QixFQUFFLHlCQUF5QixFQUVwRCxLQUFLLEVBQUUsS0FBSyxJQURQLGFBQWEsU0FBUyxFQUFFLENBRTdCLENBQ0gsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEF0dHJpYnV0ZVJvdyBmcm9tIFwiLi9hdHRyaWJ1dGUtcm93XCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93cyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWU6IHVuZGVmaW5lZFxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGVzLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBkZWZhdWx0RGF0ZUZvcm1hdE5hbWUsIGRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWUsIG1vZGVsfSA9IHRoaXMucFxuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+IChcbiAgICAgIDxBdHRyaWJ1dGVSb3dcbiAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ9e2NoZWNrSWZBdHRyaWJ1dGVMb2FkZWR9XG4gICAgICAgIGRlZmF1bHREYXRlRm9ybWF0TmFtZT17ZGVmYXVsdERhdGVGb3JtYXROYW1lfVxuICAgICAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lPXtkZWZhdWx0RGF0ZVRpbWVGb3JtYXROYW1lfVxuICAgICAgICBrZXk9e2BhdHRyaWJ1dGUtJHthdHRyaWJ1dGV9YH1cbiAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgLz5cbiAgICApKVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -105,8 +105,7 @@ export default memo(shapeComponent(class ApiMakerBootstrapPaginate extends BaseC
|
|
|
105
105
|
_jsx(Link, { dataSet: dataSets.pageLink ||= { class: "page-link" }, to: this.pagePath(1), children: _jsx(Text, { children: FIRST_PAGE_LABEL }) })] }, "page-first"), _jsxs("li", { className: `page-item ${firstPageDisabled ? "disabled" : ""}`, children: [firstPageDisabled &&
|
|
106
106
|
_jsx(Text, { children: PREVIOUS_PAGE_LABEL }), showFirstPage &&
|
|
107
107
|
_jsx(Link, { dataSet: dataSets.pageLink ||= { class: "page-link" }, to: this.previousPagePath(), children: _jsx(Text, { children: PREVIOUS_PAGE_LABEL }) })] }, "page-previous"), this.showBackwardsDots() &&
|
|
108
|
-
_jsx("li", { className: "page-item disabled", children: _jsx(Text, { children: ELLIPSIS_LABEL }) }), pages.map((page) => (
|
|
109
|
-
_jsxs("li", { className: `page-item ${this.isPageActiveClass(page)}`, "data-active": this.isPageActiveClass(page) == "active", "data-page": page, children: [this.isPageActiveClass(page) == "active" &&
|
|
108
|
+
_jsx("li", { className: "page-item disabled", children: _jsx(Text, { children: ELLIPSIS_LABEL }) }), pages.map((page) => (_jsxs("li", { className: `page-item ${this.isPageActiveClass(page)}`, "data-active": this.isPageActiveClass(page) == "active", "data-page": page, children: [this.isPageActiveClass(page) == "active" &&
|
|
110
109
|
_jsx(Text, { children: page }), this.isPageActiveClass(page) == "not-active" &&
|
|
111
110
|
_jsx(Link, { dataSet: dataSets.pageLink ||= { class: "page-link" }, to: this.pagePath(page), children: _jsx(Text, { children: page }) })] }, `page-${page}`))), this.showForwardsDots() &&
|
|
112
111
|
_jsx("li", { className: "page-item disabled", children: _jsx(Text, { children: ELLIPSIS_LABEL }) }), _jsxs("li", { className: `page-item ${nextPageDisabled ? "disabled" : ""}`, children: [nextPageDisabled &&
|
|
@@ -116,4 +115,4 @@ export default memo(shapeComponent(class ApiMakerBootstrapPaginate extends BaseC
|
|
|
116
115
|
_jsx(Link, { dataSet: dataSets.pageLink ||= { class: "page-link" }, to: this.pagePath(totalPages), children: _jsx(Text, { children: LAST_PAGE_LABEL }) })] }, "page-last")] }));
|
|
117
116
|
}
|
|
118
117
|
}));
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9wYWdpbmF0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFDQUFxQztBQUNyQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFBO0FBQzFCLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBQ2hDLE9BQU8sbUJBQW1CLE1BQU0sOEJBQThCLENBQUE7QUFDOUQsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBRXhDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTtBQUM1QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTtBQUMvQixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7QUFDM0IsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBO0FBQzNCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTtBQUUxQixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSx5QkFBMEIsU0FBUSxhQUFhO0lBQ3RGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzFCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFD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QUFDLENBQUMsRUFBRSxFQUFFLGFBQzdELGdCQUFnQjs0QkFDZixLQUFDLElBQUksY0FDRixlQUFlLEdBQ1gsRUFFUixZQUFZOzRCQUNYLEtBQUMsSUFBSSxJQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsUUFBUSxLQUFLLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQ2hGLEtBQUMsSUFBSSxjQUNGLGVBQWUsR0FDWCxHQUNGLEtBWDJELFdBQVcsQ0FhNUUsRUFDTCxjQUFJLFNBQVMsRUFBRSxhQUFhLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxhQUM3RCxnQkFBZ0I7NEJBQ2YsS0FBQyxJQUFJLGNBQ0YsZUFBZSxHQUNYLEVBRVIsWUFBWTs0QkFDWCxLQUFDLElBQUksSUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsS0FBSyxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFDdEYsS0FBQyxJQUFJLGNBQ0YsZUFBZSxHQUNYLEdBQ0YsS0FYMkQsV0FBVyxDQWE1RSxJQUNGLENBQ04sQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJldHVybi1hc3NpZ24gKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vbGlua1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZXN1bHQgZnJvbSBcIi4uL3Jlc3VsdC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgaW5zdGFuY2VPZkNsYXNzTmFtZSBmcm9tIFwiLi4vaW5zdGFuY2Utb2YtY2xhc3MtbmFtZS5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHFzIGZyb20gXCJxc1wiXG5pbXBvcnQgdXJsRW5jb2RlIGZyb20gXCIuLi91cmwtZW5jb2RlLmpzXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG5jb25zdCBGSVJTVF9QQUdFX0xBQkVMID0gXCLih6RcIlxuY29uc3QgUFJFVklPVVNfUEFHRV9MQUJFTCA9IFwi4oaQXCJcbmNvbnN0IE5FWFRfUEFHRV9MQUJFTCA9IFwi4oaSXCJcbmNvbnN0IExBU1RfUEFHRV9MQUJFTCA9IFwi4oelXCJcbmNvbnN0IEVMTElQU0lTX0xBQkVMID0gXCLigKZcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwUGFnaW5hdGUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICByZXN1bHQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgaW5zdGFuY2VPZkNsYXNzTmFtZShcIkFwaU1ha2VyUmVzdWx0XCIpLFxuICAgICAgUHJvcFR5cGVzLmluc3RhbmNlT2YoUmVzdWx0KVxuICAgIF0pLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7cmVzdWx0fSA9IHRoaXMucFxuXG4gICAgdGhpcy50b3RhbFBhZ2VzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IE1hdGguY2VpbChyZXN1bHQuY291bnQoKSAvIHJlc3VsdC5wZXJQYWdlKCkpLFxuICAgICAgW3Jlc3VsdC5jb3VudCgpLCByZXN1bHQucGVyUGFnZSgpXVxuICAgIClcbiAgICB0aGlzLnBhZ2VzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IHRoaXMuY2FsY3VsYXRlUGFnZXMoKSxcbiAgICAgIFtyZXN1bHQuY3VycmVudFBhZ2UoKSwgdGhpcy50b3RhbFBhZ2VzXVxuICAgIClcbiAgfVxuXG4gIGNhbGN1bGF0ZVBhZ2VzICgpIHtcbiAgICBjb25zdCB7cmVzdWx0fSA9IHRoaXMucFxuICAgIGNvbnN0IHt0b3RhbFBhZ2VzfSA9IHRoaXMudHRcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpXG4gICAgY29uc3QgcGFnZXMgPSBbXVxuXG4gICAgbGV0IHBhZ2VzRnJvbSA9IGN1cnJlbnRQYWdlIC0gNVxuICAgIGxldCBwYWdlc1RvID0gY3VycmVudFBhZ2UgKyA1XG5cbiAgICBpZiAocGFnZXNGcm9tIDwgMSkge1xuICAgICAgcGFnZXNGcm9tID0gMVxuICAgIH1cblxuICAgIGlmIChwYWdlc1RvID4gdG90YWxQYWdlcykge1xuICAgICAgcGFnZXNUbyA9IHRvdGFsUGFnZXNcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gcGFnZXNGcm9tOyBpIDw9IHBhZ2VzVG87IGkrKykge1xuICAgICAgcGFnZXMucHVzaChpKVxuICAgIH1cblxuICAgIHJldHVybiBwYWdlc1xuICB9XG5cbiAgaXNQYWdlQWN0aXZlQ2xhc3MgPSAocGFnZU51bWJlcikgPT4ge1xuICAgIGlmICh0aGlzLnAucmVzdWx0LmN1cnJlbnRQYWdlKCkgPT0gcGFnZU51bWJlcikge1xuICAgICAgcmV0dXJuIFwiYWN0aXZlXCJcbiAgICB9XG5cbiAgICByZXR1cm4gXCJub3QtYWN0aXZlXCJcbiAgfVxuXG4gIHBhZ2VQYXRoIChwYWdlTnVtYmVyKSB7XG4gICAgbGV0IHBhZ2VLZXkgPSB0aGlzLnAucmVzdWx0LmRhdGEuY29sbGVjdGlvbi5xdWVyeUFyZ3MucGFnZUtleVxuXG4gICAgaWYgKCFwYWdlS2V5KSB7XG4gICAgICBwYWdlS2V5ID0gXCJwYWdlXCJcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gcXMucGFyc2UoZ2xvYmFsVGhpcy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyKDEpKVxuICAgIGN1cnJlbnRQYXJhbXNbcGFnZUtleV0gPSBwYWdlTnVtYmVyXG4gICAgY29uc3QgbmV3UGFyYW1zID0gcXMuc3RyaW5naWZ5KGN1cnJlbnRQYXJhbXMsIHtlbmNvZGVyOiB1cmxFbmNvZGV9KVxuICAgIGNvbnN0IG5ld1BhdGggPSBgJHtsb2NhdGlvbi5wYXRobmFtZX0/JHtuZXdQYXJhbXN9YFxuXG4gICAgcmV0dXJuIG5ld1BhdGhcbiAgfVxuXG4gIHByZXZpb3VzUGFnZVBhdGggKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG4gICAgbGV0IHByZXZpb3VzUGFnZVxuXG4gICAgaWYgKHJlc3VsdC5jdXJyZW50UGFnZSgpID4gMSkge1xuICAgICAgcHJldmlvdXNQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgLSAxXG4gICAgfSBlbHNlIHtcbiAgICAgIHByZXZpb3VzUGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZVBhdGgocHJldmlvdXNQYWdlKVxuICB9XG5cbiAgbmV4dFBhZ2VQYXRoICgpIHtcbiAgICBjb25zdCB7cmVzdWx0fSA9IHRoaXMucFxuICAgIGxldCBuZXh0UGFnZVxuXG4gICAgaWYgKHJlc3VsdC5jdXJyZW50UGFnZSgpIDwgdGhpcy50dC50b3RhbFBhZ2VzKSB7XG4gICAgICBuZXh0UGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpICsgMVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0UGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZVBhdGgobmV4dFBhZ2UpXG4gIH1cblxuICBzaG93QmFja3dhcmRzRG90cyA9ICgpID0+IHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSAtIDUgPiAxXG4gIHNob3dGb3J3YXJkc0RvdHMgPSAoKSA9PiB0aGlzLnAucmVzdWx0LmN1cnJlbnRQYWdlKCkgKyA1IDwgdGhpcy50dC50b3RhbFBhZ2VzXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7cmVzdWx0fSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYWdlcywgdG90YWxQYWdlc30gPSB0aGlzLnR0XG4gICAgY29uc3Qgc2hvd05leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0b3RhbFBhZ2VzXG4gICAgY29uc3Qgc2hvd0xhc3RQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0b3RhbFBhZ2VzXG4gICAgY29uc3Qgc2hvd1ByZXZpb3VzUGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpID4gMVxuICAgIGNvbnN0IHNob3dGaXJzdFBhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSA+IDFcblxuICAgIGNvbnN0IHByZXZpb3VzUGFnZURpc2FibGVkID0gIXNob3dQcmV2aW91c1BhZ2VcbiAgICBjb25zdCBmaXJzdFBhZ2VEaXNhYmxlZCA9ICFzaG93Rmlyc3RQYWdlXG4gICAgY29uc3QgbmV4dFBhZ2VEaXNhYmxlZCA9ICFzaG93TmV4dFBhZ2VcbiAgICBjb25zdCBsYXN0UGFnZURpc2FibGVkID0gIXNob3dMYXN0UGFnZVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDx1bCBjbGFzc05hbWU9XCJwYWdpbmF0aW9uXCIgZGF0YS1wYWdlcy1sZW5ndGg9e3BhZ2VzLmxlbmd0aH0+XG4gICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHtwcmV2aW91c1BhZ2VEaXNhYmxlZCA/IFwiZGlzYWJsZWRcIiA6IFwiXCJ9YH0ga2V5PVwicGFnZS1maXJzdFwiPlxuICAgICAgICAgIHtwcmV2aW91c1BhZ2VEaXNhYmxlZCAmJlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtGSVJTVF9QQUdFX0xBQkVMfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIH1cbiAgICAgICAgICB7c2hvd1ByZXZpb3VzUGFnZSAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMucGFnZUxpbmsgfHw9IHtjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnBhZ2VQYXRoKDEpfT5cbiAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAge0ZJUlNUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHtmaXJzdFBhZ2VEaXNhYmxlZCA/IFwiZGlzYWJsZWRcIiA6IFwiXCJ9YH0ga2V5PVwicGFnZS1wcmV2aW91c1wiPlxuICAgICAgICAgIHtmaXJzdFBhZ2VEaXNhYmxlZCAmJlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtQUkVWSU9VU19QQUdFX0xBQkVMfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIH1cbiAgICAgICAgICB7c2hvd0ZpcnN0UGFnZSAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMucGFnZUxpbmsgfHw9IHtjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnByZXZpb3VzUGFnZVBhdGgoKX0+XG4gICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgIHtQUkVWSU9VU19QQUdFX0xBQkVMfVxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgICAgICB7dGhpcy5zaG93QmFja3dhcmRzRG90cygpICYmXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInBhZ2UtaXRlbSBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtFTExJUFNJU19MQUJFTH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlcy5tYXAoKHBhZ2UpID0+ICggLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1leHRyYS1wYXJlbnNcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSl9YH1cbiAgICAgICAgICAgIGRhdGEtYWN0aXZlPXt0aGlzLmlzUGFnZUFjdGl2ZUNsYXNzKHBhZ2UpID09IFwiYWN0aXZlXCJ9XG4gICAgICAgICAgICBkYXRhLXBhZ2U9e3BhZ2V9XG4gICAgICAgICAgICBrZXk9e2BwYWdlLSR7cGFnZX1gfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGlzLmlzUGFnZUFjdGl2ZUNsYXNzKHBhZ2UpID09IFwiYWN0aXZlXCIgJiZcbiAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAge3BhZ2V9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHt0aGlzLmlzUGFnZUFjdGl2ZUNsYXNzKHBhZ2UpID09IFwibm90LWFjdGl2ZVwiICYmXG4gICAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e2RhdGFTZXRzLnBhZ2VMaW5rIHx8PSB7Y2xhc3M6IFwicGFnZS1saW5rXCJ9fSB0bz17dGhpcy5wYWdlUGF0aChwYWdlKX0+XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICB7cGFnZX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApKX1cbiAgICAgICAge3RoaXMuc2hvd0ZvcndhcmRzRG90cygpICYmXG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInBhZ2UtaXRlbSBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtFTExJUFNJU19MQUJFTH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHtuZXh0UGFnZURpc2FibGVkID8gXCJkaXNhYmxlZFwiIDogXCJcIn1gfSBrZXk9XCJwYWdlLW5leHRcIj5cbiAgICAgICAgICB7bmV4dFBhZ2VEaXNhYmxlZCAmJlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtORVhUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtzaG93TmV4dFBhZ2UgJiZcbiAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e2RhdGFTZXRzLnBhZ2VMaW5rIHx8PSB7Y2xhc3M6IFwicGFnZS1saW5rXCJ9fSB0bz17dGhpcy5uZXh0UGFnZVBhdGgoKX0+XG4gICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgIHtORVhUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHtsYXN0UGFnZURpc2FibGVkID8gXCJkaXNhYmxlZFwiIDogXCJcIn1gfSBrZXk9XCJwYWdlLWxhc3RcIj5cbiAgICAgICAgICB7bGFzdFBhZ2VEaXNhYmxlZCAmJlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIHtMQVNUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtzaG93TGFzdFBhZ2UgJiZcbiAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e2RhdGFTZXRzLnBhZ2VMaW5rIHx8PSB7Y2xhc3M6IFwicGFnZS1saW5rXCJ9fSB0bz17dGhpcy5wYWdlUGF0aCh0b3RhbFBhZ2VzKX0+XG4gICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgIHtMQVNUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIClcbiAgfVxufSkpXG4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9wYWdpbmF0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFDQUFxQztBQUNyQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFBO0FBQzFCLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBQ2hDLE9BQU8sbUJBQW1CLE1BQU0sOEJBQThCLENBQUE7QUFDOUQsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBRXhDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTtBQUM1QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTtBQUMvQixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7QUFDM0IsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBO0FBQzNCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTtBQUUxQixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSx5QkFBMEIsU0FBUSxhQUFhO0lBQ3RGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzFCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFD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LEVBQUUsYUFDN0QsZ0JBQWdCOzRCQUNmLEtBQUMsSUFBSSxjQUNGLGVBQWUsR0FDWCxFQUVSLFlBQVk7NEJBQ1gsS0FBQyxJQUFJLElBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxRQUFRLEtBQUssRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFDaEYsS0FBQyxJQUFJLGNBQ0YsZUFBZSxHQUNYLEdBQ0YsS0FYMkQsV0FBVyxDQWE1RSxFQUNMLGNBQUksU0FBUyxFQUFFLGFBQWEsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGFBQzdELGdCQUFnQjs0QkFDZixLQUFDLElBQUksY0FDRixlQUFlLEdBQ1gsRUFFUixZQUFZOzRCQUNYLEtBQUMsSUFBSSxJQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsUUFBUSxLQUFLLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUN0RixLQUFDLElBQUksY0FDRixlQUFlLEdBQ1gsR0FDRixLQVgyRCxXQUFXLENBYTVFLElBQ0YsQ0FDTixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9saW5rXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlc3VsdCBmcm9tIFwiLi4vcmVzdWx0LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCBpbnN0YW5jZU9mQ2xhc3NOYW1lIGZyb20gXCIuLi9pbnN0YW5jZS1vZi1jbGFzcy1uYW1lLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgcXMgZnJvbSBcInFzXCJcbmltcG9ydCB1cmxFbmNvZGUgZnJvbSBcIi4uL3VybC1lbmNvZGUuanNcIlxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbmNvbnN0IEZJUlNUX1BBR0VfTEFCRUwgPSBcIuKHpFwiXG5jb25zdCBQUkVWSU9VU19QQUdFX0xBQkVMID0gXCLihpBcIlxuY29uc3QgTkVYVF9QQUdFX0xBQkVMID0gXCLihpJcIlxuY29uc3QgTEFTVF9QQUdFX0xBQkVMID0gXCLih6VcIlxuY29uc3QgRUxMSVBTSVNfTEFCRUwgPSBcIuKAplwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBQYWdpbmF0ZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIHJlc3VsdDogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICBpbnN0YW5jZU9mQ2xhc3NOYW1lKFwiQXBpTWFrZXJSZXN1bHRcIiksXG4gICAgICBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZXN1bHQpXG4gICAgXSkuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG5cbiAgICB0aGlzLnRvdGFsUGFnZXMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gTWF0aC5jZWlsKHJlc3VsdC5jb3VudCgpIC8gcmVzdWx0LnBlclBhZ2UoKSksXG4gICAgICBbcmVzdWx0LmNvdW50KCksIHJlc3VsdC5wZXJQYWdlKCldXG4gICAgKVxuICAgIHRoaXMucGFnZXMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gdGhpcy5jYWxjdWxhdGVQYWdlcygpLFxuICAgICAgW3Jlc3VsdC5jdXJyZW50UGFnZSgpLCB0aGlzLnRvdGFsUGFnZXNdXG4gICAgKVxuICB9XG5cbiAgY2FsY3VsYXRlUGFnZXMgKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG4gICAgY29uc3Qge3RvdGFsUGFnZXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKClcbiAgICBjb25zdCBwYWdlcyA9IFtdXG5cbiAgICBsZXQgcGFnZXNGcm9tID0gY3VycmVudFBhZ2UgLSA1XG4gICAgbGV0IHBhZ2VzVG8gPSBjdXJyZW50UGFnZSArIDVcblxuICAgIGlmIChwYWdlc0Zyb20gPCAxKSB7XG4gICAgICBwYWdlc0Zyb20gPSAxXG4gICAgfVxuXG4gICAgaWYgKHBhZ2VzVG8gPiB0b3RhbFBhZ2VzKSB7XG4gICAgICBwYWdlc1RvID0gdG90YWxQYWdlc1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSBwYWdlc0Zyb207IGkgPD0gcGFnZXNUbzsgaSsrKSB7XG4gICAgICBwYWdlcy5wdXNoKGkpXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VzXG4gIH1cblxuICBpc1BhZ2VBY3RpdmVDbGFzcyA9IChwYWdlTnVtYmVyKSA9PiB7XG4gICAgaWYgKHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSA9PSBwYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm4gXCJhY3RpdmVcIlxuICAgIH1cblxuICAgIHJldHVybiBcIm5vdC1hY3RpdmVcIlxuICB9XG5cbiAgcGFnZVBhdGggKHBhZ2VOdW1iZXIpIHtcbiAgICBsZXQgcGFnZUtleSA9IHRoaXMucC5yZXN1bHQuZGF0YS5jb2xsZWN0aW9uLnF1ZXJ5QXJncy5wYWdlS2V5XG5cbiAgICBpZiAoIXBhZ2VLZXkpIHtcbiAgICAgIHBhZ2VLZXkgPSBcInBhZ2VcIlxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSBxcy5wYXJzZShnbG9iYWxUaGlzLmxvY2F0aW9uLnNlYXJjaC5zdWJzdHIoMSkpXG4gICAgY3VycmVudFBhcmFtc1twYWdlS2V5XSA9IHBhZ2VOdW1iZXJcbiAgICBjb25zdCBuZXdQYXJhbXMgPSBxcy5zdHJpbmdpZnkoY3VycmVudFBhcmFtcywge2VuY29kZXI6IHVybEVuY29kZX0pXG4gICAgY29uc3QgbmV3UGF0aCA9IGAke2xvY2F0aW9uLnBhdGhuYW1lfT8ke25ld1BhcmFtc31gXG5cbiAgICByZXR1cm4gbmV3UGF0aFxuICB9XG5cbiAgcHJldmlvdXNQYWdlUGF0aCAoKSB7XG4gICAgY29uc3Qge3Jlc3VsdH0gPSB0aGlzLnBcbiAgICBsZXQgcHJldmlvdXNQYWdlXG5cbiAgICBpZiAocmVzdWx0LmN1cnJlbnRQYWdlKCkgPiAxKSB7XG4gICAgICBwcmV2aW91c1BhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSAtIDFcbiAgICB9IGVsc2Uge1xuICAgICAgcHJldmlvdXNQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlUGF0aChwcmV2aW91c1BhZ2UpXG4gIH1cblxuICBuZXh0UGFnZVBhdGggKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG4gICAgbGV0IG5leHRQYWdlXG5cbiAgICBpZiAocmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0aGlzLnR0LnRvdGFsUGFnZXMpIHtcbiAgICAgIG5leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgKyAxXG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlUGF0aChuZXh0UGFnZSlcbiAgfVxuXG4gIHNob3dCYWNrd2FyZHNEb3RzID0gKCkgPT4gdGhpcy5wLnJlc3VsdC5jdXJyZW50UGFnZSgpIC0gNSA+IDFcbiAgc2hvd0ZvcndhcmRzRG90cyA9ICgpID0+IHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSArIDUgPCB0aGlzLnR0LnRvdGFsUGFnZXNcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG4gICAgY29uc3Qge3BhZ2VzLCB0b3RhbFBhZ2VzfSA9IHRoaXMudHRcbiAgICBjb25zdCBzaG93TmV4dFBhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSA8IHRvdGFsUGFnZXNcbiAgICBjb25zdCBzaG93TGFzdFBhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSA8IHRvdGFsUGFnZXNcbiAgICBjb25zdCBzaG93UHJldmlvdXNQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgPiAxXG4gICAgY29uc3Qgc2hvd0ZpcnN0UGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpID4gMVxuXG4gICAgY29uc3QgcHJldmlvdXNQYWdlRGlzYWJsZWQgPSAhc2hvd1ByZXZpb3VzUGFnZVxuICAgIGNvbnN0IGZpcnN0UGFnZURpc2FibGVkID0gIXNob3dGaXJzdFBhZ2VcbiAgICBjb25zdCBuZXh0UGFnZURpc2FibGVkID0gIXNob3dOZXh0UGFnZVxuICAgIGNvbnN0IGxhc3RQYWdlRGlzYWJsZWQgPSAhc2hvd0xhc3RQYWdlXG5cbiAgICByZXR1cm4gKFxuICAgICAgPHVsIGNsYXNzTmFtZT1cInBhZ2luYXRpb25cIiBkYXRhLXBhZ2VzLWxlbmd0aD17cGFnZXMubGVuZ3RofT5cbiAgICAgICAgPGxpIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke3ByZXZpb3VzUGFnZURpc2FibGVkID8gXCJkaXNhYmxlZFwiIDogXCJcIn1gfSBrZXk9XCJwYWdlLWZpcnN0XCI+XG4gICAgICAgICAge3ByZXZpb3VzUGFnZURpc2FibGVkICYmXG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge0ZJUlNUX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtzaG93UHJldmlvdXNQYWdlICYmXG4gICAgICAgICAgICA8TGluayBkYXRhU2V0PXtkYXRhU2V0cy5wYWdlTGluayB8fD0ge2NsYXNzOiBcInBhZ2UtbGlua1wifX0gdG89e3RoaXMucGFnZVBhdGgoMSl9PlxuICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICB7RklSU1RfUEFHRV9MQUJFTH1cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke2ZpcnN0UGFnZURpc2FibGVkID8gXCJkaXNhYmxlZFwiIDogXCJcIn1gfSBrZXk9XCJwYWdlLXByZXZpb3VzXCI+XG4gICAgICAgICAge2ZpcnN0UGFnZURpc2FibGVkICYmXG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge1BSRVZJT1VTX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtzaG93Rmlyc3RQYWdlICYmXG4gICAgICAgICAgICA8TGluayBkYXRhU2V0PXtkYXRhU2V0cy5wYWdlTGluayB8fD0ge2NsYXNzOiBcInBhZ2UtbGlua1wifX0gdG89e3RoaXMucHJldmlvdXNQYWdlUGF0aCgpfT5cbiAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAge1BSRVZJT1VTX1BBR0VfTEFCRUx9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICAgIHt0aGlzLnNob3dCYWNrd2FyZHNEb3RzKCkgJiZcbiAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwicGFnZS1pdGVtIGRpc2FibGVkXCI+XG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge0VMTElQU0lTX0xBQkVMfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VzLm1hcCgocGFnZSkgPT4gKFxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgcGFnZS1pdGVtICR7dGhpcy5pc1BhZ2VBY3RpdmVDbGFzcyhwYWdlKX1gfVxuICAgICAgICAgICAgZGF0YS1hY3RpdmU9e3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSkgPT0gXCJhY3RpdmVcIn1cbiAgICAgICAgICAgIGRhdGEtcGFnZT17cGFnZX1cbiAgICAgICAgICAgIGtleT17YHBhZ2UtJHtwYWdlfWB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSkgPT0gXCJhY3RpdmVcIiAmJlxuICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICB7cGFnZX1cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSkgPT0gXCJub3QtYWN0aXZlXCIgJiZcbiAgICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMucGFnZUxpbmsgfHw9IHtjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnBhZ2VQYXRoKHBhZ2UpfT5cbiAgICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICAgIHtwYWdlfVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgICB7dGhpcy5zaG93Rm9yd2FyZHNEb3RzKCkgJiZcbiAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwicGFnZS1pdGVtIGRpc2FibGVkXCI+XG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge0VMTElQU0lTX0xBQkVMfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgPGxpIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke25leHRQYWdlRGlzYWJsZWQgPyBcImRpc2FibGVkXCIgOiBcIlwifWB9IGtleT1cInBhZ2UtbmV4dFwiPlxuICAgICAgICAgIHtuZXh0UGFnZURpc2FibGVkICYmXG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge05FWFRfUEFHRV9MQUJFTH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICB9XG4gICAgICAgICAge3Nob3dOZXh0UGFnZSAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMucGFnZUxpbmsgfHw9IHtjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLm5leHRQYWdlUGF0aCgpfT5cbiAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAge05FWFRfUEFHRV9MQUJFTH1cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke2xhc3RQYWdlRGlzYWJsZWQgPyBcImRpc2FibGVkXCIgOiBcIlwifWB9IGtleT1cInBhZ2UtbGFzdFwiPlxuICAgICAgICAgIHtsYXN0UGFnZURpc2FibGVkICYmXG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge0xBU1RfUEFHRV9MQUJFTH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICB9XG4gICAgICAgICAge3Nob3dMYXN0UGFnZSAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMucGFnZUxpbmsgfHw9IHtjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnBhZ2VQYXRoKHRvdGFsUGFnZXMpfT5cbiAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAge0xBU1RfUEFHRV9MQUJFTH1cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
package/build/collection.js
CHANGED
|
@@ -54,7 +54,7 @@ export default class ApiMakerCollection {
|
|
|
54
54
|
* @returns {this}
|
|
55
55
|
*/
|
|
56
56
|
abilities(originalAbilities) {
|
|
57
|
-
const newAbilities = /** @type {Record<string, string[]>} */ ({});
|
|
57
|
+
const newAbilities = /** @type {Record<string, string[]>} */ ({});
|
|
58
58
|
for (const originalAbilityName in originalAbilities) {
|
|
59
59
|
const newModelName = inflection.underscore(originalAbilityName);
|
|
60
60
|
const newValues = [];
|
|
@@ -120,7 +120,7 @@ export default class ApiMakerCollection {
|
|
|
120
120
|
* @returns {this}
|
|
121
121
|
*/
|
|
122
122
|
groupBy(...arrayOfTablesAndColumns) {
|
|
123
|
-
const arrayOfTablesAndColumnsWithLowercaseColumns = /** @type {Array<string | [string, string]>} */ ([]);
|
|
123
|
+
const arrayOfTablesAndColumnsWithLowercaseColumns = /** @type {Array<string | [string, string]>} */ ([]);
|
|
124
124
|
for (const tableAndColumn of arrayOfTablesAndColumns) {
|
|
125
125
|
if (Array.isArray(tableAndColumn)) {
|
|
126
126
|
arrayOfTablesAndColumnsWithLowercaseColumns.push([tableAndColumn[0], tableAndColumn[1].toLowerCase()]);
|
|
@@ -334,7 +334,7 @@ export default class ApiMakerCollection {
|
|
|
334
334
|
const response = await this._response();
|
|
335
335
|
const models = digg(response, "collection");
|
|
336
336
|
this._addQueryToModels(models);
|
|
337
|
-
const result = new Result(/** @type {any} */ ({ collection: this, models, response }));
|
|
337
|
+
const result = new Result(/** @type {any} */ ({ collection: this, models, response }));
|
|
338
338
|
return result;
|
|
339
339
|
}
|
|
340
340
|
/**
|
|
@@ -358,7 +358,7 @@ export default class ApiMakerCollection {
|
|
|
358
358
|
* @returns {this}
|
|
359
359
|
*/
|
|
360
360
|
select(originalSelect) {
|
|
361
|
-
const newSelect = /** @type {Record<string, string[]>} */ ({});
|
|
361
|
+
const newSelect = /** @type {Record<string, string[]>} */ ({});
|
|
362
362
|
for (const originalModelName in originalSelect) {
|
|
363
363
|
const newModelName = inflection.underscore(originalModelName);
|
|
364
364
|
const newValues = [];
|
|
@@ -376,7 +376,7 @@ export default class ApiMakerCollection {
|
|
|
376
376
|
* @returns {this}
|
|
377
377
|
*/
|
|
378
378
|
selectColumns(originalSelect) {
|
|
379
|
-
const newSelect = /** @type {Record<string, string[]>} */ ({});
|
|
379
|
+
const newSelect = /** @type {Record<string, string[]>} */ ({});
|
|
380
380
|
for (const originalModelName in originalSelect) {
|
|
381
381
|
const newModelName = inflection.underscore(inflection.underscore(originalModelName));
|
|
382
382
|
const newValues = [];
|
|
@@ -450,4 +450,4 @@ export default class ApiMakerCollection {
|
|
|
450
450
|
}, {});
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQSxDQUFDLG1DQUFtQztBQUNwRSxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFFakM7OztHQUdHO0FBRUg7Ozs7OztHQU1HO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7SUFFbEM7OztPQUdHO0lBQ0gsWUFBWSxJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRS9GLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsaUJBQWlCO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLHVDQUF1QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxzQ0FBc0M7UUFFeEcsS0FBSyxN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SSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUV6QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQTtRQUUzSixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUU1RCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQzVCO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLGNBQWMsUUFBUTtZQUNqRCxjQUFjLEVBQUUsY0FBYyxDQUFDLGNBQWM7WUFDN0MsSUFBSSxFQUFFLE9BQU87U0FDZCxFQUNELEVBQUUsQ0FDSCxDQUFBO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbG9uZURlZXAgZnJvbSBcImNsb25lLWRlZXBcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi9jb21tYW5kcy1wb29sLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0IFJlc3VsdCBmcm9tIFwiLi9yZXN1bHQuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IHVuaXF1bml6ZSBmcm9tIFwidW5pcXVuaXplXCJcblxuLyoqXG4gKiBAdGVtcGxhdGUge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gTUNcbiAqIEB0eXBlZGVmIHtJbnN0YW5jZVR5cGU8TUM+fSBNb2RlbE9mXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gTUNcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbGxlY3Rpb25BcmdzVHlwZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gW21vZGVsXVxuICogQHByb3BlcnR5IHtNQ30gbW9kZWxDbGFzc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtyZWZsZWN0aW9uTmFtZV1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFF1ZXJ5QXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBbYWJpbGl0aWVzXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthY2Nlc3NpYmxlQnldXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtjb3VudF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2Rpc3RpbmN0XVxuICogQHByb3BlcnR5IHtBcnJheTxzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddPn0gW2dyb3VwQnldXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2xpbWl0XVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwYWdlXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYWdlS2V5XVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcGFyYW1zXVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwZXJdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BlcktleV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtwcmVsb2FkXVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcmFuc2Fja11cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3NlYXJjaF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2VhcmNoS2V5XVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IFtzZWxlY3RdXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gW3NlbGVjdENvbHVtbnNdXG4gKi9cblxuLyoqIEB0ZW1wbGF0ZSB7dHlwZW9mIGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBNQyAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDb2xsZWN0aW9uIHtcbiAgc3RhdGljIGFwaU1ha2VyVHlwZSA9IFwiQ29sbGVjdGlvblwiXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q29sbGVjdGlvbkFyZ3NUeXBlPE1DPn0gYXJnc1xuICAgKiBAcGFyYW0ge1F1ZXJ5QXJnc1R5cGV9IHF1ZXJ5QXJnc1xuICAgKi9cbiAgY29uc3RydWN0b3IoYXJncywgcXVlcnlBcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3MubW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbENsYXNzIGdpdmVuIGluICR7T2JqZWN0LmtleXMoYXJncykuam9pbihcIiwgXCIpfWApXG5cbiAgICB0aGlzLnF1ZXJ5QXJncyA9IHF1ZXJ5QXJnc1xuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gb3JpZ2luYWxBYmlsaXRpZXNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBhYmlsaXRpZXMob3JpZ2luYWxBYmlsaXRpZXMpIHtcbiAgICBjb25zdCBuZXdBYmlsaXRpZXMgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gKi8gKHt9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWV4dHJhLXBhcmVuc1xuXG4gICAgZm9yIChjb25zdCBvcmlnaW5hbEFiaWxpdHlOYW1lIGluIG9yaWdpbmFsQWJpbGl0aWVzKSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUob3JpZ2luYWxBYmlsaXR5TmFtZSlcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtdXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlcyA9IG9yaWdpbmFsQWJpbGl0aWVzW29yaWdpbmFsQWJpbGl0eU5hbWVdXG5cbiAgICAgIGZvciAoY29uc3Qgb3JpZ2luYWxBYmlsaXR5TmFtZSBvZiBvcmlnaW5hbFZhbHVlcykge1xuICAgICAgICBjb25zdCBuZXdBYmlsaXR5TmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShvcmlnaW5hbEFiaWxpdHlOYW1lKVxuICAgICAgICBuZXdWYWx1ZXMucHVzaChuZXdBYmlsaXR5TmFtZSlcbiAgICAgIH1cblxuICAgICAgbmV3QWJpbGl0aWVzW25ld01vZGVsTmFtZV0gPSBuZXdWYWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe2FiaWxpdGllczogbmV3QWJpbGl0aWVzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWJpbGl0eU5hbWVcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBhY2Nlc3NpYmxlQnkoYWJpbGl0eU5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe2FjY2Vzc2libGVCeTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKX0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8bnVtYmVyPn0gKi9cbiAgYXN5bmMgY291bnQoKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsb25lKClcbiAgICAgIC5fbWVyZ2Uoe2NvdW50OiB0cnVlfSlcbiAgICAgIC5fcmVzcG9uc2UoKVxuXG4gICAgcmV0dXJuIGRpZ2cocmVzcG9uc2UsIFwiY291bnRcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dGhpc30gKi9cbiAgZGlzdGluY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtkaXN0aW5jdDogdHJ1ZX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCkgOiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGVhY2goY2FsbGJhY2spIHtcbiAgICBjb25zdCBhcnJheSA9IGF3YWl0IHRoaXMudG9BcnJheSgpXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsIGluIGFycmF5KSB7XG4gICAgICBjYWxsYmFjay5jYWxsKG1vZGVsKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gey4uLnN0cmluZ30ga2V5c1xuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGV4Y2VwdCguLi5rZXlzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgaWYgKGtleSA9PSBcInBhZ2VcIikge1xuICAgICAgICBkZWxldGUgdGhpcy5xdWVyeUFyZ3Nba2V5XVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQga2V5OiAke2tleX1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8TW9kZWxPZjxNQz4+fSAqL1xuICBhc3luYyBmaXJzdCgpIHtcbiAgICBjb25zdCBtb2RlbHMgPSBhd2FpdCB0aGlzLnRvQXJyYXkoKVxuICAgIHJldHVybiBtb2RlbHNbMF1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gey4uLihzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddKX0gYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBncm91cEJ5KC4uLmFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zKSB7XG4gICAgY29uc3QgYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucyA9IC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nIHwgW3N0cmluZywgc3RyaW5nXT59ICovIChbXSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1leHRyYS1wYXJlbnNcblxuICAgIGZvciAoY29uc3QgdGFibGVBbmRDb2x1bW4gb2YgYXJyYXlPZlRhYmxlc0FuZENvbHVtbnMpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhYmxlQW5kQ29sdW1uKSkge1xuICAgICAgICBhcnJheU9mVGFibGVzQW5kQ29sdW1uc1dpdGhMb3dlcmNhc2VDb2x1bW5zLnB1c2goW3RhYmxlQW5kQ29sdW1uWzBdLCB0YWJsZUFuZENvbHVtblsxXS50b0xvd2VyQ2FzZSgpXSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zV2l0aExvd2VyY2FzZUNvbHVtbnMucHVzaCh0YWJsZUFuZENvbHVtbi50b0xvd2VyQ2FzZSgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRHcm91cEJ5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSB8fCBbXVxuICAgIGNvbnN0IG5ld0dyb3VwQnkgPSBjdXJyZW50R3JvdXBCeS5jb25jYXQoYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucylcblxuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7XG4gICAgICBncm91cEJ5OiBuZXdHcm91cEJ5XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTxNb2RlbE9mPE1DPiB8IEFycmF5PE1vZGVsT2Y8TUM+PiB8IG51bGw+fSAqL1xuICBhc3luYyBlbnN1cmVMb2FkZWQoKSB7XG4gICAgaWYgKCF0aGlzLmlzTG9hZGVkKCkpIHtcbiAgICAgIGNvbnN0IG1vZGVscyA9IGF3YWl0IHRoaXMudG9BcnJheSgpXG5cbiAgICAgIHRoaXMuc2V0KG1vZGVscylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2FkZWQoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc0xvYWRlZCgpIHtcbiAgICBjb25zdCB7bW9kZWwsIHJlZmxlY3Rpb25OYW1lfSA9IHRoaXMuYXJnc1xuXG4gICAgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHMpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGxpbWl0KGFtb3VudCkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7bGltaXQ6IGFtb3VudH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge0FycmF5PE1vZGVsT2Y8TUM+Pn0gKi9cbiAgcHJlbG9hZGVkKCkge1xuICAgIGlmICghKHRoaXMuYXJncy5yZWZsZWN0aW9uTmFtZSBpbiB0aGlzLmFyZ3MubW9kZWwucmVsYXRpb25zaGlwc0NhY2hlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZX0gaGFzbnQgYmVlbiBsb2FkZWQgeWV0YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcmdzLm1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZVt0aGlzLmFyZ3MucmVmbGVjdGlvbk5hbWVdXG4gIH1cblxuICAvKiogQHJldHVybnMge01vZGVsT2Y8TUM+IHwgQXJyYXk8TW9kZWxPZjxNQz4+fSAqL1xuICBsb2FkZWQoKSB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9uTmFtZX0gPSB0aGlzLmFyZ3NcblxuICAgIGlmIChyZWZsZWN0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzKSB7XG4gICAgICByZXR1cm4gbW9kZWwucmVsYXRpb25zaGlwc1tyZWZsZWN0aW9uTmFtZV1cbiAgICB9IGVsc2UgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkge1xuICAgICAgcmV0dXJuIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZVtyZWZsZWN0aW9uTmFtZV1cbiAgICB9IGVsc2UgaWYgKG1vZGVsLmlzTmV3UmVjb3JkKCkpIHtcbiAgICAgIGNvbnN0IHJlZmxlY3Rpb25OYW1lVW5kZXJzY29yZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uTmFtZSlcblxuICAgICAgLy8gSW5pdGlhbGl6ZSBhcyBlbXB0eSBhbmQgdHJ5IGFnYWluIHRvIHJldHVybiB0aGUgZW1wdHkgcmVzdWx0XG4gICAgICB0aGlzLnNldChbXSlcblxuICAgICAgcmV0dXJuIGRpZ2cobW9kZWwucmVsYXRpb25zaGlwcywgcmVmbGVjdGlvbk5hbWVVbmRlcnNjb3JlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzTG9hZGVkID0gdW5pcXVuaXplKE9iamVjdC5rZXlzKG1vZGVsLnJlbGF0aW9uc2hpcHMpLmNvbmNhdChPYmplY3Qua2V5cyhtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKSlcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3JlZmxlY3Rpb25OYW1lfSBoYXNuJ3QgYmVlbiBsb2FkZWQgeWV0IG9uICR7bW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfS4gTG9hZGVkIHdhczogJHtyZWxhdGlvbnNoaXBzTG9hZGVkLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7QXJyYXk8TW9kZWxPZjxNQz4+fSAqL1xuICBsb2FkZWRBcnJheSgpIHtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLmxvYWRlZCgpXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShsb2FkZWQpKSB7XG4gICAgICByZXR1cm4gbG9hZGVkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIidsb2FkZWQnIHdhc24ndCBhbiBhcnJheVwiKVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlcGxhY2VzIHRoZSByZWxhdGlvbnNoaXBzIHdpdGggdGhlIGdpdmVuIG5ldyBjb2xsZWN0aW9uLlxuICAvKipcbiAgICogQHBhcmFtIHtBcnJheTxNb2RlbE9mPE1DPj59IG5ld0NvbGxlY3Rpb25cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXQobmV3Q29sbGVjdGlvbikge1xuICAgIHRoaXMuYXJncy5tb2RlbC5yZWxhdGlvbnNoaXBzW3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZV0gPSBuZXdDb2xsZWN0aW9uXG4gIH1cblxuICAvLyBQdXNoZXMgYW5vdGhlciBtb2RlbCBvbnRvIHRoZSBnaXZlbiBjb2xsZWN0aW9uLlxuICAvKipcbiAgICogQHBhcmFtIHtNb2RlbE9mPE1DPn0gbmV3TW9kZWxcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBwdXNoKG5ld01vZGVsKSB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9uTmFtZX0gPSB0aGlzLmFyZ3NcblxuICAgIGlmICghKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHMpKSB7XG4gICAgICBtb2RlbC5yZWxhdGlvbnNoaXBzW3JlZmxlY3Rpb25OYW1lXSA9IFtdXG4gICAgfVxuXG4gICAgaWYgKCFtb2RlbC5yZWxhdGlvbnNoaXBzW3JlZmxlY3Rpb25OYW1lXS5pbmNsdWRlcyhuZXdNb2RlbCkpIHtcbiAgICAgIG1vZGVsLnJlbGF0aW9uc2hpcHNbcmVmbGVjdGlvbk5hbWVdLnB1c2gobmV3TW9kZWwpXG4gICAgfVxuICB9XG5cbiAgLy8gQXJyYXkgc2hvcnRjdXRzXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0KTogYm9vbGVhbn0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fVxuICAgKi9cbiAgZmluZChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLmZpbmQoY2FsbGJhY2spIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCk6IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgZm9yRWFjaChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLmZvckVhY2goY2FsbGJhY2spIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCk6IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHthbnlbXX1cbiAgICovXG4gIG1hcChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLm1hcChjYWxsYmFjaykgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwcmVsb2FkVmFsdWVcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwcmVsb2FkKHByZWxvYWRWYWx1ZSkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7cHJlbG9hZDogcHJlbG9hZFZhbHVlfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZVxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHBhZ2UocGFnZSkge1xuICAgIGNvbnN0IHBhZ2VUb1VzZSA9IHBhZ2UgfHwgMVxuXG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwYWdlOiBwYWdlVG9Vc2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYWdlS2V5XG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcGFnZUtleShwYWdlS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwYWdlS2V5fSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNGaWx0ZXJlZCgpIHtcbiAgICBjb25zdCB7cXVlcnlBcmdzfSA9IHRoaXNcblxuICAgIGlmIChcbiAgICAgIHF1ZXJ5QXJncy5hY2Nlc3NpYmxlQnkgfHxcbiAgICAgIHF1ZXJ5QXJncy5jb3VudCB8fFxuICAgICAgcXVlcnlBcmdzLmxpbWl0IHx8XG4gICAgICBxdWVyeUFyZ3MucGFnZSB8fFxuICAgICAgcXVlcnlBcmdzLnBhcmFtcyB8fFxuICAgICAgcXVlcnlBcmdzLnBlciB8fFxuICAgICAgcXVlcnlBcmdzLnJhbnNhY2sgfHxcbiAgICAgIHF1ZXJ5QXJncy5zZWFyY2hcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gIHBhcmFtcygpIHtcbiAgICBsZXQgcGFyYW1zID0ge31cblxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYXJhbXMpIHBhcmFtcyA9IGluY29ycG9yYXRlKHBhcmFtcywgdGhpcy5xdWVyeUFyZ3MucGFyYW1zKVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXMpIHBhcmFtcy5hYmlsaXRpZXMgPSB0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXNcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuYWNjZXNzaWJsZUJ5KSBwYXJhbXMuYWNjZXNzaWJsZV9ieSA9IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnF1ZXJ5QXJncy5hY2Nlc3NpYmxlQnkpXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLmNvdW50KSBwYXJhbXMuY291bnQgPSB0aGlzLnF1ZXJ5QXJncy5jb3VudFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5kaXN0aW5jdCkgcGFyYW1zLmRpc3RpbmN0ID0gdGhpcy5xdWVyeUFyZ3MuZGlzdGluY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSkgcGFyYW1zLmdyb3VwX2J5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5yYW5zYWNrKSBwYXJhbXMucSA9IHRoaXMucXVlcnlBcmdzLnJhbnNhY2tcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MubGltaXQpIHBhcmFtcy5saW1pdCA9IHRoaXMucXVlcnlBcmdzLmxpbWl0XG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnByZWxvYWQpIHBhcmFtcy5wcmVsb2FkID0gdGhpcy5xdWVyeUFyZ3MucHJlbG9hZFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYWdlKSBwYXJhbXMucGFnZSA9IHRoaXMucXVlcnlBcmdzLnBhZ2VcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MucGVyKSBwYXJhbXMucGVyID0gdGhpcy5xdWVyeUFyZ3MucGVyXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnNlYXJjaCkgcGFyYW1zLnNlYXJjaCA9IHRoaXMucXVlcnlBcmdzLnNlYXJjaFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5zZWxlY3QpIHBhcmFtcy5zZWxlY3QgPSB0aGlzLnF1ZXJ5QXJncy5zZWxlY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1ucykgcGFyYW1zLnNlbGVjdF9jb2x1bW5zID0gdGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1uc1xuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBwZXJcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwZXIocGVyKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwZXJ9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwZXJLZXlcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwZXJLZXkocGVyS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwZXJLZXl9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcmFuc2FjayhwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zKSB0aGlzLl9tZXJnZSh7cmFuc2FjazogcGFyYW1zfSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPFJlc3VsdD59ICovXG4gIGFzeW5jIHJlc3VsdCgpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3Jlc3BvbnNlKClcbiAgICBjb25zdCBtb2RlbHMgPSBkaWdnKHJlc3BvbnNlLCBcImNvbGxlY3Rpb25cIilcblxuICAgIHRoaXMuX2FkZFF1ZXJ5VG9Nb2RlbHMobW9kZWxzKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlc3VsdCgvKiogQHR5cGUge2FueX0gKi8gKHtjb2xsZWN0aW9uOiB0aGlzLCBtb2RlbHMsIHJlc3BvbnNlfSkpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZXh0cmEtcGFyZW5zXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwYXJhbXNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBzZWFyY2gocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcykgdGhpcy5fbWVyZ2Uoe3NlYXJjaDogcGFyYW1zfSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hLZXlcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBzZWFyY2hLZXkoc2VhcmNoS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtzZWFyY2hLZXl9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBvcmlnaW5hbFNlbGVjdFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHNlbGVjdChvcmlnaW5hbFNlbGVjdCkge1xuICAgIGNvbnN0IG5ld1NlbGVjdCA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSAqLyAoe30pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZXh0cmEtcGFyZW5zXG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsTW9kZWxOYW1lIGluIG9yaWdpbmFsU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUob3JpZ2luYWxNb2RlbE5hbWUpXG4gICAgICBjb25zdCBuZXdWYWx1ZXMgPSBbXVxuICAgICAgY29uc3Qgb3JpZ2luYWxWYWx1ZXMgPSBvcmlnaW5hbFNlbGVjdFtvcmlnaW5hbE1vZGVsTmFtZV1cblxuICAgICAgZm9yIChjb25zdCBvcmlnaW5hbEF0dHJpYnV0ZU5hbWUgb2Ygb3JpZ2luYWxWYWx1ZXMpIHtcbiAgICAgICAgY29uc3QgbmV3QXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShvcmlnaW5hbEF0dHJpYnV0ZU5hbWUpXG4gICAgICAgIG5ld1ZhbHVlcy5wdXNoKG5ld0F0dHJpYnV0ZU5hbWUpXG4gICAgICB9XG5cbiAgICAgIG5ld1NlbGVjdFtuZXdNb2RlbE5hbWVdID0gbmV3VmFsdWVzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtzZWxlY3Q6IG5ld1NlbGVjdH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IG9yaWdpbmFsU2VsZWN0XG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgc2VsZWN0Q29sdW1ucyhvcmlnaW5hbFNlbGVjdCkge1xuICAgIGNvbnN0IG5ld1NlbGVjdCA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSAqLyAoe30pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZXh0cmEtcGFyZW5zXG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsTW9kZWxOYW1lIGluIG9yaWdpbmFsU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsTW9kZWxOYW1lKSlcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtdXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlcyA9IG9yaWdpbmFsU2VsZWN0W29yaWdpbmFsTW9kZWxOYW1lXVxuXG4gICAgICBmb3IgKGNvbnN0IG9yaWdpbmFsQXR0cmlidXRlTmFtZSBvZiBvcmlnaW5hbFZhbHVlcykge1xuICAgICAgICBjb25zdCBuZXdBdHRyaWJ1dGVOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsQXR0cmlidXRlTmFtZSlcbiAgICAgICAgbmV3VmFsdWVzLnB1c2gobmV3QXR0cmlidXRlTmFtZSlcbiAgICAgIH1cblxuICAgICAgbmV3U2VsZWN0W25ld01vZGVsTmFtZV0gPSBuZXdWYWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3NlbGVjdENvbHVtbnM6IG5ld1NlbGVjdH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNvcnRCeVxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHNvcnQoc29ydEJ5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtyYW5zYWNrOiB7czogc29ydEJ5fX0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8QXJyYXk8TW9kZWxPZjxNQz4+Pn0gKi9cbiAgYXN5bmMgdG9BcnJheSgpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3Jlc3BvbnNlKClcbiAgICBjb25zdCBtb2RlbHMgPSBkaWdnKHJlc3BvbnNlLCBcImNvbGxlY3Rpb25cIilcblxuICAgIHRoaXMuX2FkZFF1ZXJ5VG9Nb2RlbHMobW9kZWxzKVxuXG4gICAgcmV0dXJuIG1vZGVsc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtNQ30gKi9cbiAgbW9kZWxDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMuYXJncy5tb2RlbENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBtb2RlbCBjbGFzcyBnaXZlbiBpbiBhcmdzXCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy5tb2RlbENsYXNzXG4gIH1cblxuICAvKiogQHJldHVybnMge0FwaU1ha2VyQ29sbGVjdGlvbn0gKi9cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgY2xvbmVkUXVlcnlBcmdzID0gY2xvbmVEZWVwKHRoaXMucXVlcnlBcmdzKVxuXG4gICAgcmV0dXJuIG5ldyBBcGlNYWtlckNvbGxlY3Rpb24odGhpcy5hcmdzLCBjbG9uZWRRdWVyeUFyZ3MpXG4gIH1cblxuICAvLyBUaGlzIGlzIG5lZWRlZCB3aGVuIHJlbG9hZGluZyBhIHZlcnNpb24gb2YgdGhlIG1vZGVsIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgYXR0cmlidXRlcyBhbmQgcHJlbG9hZHNcbiAgLyoqXG4gICAqIEBwYXJhbSB7QXJyYXk8TW9kZWxPZjxNQz4+fSBtb2RlbHNcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBfYWRkUXVlcnlUb01vZGVscyhtb2RlbHMpIHtcbiAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIG1vZGVscykge1xuICAgICAgbW9kZWwuY29sbGVjdGlvbiA9IHRoaXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtRdWVyeUFyZ3NUeXBlfSBuZXdRdWVyeUFyZ3NcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBfbWVyZ2UobmV3UXVlcnlBcmdzKSB7XG4gICAgaW5jb3Jwb3JhdGUodGhpcy5xdWVyeUFyZ3MsIG5ld1F1ZXJ5QXJncylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8e2NvbGxlY3Rpb246IEFycmF5PE1vZGVsT2Y8TUM+Pn0+fSAqL1xuICBfcmVzcG9uc2UoKSB7XG4gICAgaWYgKCF0aGlzLmFyZ3MpIHRocm93IG5ldyBFcnJvcihcIk5vIGFyZ3M/XCIpXG4gICAgaWYgKCF0aGlzLmFyZ3MubW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKFwiTm8gbW9kZWxDbGFzcyBpbiBhcmdzXCIpXG4gICAgaWYgKCF0aGlzLmFyZ3MubW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSkgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbENsYXNzRGF0YSBvbiBtb2RlbENsYXNzICR7dGhpcy5hcmdzLm1vZGVsQ2xhc3M/Lm5hbWV9ICgke3R5cGVvZiB0aGlzLmFyZ3MubW9kZWxDbGFzc30pYClcblxuICAgIGNvbnN0IG1vZGVsQ2xhc3NEYXRhID0gdGhpcy5hcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKVxuXG4gICAgcmV0dXJuIENvbW1hbmRzUG9vbC5hZGRDb21tYW5kKFxuICAgICAge1xuICAgICAgICBhcmdzOiB0aGlzLnBhcmFtcygpLFxuICAgICAgICBjb21tYW5kOiBgJHttb2RlbENsYXNzRGF0YS5jb2xsZWN0aW9uTmFtZX0taW5kZXhgLFxuICAgICAgICBjb2xsZWN0aW9uTmFtZTogbW9kZWxDbGFzc0RhdGEuY29sbGVjdGlvbk5hbWUsXG4gICAgICAgIHR5cGU6IFwiaW5kZXhcIlxuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKVxuICB9XG59XG4iXX0=
|
|
453
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDakYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQSxDQUFDLG1DQUFtQztBQUNwRSxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFFakM7OztHQUdHO0FBRUg7Ozs7OztHQU1HO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7SUFFbEM7OztPQUdHO0lBQ0gsWUFBWSxJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRS9GLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsaUJBQWlCO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLHVDQUF1QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFakUsS0FBSyxNQUFNLG1CQUFtQixJ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QUM7SUFFRCwyREFBMkQ7SUFDM0QsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQTtRQUUzSixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUU1RCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQzVCO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLGNBQWMsUUFBUTtZQUNqRCxjQUFjLEVBQUUsY0FBYyxDQUFDLGNBQWM7WUFDN0MsSUFBSSxFQUFFLE9BQU87U0FDZCxFQUNELEVBQUUsQ0FDSCxDQUFBO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbG9uZURlZXAgZnJvbSBcImNsb25lLWRlZXBcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi9jb21tYW5kcy1wb29sLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0IFJlc3VsdCBmcm9tIFwiLi9yZXN1bHQuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IHVuaXF1bml6ZSBmcm9tIFwidW5pcXVuaXplXCJcblxuLyoqXG4gKiBAdGVtcGxhdGUge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gTUNcbiAqIEB0eXBlZGVmIHtJbnN0YW5jZVR5cGU8TUM+fSBNb2RlbE9mXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gTUNcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbGxlY3Rpb25BcmdzVHlwZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gW21vZGVsXVxuICogQHByb3BlcnR5IHtNQ30gbW9kZWxDbGFzc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtyZWZsZWN0aW9uTmFtZV1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFF1ZXJ5QXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBbYWJpbGl0aWVzXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthY2Nlc3NpYmxlQnldXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtjb3VudF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2Rpc3RpbmN0XVxuICogQHByb3BlcnR5IHtBcnJheTxzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddPn0gW2dyb3VwQnldXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2xpbWl0XVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwYWdlXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYWdlS2V5XVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcGFyYW1zXVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwZXJdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BlcktleV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtwcmVsb2FkXVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcmFuc2Fja11cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3NlYXJjaF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2VhcmNoS2V5XVxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IFtzZWxlY3RdXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gW3NlbGVjdENvbHVtbnNdXG4gKi9cblxuLyoqIEB0ZW1wbGF0ZSB7dHlwZW9mIGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBNQyAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDb2xsZWN0aW9uIHtcbiAgc3RhdGljIGFwaU1ha2VyVHlwZSA9IFwiQ29sbGVjdGlvblwiXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q29sbGVjdGlvbkFyZ3NUeXBlPE1DPn0gYXJnc1xuICAgKiBAcGFyYW0ge1F1ZXJ5QXJnc1R5cGV9IHF1ZXJ5QXJnc1xuICAgKi9cbiAgY29uc3RydWN0b3IoYXJncywgcXVlcnlBcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3MubW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbENsYXNzIGdpdmVuIGluICR7T2JqZWN0LmtleXMoYXJncykuam9pbihcIiwgXCIpfWApXG5cbiAgICB0aGlzLnF1ZXJ5QXJncyA9IHF1ZXJ5QXJnc1xuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gb3JpZ2luYWxBYmlsaXRpZXNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBhYmlsaXRpZXMob3JpZ2luYWxBYmlsaXRpZXMpIHtcbiAgICBjb25zdCBuZXdBYmlsaXRpZXMgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZ1tdPn0gKi8gKHt9KVxuXG4gICAgZm9yIChjb25zdCBvcmlnaW5hbEFiaWxpdHlOYW1lIGluIG9yaWdpbmFsQWJpbGl0aWVzKSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUob3JpZ2luYWxBYmlsaXR5TmFtZSlcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtdXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlcyA9IG9yaWdpbmFsQWJpbGl0aWVzW29yaWdpbmFsQWJpbGl0eU5hbWVdXG5cbiAgICAgIGZvciAoY29uc3Qgb3JpZ2luYWxBYmlsaXR5TmFtZSBvZiBvcmlnaW5hbFZhbHVlcykge1xuICAgICAgICBjb25zdCBuZXdBYmlsaXR5TmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShvcmlnaW5hbEFiaWxpdHlOYW1lKVxuICAgICAgICBuZXdWYWx1ZXMucHVzaChuZXdBYmlsaXR5TmFtZSlcbiAgICAgIH1cblxuICAgICAgbmV3QWJpbGl0aWVzW25ld01vZGVsTmFtZV0gPSBuZXdWYWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe2FiaWxpdGllczogbmV3QWJpbGl0aWVzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWJpbGl0eU5hbWVcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBhY2Nlc3NpYmxlQnkoYWJpbGl0eU5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe2FjY2Vzc2libGVCeTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKX0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8bnVtYmVyPn0gKi9cbiAgYXN5bmMgY291bnQoKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsb25lKClcbiAgICAgIC5fbWVyZ2Uoe2NvdW50OiB0cnVlfSlcbiAgICAgIC5fcmVzcG9uc2UoKVxuXG4gICAgcmV0dXJuIGRpZ2cocmVzcG9uc2UsIFwiY291bnRcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dGhpc30gKi9cbiAgZGlzdGluY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtkaXN0aW5jdDogdHJ1ZX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCkgOiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGVhY2goY2FsbGJhY2spIHtcbiAgICBjb25zdCBhcnJheSA9IGF3YWl0IHRoaXMudG9BcnJheSgpXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsIGluIGFycmF5KSB7XG4gICAgICBjYWxsYmFjay5jYWxsKG1vZGVsKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gey4uLnN0cmluZ30ga2V5c1xuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGV4Y2VwdCguLi5rZXlzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgaWYgKGtleSA9PSBcInBhZ2VcIikge1xuICAgICAgICBkZWxldGUgdGhpcy5xdWVyeUFyZ3Nba2V5XVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQga2V5OiAke2tleX1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8TW9kZWxPZjxNQz4+fSAqL1xuICBhc3luYyBmaXJzdCgpIHtcbiAgICBjb25zdCBtb2RlbHMgPSBhd2FpdCB0aGlzLnRvQXJyYXkoKVxuICAgIHJldHVybiBtb2RlbHNbMF1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gey4uLihzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddKX0gYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBncm91cEJ5KC4uLmFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zKSB7XG4gICAgY29uc3QgYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucyA9IC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nIHwgW3N0cmluZywgc3RyaW5nXT59ICovIChbXSlcblxuICAgIGZvciAoY29uc3QgdGFibGVBbmRDb2x1bW4gb2YgYXJyYXlPZlRhYmxlc0FuZENvbHVtbnMpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhYmxlQW5kQ29sdW1uKSkge1xuICAgICAgICBhcnJheU9mVGFibGVzQW5kQ29sdW1uc1dpdGhMb3dlcmNhc2VDb2x1bW5zLnB1c2goW3RhYmxlQW5kQ29sdW1uWzBdLCB0YWJsZUFuZENvbHVtblsxXS50b0xvd2VyQ2FzZSgpXSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zV2l0aExvd2VyY2FzZUNvbHVtbnMucHVzaCh0YWJsZUFuZENvbHVtbi50b0xvd2VyQ2FzZSgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRHcm91cEJ5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSB8fCBbXVxuICAgIGNvbnN0IG5ld0dyb3VwQnkgPSBjdXJyZW50R3JvdXBCeS5jb25jYXQoYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucylcblxuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7XG4gICAgICBncm91cEJ5OiBuZXdHcm91cEJ5XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTxNb2RlbE9mPE1DPiB8IEFycmF5PE1vZGVsT2Y8TUM+PiB8IG51bGw+fSAqL1xuICBhc3luYyBlbnN1cmVMb2FkZWQoKSB7XG4gICAgaWYgKCF0aGlzLmlzTG9hZGVkKCkpIHtcbiAgICAgIGNvbnN0IG1vZGVscyA9IGF3YWl0IHRoaXMudG9BcnJheSgpXG5cbiAgICAgIHRoaXMuc2V0KG1vZGVscylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2FkZWQoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc0xvYWRlZCgpIHtcbiAgICBjb25zdCB7bW9kZWwsIHJlZmxlY3Rpb25OYW1lfSA9IHRoaXMuYXJnc1xuXG4gICAgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHMpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGxpbWl0KGFtb3VudCkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7bGltaXQ6IGFtb3VudH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge0FycmF5PE1vZGVsT2Y8TUM+Pn0gKi9cbiAgcHJlbG9hZGVkKCkge1xuICAgIGlmICghKHRoaXMuYXJncy5yZWZsZWN0aW9uTmFtZSBpbiB0aGlzLmFyZ3MubW9kZWwucmVsYXRpb25zaGlwc0NhY2hlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZX0gaGFzbnQgYmVlbiBsb2FkZWQgeWV0YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcmdzLm1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZVt0aGlzLmFyZ3MucmVmbGVjdGlvbk5hbWVdXG4gIH1cblxuICAvKiogQHJldHVybnMge01vZGVsT2Y8TUM+IHwgQXJyYXk8TW9kZWxPZjxNQz4+fSAqL1xuICBsb2FkZWQoKSB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9uTmFtZX0gPSB0aGlzLmFyZ3NcblxuICAgIGlmIChyZWZsZWN0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzKSB7XG4gICAgICByZXR1cm4gbW9kZWwucmVsYXRpb25zaGlwc1tyZWZsZWN0aW9uTmFtZV1cbiAgICB9IGVsc2UgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkge1xuICAgICAgcmV0dXJuIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZVtyZWZsZWN0aW9uTmFtZV1cbiAgICB9IGVsc2UgaWYgKG1vZGVsLmlzTmV3UmVjb3JkKCkpIHtcbiAgICAgIGNvbnN0IHJlZmxlY3Rpb25OYW1lVW5kZXJzY29yZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uTmFtZSlcblxuICAgICAgLy8gSW5pdGlhbGl6ZSBhcyBlbXB0eSBhbmQgdHJ5IGFnYWluIHRvIHJldHVybiB0aGUgZW1wdHkgcmVzdWx0XG4gICAgICB0aGlzLnNldChbXSlcblxuICAgICAgcmV0dXJuIGRpZ2cobW9kZWwucmVsYXRpb25zaGlwcywgcmVmbGVjdGlvbk5hbWVVbmRlcnNjb3JlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzTG9hZGVkID0gdW5pcXVuaXplKE9iamVjdC5rZXlzKG1vZGVsLnJlbGF0aW9uc2hpcHMpLmNvbmNhdChPYmplY3Qua2V5cyhtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKSlcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3JlZmxlY3Rpb25OYW1lfSBoYXNuJ3QgYmVlbiBsb2FkZWQgeWV0IG9uICR7bW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfS4gTG9hZGVkIHdhczogJHtyZWxhdGlvbnNoaXBzTG9hZGVkLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7QXJyYXk8TW9kZWxPZjxNQz4+fSAqL1xuICBsb2FkZWRBcnJheSgpIHtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLmxvYWRlZCgpXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShsb2FkZWQpKSB7XG4gICAgICByZXR1cm4gbG9hZGVkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIidsb2FkZWQnIHdhc24ndCBhbiBhcnJheVwiKVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlcGxhY2VzIHRoZSByZWxhdGlvbnNoaXBzIHdpdGggdGhlIGdpdmVuIG5ldyBjb2xsZWN0aW9uLlxuICAvKipcbiAgICogQHBhcmFtIHtBcnJheTxNb2RlbE9mPE1DPj59IG5ld0NvbGxlY3Rpb25cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXQobmV3Q29sbGVjdGlvbikge1xuICAgIHRoaXMuYXJncy5tb2RlbC5yZWxhdGlvbnNoaXBzW3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZV0gPSBuZXdDb2xsZWN0aW9uXG4gIH1cblxuICAvLyBQdXNoZXMgYW5vdGhlciBtb2RlbCBvbnRvIHRoZSBnaXZlbiBjb2xsZWN0aW9uLlxuICAvKipcbiAgICogQHBhcmFtIHtNb2RlbE9mPE1DPn0gbmV3TW9kZWxcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBwdXNoKG5ld01vZGVsKSB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9uTmFtZX0gPSB0aGlzLmFyZ3NcblxuICAgIGlmICghKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHMpKSB7XG4gICAgICBtb2RlbC5yZWxhdGlvbnNoaXBzW3JlZmxlY3Rpb25OYW1lXSA9IFtdXG4gICAgfVxuXG4gICAgaWYgKCFtb2RlbC5yZWxhdGlvbnNoaXBzW3JlZmxlY3Rpb25OYW1lXS5pbmNsdWRlcyhuZXdNb2RlbCkpIHtcbiAgICAgIG1vZGVsLnJlbGF0aW9uc2hpcHNbcmVmbGVjdGlvbk5hbWVdLnB1c2gobmV3TW9kZWwpXG4gICAgfVxuICB9XG5cbiAgLy8gQXJyYXkgc2hvcnRjdXRzXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0KTogYm9vbGVhbn0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fVxuICAgKi9cbiAgZmluZChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLmZpbmQoY2FsbGJhY2spIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCk6IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgZm9yRWFjaChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLmZvckVhY2goY2FsbGJhY2spIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCk6IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHthbnlbXX1cbiAgICovXG4gIG1hcChjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5sb2FkZWRBcnJheSgpLm1hcChjYWxsYmFjaykgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwcmVsb2FkVmFsdWVcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwcmVsb2FkKHByZWxvYWRWYWx1ZSkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7cHJlbG9hZDogcHJlbG9hZFZhbHVlfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZVxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHBhZ2UocGFnZSkge1xuICAgIGNvbnN0IHBhZ2VUb1VzZSA9IHBhZ2UgfHwgMVxuXG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwYWdlOiBwYWdlVG9Vc2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYWdlS2V5XG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcGFnZUtleShwYWdlS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwYWdlS2V5fSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNGaWx0ZXJlZCgpIHtcbiAgICBjb25zdCB7cXVlcnlBcmdzfSA9IHRoaXNcblxuICAgIGlmIChcbiAgICAgIHF1ZXJ5QXJncy5hY2Nlc3NpYmxlQnkgfHxcbiAgICAgIHF1ZXJ5QXJncy5jb3VudCB8fFxuICAgICAgcXVlcnlBcmdzLmxpbWl0IHx8XG4gICAgICBxdWVyeUFyZ3MucGFnZSB8fFxuICAgICAgcXVlcnlBcmdzLnBhcmFtcyB8fFxuICAgICAgcXVlcnlBcmdzLnBlciB8fFxuICAgICAgcXVlcnlBcmdzLnJhbnNhY2sgfHxcbiAgICAgIHF1ZXJ5QXJncy5zZWFyY2hcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gIHBhcmFtcygpIHtcbiAgICBsZXQgcGFyYW1zID0ge31cblxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYXJhbXMpIHBhcmFtcyA9IGluY29ycG9yYXRlKHBhcmFtcywgdGhpcy5xdWVyeUFyZ3MucGFyYW1zKVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXMpIHBhcmFtcy5hYmlsaXRpZXMgPSB0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXNcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuYWNjZXNzaWJsZUJ5KSBwYXJhbXMuYWNjZXNzaWJsZV9ieSA9IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnF1ZXJ5QXJncy5hY2Nlc3NpYmxlQnkpXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLmNvdW50KSBwYXJhbXMuY291bnQgPSB0aGlzLnF1ZXJ5QXJncy5jb3VudFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5kaXN0aW5jdCkgcGFyYW1zLmRpc3RpbmN0ID0gdGhpcy5xdWVyeUFyZ3MuZGlzdGluY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSkgcGFyYW1zLmdyb3VwX2J5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5yYW5zYWNrKSBwYXJhbXMucSA9IHRoaXMucXVlcnlBcmdzLnJhbnNhY2tcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MubGltaXQpIHBhcmFtcy5saW1pdCA9IHRoaXMucXVlcnlBcmdzLmxpbWl0XG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnByZWxvYWQpIHBhcmFtcy5wcmVsb2FkID0gdGhpcy5xdWVyeUFyZ3MucHJlbG9hZFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYWdlKSBwYXJhbXMucGFnZSA9IHRoaXMucXVlcnlBcmdzLnBhZ2VcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MucGVyKSBwYXJhbXMucGVyID0gdGhpcy5xdWVyeUFyZ3MucGVyXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnNlYXJjaCkgcGFyYW1zLnNlYXJjaCA9IHRoaXMucXVlcnlBcmdzLnNlYXJjaFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5zZWxlY3QpIHBhcmFtcy5zZWxlY3QgPSB0aGlzLnF1ZXJ5QXJncy5zZWxlY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1ucykgcGFyYW1zLnNlbGVjdF9jb2x1bW5zID0gdGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1uc1xuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBwZXJcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwZXIocGVyKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwZXJ9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwZXJLZXlcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwZXJLZXkocGVyS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwZXJLZXl9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcmFuc2FjayhwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zKSB0aGlzLl9tZXJnZSh7cmFuc2FjazogcGFyYW1zfSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPFJlc3VsdD59ICovXG4gIGFzeW5jIHJlc3VsdCgpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3Jlc3BvbnNlKClcbiAgICBjb25zdCBtb2RlbHMgPSBkaWdnKHJlc3BvbnNlLCBcImNvbGxlY3Rpb25cIilcblxuICAgIHRoaXMuX2FkZFF1ZXJ5VG9Nb2RlbHMobW9kZWxzKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlc3VsdCgvKiogQHR5cGUge2FueX0gKi8gKHtjb2xsZWN0aW9uOiB0aGlzLCBtb2RlbHMsIHJlc3BvbnNlfSkpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwYXJhbXNcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBzZWFyY2gocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcykgdGhpcy5fbWVyZ2Uoe3NlYXJjaDogcGFyYW1zfSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hLZXlcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBzZWFyY2hLZXkoc2VhcmNoS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtzZWFyY2hLZXl9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBvcmlnaW5hbFNlbGVjdFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHNlbGVjdChvcmlnaW5hbFNlbGVjdCkge1xuICAgIGNvbnN0IG5ld1NlbGVjdCA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSAqLyAoe30pXG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsTW9kZWxOYW1lIGluIG9yaWdpbmFsU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUob3JpZ2luYWxNb2RlbE5hbWUpXG4gICAgICBjb25zdCBuZXdWYWx1ZXMgPSBbXVxuICAgICAgY29uc3Qgb3JpZ2luYWxWYWx1ZXMgPSBvcmlnaW5hbFNlbGVjdFtvcmlnaW5hbE1vZGVsTmFtZV1cblxuICAgICAgZm9yIChjb25zdCBvcmlnaW5hbEF0dHJpYnV0ZU5hbWUgb2Ygb3JpZ2luYWxWYWx1ZXMpIHtcbiAgICAgICAgY29uc3QgbmV3QXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShvcmlnaW5hbEF0dHJpYnV0ZU5hbWUpXG4gICAgICAgIG5ld1ZhbHVlcy5wdXNoKG5ld0F0dHJpYnV0ZU5hbWUpXG4gICAgICB9XG5cbiAgICAgIG5ld1NlbGVjdFtuZXdNb2RlbE5hbWVdID0gbmV3VmFsdWVzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtzZWxlY3Q6IG5ld1NlbGVjdH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IG9yaWdpbmFsU2VsZWN0XG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgc2VsZWN0Q29sdW1ucyhvcmlnaW5hbFNlbGVjdCkge1xuICAgIGNvbnN0IG5ld1NlbGVjdCA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSAqLyAoe30pXG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsTW9kZWxOYW1lIGluIG9yaWdpbmFsU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsTW9kZWxOYW1lKSlcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtdXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlcyA9IG9yaWdpbmFsU2VsZWN0W29yaWdpbmFsTW9kZWxOYW1lXVxuXG4gICAgICBmb3IgKGNvbnN0IG9yaWdpbmFsQXR0cmlidXRlTmFtZSBvZiBvcmlnaW5hbFZhbHVlcykge1xuICAgICAgICBjb25zdCBuZXdBdHRyaWJ1dGVOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsQXR0cmlidXRlTmFtZSlcbiAgICAgICAgbmV3VmFsdWVzLnB1c2gobmV3QXR0cmlidXRlTmFtZSlcbiAgICAgIH1cblxuICAgICAgbmV3U2VsZWN0W25ld01vZGVsTmFtZV0gPSBuZXdWYWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3NlbGVjdENvbHVtbnM6IG5ld1NlbGVjdH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNvcnRCeVxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHNvcnQoc29ydEJ5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtyYW5zYWNrOiB7czogc29ydEJ5fX0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8QXJyYXk8TW9kZWxPZjxNQz4+Pn0gKi9cbiAgYXN5bmMgdG9BcnJheSgpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3Jlc3BvbnNlKClcbiAgICBjb25zdCBtb2RlbHMgPSBkaWdnKHJlc3BvbnNlLCBcImNvbGxlY3Rpb25cIilcblxuICAgIHRoaXMuX2FkZFF1ZXJ5VG9Nb2RlbHMobW9kZWxzKVxuXG4gICAgcmV0dXJuIG1vZGVsc1xuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtNQ30gKi9cbiAgbW9kZWxDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMuYXJncy5tb2RlbENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBtb2RlbCBjbGFzcyBnaXZlbiBpbiBhcmdzXCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy5tb2RlbENsYXNzXG4gIH1cblxuICAvKiogQHJldHVybnMge0FwaU1ha2VyQ29sbGVjdGlvbn0gKi9cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgY2xvbmVkUXVlcnlBcmdzID0gY2xvbmVEZWVwKHRoaXMucXVlcnlBcmdzKVxuXG4gICAgcmV0dXJuIG5ldyBBcGlNYWtlckNvbGxlY3Rpb24odGhpcy5hcmdzLCBjbG9uZWRRdWVyeUFyZ3MpXG4gIH1cblxuICAvLyBUaGlzIGlzIG5lZWRlZCB3aGVuIHJlbG9hZGluZyBhIHZlcnNpb24gb2YgdGhlIG1vZGVsIHdpdGggdGhlIHNhbWUgc2VsZWN0ZWQgYXR0cmlidXRlcyBhbmQgcHJlbG9hZHNcbiAgLyoqXG4gICAqIEBwYXJhbSB7QXJyYXk8TW9kZWxPZjxNQz4+fSBtb2RlbHNcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBfYWRkUXVlcnlUb01vZGVscyhtb2RlbHMpIHtcbiAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIG1vZGVscykge1xuICAgICAgbW9kZWwuY29sbGVjdGlvbiA9IHRoaXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtRdWVyeUFyZ3NUeXBlfSBuZXdRdWVyeUFyZ3NcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBfbWVyZ2UobmV3UXVlcnlBcmdzKSB7XG4gICAgaW5jb3Jwb3JhdGUodGhpcy5xdWVyeUFyZ3MsIG5ld1F1ZXJ5QXJncylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8e2NvbGxlY3Rpb246IEFycmF5PE1vZGVsT2Y8TUM+Pn0+fSAqL1xuICBfcmVzcG9uc2UoKSB7XG4gICAgaWYgKCF0aGlzLmFyZ3MpIHRocm93IG5ldyBFcnJvcihcIk5vIGFyZ3M/XCIpXG4gICAgaWYgKCF0aGlzLmFyZ3MubW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKFwiTm8gbW9kZWxDbGFzcyBpbiBhcmdzXCIpXG4gICAgaWYgKCF0aGlzLmFyZ3MubW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSkgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbENsYXNzRGF0YSBvbiBtb2RlbENsYXNzICR7dGhpcy5hcmdzLm1vZGVsQ2xhc3M/Lm5hbWV9ICgke3R5cGVvZiB0aGlzLmFyZ3MubW9kZWxDbGFzc30pYClcblxuICAgIGNvbnN0IG1vZGVsQ2xhc3NEYXRhID0gdGhpcy5hcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKVxuXG4gICAgcmV0dXJuIENvbW1hbmRzUG9vbC5hZGRDb21tYW5kKFxuICAgICAge1xuICAgICAgICBhcmdzOiB0aGlzLnBhcmFtcygpLFxuICAgICAgICBjb21tYW5kOiBgJHttb2RlbENsYXNzRGF0YS5jb2xsZWN0aW9uTmFtZX0taW5kZXhgLFxuICAgICAgICBjb2xsZWN0aW9uTmFtZTogbW9kZWxDbGFzc0RhdGEuY29sbGVjdGlvbk5hbWUsXG4gICAgICAgIHR5cGU6IFwiaW5kZXhcIlxuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKVxuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"/src/","sources":["deserializer.js"],"names":[],"mappings":"AAMA,+CAA+C;AAC/C;IACE,aAAa;IACb,+
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"/src/","sources":["deserializer.js"],"names":[],"mappings":"AAMA,+CAA+C;AAC/C;IACE,aAAa;IACb,+BAyDC;CACF"}
|
package/build/deserializer.js
CHANGED
|
@@ -12,12 +12,17 @@ export default class ApiMakerDeserializer {
|
|
|
12
12
|
}
|
|
13
13
|
else if (object && typeof object == "object") {
|
|
14
14
|
if (object.api_maker_type == "date") {
|
|
15
|
-
const date = /** @type {Date & {apiMakerType?: string}} */ (new Date(digg(object, "value")));
|
|
15
|
+
const date = /** @type {Date & {apiMakerType?: string}} */ (new Date(digg(object, "value")));
|
|
16
16
|
date.apiMakerType = "date";
|
|
17
17
|
return date;
|
|
18
18
|
}
|
|
19
|
+
else if (object.api_maker_type == "datetime") {
|
|
20
|
+
const date = /** @type {Date & {apiMakerType?: string}} */ (new Date(digg(object, "value")));
|
|
21
|
+
date.apiMakerType = "datetime";
|
|
22
|
+
return date;
|
|
23
|
+
}
|
|
19
24
|
else if (object.api_maker_type == "time") {
|
|
20
|
-
const date = /** @type {Date & {apiMakerType?: string}} */ (new Date(digg(object, "value")));
|
|
25
|
+
const date = /** @type {Date & {apiMakerType?: string}} */ (new Date(digg(object, "value")));
|
|
21
26
|
date.apiMakerType = "time";
|
|
22
27
|
return date;
|
|
23
28
|
}
|
|
@@ -57,4 +62,4 @@ export default class ApiMakerDeserializer {
|
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXNlcmlhbGl6ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUM1RSxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sb0JBQW9CLE1BQU0sNkJBQTZCLENBQUEsQ0FBQyxtQ0FBbUM7QUFDbEcsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFBO0FBRTVCLCtDQUErQztBQUMvQyxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2QyxhQUFhO0lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDakUsQ0FBQzthQUFNLElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQy9DLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLEdBQUcsNkNBQTZDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFFNUYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7Z0JBRTFCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sSUFBSSxHQUFHLDZDQUE2QyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBRTVGLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFBO2dCQUU5QixPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUMzQyxNQUFNLElBQUksR0FBRyw2Q0FBNkMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUU1RixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQTtnQkFFMUIsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakQsOENBQThDO2dCQUM5QyxNQUFNLEVBQUMsY0FBYyxFQUFFLEdBQUcsVUFBVSxFQUFDLEdBQUcsTUFBTSxDQUFBO2dCQUU5QyxPQUFPLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtZQUNoRixDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQTtnQkFFekMsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUMzQyxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUE7Z0JBQ3RFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUNwRCxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO2dCQUNuRSxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtnQkFFeEQsT0FBTyxLQUFLLENBQUE7WUFDZCxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7Z0JBQ2hFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUVwRCxPQUFPLFVBQVUsQ0FBQTtZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO2dCQUVwQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUN6QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ3pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3BELENBQUM7Z0JBRUQsT0FBTyxTQUFTLENBQUE7WUFDbEIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IG1vZGVsQ2xhc3NSZXF1aXJlIGZyb20gXCIuL21vZGVsLWNsYXNzLXJlcXVpcmUuanNcIlxuaW1wb3J0IE1vZGVsc1Jlc3BvbnNlUmVhZGVyIGZyb20gXCIuL21vZGVscy1yZXNwb25zZS1yZWFkZXIuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IE1vbmV5IGZyb20gXCJqcy1tb25leVwiXG5cbi8qKiBEZXNlcmlhbGl6ZXMgQVBJIE1ha2VyIGVuY29kZWQgcGF5bG9hZHMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckRlc2VyaWFsaXplciB7XG4gIC8qKiBwYXJzZS4gKi9cbiAgc3RhdGljIHBhcnNlKG9iamVjdCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICAgIHJldHVybiBvYmplY3QubWFwKCh2YWx1ZSkgPT4gQXBpTWFrZXJEZXNlcmlhbGl6ZXIucGFyc2UodmFsdWUpKVxuICAgIH0gZWxzZSBpZiAob2JqZWN0ICYmIHR5cGVvZiBvYmplY3QgPT0gXCJvYmplY3RcIikge1xuICAgICAgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcImRhdGVcIikge1xuICAgICAgICBjb25zdCBkYXRlID0gLyoqIEB0eXBlIHtEYXRlICYge2FwaU1ha2VyVHlwZT86IHN0cmluZ319ICovIChuZXcgRGF0ZShkaWdnKG9iamVjdCwgXCJ2YWx1ZVwiKSkpXG5cbiAgICAgICAgZGF0ZS5hcGlNYWtlclR5cGUgPSBcImRhdGVcIlxuXG4gICAgICAgIHJldHVybiBkYXRlXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcImRhdGV0aW1lXCIpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IC8qKiBAdHlwZSB7RGF0ZSAmIHthcGlNYWtlclR5cGU/OiBzdHJpbmd9fSAqLyAobmV3IERhdGUoZGlnZyhvYmplY3QsIFwidmFsdWVcIikpKVxuXG4gICAgICAgIGRhdGUuYXBpTWFrZXJUeXBlID0gXCJkYXRldGltZVwiXG5cbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgIH0gZWxzZSBpZiAob2JqZWN0LmFwaV9tYWtlcl90eXBlID09IFwidGltZVwiKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSAvKiogQHR5cGUge0RhdGUgJiB7YXBpTWFrZXJUeXBlPzogc3RyaW5nfX0gKi8gKG5ldyBEYXRlKGRpZ2cob2JqZWN0LCBcInZhbHVlXCIpKSlcblxuICAgICAgICBkYXRlLmFwaU1ha2VyVHlwZSA9IFwidGltZVwiXG5cbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgIH0gZWxzZSBpZiAob2JqZWN0LmFwaV9tYWtlcl90eXBlID09IFwiY29sbGVjdGlvblwiKSB7XG4gICAgICAgIC8vIE5lZWQgdG8gcmVtb3ZlIHR5cGUgdG8gYXZvaWQgY2lyY3VsYXIgZXJyb3JcbiAgICAgICAgY29uc3Qge2FwaV9tYWtlcl90eXBlLCAuLi5yZXN0T2JqZWN0fSA9IG9iamVjdFxuXG4gICAgICAgIHJldHVybiBNb2RlbHNSZXNwb25zZVJlYWRlci5jb2xsZWN0aW9uKEFwaU1ha2VyRGVzZXJpYWxpemVyLnBhcnNlKHJlc3RPYmplY3QpKVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJtb25leVwiKSB7XG4gICAgICAgIGNvbnN0IGNlbnRzID0gZGlnZyhvYmplY3QsIFwiYW1vdW50XCIpXG4gICAgICAgIGNvbnN0IGN1cnJlbmN5ID0gZGlnZyhvYmplY3QsIFwiY3VycmVuY3lcIilcblxuICAgICAgICByZXR1cm4gTW9uZXkuZnJvbUludGVnZXIoY2VudHMsIGN1cnJlbmN5KVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJtb2RlbFwiKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gaW5mbGVjdGlvbi5jbGFzc2lmeShkaWdnKG9iamVjdCwgXCJtb2RlbF9uYW1lXCIpKVxuICAgICAgICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxDbGFzc1JlcXVpcmUobW9kZWxDbGFzc05hbWUpXG4gICAgICAgIGNvbnN0IGRhdGEgPSBBcGlNYWtlckRlc2VyaWFsaXplci5wYXJzZShkaWdnKG9iamVjdCwgXCJzZXJpYWxpemVkXCIpKVxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtkYXRhLCBpc05ld1JlY29yZDogZmFsc2V9KVxuXG4gICAgICAgIHJldHVybiBtb2RlbFxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJyZXNvdXJjZVwiKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gaW5mbGVjdGlvbi5jbGFzc2lmeShkaWdnKG9iamVjdCwgXCJuYW1lXCIpKVxuICAgICAgICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxDbGFzc1JlcXVpcmUobW9kZWxDbGFzc05hbWUpXG5cbiAgICAgICAgcmV0dXJuIE1vZGVsQ2xhc3NcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld09iamVjdCA9IHt9XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XVxuICAgICAgICAgIG5ld09iamVjdFtrZXldID0gQXBpTWFrZXJEZXNlcmlhbGl6ZXIucGFyc2UodmFsdWUpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3T2JqZWN0XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYmplY3RcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -60,8 +60,7 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
|
|
|
60
60
|
component: "draggable-sort",
|
|
61
61
|
...dataSet
|
|
62
62
|
}), [dataSet]);
|
|
63
|
-
return (_jsx(Animated.View, { dataSet: actualDataSet, style: this.cache("rootViewStyle", { flexDirection: horizontal ? "row" : "column" }, [horizontal]), ...this.tt.panResponder.panHandlers, children: data.map((item, itemIndex) => (
|
|
64
|
-
_jsx(DraggableSortItem, { activeItemStyle: this.p.activeItemStyle, cacheKey: cacheKeyExtractor ? cacheKeyExtractor(item) : undefined, controller: this.tt.controller, item: item, itemIndex: itemIndex, onItemMoved: this.props.onItemMoved, renderItem: renderItem }, keyExtractor(item)))) }));
|
|
63
|
+
return (_jsx(Animated.View, { dataSet: actualDataSet, style: this.cache("rootViewStyle", { flexDirection: horizontal ? "row" : "column" }, [horizontal]), ...this.tt.panResponder.panHandlers, children: data.map((item, itemIndex) => (_jsx(DraggableSortItem, { activeItemStyle: this.p.activeItemStyle, cacheKey: cacheKeyExtractor ? cacheKeyExtractor(item) : undefined, controller: this.tt.controller, item: item, itemIndex: itemIndex, onItemMoved: this.props.onItemMoved, renderItem: renderItem }, keyExtractor(item)))) }));
|
|
65
64
|
}
|
|
66
65
|
onDragItemStart = ({ itemData }) => {
|
|
67
66
|
if (this.props.onDragItemStart) {
|
|
@@ -77,4 +76,4 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
|
|
|
77
76
|
}
|
|
78
77
|
};
|
|
79
78
|
}));
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sYUFBYyxTQUFRLGNBQWM7SUFDM0UsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixlQUFlLEVBQUUsRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDO1FBQzFDLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxlQUFlLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDakMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDakMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVTtRQUNoQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDekIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzFDLFVBQVUsRUFB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Q0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7QW5pbWF0ZWQsIFBhblJlc3BvbmRlcn0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50ZW1pdHRlcjNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBDb250cm9sbGVyIGZyb20gXCIuL2NvbnRyb2xsZXIuanNcIlxuaW1wb3J0IERyYWdnYWJsZVNvcnRJdGVtIGZyb20gXCIuL2l0ZW1cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIERyYWdnYWJsZVNvcnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYWN0aXZlSXRlbVN0eWxlOiB7YmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIn0sXG4gICAgaG9yaXpvbnRhbDogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aXZlSXRlbVN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNhY2hlS2V5RXh0cmFjdG9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBkYXRhU2V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGV2ZW50czogUHJvcFR5cGVzLmluc3RhbmNlT2YoRXZlbnRFbWl0dGVyKSxcbiAgICBob3Jpem9udGFsOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRyYWdJdGVtRW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRyYWdJdGVtU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJlb3JkZXJlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RhdGEsIGtleUV4dHJhY3Rvcn0gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXZlbnRzfSA9IHRoaXMucHJvcHNcblxuICAgIHRoaXMuY29udHJvbGxlciB8fD0gbmV3IENvbnRyb2xsZXIoe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSlcbiAgICB0aGlzLnBhblJlc3BvbmRlciB8fD0gUGFuUmVzcG9uZGVyLmNyZWF0ZSh7XG4gICAgICBvblN0YXJ0U2hvdWxkU2V0UGFuUmVzcG9uZGVyOiAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpbml0aWFsRHJhZ1Bvc2l0aW9uID0ge3g6IGUubmF0aXZlRXZlbnQubG9jYXRpb25YLCB5OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWX1cblxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0SW5pdGlhbERyYWdQb3NpdGlvbihpbml0aWFsRHJhZ1Bvc2l0aW9uKVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xsZXIuZHJhZ2dlZEl0ZW1EYXRhKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyTW92ZTogKF9lLCBnZXN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbk1vdmUoe2dlc3RhdGV9KVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyUmVsZWFzZTogKF9lLCBfZ2VzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy50dC5jb250cm9sbGVyLm9uRHJhZ0VuZCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdTdGFydFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1TdGFydClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1FbmQpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGEsIGhvcml6b250YWwsIGtleUV4dHJhY3RvciwgcmVuZGVySXRlbX0gPSB0aGlzLnBcbiAgICBjb25zdCB7Y2FjaGVLZXlFeHRyYWN0b3IsIGRhdGFTZXR9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICBjb21wb25lbnQ6IFwiZHJhZ2dhYmxlLXNvcnRcIixcbiAgICAgIC4uLmRhdGFTZXRcbiAgICB9KSwgW2RhdGFTZXRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRlZC5WaWV3XG4gICAgICAgIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogaG9yaXpvbnRhbCA/IFwicm93XCIgOiBcImNvbHVtblwifSwgW2hvcml6b250YWxdKX1cbiAgICAgICAgey4uLnRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfVxuICAgICAgPlxuICAgICAgICB7ZGF0YS5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT4gKFxuICAgICAgICAgIDxEcmFnZ2FibGVTb3J0SXRlbVxuICAgICAgICAgICAgYWN0aXZlSXRlbVN0eWxlPXt0aGlzLnAuYWN0aXZlSXRlbVN0eWxlfVxuICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5RXh0cmFjdG9yID8gY2FjaGVLZXlFeHRyYWN0b3IoaXRlbSkgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBjb250cm9sbGVyPXt0aGlzLnR0LmNvbnRyb2xsZXJ9XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICBrZXk9e2tleUV4dHJhY3RvcihpdGVtKX1cbiAgICAgICAgICAgIG9uSXRlbU1vdmVkPXt0aGlzLnByb3BzLm9uSXRlbU1vdmVkfVxuICAgICAgICAgICAgcmVuZGVySXRlbT17cmVuZGVySXRlbX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvQW5pbWF0ZWQuVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRyYWdJdGVtU3RhcnQgPSAoe2l0ZW1EYXRhfSkgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1TdGFydCkge1xuICAgICAgdGhpcy5wLm9uRHJhZ0l0ZW1TdGFydCh7aXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0l0ZW1FbmQgPSAoYXJncykgPT4ge1xuICAgIGlmIChhcmdzLnRvUG9zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHRoaXMucC5vblJlb3JkZXJlZChhcmdzKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1FbmQpIHtcbiAgICAgIHRoaXMucC5vbkRyYWdJdGVtRW5kKGFyZ3MpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
|
package/build/inputs/money.js
CHANGED
|
@@ -51,8 +51,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
51
51
|
if (!currenciesCollection)
|
|
52
52
|
currenciesCollection = Config.getCurrenciesCollection();
|
|
53
53
|
return (_jsxs("div", { className: "api-maker-inputs-money", "data-attribute": attribute, "data-model-id": model?.id(), children: [_jsx("input", { defaultValue: this.inputDefaultCentsValue(), id: this.inputCentsId(), name: this.inputCentsName(), ref: this.getInputRef(), type: "hidden" }), _jsx("input", { className: classNames("money-cents", className), defaultValue: this.inputDefaultValue(), disabled: disabled, id: this.inputId(), onBlur: this.tt.setAmount, onChange: this.tt.setCents, onKeyUp: this.tt.setCents, placeholder: this.props.placeholder, ref: this.tt.wholeRef, type: "text" }), showCurrencyOptions &&
|
|
54
|
-
_jsxs("select", { className: "money-currency", defaultValue: this.inputCurrencyValue(), disabled: disabled, id: this.inputCurrencyId(), name: this.inputCurrencyName(), onChange: this.tt.onCurrencyChanged, ref: this.tt.currencyRef, children: [_jsx("option", {}), currenciesCollection.map((option) => (
|
|
55
|
-
_jsxs("option", { value: option[1], children: [this.props.small && option[1], !this.props.small && option[0]] }, `select-option-${option[1]}`)))] })] }));
|
|
54
|
+
_jsxs("select", { className: "money-currency", defaultValue: this.inputCurrencyValue(), disabled: disabled, id: this.inputCurrencyId(), name: this.inputCurrencyName(), onChange: this.tt.onCurrencyChanged, ref: this.tt.currencyRef, children: [_jsx("option", {}), currenciesCollection.map((option) => (_jsxs("option", { value: option[1], children: [this.props.small && option[1], !this.props.small && option[0]] }, `select-option-${option[1]}`)))] })] }));
|
|
56
55
|
}
|
|
57
56
|
inputCurrencyId = () => `${this.inputId()}_currency`;
|
|
58
57
|
inputCurrencyName() {
|
|
@@ -128,4 +127,4 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
128
127
|
this.props.onChange();
|
|
129
128
|
};
|
|
130
129
|
}));
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9tb25leS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssRUFBRSxFQUFDLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNuQyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUEsQ0FBQywyQ0FBMkM7QUFDL0UsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsY0FBYztJQUNqRixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsbUJBQW1CLEVBQUUsSUFBSTtLQUMxQixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLGNBQWMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNoQyxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0Isb0JBQW9CLEVBQUUsU0FBUyxDQUFDLEtBQUs7UUFDckMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzlCLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUM3QixZ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LE9BQU07UUFFekIsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyRSxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNyQyxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUUvQyxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDekIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3JFLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgQ29uZmlnIGZyb20gXCIuLi9jb25maWcuanNcIlxuaW1wb3J0IE1vbmV5Rm9ybWF0dGVyIGZyb20gXCIuLi9tb25leS1mb3JtYXR0ZXIuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7dXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgaWRGb3JDb21wb25lbnQgZnJvbSBcIi4vaWQtZm9yLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNNb25leSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgc2hvd0N1cnJlbmN5T3B0aW9uczogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuZXctY2FwXG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNlbnRzSW5wdXROYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jaWVzQ29sbGVjdGlvbjogUHJvcFR5cGVzLmFycmF5LFxuICAgIGN1cnJlbmN5TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jeVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRSZWY6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5hbnksXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5hbnksXG4gICAgc2hvd0N1cnJlbmN5T3B0aW9uczogUHJvcFR5cGVzLmJvb2wsXG4gICAgc21hbGw6IFByb3BUeXBlcy5ib29sLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgd2hvbGVSZWY6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLmlucHV0UmVmID0gdXNlUmVmKClcbiAgICB0aGlzLmN1cnJlbmN5UmVmQmFja3VwID0gdXNlUmVmKClcbiAgICB0aGlzLmN1cnJlbmN5UmVmID0gdGhpcy5wcm9wcy5jdXJyZW5jeVJlZiB8fCB0aGlzLmN1cnJlbmN5UmVmQmFja3VwXG4gICAgdGhpcy53aG9sZVJlZkJhY2t1cCA9IHVzZVJlZigpXG4gICAgdGhpcy53aG9sZVJlZiA9IHRoaXMucHJvcHMud2hvbGVSZWYgfHwgdGhpcy53aG9sZVJlZkJhY2t1cFxuICB9XG5cbiAgZ2V0SW5wdXRSZWYgPSAoKSA9PiB0aGlzLnByb3BzLmlucHV0UmVmIHx8IHRoaXMuaW5wdXRSZWZcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNsYXNzTmFtZSwgZGlzYWJsZWQsIG1vZGVsLCBzaG93Q3VycmVuY3lPcHRpb25zfSA9IHRoaXMucHJvcHNcbiAgICBsZXQge2N1cnJlbmNpZXNDb2xsZWN0aW9ufSA9IHRoaXMucHJvcHNcblxuICAgIGlmICghY3VycmVuY2llc0NvbGxlY3Rpb24pIGN1cnJlbmNpZXNDb2xsZWN0aW9uID0gQ29uZmlnLmdldEN1cnJlbmNpZXNDb2xsZWN0aW9uKClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFwaS1tYWtlci1pbnB1dHMtbW9uZXlcIiBkYXRhLWF0dHJpYnV0ZT17YXR0cmlidXRlfSBkYXRhLW1vZGVsLWlkPXttb2RlbD8uaWQoKX0+XG4gICAgICAgIDxpbnB1dCBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0Q2VudHNWYWx1ZSgpfSBpZD17dGhpcy5pbnB1dENlbnRzSWQoKX0gbmFtZT17dGhpcy5pbnB1dENlbnRzTmFtZSgpfSByZWY9e3RoaXMuZ2V0SW5wdXRSZWYoKX0gdHlwZT1cImhpZGRlblwiIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcIm1vbmV5LWNlbnRzXCIsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdFZhbHVlKCl9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGlkPXt0aGlzLmlucHV0SWQoKX1cbiAgICAgICAgICBvbkJsdXI9e3RoaXMudHQuc2V0QW1vdW50fVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0LnNldENlbnRzfVxuICAgICAgICAgIG9uS2V5VXA9e3RoaXMudHQuc2V0Q2VudHN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgcmVmPXt0aGlzLnR0Lndob2xlUmVmfVxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgLz5cbiAgICAgICAge3Nob3dDdXJyZW5jeU9wdGlvbnMgJiZcbiAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtb25leS1jdXJyZW5jeVwiXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXRDdXJyZW5jeVZhbHVlKCl9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBpZD17dGhpcy5pbnB1dEN1cnJlbmN5SWQoKX1cbiAgICAgICAgICAgIG5hbWU9e3RoaXMuaW5wdXRDdXJyZW5jeU5hbWUoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uQ3VycmVuY3lDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmN1cnJlbmN5UmVmfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxvcHRpb24gLz5cbiAgICAgICAgICAgIHtjdXJyZW5jaWVzQ29sbGVjdGlvbi5tYXAoKG9wdGlvbikgPT4gKCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWV4dHJhLXBhcmVuc1xuICAgICAgICAgICAgICA8b3B0aW9uIGtleT17YHNlbGVjdC1vcHRpb24tJHtvcHRpb25bMV19YH0gdmFsdWU9e29wdGlvblsxXX0+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMuc21hbGwgJiYgb3B0aW9uWzFdfVxuICAgICAgICAgICAgICAgIHshdGhpcy5wcm9wcy5zbWFsbCAmJiBvcHRpb25bMF19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0Q3VycmVuY3lJZCA9ICgpID0+IGAke3RoaXMuaW5wdXRJZCgpfV9jdXJyZW5jeWBcblxuICBpbnB1dEN1cnJlbmN5TmFtZSAoKSB7XG4gICAgaWYgKFwiY3VycmVuY3lOYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMuY3VycmVuY3lOYW1lXG5cbiAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9X2N1cnJlbmN5XWBcbiAgfVxuXG4gIGlucHV0Q3VycmVuY3lWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuY3VycmVuY3lGcm9tTW9uZXkoZGVmYXVsdFZhbHVlKS5jb2RlXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIkRLS1wiXG4gICAgfVxuICB9XG5cbiAgaW5wdXREZWZhdWx0VmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmZyb21Nb25leSh7YW1vdW50OiBkZWZhdWx0VmFsdWUuYW1vdW50LCBjdXJyZW5jeTogdGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX0sIHtkZWNpbWFsczogMiwgZXhjbHVkZUN1cnJlbmN5OiB0cnVlfSkudG9TdHJpbmcoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gXCJcIlxuICAgIH1cbiAgfVxuXG4gIGlucHV0RGVmYXVsdENlbnRzVmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50KSB7XG4gICAgICByZXR1cm4gZGlnZyh0aGlzLmdldElucHV0UmVmKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG4gICAgfSBlbHNlIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5hbW91bnRGcm9tTW9uZXkoZGVmYXVsdFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2VudHNJZCA9ICgpID0+IGAke3RoaXMuaW5wdXRJZCgpfV9jZW50c2BcblxuICBpbnB1dENlbnRzTmFtZSAoKSB7XG4gICAgaWYgKFwibmFtZVwiIGluIHRoaXMucHJvcHMpIHJldHVybiB0aGlzLnByb3BzLm5hbWVcblxuICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1fY2VudHNdYFxuICB9XG5cbiAgaW5wdXRJZCA9ICgpID0+IGlkRm9yQ29tcG9uZW50KHRoaXMpXG5cbiAgb25DdXJyZW5jeUNoYW5nZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHRoaXMucHJvcHMub25DaGFuZ2UoKVxuICB9XG5cbiAgc2V0QW1vdW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBpZiAoIWlucHV0RWxlbWVudCkgcmV0dXJuXG5cbiAgICBpZiAoIWlucHV0RWxlbWVudC52YWx1ZSAmJiBpbnB1dEVsZW1lbnQudmFsdWUgPT0gXCJcIikge1xuICAgICAgdGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlID0gXCJcIlxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjZW50cyA9IHBhcnNlRmxvYXQoaW5wdXRFbGVtZW50LnZhbHVlKVxuICAgICAgY29uc3QgZm9ybWF0dGVkID0gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KHthbW91bnQ6IGNlbnRzLCBjdXJyZW5jeTogdGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX0sIHtkZWNpbWFsczogMiwgZXhjbHVkZUN1cnJlbmN5OiB0cnVlfSkudG9TdHJpbmcoKVxuXG4gICAgICB0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUgPSBmb3JtYXR0ZWRcbiAgICB9XG4gIH1cblxuICBzZXRDZW50cyA9ICgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0UmVmKCkuY3VycmVudFxuXG4gICAgaWYgKCFpbnB1dEVsZW1lbnQpIHJldHVyblxuXG4gICAgbGV0IHdob2xlID0gTW9uZXlGb3JtYXR0ZXIuc3RyaW5nVG9GbG9hdCh0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUpXG4gICAgbGV0IGNlbnRzID0gcGFyc2VJbnQod2hvbGUgKiAxMDAsIDEwKVxuICAgIGxldCBvbGRDZW50cyA9IHBhcnNlSW50KGlucHV0RWxlbWVudC52YWx1ZSwgMTApXG5cbiAgICBpZiAodHlwZW9mIGNlbnRzID09IFwibnVtYmVyXCIpIHtcbiAgICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IGNlbnRzXG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IFwiXCJcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSAmJiBvbGRDZW50cyAhPSBjZW50cykgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cbn0pKVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9tb25leS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssRUFBRSxFQUFDLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNuQyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUEsQ0FBQywyQ0FBMkM7QUFDL0UsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsY0FBYztJQUNqRixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsbUJBQW1CLEVBQUUsSUFBSTtLQUMxQixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLGNBQWMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNoQyxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0Isb0JBQW9CLEVBQUUsU0FBUyxDQUFDLEtBQUs7UUFDckMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzlCLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUM3QixZ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QUFJLEtBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JFLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3JDLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRS9DLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsWUFBWSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixZQUFZLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUN6QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDckUsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4uL2NvbmZpZy5qc1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlci5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pZC1mb3ItY29tcG9uZW50LmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c01vbmV5IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBzaG93Q3VycmVuY3lPcHRpb25zOiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3QoeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2VudHNJbnB1dE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY3VycmVuY3lOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmN5UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpbnB1dFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLmFueSxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLmFueSxcbiAgICBzaG93Q3VycmVuY3lPcHRpb25zOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3aG9sZVJlZjogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuaW5wdXRSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWYgPSB0aGlzLnByb3BzLmN1cnJlbmN5UmVmIHx8IHRoaXMuY3VycmVuY3lSZWZCYWNrdXBcbiAgICB0aGlzLndob2xlUmVmQmFja3VwID0gdXNlUmVmKClcbiAgICB0aGlzLndob2xlUmVmID0gdGhpcy5wcm9wcy53aG9sZVJlZiB8fCB0aGlzLndob2xlUmVmQmFja3VwXG4gIH1cblxuICBnZXRJbnB1dFJlZiA9ICgpID0+IHRoaXMucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5pbnB1dFJlZlxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgY2xhc3NOYW1lLCBkaXNhYmxlZCwgbW9kZWwsIHNob3dDdXJyZW5jeU9wdGlvbnN9ID0gdGhpcy5wcm9wc1xuICAgIGxldCB7Y3VycmVuY2llc0NvbGxlY3Rpb259ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKCFjdXJyZW5jaWVzQ29sbGVjdGlvbikgY3VycmVuY2llc0NvbGxlY3Rpb24gPSBDb25maWcuZ2V0Q3VycmVuY2llc0NvbGxlY3Rpb24oKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXBpLW1ha2VyLWlucHV0cy1tb25leVwiIGRhdGEtYXR0cmlidXRlPXthdHRyaWJ1dGV9IGRhdGEtbW9kZWwtaWQ9e21vZGVsPy5pZCgpfT5cbiAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRDZW50c1ZhbHVlKCl9IGlkPXt0aGlzLmlucHV0Q2VudHNJZCgpfSBuYW1lPXt0aGlzLmlucHV0Q2VudHNOYW1lKCl9IHJlZj17dGhpcy5nZXRJbnB1dFJlZigpfSB0eXBlPVwiaGlkZGVuXCIgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibW9uZXktY2VudHNcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWUoKX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e3RoaXMuaW5wdXRJZCgpfVxuICAgICAgICAgIG9uQmx1cj17dGhpcy50dC5zZXRBbW91bnR9XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQuc2V0Q2VudHN9XG4gICAgICAgICAgb25LZXlVcD17dGhpcy50dC5zZXRDZW50c31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICByZWY9e3RoaXMudHQud2hvbGVSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0N1cnJlbmN5T3B0aW9ucyAmJlxuICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vbmV5LWN1cnJlbmN5XCJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGlkPXt0aGlzLmlucHV0Q3VycmVuY3lJZCgpfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5pbnB1dEN1cnJlbmN5TmFtZSgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DdXJyZW5jeUNoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3RoaXMudHQuY3VycmVuY3lSZWZ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiAvPlxuICAgICAgICAgICAge2N1cnJlbmNpZXNDb2xsZWN0aW9uLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtgc2VsZWN0LW9wdGlvbi0ke29wdGlvblsxXX1gfSB2YWx1ZT17b3B0aW9uWzFdfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5zbWFsbCAmJiBvcHRpb25bMV19XG4gICAgICAgICAgICAgICAgeyF0aGlzLnByb3BzLnNtYWxsICYmIG9wdGlvblswXX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeUlkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2N1cnJlbmN5YFxuXG4gIGlucHV0Q3VycmVuY3lOYW1lICgpIHtcbiAgICBpZiAoXCJjdXJyZW5jeU5hbWVcIiBpbiB0aGlzLnByb3BzKSByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW5jeU5hbWVcblxuICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1fY3VycmVuY3ldYFxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeVZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5jdXJyZW5jeUZyb21Nb25leShkZWZhdWx0VmFsdWUpLmNvZGVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiREtLXCJcbiAgICB9XG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KHthbW91bnQ6IGRlZmF1bHRWYWx1ZS5hbW91bnQsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIlwiXG4gICAgfVxuICB9XG5cbiAgaW5wdXREZWZhdWx0Q2VudHNWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAodGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiBkaWdnKHRoaXMuZ2V0SW5wdXRSZWYoKSwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmFtb3VudEZyb21Nb25leShkZWZhdWx0VmFsdWUpXG4gICAgfVxuICB9XG5cbiAgaW5wdXRDZW50c0lkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2NlbnRzYFxuXG4gIGlucHV0Q2VudHNOYW1lICgpIHtcbiAgICBpZiAoXCJuYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMubmFtZVxuXG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV9jZW50c11gXG4gIH1cblxuICBpbnB1dElkID0gKCkgPT4gaWRGb3JDb21wb25lbnQodGhpcylcblxuICBvbkN1cnJlbmN5Q2hhbmdlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cblxuICBzZXRBbW91bnQgPSAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGlmICghaW5wdXRFbGVtZW50KSByZXR1cm5cblxuICAgIGlmICghaW5wdXRFbGVtZW50LnZhbHVlICYmIGlucHV0RWxlbWVudC52YWx1ZSA9PSBcIlwiKSB7XG4gICAgICB0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUgPSBcIlwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNlbnRzID0gcGFyc2VGbG9hdChpbnB1dEVsZW1lbnQudmFsdWUpXG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBNb25leUZvcm1hdHRlci5mcm9tTW9uZXkoe2Ftb3VudDogY2VudHMsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG5cbiAgICAgIHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSA9IGZvcm1hdHRlZFxuICAgIH1cbiAgfVxuXG4gIHNldENlbnRzID0gKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBpZiAoIWlucHV0RWxlbWVudCkgcmV0dXJuXG5cbiAgICBsZXQgd2hvbGUgPSBNb25leUZvcm1hdHRlci5zdHJpbmdUb0Zsb2F0KHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSlcbiAgICBsZXQgY2VudHMgPSBwYXJzZUludCh3aG9sZSAqIDEwMCwgMTApXG4gICAgbGV0IG9sZENlbnRzID0gcGFyc2VJbnQoaW5wdXRFbGVtZW50LnZhbHVlLCAxMClcblxuICAgIGlmICh0eXBlb2YgY2VudHMgPT0gXCJudW1iZXJcIikge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gY2VudHNcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gXCJcIlxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlICYmIG9sZENlbnRzICE9IGNlbnRzKSB0aGlzLnByb3BzLm9uQ2hhbmdlKClcbiAgfVxufSkpXG4iXX0=
|