@kaspernj/api-maker 1.0.2056 → 1.0.2057

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/build/api.js +22 -16
  2. package/build/attribute-not-loaded-error.js +5 -2
  3. package/build/base-component.js +6 -3
  4. package/build/base-error.js +15 -9
  5. package/build/base-model/attribute.js +10 -4
  6. package/build/base-model/column.js +5 -2
  7. package/build/base-model/reflection.js +49 -10
  8. package/build/base-model/scope.js +41 -5
  9. package/build/base-model.js +115 -76
  10. package/build/bootstrap/attribute-row.js +71 -33
  11. package/build/bootstrap/attribute-rows.js +20 -15
  12. package/build/bootstrap/card.js +72 -34
  13. package/build/bootstrap/checkbox.js +35 -30
  14. package/build/bootstrap/checkboxes.js +69 -31
  15. package/build/bootstrap/index.d.ts +1 -0
  16. package/build/bootstrap/index.js +2 -0
  17. package/build/bootstrap/input.js +48 -43
  18. package/build/bootstrap/invalid-feedback.js +17 -11
  19. package/build/bootstrap/paginate.js +73 -35
  20. package/build/bootstrap/radio-buttons.js +33 -28
  21. package/build/bootstrap/select.js +34 -29
  22. package/build/bootstrap/sort-link.js +68 -30
  23. package/build/cable-connection-pool.js +18 -12
  24. package/build/cable-subscription-pool.js +58 -19
  25. package/build/cable-subscription.d.ts +2 -2
  26. package/build/cable-subscription.d.ts.map +1 -1
  27. package/build/cable-subscription.js +12 -6
  28. package/build/cache-key-generator.js +11 -5
  29. package/build/can-can.d.ts +2 -2
  30. package/build/can-can.d.ts.map +1 -1
  31. package/build/can-can.js +56 -17
  32. package/build/channels-consumer.js +10 -5
  33. package/build/collection-loader.js +36 -31
  34. package/build/collection.js +58 -19
  35. package/build/command-submit-data.d.ts +1 -1
  36. package/build/command-submit-data.d.ts.map +1 -1
  37. package/build/command-submit-data.js +10 -4
  38. package/build/commands-pool.js +39 -33
  39. package/build/compose.js +5 -2
  40. package/build/config.d.ts +3 -3
  41. package/build/config.d.ts.map +1 -1
  42. package/build/config.js +40 -6
  43. package/build/custom-error.js +9 -4
  44. package/build/data-set-to-attributes.js +39 -3
  45. package/build/deserializer.js +57 -18
  46. package/build/destroy-error.js +9 -4
  47. package/build/devise.d.ts +1 -1
  48. package/build/devise.d.ts.map +1 -1
  49. package/build/devise.js +55 -16
  50. package/build/draggable-sort/controller.js +14 -11
  51. package/build/draggable-sort/index.js +69 -31
  52. package/build/draggable-sort/item.js +70 -32
  53. package/build/error-logger.js +14 -8
  54. package/build/error-messages.js +8 -5
  55. package/build/event-connection.js +18 -12
  56. package/build/event-emitter-listener.js +9 -4
  57. package/build/event-model-class.js +17 -11
  58. package/build/events.d.ts +2 -2
  59. package/build/events.d.ts.map +1 -1
  60. package/build/events.js +6 -5
  61. package/build/form.js +69 -27
  62. package/build/history-expo.js +11 -6
  63. package/build/history-react-native.js +14 -9
  64. package/build/history.js +5 -3
  65. package/build/index.js +5 -2
  66. package/build/inputs/attachment.js +29 -24
  67. package/build/inputs/auto-submit.js +42 -6
  68. package/build/inputs/checkbox.js +73 -35
  69. package/build/inputs/checkboxes.js +68 -30
  70. package/build/inputs/id-for-component.js +39 -3
  71. package/build/inputs/input-wrapper.js +12 -7
  72. package/build/inputs/input.js +101 -62
  73. package/build/inputs/money.js +85 -47
  74. package/build/inputs/name-for-component.js +39 -3
  75. package/build/inputs/select.js +32 -26
  76. package/build/instance-of-class-name.js +7 -5
  77. package/build/is-expo.js +8 -6
  78. package/build/key-value-store.js +10 -4
  79. package/build/link.js +21 -16
  80. package/build/logger.js +5 -2
  81. package/build/merge-styles.js +7 -4
  82. package/build/modal.js +15 -10
  83. package/build/model-class-require.js +39 -4
  84. package/build/model-events.js +20 -14
  85. package/build/model-name.js +44 -5
  86. package/build/model-prop-type.js +15 -9
  87. package/build/model-recipes-loader.js +14 -8
  88. package/build/model-recipes-model-loader.d.ts +1 -1
  89. package/build/model-recipes-model-loader.js +57 -18
  90. package/build/models-response-reader.js +46 -7
  91. package/build/models.js +10 -5
  92. package/build/money-formatter.d.ts +2 -2
  93. package/build/money-formatter.d.ts.map +1 -1
  94. package/build/money-formatter.js +19 -13
  95. package/build/not-loaded-error.js +5 -2
  96. package/build/params.js +19 -13
  97. package/build/preloaded.js +44 -5
  98. package/build/resize-observer.js +11 -6
  99. package/build/rest-props-validator.js +4 -2
  100. package/build/result.js +5 -2
  101. package/build/router/route.js +82 -40
  102. package/build/router/switch.js +56 -17
  103. package/build/router.js +59 -21
  104. package/build/routes-native.js +54 -15
  105. package/build/routes.js +49 -13
  106. package/build/run-last.js +5 -2
  107. package/build/serializer.js +8 -5
  108. package/build/services.js +10 -4
  109. package/build/session-status-updater.js +53 -14
  110. package/build/source-maps-loader.js +50 -11
  111. package/build/super-admin/config-reader.d.ts +2 -2
  112. package/build/super-admin/config-reader.js +45 -9
  113. package/build/super-admin/edit-page/edit-attribute-checkbox.js +61 -23
  114. package/build/super-admin/edit-page/edit-attribute-content.js +21 -16
  115. package/build/super-admin/edit-page/edit-attribute-input.js +59 -21
  116. package/build/super-admin/edit-page/edit-attribute.js +65 -27
  117. package/build/super-admin/edit-page.js +72 -34
  118. package/build/super-admin/has-edit-config.js +9 -4
  119. package/build/super-admin/index-page.js +17 -12
  120. package/build/super-admin/index.js +84 -46
  121. package/build/super-admin/layout/header/index.js +63 -25
  122. package/build/super-admin/layout/index.js +78 -40
  123. package/build/super-admin/layout/menu/index.js +47 -42
  124. package/build/super-admin/layout/menu/menu-content.js +60 -22
  125. package/build/super-admin/layout/menu/menu-item.js +23 -18
  126. package/build/super-admin/layout/no-access.js +20 -15
  127. package/build/super-admin/model-class-table.js +64 -26
  128. package/build/super-admin/models.js +38 -3
  129. package/build/super-admin/show-nav.js +61 -23
  130. package/build/super-admin/show-page/belongs-to-attribute-row.js +52 -14
  131. package/build/super-admin/show-page/index.js +63 -25
  132. package/build/super-admin/show-reflection-actions.js +62 -24
  133. package/build/super-admin/show-reflection-link.js +19 -14
  134. package/build/super-admin/show-reflection-page.js +63 -25
  135. package/build/table/column-content.js +54 -15
  136. package/build/table/column-identifier.js +5 -2
  137. package/build/table/column-visible.js +5 -2
  138. package/build/table/components/column.js +14 -9
  139. package/build/table/components/flat-list.js +14 -9
  140. package/build/table/components/header.js +16 -11
  141. package/build/table/components/row.js +16 -11
  142. package/build/table/filters/attribute-element.js +26 -21
  143. package/build/table/filters/filter-form.js +109 -71
  144. package/build/table/filters/filter.js +29 -24
  145. package/build/table/filters/index.js +43 -38
  146. package/build/table/filters/load-search-modal.js +64 -26
  147. package/build/table/filters/reflection-element.js +22 -17
  148. package/build/table/filters/save-search-modal.js +27 -22
  149. package/build/table/filters/scope-element.js +19 -14
  150. package/build/table/header-column-content.js +27 -22
  151. package/build/table/header-column.js +71 -33
  152. package/build/table/header-select.js +29 -24
  153. package/build/table/model-callback-args.js +39 -3
  154. package/build/table/model-column.js +75 -37
  155. package/build/table/model-row.js +79 -41
  156. package/build/table/select-calculator.js +52 -13
  157. package/build/table/settings/column-row.js +57 -19
  158. package/build/table/settings/download-action.js +31 -26
  159. package/build/table/settings/index.js +61 -23
  160. package/build/table/table-settings.js +70 -31
  161. package/build/table/table.js +196 -158
  162. package/build/table/use-sorting.js +12 -6
  163. package/build/table/widths.js +12 -9
  164. package/build/table/worker-plugins-check-all-checkbox.js +64 -26
  165. package/build/table/worker-plugins-checkbox.js +61 -23
  166. package/build/translated-attributes.js +5 -2
  167. package/build/translated-collections.js +14 -8
  168. package/build/updated-attribute.js +21 -15
  169. package/build/url-encode.js +10 -4
  170. package/build/use-breakpoint.js +58 -20
  171. package/build/use-can-can.js +21 -15
  172. package/build/use-collection.js +70 -32
  173. package/build/use-created-event.js +27 -22
  174. package/build/use-current-user-context.js +74 -36
  175. package/build/use-current-user.d.ts +2 -2
  176. package/build/use-current-user.d.ts.map +1 -1
  177. package/build/use-current-user.js +17 -11
  178. package/build/use-destroyed-event.js +18 -13
  179. package/build/use-event-emitter.js +13 -7
  180. package/build/use-event-listener.js +12 -7
  181. package/build/use-input.js +33 -28
  182. package/build/use-model-event.js +18 -13
  183. package/build/use-model.js +65 -27
  184. package/build/use-resize-observer.js +13 -8
  185. package/build/use-router.js +62 -24
  186. package/build/use-screen-layout.js +7 -5
  187. package/build/use-styles.js +52 -13
  188. package/build/use-updated-event.js +18 -13
  189. package/build/use-validation-errors.js +14 -9
  190. package/build/utils/button.js +33 -28
  191. package/build/utils/card.js +61 -23
  192. package/build/utils/checkbox.js +60 -22
  193. package/build/utils/checkboxes.js +78 -40
  194. package/build/utils/default-style.js +56 -15
  195. package/build/utils/header.js +12 -7
  196. package/build/utils/icon.js +61 -23
  197. package/build/utils/invalid-feedback.js +17 -12
  198. package/build/utils/modal.js +55 -17
  199. package/build/utils/text.js +14 -9
  200. package/build/validation-error.js +45 -6
  201. package/build/validation-errors.js +59 -19
  202. package/build/with-api-maker.js +52 -12
  203. package/build/with-collection.js +50 -12
  204. package/build/with-current-user.js +12 -7
  205. package/build/with-model.js +14 -9
  206. package/build/with-router.js +12 -7
  207. package/package.json +2 -1
  208. package/build/source-maps-loader.d.ts +0 -37
  209. package/build/source-maps-loader.d.ts.map +0 -1
@@ -1,39 +1,77 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Animated, View } from "react-native";
3
- import React, { useMemo } from "react";
4
- import BaseComponent from "../base-component.js";
5
- import classNames from "classnames";
6
- import Column from "./components/column";
7
- import ColumnContent from "./column-content";
8
- import columnIdentifier from "./column-identifier.js";
9
- import EventEmitter from "events";
10
- import PropTypes from "prop-types";
11
- import propTypesExact from "prop-types-exact";
12
- import memo from "set-state-compare/build/memo.js";
13
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
14
- import Text from "../utils/text";
15
- import useBreakpoint from "../use-breakpoint.js";
16
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
17
- export default memo(shapeComponent(class ApiMakerTableModelColumn extends BaseComponent {
18
- static propTypes = propTypesExact({
19
- animatedPosition: PropTypes.instanceOf(Animated.ValueXY).isRequired,
20
- animatedWidth: PropTypes.instanceOf(Animated.Value).isRequired,
21
- animatedZIndex: PropTypes.instanceOf(Animated.Value).isRequired,
22
- column: PropTypes.object.isRequired,
23
- columnIndex: PropTypes.number.isRequired,
24
- even: PropTypes.bool.isRequired,
25
- events: PropTypes.instanceOf(EventEmitter).isRequired,
26
- model: PropTypes.object.isRequired,
27
- table: PropTypes.object.isRequired,
28
- tableSettingColumn: PropTypes.object.isRequired
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_native_1 = require("react-native");
41
+ const react_1 = __importStar(require("react"));
42
+ const base_component_js_1 = __importDefault(require("../base-component.js"));
43
+ const classnames_1 = __importDefault(require("classnames"));
44
+ const column_1 = __importDefault(require("./components/column"));
45
+ const column_content_1 = __importDefault(require("./column-content"));
46
+ const column_identifier_js_1 = __importDefault(require("./column-identifier.js"));
47
+ const eventemitter3_1 = require("eventemitter3");
48
+ const prop_types_1 = __importDefault(require("prop-types"));
49
+ const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
50
+ const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
51
+ const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
52
+ const text_1 = __importDefault(require("../utils/text"));
53
+ const use_breakpoint_js_1 = __importDefault(require("../use-breakpoint.js"));
54
+ const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
55
+ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerTableModelColumn extends base_component_js_1.default {
56
+ static propTypes = (0, prop_types_exact_1.default)({
57
+ animatedPosition: prop_types_1.default.instanceOf(react_native_1.Animated.ValueXY).isRequired,
58
+ animatedWidth: prop_types_1.default.instanceOf(react_native_1.Animated.Value).isRequired,
59
+ animatedZIndex: prop_types_1.default.instanceOf(react_native_1.Animated.Value).isRequired,
60
+ column: prop_types_1.default.object.isRequired,
61
+ columnIndex: prop_types_1.default.number.isRequired,
62
+ even: prop_types_1.default.bool.isRequired,
63
+ events: prop_types_1.default.instanceOf(eventemitter3_1.EventEmitter).isRequired,
64
+ model: prop_types_1.default.object.isRequired,
65
+ table: prop_types_1.default.object.isRequired,
66
+ tableSettingColumn: prop_types_1.default.object.isRequired
29
67
  });
30
68
  render() {
31
- const { l, t } = useI18n({ namespace: "js.api_maker.table.model_column" });
32
- const { mdUp } = useBreakpoint();
69
+ const { l, t } = (0, use_i18n_mjs_1.default)({ namespace: "js.api_maker.table.model_column" });
70
+ const { mdUp } = (0, use_breakpoint_js_1.default)();
33
71
  const { animatedWidth, animatedZIndex, column, columnIndex, even, model, table } = this.props;
34
72
  const columnProps = table.columnProps(column);
35
73
  const { style, ...restColumnProps } = columnProps;
36
- const actualStyle = useMemo(() => Object.assign(table.styleForColumn({
74
+ const actualStyle = (0, react_1.useMemo)(() => Object.assign(table.styleForColumn({
37
75
  column,
38
76
  columnIndex,
39
77
  even,
@@ -43,11 +81,11 @@ export default memo(shapeComponent(class ApiMakerTableModelColumn extends BaseCo
43
81
  width: mdUp ? animatedWidth : "100%"
44
82
  }
45
83
  }), style), [column, columnIndex, even, animatedZIndex, mdUp, animatedWidth, style]);
46
- const className = classNames(this.columnClassNamesForColumn(column));
47
- const identifier = columnIdentifier(column);
48
- const dataSet = useMemo(() => ({ class: className, identifier }), [className]);
49
- return (_jsxs(Column, { dataSet: dataSet, style: actualStyle, ...restColumnProps, children: [!mdUp &&
50
- _jsx(View, { dataSet: this.columnLabelDataSet ||= { class: "table--column-label" }, children: _jsx(Text, { style: this.columnLabelTextStyle ||= { fontWeight: "bold" }, children: table.headerLabelForColumn(column) }) }), _jsx(View, { dataSet: this.columnValueDataSet ||= { class: "table--column-value" }, children: new ColumnContent({ column, l, model, t, table }).content() })] }));
84
+ const className = (0, classnames_1.default)(this.columnClassNamesForColumn(column));
85
+ const identifier = (0, column_identifier_js_1.default)(column);
86
+ const dataSet = (0, react_1.useMemo)(() => ({ class: className, identifier }), [className]);
87
+ return ((0, jsx_runtime_1.jsxs)(column_1.default, { dataSet: dataSet, style: actualStyle, ...restColumnProps, children: [!mdUp &&
88
+ (0, jsx_runtime_1.jsx)(react_native_1.View, { dataSet: this.columnLabelDataSet ||= { class: "table--column-label" }, children: (0, jsx_runtime_1.jsx)(text_1.default, { style: this.columnLabelTextStyle ||= { fontWeight: "bold" }, children: table.headerLabelForColumn(column) }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { dataSet: this.columnValueDataSet ||= { class: "table--column-value" }, children: new column_content_1.default({ column, l, model, t, table }).content() })] }));
51
89
  }
52
90
  columnClassNamesForColumn(column) {
53
91
  const classNames = ["table--column"];
@@ -58,4 +96,4 @@ export default memo(shapeComponent(class ApiMakerTableModelColumn extends BaseCo
58
96
  return classNames;
59
97
  }
60
98
  }));
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29sdW1uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9tb2RlbC1jb2x1bW4uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxNQUFNLE1BQU0scUJBQXFCLENBQUE7QUFDeEMsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDNUMsT0FBTyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUNyRCxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUE7QUFDakMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxPQUFPLE1BQU0sbUNBQW1DLENBQUE7QUFFdkQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sd0JBQXlCLFNBQVEsYUFBYTtJQUNyRixNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVO1FBQ25FLGFBQWEsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVO1FBQzlELGNBQWMsRUFBRSxTQUFTLENB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QUFFLENBQUMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUNyRCxJQUNBLENBQ1YsQ0FBQTtJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxNQUFNO1FBQzlCLE1BQU0sVUFBVSxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFFcEMsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUztZQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRXJHLE9BQU8sVUFBVSxDQUFBO0lBQ25CLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0ZWQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgQ29sdW1uIGZyb20gXCIuL2NvbXBvbmVudHMvY29sdW1uXCJcbmltcG9ydCBDb2x1bW5Db250ZW50IGZyb20gXCIuL2NvbHVtbi1jb250ZW50XCJcbmltcG9ydCBjb2x1bW5JZGVudGlmaWVyIGZyb20gXCIuL2NvbHVtbi1pZGVudGlmaWVyLmpzXCJcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlTW9kZWxDb2x1bW4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhbmltYXRlZFBvc2l0aW9uOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBbmltYXRlZC5WYWx1ZVhZKS5pc1JlcXVpcmVkLFxuICAgIGFuaW1hdGVkV2lkdGg6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFuaW1hdGVkLlZhbHVlKS5pc1JlcXVpcmVkLFxuICAgIGFuaW1hdGVkWkluZGV4OiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBbmltYXRlZC5WYWx1ZSkuaXNSZXF1aXJlZCxcbiAgICBjb2x1bW46IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb2x1bW5JbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIGV2ZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZXZlbnRzOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFdmVudEVtaXR0ZXIpLmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICB0YWJsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHRhYmxlU2V0dGluZ0NvbHVtbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUubW9kZWxfY29sdW1uXCJ9KVxuICAgIGNvbnN0IHttZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHthbmltYXRlZFdpZHRoLCBhbmltYXRlZFpJbmRleCwgY29sdW1uLCBjb2x1bW5JbmRleCwgZXZlbiwgbW9kZWwsIHRhYmxlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBjb2x1bW5Qcm9wcyA9IHRhYmxlLmNvbHVtblByb3BzKGNvbHVtbilcbiAgICBjb25zdCB7c3R5bGUsIC4uLnJlc3RDb2x1bW5Qcm9wc30gPSBjb2x1bW5Qcm9wc1xuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gdXNlTWVtbygoKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgdGFibGUuc3R5bGVGb3JDb2x1bW4oe1xuICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICBjb2x1bW5JbmRleCxcbiAgICAgICAgICBldmVuLFxuICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICB6SW5kZXg6IGFuaW1hdGVkWkluZGV4LFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0aGlzLnAuYW5pbWF0ZWRQb3NpdGlvbi5nZXRUcmFuc2xhdGVUcmFuc2Zvcm0oKSxcbiAgICAgICAgICAgIHdpZHRoOiBtZFVwID8gYW5pbWF0ZWRXaWR0aCA6IFwiMTAwJVwiXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgc3R5bGVcbiAgICAgICksXG4gICAgICBbY29sdW1uLCBjb2x1bW5JbmRleCwgZXZlbiwgYW5pbWF0ZWRaSW5kZXgsIG1kVXAsIGFuaW1hdGVkV2lkdGgsIHN0eWxlXVxuICAgIClcblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNsYXNzTmFtZXModGhpcy5jb2x1bW5DbGFzc05hbWVzRm9yQ29sdW1uKGNvbHVtbikpXG4gICAgY29uc3QgaWRlbnRpZmllciA9IGNvbHVtbklkZW50aWZpZXIoY29sdW1uKVxuICAgIGNvbnN0IGRhdGFTZXQgPSB1c2VNZW1vKCgpID0+ICh7Y2xhc3M6IGNsYXNzTmFtZSwgaWRlbnRpZmllcn0pLCBbY2xhc3NOYW1lXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Q29sdW1uXG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXR9XG4gICAgICAgIHN0eWxlPXthY3R1YWxTdHlsZX1cbiAgICAgICAgey4uLnJlc3RDb2x1bW5Qcm9wc31cbiAgICAgID5cbiAgICAgICAgeyFtZFVwICYmXG4gICAgICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jb2x1bW5MYWJlbERhdGFTZXQgfHw9IHtjbGFzczogXCJ0YWJsZS0tY29sdW1uLWxhYmVsXCJ9fT5cbiAgICAgICAgICAgIDxUZXh0IHN0eWxlPXt0aGlzLmNvbHVtbkxhYmVsVGV4dFN0eWxlIHx8PSB7Zm9udFdlaWdodDogXCJib2xkXCJ9fT5cbiAgICAgICAgICAgICAge3RhYmxlLmhlYWRlckxhYmVsRm9yQ29sdW1uKGNvbHVtbil9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICB9XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY29sdW1uVmFsdWVEYXRhU2V0IHx8PSB7Y2xhc3M6IFwidGFibGUtLWNvbHVtbi12YWx1ZVwifX0+XG4gICAgICAgICAge25ldyBDb2x1bW5Db250ZW50KHtjb2x1bW4sIGwsIG1vZGVsLCB0LCB0YWJsZX0pLmNvbnRlbnQoKX1cbiAgICAgICAgPC9WaWV3PlxuICAgICAgPC9Db2x1bW4+XG4gICAgKVxuICB9XG5cbiAgY29sdW1uQ2xhc3NOYW1lc0ZvckNvbHVtbihjb2x1bW4pIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1widGFibGUtLWNvbHVtblwiXVxuXG4gICAgaWYgKGNvbHVtbi5jb21tb25Qcm9wcyAmJiBjb2x1bW4uY29tbW9uUHJvcHMuY2xhc3NOYW1lKSBjbGFzc05hbWVzLnB1c2goY29sdW1uLmNvbW1vblByb3BzLmNsYXNzTmFtZSlcbiAgICBpZiAoY29sdW1uLmNvbHVtblByb3BzICYmIGNvbHVtbi5jb2x1bW5Qcm9wcy5jbGFzc05hbWUpIGNsYXNzTmFtZXMucHVzaChjb2x1bW4uY29sdW1uUHJvcHMuY2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXNcbiAgfVxufSkpXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29sdW1uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9tb2RlbC1jb2x1bW4uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUEyQztBQUMzQywrQ0FBb0M7QUFDcEMsNkVBQWdEO0FBQ2hELDREQUFtQztBQUNuQyxpRUFBd0M7QUFDeEMsc0VBQTRDO0FBQzVDLGtGQUFxRDtBQUNyRCxpREFBMEM7QUFDMUMsNERBQWtDO0FBQ2xDLHdFQUE2QztBQUM3Qyw4RUFBa0Q7QUFDbEQsbUZBQXlFO0FBQ3pFLHlEQUFnQztBQUNoQyw2RUFBZ0Q7QUFDaEQscUZBQXVEO0FBRXZELGtCQUFlLElBQUEsaUJBQUksRUFBQyxJQUFBLG1DQUFjLEVBQUMsTUFBTSx3QkFBeUIsU0FBUSwyQkFBYTtJQUNyRixNQUFNLENBQUMsU0FBUyxHQUFHLElBQUEsMEJBQWMsRUFBQztRQUNoQyxnQkFBZ0IsRUFBRSxvQkFBUyxDQUFDLFVBQVUsQ0FBQyx1QkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVU7UUFDbkUsYUFBYSxFQUFFLG9CQUFTLENBQUMsVUFBVSxDQUFDLHVCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVTtRQUM5RCxjQUFjLEVBQUUsb0JBQVMsQ0FBQyxVQUFVLENBQUMsdUJBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVO1FBQy9ELE1BQU0sRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ25DLFdBQVcsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ3hDLElBQUksRUFBRSxvQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQy9CLE1BQU0sRUFBRSxvQkFBUyxDQUFDLFVBQVUsQ0FBQyw0QkFBWSxDQUFDLENBQUMsVUFBVTtRQUNyRCxLQUFLLEVBQUUsb0JBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNsQyxLQUFLLEVBQUUsb0JBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNsQyxrQkFBa0IsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ2hELENBQUMsQ0FBQTtJQUVGLE1BQU07UUFDSixNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxHQUFHLElBQUEsc0JBQU8sRUFBQyxFQUFDLFNBQVMsRUFBRSxpQ0FBaUMsRUFBQyxDQUFDLENBQUE7UUFDdEUsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLElBQUEsMkJBQWEsR0FBRSxDQUFBO1FBQzlCLE1BQU0sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNGLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDN0MsTUFBTSxFQUFDLEtBQUssRUFBRSxHQUFHLGVBQWUsRUFBQyxHQUFHLFdBQVcsQ0FBQTtRQUMvQyxNQUFNLFdBQVcsR0FBRyxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUUsQ0FDL0IsTUFBTSxDQUFDLE1BQU0sQ0FDWCxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQ25CLE1BQU07WUFDTixXQUFXO1lBQ1gsSUFBSTtZQUNKLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsY0FBYztnQkFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUU7Z0JBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTTthQUNyQztTQUNGLENBQUMsRUFDRixLQUFLLENBQ04sRUFDRCxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUN4RSxDQUFBO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxvQkFBVSxFQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLElBQUEsOEJBQWdCLEVBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBQSxlQUFPLEVBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFFNUUsT0FBTyxDQUNMLHdCQUFDLGdCQUFNLElBQ0wsT0FBTyxFQUFFLE9BQU8sRUFDaEIsS0FBSyxFQUFFLFdBQVcsS0FDZCxlQUFlLGFBRWxCLENBQUMsSUFBSTtvQkFDSix1QkFBQyxtQkFBSSxJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLEtBQUssRUFBQyxLQUFLLEVBQUUscUJBQXFCLEVBQUMsWUFDdkUsdUJBQUMsY0FBSSxJQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLEtBQUssRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLFlBQzVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsR0FDOUIsR0FDRixFQUVULHVCQUFDLG1CQUFJLElBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxFQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBQyxZQUN0RSxJQUFJLHdCQUFhLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FDckQsSUFDQSxDQUNWLENBQUE7SUFDSCxDQUFDO0lBRUQseUJBQXlCLENBQUMsTUFBTTtRQUM5QixNQUFNLFVBQVUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRXBDLElBQUksTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckcsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUztZQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVyRyxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGVkLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbHVtbiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbHVtblwiXG5pbXBvcnQgQ29sdW1uQ29udGVudCBmcm9tIFwiLi9jb2x1bW4tY29udGVudFwiXG5pbXBvcnQgY29sdW1uSWRlbnRpZmllciBmcm9tIFwiLi9jb2x1bW4taWRlbnRpZmllci5qc1wiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50ZW1pdHRlcjNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlQnJlYWtwb2ludCBmcm9tIFwiLi4vdXNlLWJyZWFrcG9pbnQuanNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZU1vZGVsQ29sdW1uIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYW5pbWF0ZWRQb3NpdGlvbjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQW5pbWF0ZWQuVmFsdWVYWSkuaXNSZXF1aXJlZCxcbiAgICBhbmltYXRlZFdpZHRoOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBbmltYXRlZC5WYWx1ZSkuaXNSZXF1aXJlZCxcbiAgICBhbmltYXRlZFpJbmRleDogUHJvcFR5cGVzLmluc3RhbmNlT2YoQW5pbWF0ZWQuVmFsdWUpLmlzUmVxdWlyZWQsXG4gICAgY29sdW1uOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgY29sdW1uSW5kZXg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBldmVuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGV2ZW50czogUHJvcFR5cGVzLmluc3RhbmNlT2YoRXZlbnRFbWl0dGVyKS5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgdGFibGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICB0YWJsZVNldHRpbmdDb2x1bW46IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bCwgdH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLm1vZGVsX2NvbHVtblwifSlcbiAgICBjb25zdCB7bWRVcH0gPSB1c2VCcmVha3BvaW50KClcbiAgICBjb25zdCB7YW5pbWF0ZWRXaWR0aCwgYW5pbWF0ZWRaSW5kZXgsIGNvbHVtbiwgY29sdW1uSW5kZXgsIGV2ZW4sIG1vZGVsLCB0YWJsZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY29sdW1uUHJvcHMgPSB0YWJsZS5jb2x1bW5Qcm9wcyhjb2x1bW4pXG4gICAgY29uc3Qge3N0eWxlLCAuLi5yZXN0Q29sdW1uUHJvcHN9ID0gY29sdW1uUHJvcHNcbiAgICBjb25zdCBhY3R1YWxTdHlsZSA9IHVzZU1lbW8oKCkgPT5cbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHRhYmxlLnN0eWxlRm9yQ29sdW1uKHtcbiAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgY29sdW1uSW5kZXgsXG4gICAgICAgICAgZXZlbixcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgekluZGV4OiBhbmltYXRlZFpJbmRleCxcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdGhpcy5wLmFuaW1hdGVkUG9zaXRpb24uZ2V0VHJhbnNsYXRlVHJhbnNmb3JtKCksXG4gICAgICAgICAgICB3aWR0aDogbWRVcCA/IGFuaW1hdGVkV2lkdGggOiBcIjEwMCVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHN0eWxlXG4gICAgICApLFxuICAgICAgW2NvbHVtbiwgY29sdW1uSW5kZXgsIGV2ZW4sIGFuaW1hdGVkWkluZGV4LCBtZFVwLCBhbmltYXRlZFdpZHRoLCBzdHlsZV1cbiAgICApXG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc05hbWVzKHRoaXMuY29sdW1uQ2xhc3NOYW1lc0ZvckNvbHVtbihjb2x1bW4pKVxuICAgIGNvbnN0IGlkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyKGNvbHVtbilcbiAgICBjb25zdCBkYXRhU2V0ID0gdXNlTWVtbygoKSA9PiAoe2NsYXNzOiBjbGFzc05hbWUsIGlkZW50aWZpZXJ9KSwgW2NsYXNzTmFtZV0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbHVtblxuICAgICAgICBkYXRhU2V0PXtkYXRhU2V0fVxuICAgICAgICBzdHlsZT17YWN0dWFsU3R5bGV9XG4gICAgICAgIHsuLi5yZXN0Q29sdW1uUHJvcHN9XG4gICAgICA+XG4gICAgICAgIHshbWRVcCAmJlxuICAgICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY29sdW1uTGFiZWxEYXRhU2V0IHx8PSB7Y2xhc3M6IFwidGFibGUtLWNvbHVtbi1sYWJlbFwifX0+XG4gICAgICAgICAgICA8VGV4dCBzdHlsZT17dGhpcy5jb2x1bW5MYWJlbFRleHRTdHlsZSB8fD0ge2ZvbnRXZWlnaHQ6IFwiYm9sZFwifX0+XG4gICAgICAgICAgICAgIHt0YWJsZS5oZWFkZXJMYWJlbEZvckNvbHVtbihjb2x1bW4pfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICA8VmlldyBkYXRhU2V0PXt0aGlzLmNvbHVtblZhbHVlRGF0YVNldCB8fD0ge2NsYXNzOiBcInRhYmxlLS1jb2x1bW4tdmFsdWVcIn19PlxuICAgICAgICAgIHtuZXcgQ29sdW1uQ29udGVudCh7Y29sdW1uLCBsLCBtb2RlbCwgdCwgdGFibGV9KS5jb250ZW50KCl9XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvQ29sdW1uPlxuICAgIClcbiAgfVxuXG4gIGNvbHVtbkNsYXNzTmFtZXNGb3JDb2x1bW4oY29sdW1uKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtcInRhYmxlLS1jb2x1bW5cIl1cblxuICAgIGlmIChjb2x1bW4uY29tbW9uUHJvcHMgJiYgY29sdW1uLmNvbW1vblByb3BzLmNsYXNzTmFtZSkgY2xhc3NOYW1lcy5wdXNoKGNvbHVtbi5jb21tb25Qcm9wcy5jbGFzc05hbWUpXG4gICAgaWYgKGNvbHVtbi5jb2x1bW5Qcm9wcyAmJiBjb2x1bW4uY29sdW1uUHJvcHMuY2xhc3NOYW1lKSBjbGFzc05hbWVzLnB1c2goY29sdW1uLmNvbHVtblByb3BzLmNsYXNzTmFtZSlcblxuICAgIHJldHVybiBjbGFzc05hbWVzXG4gIH1cbn0pKVxuIl19
@@ -1,36 +1,74 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Pressable } from "react-native";
3
- import BaseComponent from "../base-component.js";
4
- import Column from "./components/column";
5
- import columnIdentifier from "./column-identifier.js";
6
- import EventEmitter from "events";
7
- import { FlashNotifications } from "flash-notifications";
8
- import Icon from "../utils/icon";
9
- import * as inflection from "inflection";
10
- import modelCallbackArgs from "./model-callback-args.js";
11
- import Link from "../link";
12
- import ModelColumn from "./model-column";
13
- import PropTypes from "prop-types";
14
- import propTypesExact from "prop-types-exact";
15
- import React from "react";
16
- import Row from "./components/row";
17
- import memo from "set-state-compare/build/memo.js";
18
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
19
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
20
- import WorkerPluginsCheckbox from "./worker-plugins-checkbox";
21
- export default memo(shapeComponent(class ApiMakerBootStrapLiveTableModelRow extends BaseComponent {
22
- static propTypes = propTypesExact({
23
- cacheKey: PropTypes.string.isRequired,
24
- columns: PropTypes.array,
25
- columnWidths: PropTypes.object.isRequired,
26
- events: PropTypes.instanceOf(EventEmitter).isRequired,
27
- index: PropTypes.number.isRequired,
28
- model: PropTypes.object.isRequired,
29
- table: PropTypes.object.isRequired,
30
- tableSettingFullCacheKey: PropTypes.string.isRequired
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_native_1 = require("react-native");
41
+ const base_component_js_1 = __importDefault(require("../base-component.js"));
42
+ const column_1 = __importDefault(require("./components/column"));
43
+ const column_identifier_js_1 = __importDefault(require("./column-identifier.js"));
44
+ const eventemitter3_1 = require("eventemitter3");
45
+ const flash_notifications_1 = require("flash-notifications");
46
+ const icon_1 = __importDefault(require("../utils/icon"));
47
+ const inflection = __importStar(require("inflection"));
48
+ const model_callback_args_js_1 = __importDefault(require("./model-callback-args.js"));
49
+ const link_1 = __importDefault(require("../link"));
50
+ const model_column_1 = __importDefault(require("./model-column"));
51
+ const prop_types_1 = __importDefault(require("prop-types"));
52
+ const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
53
+ const react_1 = __importDefault(require("react"));
54
+ const row_1 = __importDefault(require("./components/row"));
55
+ const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
56
+ const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
57
+ const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
58
+ const worker_plugins_checkbox_1 = __importDefault(require("./worker-plugins-checkbox"));
59
+ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerBootStrapLiveTableModelRow extends base_component_js_1.default {
60
+ static propTypes = (0, prop_types_exact_1.default)({
61
+ cacheKey: prop_types_1.default.string.isRequired,
62
+ columns: prop_types_1.default.array,
63
+ columnWidths: prop_types_1.default.object.isRequired,
64
+ events: prop_types_1.default.instanceOf(eventemitter3_1.EventEmitter).isRequired,
65
+ index: prop_types_1.default.number.isRequired,
66
+ model: prop_types_1.default.object.isRequired,
67
+ table: prop_types_1.default.object.isRequired,
68
+ tableSettingFullCacheKey: prop_types_1.default.string.isRequired
31
69
  });
32
70
  setup() {
33
- const { t } = useI18n({ namespace: "js.api_maker.table.model_row" });
71
+ const { t } = (0, use_i18n_mjs_1.default)({ namespace: "js.api_maker.table.model_row" });
34
72
  this.t = t;
35
73
  }
36
74
  render() {
@@ -40,7 +78,7 @@ export default memo(shapeComponent(class ApiMakerBootStrapLiveTableModelRow exte
40
78
  const { columns, currentWorkplace } = table.state;
41
79
  const { styleForColumn, styleForRow } = table.tt;
42
80
  const even = index % 2 == 0;
43
- this.modelCallbackArgs = modelCallbackArgs(table, model); // 'model' can change so this needs to be re-cached for every render
81
+ this.modelCallbackArgs = (0, model_callback_args_js_1.default)(table, model); // 'model' can change so this needs to be re-cached for every render
44
82
  let editPath, viewPath;
45
83
  if (editModelPath && model.can("edit")) {
46
84
  editPath = editModelPath(this.modelCallbackArgs);
@@ -48,15 +86,15 @@ export default memo(shapeComponent(class ApiMakerBootStrapLiveTableModelRow exte
48
86
  if (viewModelPath && model.can("show")) {
49
87
  viewPath = viewModelPath(this.modelCallbackArgs);
50
88
  }
51
- return (_jsxs(Row, { dataSet: this.cache("rowDataSet", { class: `${inflection.dasherize(modelClass.modelClassData().paramKey)}-row`, modelId: model.id() }, [model.id(), modelClass.modelClassData().paramKey]), style: styleForRow({ even }), children: [workplace &&
52
- _jsx(Column, { dataSet: this.columnDataSet ||= { class: "workplace-column" }, style: styleForColumn({ even, style: { width: 41 } }), children: _jsx(WorkerPluginsCheckbox, { currentWorkplace: currentWorkplace, model: model, style: this.workerPluginsCheckboxStyle ||= { marginHorizontal: "auto" } }) }), columns && this.columnsContentFromColumns(model, even), _jsxs(Column, { dataSet: this.actionsColumnDataSet ||= { class: "actions-column" }, style: styleForColumn({ even, style: {}, type: "actions" }), children: [actionsContent && actionsContent(this.tt.modelCallbackArgs), viewPath &&
53
- _jsx(Link, { dataSet: this.viewButtonDataSet ||= { class: "view-button" }, style: this.searchLinkStyle ||= { marginLeft: 2, marginRight: 2 }, to: viewPath, children: _jsx(Icon, { name: "search", size: 18 }) }), editPath &&
54
- _jsx(Link, { dataSet: this.editButtonDataSet ||= { class: "edit-button" }, style: this.editButtonStyle ||= { marginLeft: 2, marginRight: 2 }, to: editPath, children: _jsx(Icon, { name: "pencil", size: 20 }) }), destroyEnabled && model.can("destroy") &&
55
- _jsx(Pressable, { dataSet: this.destroyButtonDataSet ||= { class: "destroy-button" }, style: this.destroyButtonStyle ||= { marginLeft: 2, marginRight: 2 }, onPress: this.tt.onDestroyClicked, children: _jsx(Icon, { name: "remove", size: 22 }) })] })] }));
89
+ return ((0, jsx_runtime_1.jsxs)(row_1.default, { dataSet: this.cache("rowDataSet", { class: `${inflection.dasherize(modelClass.modelClassData().paramKey)}-row`, modelId: model.id() }, [model.id(), modelClass.modelClassData().paramKey]), style: styleForRow({ even }), children: [workplace &&
90
+ (0, jsx_runtime_1.jsx)(column_1.default, { dataSet: this.columnDataSet ||= { class: "workplace-column" }, style: styleForColumn({ even, style: { width: 41 } }), children: (0, jsx_runtime_1.jsx)(worker_plugins_checkbox_1.default, { currentWorkplace: currentWorkplace, model: model, style: this.workerPluginsCheckboxStyle ||= { marginHorizontal: "auto" } }) }), columns && this.columnsContentFromColumns(model, even), (0, jsx_runtime_1.jsxs)(column_1.default, { dataSet: this.actionsColumnDataSet ||= { class: "actions-column" }, style: styleForColumn({ even, style: {}, type: "actions" }), children: [actionsContent && actionsContent(this.tt.modelCallbackArgs), viewPath &&
91
+ (0, jsx_runtime_1.jsx)(link_1.default, { dataSet: this.viewButtonDataSet ||= { class: "view-button" }, style: this.searchLinkStyle ||= { marginLeft: 2, marginRight: 2 }, to: viewPath, children: (0, jsx_runtime_1.jsx)(icon_1.default, { name: "search", size: 18 }) }), editPath &&
92
+ (0, jsx_runtime_1.jsx)(link_1.default, { dataSet: this.editButtonDataSet ||= { class: "edit-button" }, style: this.editButtonStyle ||= { marginLeft: 2, marginRight: 2 }, to: editPath, children: (0, jsx_runtime_1.jsx)(icon_1.default, { name: "pencil", size: 20 }) }), destroyEnabled && model.can("destroy") &&
93
+ (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { dataSet: this.destroyButtonDataSet ||= { class: "destroy-button" }, style: this.destroyButtonStyle ||= { marginLeft: 2, marginRight: 2 }, onPress: this.tt.onDestroyClicked, children: (0, jsx_runtime_1.jsx)(icon_1.default, { name: "remove", size: 22 }) })] })] }));
56
94
  }
57
95
  columnsContentFromColumns(model, even) {
58
96
  const { columns, events, table } = this.p;
59
- return columns?.map(({ animatedPosition, animatedWidth, animatedZIndex, column, tableSettingColumn }, columnIndex) => _jsx(ModelColumn, { animatedPosition: animatedPosition, animatedWidth: animatedWidth, animatedZIndex: animatedZIndex, column: column, columnIndex: columnIndex, even: even, events: events, model: model, table: table, tableSettingColumn: tableSettingColumn }, columnIdentifier(column)));
97
+ return columns?.map(({ animatedPosition, animatedWidth, animatedZIndex, column, tableSettingColumn }, columnIndex) => (0, jsx_runtime_1.jsx)(model_column_1.default, { animatedPosition: animatedPosition, animatedWidth: animatedWidth, animatedZIndex: animatedZIndex, column: column, columnIndex: columnIndex, even: even, events: events, model: model, table: table, tableSettingColumn: tableSettingColumn }, (0, column_identifier_js_1.default)(column)));
60
98
  }
61
99
  onDestroyClicked = async () => {
62
100
  const { t } = this.tt;
@@ -68,12 +106,12 @@ export default memo(shapeComponent(class ApiMakerBootStrapLiveTableModelRow exte
68
106
  try {
69
107
  await model.destroy();
70
108
  if (destroyMessage) {
71
- FlashNotifications.success(destroyMessage);
109
+ flash_notifications_1.FlashNotifications.success(destroyMessage);
72
110
  }
73
111
  }
74
112
  catch (error) {
75
- FlashNotifications.errorResponse(error);
113
+ flash_notifications_1.FlashNotifications.errorResponse(error);
76
114
  }
77
115
  };
78
116
  }));
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcm93LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9tb2RlbC1yb3cuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sZ0JBQWdCLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNoQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLHFCQUFxQixNQUFNLDJCQUEyQixDQUFBO0FBRTdELGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGtDQUFtQyxTQUFRLGFBQWE7SUFDL0YsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtR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QUFDLEtBQUssQ0FBQTtRQUMzQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBRXJCLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUM1QyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcmVzc2FibGV9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCBDb2x1bW4gZnJvbSBcIi4vY29tcG9uZW50cy9jb2x1bW5cIlxuaW1wb3J0IGNvbHVtbklkZW50aWZpZXIgZnJvbSBcIi4vY29sdW1uLWlkZW50aWZpZXIuanNcIlxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiZXZlbnRzXCJcbmltcG9ydCB7Rmxhc2hOb3RpZmljYXRpb25zfSBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9uc1wiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vdXRpbHMvaWNvblwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtb2RlbENhbGxiYWNrQXJncyBmcm9tIFwiLi9tb2RlbC1jYWxsYmFjay1hcmdzLmpzXCJcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9saW5rXCJcbmltcG9ydCBNb2RlbENvbHVtbiBmcm9tIFwiLi9tb2RlbC1jb2x1bW5cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUm93IGZyb20gXCIuL2NvbXBvbmVudHMvcm93XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5pbXBvcnQgV29ya2VyUGx1Z2luc0NoZWNrYm94IGZyb20gXCIuL3dvcmtlci1wbHVnaW5zLWNoZWNrYm94XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RTdHJhcExpdmVUYWJsZU1vZGVsUm93IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2FjaGVLZXk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBjb2x1bW5zOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY29sdW1uV2lkdGhzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZXZlbnRzOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFdmVudEVtaXR0ZXIpLmlzUmVxdWlyZWQsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHRhYmxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgdGFibGVTZXR0aW5nRnVsbENhY2hlS2V5OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLm1vZGVsX3Jvd1wifSlcblxuICAgIHRoaXMudCA9IHRcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7aW5kZXgsIHRhYmxlLCBtb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCB7bW9kZWxDbGFzcywgd29ya3BsYWNlfSA9IHRhYmxlLnBcbiAgICBjb25zdCB7YWN0aW9uc0NvbnRlbnQsIGRlc3Ryb3lFbmFibGVkLCBlZGl0TW9kZWxQYXRoLCB2aWV3TW9kZWxQYXRofSA9IHRhYmxlLnByb3BzXG4gICAgY29uc3Qge2NvbHVtbnMsIGN1cnJlbnRXb3JrcGxhY2V9ID0gdGFibGUuc3RhdGVcbiAgICBjb25zdCB7c3R5bGVGb3JDb2x1bW4sIHN0eWxlRm9yUm93fSA9IHRhYmxlLnR0XG4gICAgY29uc3QgZXZlbiA9IGluZGV4ICUgMiA9PSAwXG5cbiAgICB0aGlzLm1vZGVsQ2FsbGJhY2tBcmdzID0gbW9kZWxDYWxsYmFja0FyZ3ModGFibGUsIG1vZGVsKSAvLyAnbW9kZWwnIGNhbiBjaGFuZ2Ugc28gdGhpcyBuZWVkcyB0byBiZSByZS1jYWNoZWQgZm9yIGV2ZXJ5IHJlbmRlclxuXG4gICAgbGV0IGVkaXRQYXRoLCB2aWV3UGF0aFxuXG4gICAgaWYgKGVkaXRNb2RlbFBhdGggJiYgbW9kZWwuY2FuKFwiZWRpdFwiKSkge1xuICAgICAgZWRpdFBhdGggPSBlZGl0TW9kZWxQYXRoKHRoaXMubW9kZWxDYWxsYmFja0FyZ3MpXG4gICAgfVxuXG4gICAgaWYgKHZpZXdNb2RlbFBhdGggJiYgbW9kZWwuY2FuKFwic2hvd1wiKSkge1xuICAgICAgdmlld1BhdGggPSB2aWV3TW9kZWxQYXRoKHRoaXMubW9kZWxDYWxsYmFja0FyZ3MpXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSb3dcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInJvd0RhdGFTZXRcIiwge2NsYXNzOiBgJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXkpfS1yb3dgLCBtb2RlbElkOiBtb2RlbC5pZCgpfSwgW21vZGVsLmlkKCksIG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleV0pfVxuICAgICAgICBzdHlsZT17c3R5bGVGb3JSb3coe2V2ZW59KX1cbiAgICAgID5cbiAgICAgICAge3dvcmtwbGFjZSAmJlxuICAgICAgICAgIDxDb2x1bW4gZGF0YVNldD17dGhpcy5jb2x1bW5EYXRhU2V0IHx8PSB7Y2xhc3M6IFwid29ya3BsYWNlLWNvbHVtblwifX0gc3R5bGU9e3N0eWxlRm9yQ29sdW1uKHtldmVuLCBzdHlsZToge3dpZHRoOiA0MX19KX0+XG4gICAgICAgICAgICA8V29ya2VyUGx1Z2luc0NoZWNrYm94XG4gICAgICAgICAgICAgIGN1cnJlbnRXb3JrcGxhY2U9e2N1cnJlbnRXb3JrcGxhY2V9XG4gICAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgICAgc3R5bGU9e3RoaXMud29ya2VyUGx1Z2luc0NoZWNrYm94U3R5bGUgfHw9IHttYXJnaW5Ib3Jpem9udGFsOiBcImF1dG9cIn19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICB9XG4gICAgICAgIHtjb2x1bW5zICYmIHRoaXMuY29sdW1uc0NvbnRlbnRGcm9tQ29sdW1ucyhtb2RlbCwgZXZlbil9XG4gICAgICAgIDxDb2x1bW4gZGF0YVNldD17dGhpcy5hY3Rpb25zQ29sdW1uRGF0YVNldCB8fD0ge2NsYXNzOiBcImFjdGlvbnMtY29sdW1uXCJ9fSBzdHlsZT17c3R5bGVGb3JDb2x1bW4oe2V2ZW4sIHN0eWxlOiB7fSwgdHlwZTogXCJhY3Rpb25zXCJ9KX0+XG4gICAgICAgICAge2FjdGlvbnNDb250ZW50ICYmIGFjdGlvbnNDb250ZW50KHRoaXMudHQubW9kZWxDYWxsYmFja0FyZ3MpfVxuICAgICAgICAgIHt2aWV3UGF0aCAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17dGhpcy52aWV3QnV0dG9uRGF0YVNldCB8fD0ge2NsYXNzOiBcInZpZXctYnV0dG9uXCJ9fSBzdHlsZT17dGhpcy5zZWFyY2hMaW5rU3R5bGUgfHw9IHttYXJnaW5MZWZ0OiAyLCBtYXJnaW5SaWdodDogMn19IHRvPXt2aWV3UGF0aH0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJzZWFyY2hcIiBzaXplPXsxOH0gLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgICAge2VkaXRQYXRoICYmXG4gICAgICAgICAgICA8TGluayBkYXRhU2V0PXt0aGlzLmVkaXRCdXR0b25EYXRhU2V0IHx8PSB7Y2xhc3M6IFwiZWRpdC1idXR0b25cIn19IHN0eWxlPXt0aGlzLmVkaXRCdXR0b25TdHlsZSB8fD0ge21hcmdpbkxlZnQ6IDIsIG1hcmdpblJpZ2h0OiAyfX0gdG89e2VkaXRQYXRofT5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cInBlbmNpbFwiIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7ZGVzdHJveUVuYWJsZWQgJiYgbW9kZWwuY2FuKFwiZGVzdHJveVwiKSAmJlxuICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmRlc3Ryb3lCdXR0b25EYXRhU2V0IHx8PSB7Y2xhc3M6IFwiZGVzdHJveS1idXR0b25cIn19XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLmRlc3Ryb3lCdXR0b25TdHlsZSB8fD0ge21hcmdpbkxlZnQ6IDIsIG1hcmdpblJpZ2h0OiAyfX1cbiAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkRlc3Ryb3lDbGlja2VkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwicmVtb3ZlXCIgc2l6ZT17MjJ9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvQ29sdW1uPlxuICAgICAgPC9Sb3c+XG4gICAgKVxuICB9XG5cbiAgY29sdW1uc0NvbnRlbnRGcm9tQ29sdW1ucyhtb2RlbCwgZXZlbikge1xuICAgIGNvbnN0IHtjb2x1bW5zLCBldmVudHMsIHRhYmxlfSA9IHRoaXMucFxuXG4gICAgcmV0dXJuIGNvbHVtbnM/Lm1hcCgoe2FuaW1hdGVkUG9zaXRpb24sIGFuaW1hdGVkV2lkdGgsIGFuaW1hdGVkWkluZGV4LCBjb2x1bW4sIHRhYmxlU2V0dGluZ0NvbHVtbn0sIGNvbHVtbkluZGV4KSA9PlxuICAgICAgPE1vZGVsQ29sdW1uXG4gICAgICAgIGFuaW1hdGVkUG9zaXRpb249e2FuaW1hdGVkUG9zaXRpb259XG4gICAgICAgIGFuaW1hdGVkV2lkdGg9e2FuaW1hdGVkV2lkdGh9XG4gICAgICAgIGFuaW1hdGVkWkluZGV4PXthbmltYXRlZFpJbmRleH1cbiAgICAgICAgY29sdW1uPXtjb2x1bW59XG4gICAgICAgIGNvbHVtbkluZGV4PXtjb2x1bW5JbmRleH1cbiAgICAgICAgZXZlbj17ZXZlbn1cbiAgICAgICAgZXZlbnRzPXtldmVudHN9XG4gICAgICAgIGtleT17Y29sdW1uSWRlbnRpZmllcihjb2x1bW4pfVxuICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgIHRhYmxlPXt0YWJsZX1cbiAgICAgICAgdGFibGVTZXR0aW5nQ29sdW1uPXt0YWJsZVNldHRpbmdDb2x1bW59XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIG9uRGVzdHJveUNsaWNrZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtkZXN0cm95TWVzc2FnZX0gPSB0aGlzLnAudGFibGUucHJvcHNcbiAgICBjb25zdCB7bW9kZWx9ID0gdGhpcy5wXG5cbiAgICBpZiAoIWNvbmZpcm0odChcImpzLnNoYXJlZC5hcmVfeW91X3N1cmVcIikpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbW9kZWwuZGVzdHJveSgpXG5cbiAgICAgIGlmIChkZXN0cm95TWVzc2FnZSkge1xuICAgICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuc3VjY2VzcyhkZXN0cm95TWVzc2FnZSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcm93LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9tb2RlbC1yb3cuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFzQztBQUN0Qyw2RUFBZ0Q7QUFDaEQsaUVBQXdDO0FBQ3hDLGtGQUFxRDtBQUNyRCxpREFBMEM7QUFDMUMsNkRBQXNEO0FBQ3RELHlEQUFnQztBQUNoQyx1REFBd0M7QUFDeEMsc0ZBQXdEO0FBQ3hELG1EQUEwQjtBQUMxQixrRUFBd0M7QUFDeEMsNERBQWtDO0FBQ2xDLHdFQUE2QztBQUM3QyxrREFBeUI7QUFDekIsMkRBQWtDO0FBQ2xDLDhFQUFrRDtBQUNsRCxtRkFBeUU7QUFDekUscUZBQXVEO0FBQ3ZELHdGQUE2RDtBQUU3RCxrQkFBZSxJQUFBLGlCQUFJLEVBQUMsSUFBQSxtQ0FBYyxFQUFDLE1BQU0sa0NBQW1DLFNBQVEsMkJBQWE7SUFDL0YsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFBLDBCQUFjLEVBQUM7UUFDaEMsUUFBUSxFQUFFLG9CQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDckMsT0FBTyxFQUFFLG9CQUFTLENBQUMsS0FBSztRQUN4QixZQUFZLEVBQUUsb0JBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUN6QyxNQUFNLEVBQUUsb0JBQVMsQ0FBQyxVQUFVLENBQUMsNEJBQVksQ0FBQyxDQUFDLFVBQVU7UUFDckQsS0FBSyxFQUFFLG9CQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLG9CQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLG9CQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsd0JBQXdCLEVBQUUsb0JBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtLQUN0RCxDQUFDLENBQUE7SUFFRixLQUFLO1FBQ0gsTUFBTSxFQUFDLENBQUMsRUFB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QUFDO1lBQ2Ysd0NBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlc3NhYmxlfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQ29sdW1uIGZyb20gXCIuL2NvbXBvbmVudHMvY29sdW1uXCJcbmltcG9ydCBjb2x1bW5JZGVudGlmaWVyIGZyb20gXCIuL2NvbHVtbi1pZGVudGlmaWVyLmpzXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQge0ZsYXNoTm90aWZpY2F0aW9uc30gZnJvbSBcImZsYXNoLW5vdGlmaWNhdGlvbnNcIlxuaW1wb3J0IEljb24gZnJvbSBcIi4uL3V0aWxzL2ljb25cIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbW9kZWxDYWxsYmFja0FyZ3MgZnJvbSBcIi4vbW9kZWwtY2FsbGJhY2stYXJncy5qc1wiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vbGlua1wiXG5pbXBvcnQgTW9kZWxDb2x1bW4gZnJvbSBcIi4vbW9kZWwtY29sdW1uXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFJvdyBmcm9tIFwiLi9jb21wb25lbnRzL3Jvd1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuaW1wb3J0IFdvcmtlclBsdWdpbnNDaGVja2JveCBmcm9tIFwiLi93b3JrZXItcGx1Z2lucy1jaGVja2JveFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290U3RyYXBMaXZlVGFibGVNb2RlbFJvdyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNhY2hlS2V5OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY29sdW1uczogUHJvcFR5cGVzLmFycmF5LFxuICAgIGNvbHVtbldpZHRoczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGV2ZW50czogUHJvcFR5cGVzLmluc3RhbmNlT2YoRXZlbnRFbWl0dGVyKS5pc1JlcXVpcmVkLFxuICAgIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICB0YWJsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHRhYmxlU2V0dGluZ0Z1bGxDYWNoZUtleTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci50YWJsZS5tb2RlbF9yb3dcIn0pXG5cbiAgICB0aGlzLnQgPSB0XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2luZGV4LCB0YWJsZSwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge21vZGVsQ2xhc3MsIHdvcmtwbGFjZX0gPSB0YWJsZS5wXG4gICAgY29uc3Qge2FjdGlvbnNDb250ZW50LCBkZXN0cm95RW5hYmxlZCwgZWRpdE1vZGVsUGF0aCwgdmlld01vZGVsUGF0aH0gPSB0YWJsZS5wcm9wc1xuICAgIGNvbnN0IHtjb2x1bW5zLCBjdXJyZW50V29ya3BsYWNlfSA9IHRhYmxlLnN0YXRlXG4gICAgY29uc3Qge3N0eWxlRm9yQ29sdW1uLCBzdHlsZUZvclJvd30gPSB0YWJsZS50dFxuICAgIGNvbnN0IGV2ZW4gPSBpbmRleCAlIDIgPT0gMFxuXG4gICAgdGhpcy5tb2RlbENhbGxiYWNrQXJncyA9IG1vZGVsQ2FsbGJhY2tBcmdzKHRhYmxlLCBtb2RlbCkgLy8gJ21vZGVsJyBjYW4gY2hhbmdlIHNvIHRoaXMgbmVlZHMgdG8gYmUgcmUtY2FjaGVkIGZvciBldmVyeSByZW5kZXJcblxuICAgIGxldCBlZGl0UGF0aCwgdmlld1BhdGhcblxuICAgIGlmIChlZGl0TW9kZWxQYXRoICYmIG1vZGVsLmNhbihcImVkaXRcIikpIHtcbiAgICAgIGVkaXRQYXRoID0gZWRpdE1vZGVsUGF0aCh0aGlzLm1vZGVsQ2FsbGJhY2tBcmdzKVxuICAgIH1cblxuICAgIGlmICh2aWV3TW9kZWxQYXRoICYmIG1vZGVsLmNhbihcInNob3dcIikpIHtcbiAgICAgIHZpZXdQYXRoID0gdmlld01vZGVsUGF0aCh0aGlzLm1vZGVsQ2FsbGJhY2tBcmdzKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Um93XG4gICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb3dEYXRhU2V0XCIsIHtjbGFzczogYCR7aW5mbGVjdGlvbi5kYXNoZXJpemUobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5KX0tcm93YCwgbW9kZWxJZDogbW9kZWwuaWQoKX0sIFttb2RlbC5pZCgpLCBtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXldKX1cbiAgICAgICAgc3R5bGU9e3N0eWxlRm9yUm93KHtldmVufSl9XG4gICAgICA+XG4gICAgICAgIHt3b3JrcGxhY2UgJiZcbiAgICAgICAgICA8Q29sdW1uIGRhdGFTZXQ9e3RoaXMuY29sdW1uRGF0YVNldCB8fD0ge2NsYXNzOiBcIndvcmtwbGFjZS1jb2x1bW5cIn19IHN0eWxlPXtzdHlsZUZvckNvbHVtbih7ZXZlbiwgc3R5bGU6IHt3aWR0aDogNDF9fSl9PlxuICAgICAgICAgICAgPFdvcmtlclBsdWdpbnNDaGVja2JveFxuICAgICAgICAgICAgICBjdXJyZW50V29ya3BsYWNlPXtjdXJyZW50V29ya3BsYWNlfVxuICAgICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLndvcmtlclBsdWdpbnNDaGVja2JveFN0eWxlIHx8PSB7bWFyZ2luSG9yaXpvbnRhbDogXCJhdXRvXCJ9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbHVtbj5cbiAgICAgICAgfVxuICAgICAgICB7Y29sdW1ucyAmJiB0aGlzLmNvbHVtbnNDb250ZW50RnJvbUNvbHVtbnMobW9kZWwsIGV2ZW4pfVxuICAgICAgICA8Q29sdW1uIGRhdGFTZXQ9e3RoaXMuYWN0aW9uc0NvbHVtbkRhdGFTZXQgfHw9IHtjbGFzczogXCJhY3Rpb25zLWNvbHVtblwifX0gc3R5bGU9e3N0eWxlRm9yQ29sdW1uKHtldmVuLCBzdHlsZToge30sIHR5cGU6IFwiYWN0aW9uc1wifSl9PlxuICAgICAgICAgIHthY3Rpb25zQ29udGVudCAmJiBhY3Rpb25zQ29udGVudCh0aGlzLnR0Lm1vZGVsQ2FsbGJhY2tBcmdzKX1cbiAgICAgICAgICB7dmlld1BhdGggJiZcbiAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e3RoaXMudmlld0J1dHRvbkRhdGFTZXQgfHw9IHtjbGFzczogXCJ2aWV3LWJ1dHRvblwifX0gc3R5bGU9e3RoaXMuc2VhcmNoTGlua1N0eWxlIHx8PSB7bWFyZ2luTGVmdDogMiwgbWFyZ2luUmlnaHQ6IDJ9fSB0bz17dmlld1BhdGh9PlxuICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwic2VhcmNoXCIgc2l6ZT17MTh9IC8+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtlZGl0UGF0aCAmJlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17dGhpcy5lZGl0QnV0dG9uRGF0YVNldCB8fD0ge2NsYXNzOiBcImVkaXQtYnV0dG9uXCJ9fSBzdHlsZT17dGhpcy5lZGl0QnV0dG9uU3R5bGUgfHw9IHttYXJnaW5MZWZ0OiAyLCBtYXJnaW5SaWdodDogMn19IHRvPXtlZGl0UGF0aH0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJwZW5jaWxcIiBzaXplPXsyMH0gLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICB9XG4gICAgICAgICAge2Rlc3Ryb3lFbmFibGVkICYmIG1vZGVsLmNhbihcImRlc3Ryb3lcIikgJiZcbiAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgZGF0YVNldD17dGhpcy5kZXN0cm95QnV0dG9uRGF0YVNldCB8fD0ge2NsYXNzOiBcImRlc3Ryb3ktYnV0dG9uXCJ9fVxuICAgICAgICAgICAgICBzdHlsZT17dGhpcy5kZXN0cm95QnV0dG9uU3R5bGUgfHw9IHttYXJnaW5MZWZ0OiAyLCBtYXJnaW5SaWdodDogMn19XG4gICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZXN0cm95Q2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cInJlbW92ZVwiIHNpemU9ezIyfSAvPlxuICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgfVxuICAgICAgICA8L0NvbHVtbj5cbiAgICAgIDwvUm93PlxuICAgIClcbiAgfVxuXG4gIGNvbHVtbnNDb250ZW50RnJvbUNvbHVtbnMobW9kZWwsIGV2ZW4pIHtcbiAgICBjb25zdCB7Y29sdW1ucywgZXZlbnRzLCB0YWJsZX0gPSB0aGlzLnBcblxuICAgIHJldHVybiBjb2x1bW5zPy5tYXAoKHthbmltYXRlZFBvc2l0aW9uLCBhbmltYXRlZFdpZHRoLCBhbmltYXRlZFpJbmRleCwgY29sdW1uLCB0YWJsZVNldHRpbmdDb2x1bW59LCBjb2x1bW5JbmRleCkgPT5cbiAgICAgIDxNb2RlbENvbHVtblxuICAgICAgICBhbmltYXRlZFBvc2l0aW9uPXthbmltYXRlZFBvc2l0aW9ufVxuICAgICAgICBhbmltYXRlZFdpZHRoPXthbmltYXRlZFdpZHRofVxuICAgICAgICBhbmltYXRlZFpJbmRleD17YW5pbWF0ZWRaSW5kZXh9XG4gICAgICAgIGNvbHVtbj17Y29sdW1ufVxuICAgICAgICBjb2x1bW5JbmRleD17Y29sdW1uSW5kZXh9XG4gICAgICAgIGV2ZW49e2V2ZW59XG4gICAgICAgIGV2ZW50cz17ZXZlbnRzfVxuICAgICAgICBrZXk9e2NvbHVtbklkZW50aWZpZXIoY29sdW1uKX1cbiAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICB0YWJsZT17dGFibGV9XG4gICAgICAgIHRhYmxlU2V0dGluZ0NvbHVtbj17dGFibGVTZXR0aW5nQ29sdW1ufVxuICAgICAgLz5cbiAgICApXG4gIH1cblxuICBvbkRlc3Ryb3lDbGlja2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7ZGVzdHJveU1lc3NhZ2V9ID0gdGhpcy5wLnRhYmxlLnByb3BzXG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucFxuXG4gICAgaWYgKCFjb25maXJtKHQoXCJqcy5zaGFyZWQuYXJlX3lvdV9zdXJlXCIpKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1vZGVsLmRlc3Ryb3koKVxuXG4gICAgICBpZiAoZGVzdHJveU1lc3NhZ2UpIHtcbiAgICAgICAgRmxhc2hOb3RpZmljYXRpb25zLnN1Y2Nlc3MoZGVzdHJveU1lc3NhZ2UpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -1,16 +1,55 @@
1
- import { digg, digs } from "diggerize";
2
- import * as inflection from "inflection";
3
- import modelClassRequire from "../model-class-require.js";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = selectCalculator;
40
+ const diggerize_1 = require("diggerize");
41
+ const inflection = __importStar(require("inflection"));
42
+ const model_class_require_js_1 = __importDefault(require("../model-class-require.js"));
4
43
  class SelectCalculator {
5
44
  constructor({ table }) {
6
45
  this.table = table;
7
46
  }
8
47
  selects() {
9
- const { modelClass } = digs(this.table.props, "modelClass");
48
+ const { modelClass } = (0, diggerize_1.digs)(this.table.props, "modelClass");
10
49
  const select = this.table.props.select || {};
11
- const { preparedColumns } = digs(this.table.state, "preparedColumns");
50
+ const { preparedColumns } = (0, diggerize_1.digs)(this.table.state, "preparedColumns");
12
51
  // Ensure the primary key column is loader for the primary model class
13
- const className = digg(modelClass.modelClassData(), "name");
52
+ const className = (0, diggerize_1.digg)(modelClass.modelClassData(), "name");
14
53
  const primaryKeyColumnName = modelClass.primaryKey();
15
54
  if (!(className in select))
16
55
  select[className] = [];
@@ -25,22 +64,22 @@ class SelectCalculator {
25
64
  }
26
65
  // Ensure columns used for columns are loaded
27
66
  for (const preparedColumn of preparedColumns) {
28
- const { column } = digs(preparedColumn, "column");
67
+ const { column } = (0, diggerize_1.digs)(preparedColumn, "column");
29
68
  if (!column?.attribute)
30
69
  continue; // 'column' might not exist if has been removed in code but still saved in DB
31
- const { attribute } = digs(column, "attribute");
70
+ const { attribute } = (0, diggerize_1.digs)(column, "attribute");
32
71
  const { path } = column;
33
72
  let currentModelClass = modelClass;
34
73
  if (path) {
35
74
  for (const pathPart of path) {
36
- const relationships = digg(currentModelClass.modelClassData(), "relationships");
75
+ const relationships = (0, diggerize_1.digg)(currentModelClass.modelClassData(), "relationships");
37
76
  const relationship = relationships.find((relationshipInArray) => relationshipInArray.name == inflection.underscore(pathPart));
38
77
  if (!relationship)
39
78
  throw new Error(`No such relationship: ${currentModelClass.modelClassData().name}#${pathPart}`);
40
- currentModelClass = modelClassRequire(digg(relationship, "resource_name"));
79
+ currentModelClass = (0, model_class_require_js_1.default)((0, diggerize_1.digg)(relationship, "resource_name"));
41
80
  }
42
81
  }
43
- const currentModelClassName = digg(currentModelClass.modelClassData(), "name");
82
+ const currentModelClassName = (0, diggerize_1.digg)(currentModelClass.modelClassData(), "name");
44
83
  if (!(currentModelClassName in select))
45
84
  select[currentModelClassName] = [];
46
85
  if (!select[currentModelClassName].includes(attribute))
@@ -49,7 +88,7 @@ class SelectCalculator {
49
88
  return select;
50
89
  }
51
90
  }
52
- export default function selectCalculator(...props) {
91
+ function selectCalculator(...props) {
53
92
  return new SelectCalculator(...props).selects();
54
93
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3NlbGVjdC1jYWxjdWxhdG9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8saUJBQWlCLE1BQU0sMkJBQTJCLENBQUE7QUFFekQsTUFBTSxnQkFBZ0I7SUFDcEIsWUFBWSxFQUFDLEtBQUssRUFBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLEVBQUMsZUFBZSxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFHbkUsc0VBQXNFO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFcEQsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQztZQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFHbkcsc0hBQXNIO1FBQ3RILElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7Z0JBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7Z0JBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNuRixDQUFDO1FBR0QsNkNBQTZDO1FBQzdDLEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxFQUFFLENBQUM7WUFDN0MsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFFL0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTO2dCQUFFLFNBQVEsQ0FBQyw2RUFBNkU7WUFFOUcsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDN0MsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLE1BQU0sQ0FBQTtZQUVyQixJQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQTtZQUVsQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQTtvQkFDL0UsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO29CQUU3SCxJQUFJLENBQUMsWUFBWTt3QkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFFbEgsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO2dCQUM1RSxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBRTlFLElBQUksQ0FBQyxDQUFDLHFCQUFxQixJQUFJLE1BQU0sQ0FBQztnQkFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxPQUFPLFVBQVUsZ0JBQWdCLENBQUMsR0FBRyxLQUFLO0lBQy9DLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4uL21vZGVsLWNsYXNzLXJlcXVpcmUuanNcIlxuXG5jbGFzcyBTZWxlY3RDYWxjdWxhdG9yIHtcbiAgY29uc3RydWN0b3Ioe3RhYmxlfSkge1xuICAgIHRoaXMudGFibGUgPSB0YWJsZVxuICB9XG5cbiAgc2VsZWN0cygpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSBkaWdzKHRoaXMudGFibGUucHJvcHMsIFwibW9kZWxDbGFzc1wiKVxuICAgIGNvbnN0IHNlbGVjdCA9IHRoaXMudGFibGUucHJvcHMuc2VsZWN0IHx8IHt9XG4gICAgY29uc3Qge3ByZXBhcmVkQ29sdW1uc30gPSBkaWdzKHRoaXMudGFibGUuc3RhdGUsIFwicHJlcGFyZWRDb2x1bW5zXCIpXG5cblxuICAgIC8vIEVuc3VyZSB0aGUgcHJpbWFyeSBrZXkgY29sdW1uIGlzIGxvYWRlciBmb3IgdGhlIHByaW1hcnkgbW9kZWwgY2xhc3NcbiAgICBjb25zdCBjbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgcHJpbWFyeUtleUNvbHVtbk5hbWUgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuXG4gICAgaWYgKCEoY2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjbGFzc05hbWVdID0gW11cbiAgICBpZiAoIXNlbGVjdFtjbGFzc05hbWVdLmluY2x1ZGVzKHByaW1hcnlLZXlDb2x1bW5OYW1lKSkgc2VsZWN0W2NsYXNzTmFtZV0ucHVzaChwcmltYXJ5S2V5Q29sdW1uTmFtZSlcblxuXG4gICAgLy8gRW5zdXJlICd1cGRhdGVkQXQnIGlzIHNlbGVjdGVkIGlmIGRlZmluZWQgYXMgYW4gYXR0cmlidXRlLCBiZWNhdXNlIGl0IGlzIHVzZWQgZm9yIGNhY2hlS2V5IGFuZCB1cGRhdGVzIGluIHRoZSB0YWJsZVxuICAgIGlmIChtb2RlbENsYXNzLmhhc0F0dHJpYnV0ZShcInVwZGF0ZWRBdFwiKSkge1xuICAgICAgaWYgKCEoY2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjbGFzc05hbWVdID0gW11cbiAgICAgIGlmICghc2VsZWN0W2NsYXNzTmFtZV0uaW5jbHVkZXMoXCJ1cGRhdGVkQXRcIikpIHNlbGVjdFtjbGFzc05hbWVdLnB1c2goXCJ1cGRhdGVkQXRcIilcbiAgICB9XG5cblxuICAgIC8vIEVuc3VyZSBjb2x1bW5zIHVzZWQgZm9yIGNvbHVtbnMgYXJlIGxvYWRlZFxuICAgIGZvciAoY29uc3QgcHJlcGFyZWRDb2x1bW4gb2YgcHJlcGFyZWRDb2x1bW5zKSB7XG4gICAgICBjb25zdCB7Y29sdW1ufSA9IGRpZ3MocHJlcGFyZWRDb2x1bW4sIFwiY29sdW1uXCIpXG5cbiAgICAgIGlmICghY29sdW1uPy5hdHRyaWJ1dGUpIGNvbnRpbnVlIC8vICdjb2x1bW4nIG1pZ2h0IG5vdCBleGlzdCBpZiBoYXMgYmVlbiByZW1vdmVkIGluIGNvZGUgYnV0IHN0aWxsIHNhdmVkIGluIERCXG5cbiAgICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyhjb2x1bW4sIFwiYXR0cmlidXRlXCIpXG4gICAgICBjb25zdCB7cGF0aH0gPSBjb2x1bW5cblxuICAgICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBzID0gZGlnZyhjdXJyZW50TW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcInJlbGF0aW9uc2hpcHNcIilcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSByZWxhdGlvbnNoaXBzLmZpbmQoKHJlbGF0aW9uc2hpcEluQXJyYXkpID0+IHJlbGF0aW9uc2hpcEluQXJyYXkubmFtZSA9PSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUocGF0aFBhcnQpKVxuXG4gICAgICAgICAgaWYgKCFyZWxhdGlvbnNoaXApIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCByZWxhdGlvbnNoaXA6ICR7Y3VycmVudE1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lfSMke3BhdGhQYXJ0fWApXG5cbiAgICAgICAgICBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NSZXF1aXJlKGRpZ2cocmVsYXRpb25zaGlwLCBcInJlc291cmNlX25hbWVcIikpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgY3VycmVudE1vZGVsQ2xhc3NOYW1lID0gZGlnZyhjdXJyZW50TW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcblxuICAgICAgaWYgKCEoY3VycmVudE1vZGVsQ2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtjdXJyZW50TW9kZWxDbGFzc05hbWVdID0gW11cbiAgICAgIGlmICghc2VsZWN0W2N1cnJlbnRNb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoYXR0cmlidXRlKSkgc2VsZWN0W2N1cnJlbnRNb2RlbENsYXNzTmFtZV0ucHVzaChhdHRyaWJ1dGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNlbGVjdENhbGN1bGF0b3IoLi4ucHJvcHMpIHtcbiAgcmV0dXJuIG5ldyBTZWxlY3RDYWxjdWxhdG9yKC4uLnByb3BzKS5zZWxlY3RzKClcbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3NlbGVjdC1jYWxjdWxhdG9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOERBLG1DQUVDO0FBaEVELHlDQUFvQztBQUNwQyx1REFBd0M7QUFDeEMsdUZBQXlEO0FBRXpELE1BQU0sZ0JBQWdCO0lBQ3BCLFlBQVksRUFBQyxLQUFLLEVBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBQSxnQkFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDNUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLElBQUEsZ0JBQUksRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBR25FLHNFQUFzRTtRQUN0RSxNQUFNLFNBQVMsR0FBRyxJQUFBLGdCQUFJLEVBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRXBELElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7WUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBR25HLHNIQUFzSDtRQUN0SCxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDbkYsQ0FBQztRQUdELDZDQUE2QztRQUM3QyxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFBLGdCQUFJLEVBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBRS9DLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUztnQkFBRSxTQUFRLENBQUMsNkVBQTZFO1lBRTlHLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxJQUFBLGdCQUFJLEVBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUE7WUFFckIsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUE7WUFFbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFBLGdCQUFJLEVBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUE7b0JBQy9FLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFFN0gsSUFBSSxDQUFDLFlBQVk7d0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsaUJBQWlCLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUE7b0JBRWxILGlCQUFpQixHQUFHLElBQUEsZ0NBQWlCLEVBQUMsSUFBQSxnQkFBSSxFQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO2dCQUM1RSxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBQSxnQkFBSSxFQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBRTlFLElBQUksQ0FBQyxDQUFDLHFCQUFxQixJQUFJLE1BQU0sQ0FBQztnQkFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQUVELFNBQXdCLGdCQUFnQixDQUFDLEdBQUcsS0FBSztJQUMvQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IG1vZGVsQ2xhc3NSZXF1aXJlIGZyb20gXCIuLi9tb2RlbC1jbGFzcy1yZXF1aXJlLmpzXCJcblxuY2xhc3MgU2VsZWN0Q2FsY3VsYXRvciB7XG4gIGNvbnN0cnVjdG9yKHt0YWJsZX0pIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGVcbiAgfVxuXG4gIHNlbGVjdHMoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gZGlncyh0aGlzLnRhYmxlLnByb3BzLCBcIm1vZGVsQ2xhc3NcIilcbiAgICBjb25zdCBzZWxlY3QgPSB0aGlzLnRhYmxlLnByb3BzLnNlbGVjdCB8fCB7fVxuICAgIGNvbnN0IHtwcmVwYXJlZENvbHVtbnN9ID0gZGlncyh0aGlzLnRhYmxlLnN0YXRlLCBcInByZXBhcmVkQ29sdW1uc1wiKVxuXG5cbiAgICAvLyBFbnN1cmUgdGhlIHByaW1hcnkga2V5IGNvbHVtbiBpcyBsb2FkZXIgZm9yIHRoZSBwcmltYXJ5IG1vZGVsIGNsYXNzXG4gICAgY29uc3QgY2xhc3NOYW1lID0gZGlnZyhtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5OYW1lID0gbW9kZWxDbGFzcy5wcmltYXJ5S2V5KClcblxuICAgIGlmICghKGNsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbY2xhc3NOYW1lXSA9IFtdXG4gICAgaWYgKCFzZWxlY3RbY2xhc3NOYW1lXS5pbmNsdWRlcyhwcmltYXJ5S2V5Q29sdW1uTmFtZSkpIHNlbGVjdFtjbGFzc05hbWVdLnB1c2gocHJpbWFyeUtleUNvbHVtbk5hbWUpXG5cblxuICAgIC8vIEVuc3VyZSAndXBkYXRlZEF0JyBpcyBzZWxlY3RlZCBpZiBkZWZpbmVkIGFzIGFuIGF0dHJpYnV0ZSwgYmVjYXVzZSBpdCBpcyB1c2VkIGZvciBjYWNoZUtleSBhbmQgdXBkYXRlcyBpbiB0aGUgdGFibGVcbiAgICBpZiAobW9kZWxDbGFzcy5oYXNBdHRyaWJ1dGUoXCJ1cGRhdGVkQXRcIikpIHtcbiAgICAgIGlmICghKGNsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbY2xhc3NOYW1lXSA9IFtdXG4gICAgICBpZiAoIXNlbGVjdFtjbGFzc05hbWVdLmluY2x1ZGVzKFwidXBkYXRlZEF0XCIpKSBzZWxlY3RbY2xhc3NOYW1lXS5wdXNoKFwidXBkYXRlZEF0XCIpXG4gICAgfVxuXG5cbiAgICAvLyBFbnN1cmUgY29sdW1ucyB1c2VkIGZvciBjb2x1bW5zIGFyZSBsb2FkZWRcbiAgICBmb3IgKGNvbnN0IHByZXBhcmVkQ29sdW1uIG9mIHByZXBhcmVkQ29sdW1ucykge1xuICAgICAgY29uc3Qge2NvbHVtbn0gPSBkaWdzKHByZXBhcmVkQ29sdW1uLCBcImNvbHVtblwiKVxuXG4gICAgICBpZiAoIWNvbHVtbj8uYXR0cmlidXRlKSBjb250aW51ZSAvLyAnY29sdW1uJyBtaWdodCBub3QgZXhpc3QgaWYgaGFzIGJlZW4gcmVtb3ZlZCBpbiBjb2RlIGJ1dCBzdGlsbCBzYXZlZCBpbiBEQlxuXG4gICAgICBjb25zdCB7YXR0cmlidXRlfSA9IGRpZ3MoY29sdW1uLCBcImF0dHJpYnV0ZVwiKVxuICAgICAgY29uc3Qge3BhdGh9ID0gY29sdW1uXG5cbiAgICAgIGxldCBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcblxuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBwYXRoKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25zaGlwcyA9IGRpZ2coY3VycmVudE1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJyZWxhdGlvbnNoaXBzXCIpXG4gICAgICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwcy5maW5kKChyZWxhdGlvbnNoaXBJbkFycmF5KSA9PiByZWxhdGlvbnNoaXBJbkFycmF5Lm5hbWUgPT0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHBhdGhQYXJ0KSlcblxuICAgICAgICAgIGlmICghcmVsYXRpb25zaGlwKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggcmVsYXRpb25zaGlwOiAke2N1cnJlbnRNb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX0jJHtwYXRoUGFydH1gKVxuXG4gICAgICAgICAgY3VycmVudE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShkaWdnKHJlbGF0aW9uc2hpcCwgXCJyZXNvdXJjZV9uYW1lXCIpKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbENsYXNzTmFtZSA9IGRpZ2coY3VycmVudE1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG5cbiAgICAgIGlmICghKGN1cnJlbnRNb2RlbENsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbY3VycmVudE1vZGVsQ2xhc3NOYW1lXSA9IFtdXG4gICAgICBpZiAoIXNlbGVjdFtjdXJyZW50TW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKGF0dHJpYnV0ZSkpIHNlbGVjdFtjdXJyZW50TW9kZWxDbGFzc05hbWVdLnB1c2goYXR0cmlidXRlKVxuICAgIH1cblxuICAgIHJldHVybiBzZWxlY3RcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZWxlY3RDYWxjdWxhdG9yKC4uLnByb3BzKSB7XG4gIHJldHVybiBuZXcgU2VsZWN0Q2FsY3VsYXRvciguLi5wcm9wcykuc2VsZWN0cygpXG59XG4iXX0=