@kaspernj/api-maker 1.0.2056 → 1.0.2058
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/api.js +22 -16
- package/build/attribute-not-loaded-error.js +5 -2
- package/build/base-component.js +6 -3
- package/build/base-error.js +15 -9
- package/build/base-model/attribute.js +10 -4
- package/build/base-model/column.js +5 -2
- package/build/base-model/reflection.js +49 -10
- package/build/base-model/scope.js +41 -5
- package/build/base-model.js +115 -76
- package/build/bootstrap/attribute-row.js +71 -33
- package/build/bootstrap/attribute-rows.js +20 -15
- package/build/bootstrap/card.js +72 -34
- package/build/bootstrap/checkbox.js +35 -30
- package/build/bootstrap/checkboxes.js +69 -31
- package/build/bootstrap/index.d.ts +1 -0
- package/build/bootstrap/index.js +2 -0
- package/build/bootstrap/input.js +48 -43
- package/build/bootstrap/invalid-feedback.js +17 -11
- package/build/bootstrap/paginate.js +73 -35
- package/build/bootstrap/radio-buttons.js +33 -28
- package/build/bootstrap/select.js +34 -29
- package/build/bootstrap/sort-link.js +68 -30
- package/build/cable-connection-pool.js +18 -12
- package/build/cable-subscription-pool.js +58 -19
- package/build/cable-subscription.d.ts +2 -2
- package/build/cable-subscription.d.ts.map +1 -1
- package/build/cable-subscription.js +12 -6
- package/build/cache-key-generator.js +11 -5
- package/build/can-can.d.ts +2 -2
- package/build/can-can.d.ts.map +1 -1
- package/build/can-can.js +56 -17
- package/build/channels-consumer.js +10 -5
- package/build/collection-loader.js +36 -31
- package/build/collection.js +58 -19
- package/build/command-submit-data.d.ts +1 -1
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +10 -4
- package/build/commands-pool.js +39 -33
- package/build/compose.js +5 -2
- package/build/config.d.ts +3 -3
- package/build/config.d.ts.map +1 -1
- package/build/config.js +40 -6
- package/build/custom-error.js +9 -4
- package/build/data-set-to-attributes.js +39 -3
- package/build/deserializer.js +57 -18
- package/build/destroy-error.js +9 -4
- package/build/devise.d.ts +1 -1
- package/build/devise.d.ts.map +1 -1
- package/build/devise.js +55 -16
- package/build/draggable-sort/controller.js +14 -11
- package/build/draggable-sort/index.js +69 -31
- package/build/draggable-sort/item.js +70 -32
- package/build/error-logger.js +14 -8
- package/build/error-messages.js +8 -5
- package/build/event-connection.js +18 -12
- package/build/event-emitter-listener.js +9 -4
- package/build/event-model-class.js +17 -11
- package/build/events.d.ts +2 -2
- package/build/events.d.ts.map +1 -1
- package/build/events.js +6 -5
- package/build/form.js +69 -27
- package/build/history-expo.js +11 -6
- package/build/history-react-native.js +14 -9
- package/build/history.js +5 -3
- package/build/index.js +5 -2
- package/build/inputs/attachment.js +29 -24
- package/build/inputs/auto-submit.js +42 -6
- package/build/inputs/checkbox.js +73 -35
- package/build/inputs/checkboxes.js +68 -30
- package/build/inputs/id-for-component.js +39 -3
- package/build/inputs/input-wrapper.js +12 -7
- package/build/inputs/input.js +101 -62
- package/build/inputs/money.js +85 -47
- package/build/inputs/name-for-component.js +39 -3
- package/build/inputs/select.js +32 -26
- package/build/instance-of-class-name.js +7 -5
- package/build/is-expo.js +8 -6
- package/build/key-value-store.js +10 -4
- package/build/link.js +21 -16
- package/build/logger.js +5 -2
- package/build/merge-styles.js +7 -4
- package/build/modal.js +15 -10
- package/build/model-class-require.js +39 -4
- package/build/model-events.js +20 -14
- package/build/model-name.js +44 -5
- package/build/model-prop-type.js +15 -9
- package/build/model-recipes-loader.js +14 -8
- package/build/model-recipes-model-loader.d.ts +1 -1
- package/build/model-recipes-model-loader.js +57 -18
- package/build/models-response-reader.js +46 -7
- package/build/models.js +10 -5
- package/build/money-formatter.d.ts +2 -2
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +19 -13
- package/build/not-loaded-error.js +5 -2
- package/build/params.js +19 -13
- package/build/preloaded.js +44 -5
- package/build/resize-observer.js +11 -6
- package/build/rest-props-validator.js +4 -2
- package/build/result.js +5 -2
- package/build/router/route.js +82 -40
- package/build/router/switch.js +56 -17
- package/build/router.js +59 -21
- package/build/routes-native.js +54 -15
- package/build/routes.js +49 -13
- package/build/run-last.js +5 -2
- package/build/serializer.js +8 -5
- package/build/services.js +10 -4
- package/build/session-status-updater.js +53 -14
- package/build/source-maps-loader.js +50 -11
- package/build/super-admin/config-reader.d.ts +2 -2
- package/build/super-admin/config-reader.js +45 -9
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +61 -23
- package/build/super-admin/edit-page/edit-attribute-content.js +21 -16
- package/build/super-admin/edit-page/edit-attribute-input.js +59 -21
- package/build/super-admin/edit-page/edit-attribute.js +65 -27
- package/build/super-admin/edit-page.js +72 -34
- package/build/super-admin/has-edit-config.js +9 -4
- package/build/super-admin/index-page.js +17 -12
- package/build/super-admin/index.js +84 -46
- package/build/super-admin/layout/header/index.js +63 -25
- package/build/super-admin/layout/index.js +78 -40
- package/build/super-admin/layout/menu/index.js +47 -42
- package/build/super-admin/layout/menu/menu-content.js +60 -22
- package/build/super-admin/layout/menu/menu-item.js +23 -18
- package/build/super-admin/layout/no-access.js +20 -15
- package/build/super-admin/model-class-table.js +64 -26
- package/build/super-admin/models.js +38 -3
- package/build/super-admin/show-nav.js +61 -23
- package/build/super-admin/show-page/belongs-to-attribute-row.js +52 -14
- package/build/super-admin/show-page/index.js +63 -25
- package/build/super-admin/show-reflection-actions.js +62 -24
- package/build/super-admin/show-reflection-link.js +19 -14
- package/build/super-admin/show-reflection-page.js +63 -25
- package/build/table/column-content.js +54 -15
- package/build/table/column-identifier.js +5 -2
- package/build/table/column-visible.js +5 -2
- package/build/table/components/column.js +14 -9
- package/build/table/components/flat-list.js +14 -9
- package/build/table/components/header.js +16 -11
- package/build/table/components/row.js +16 -11
- package/build/table/filters/attribute-element.js +26 -21
- package/build/table/filters/filter-form.js +109 -71
- package/build/table/filters/filter.js +29 -24
- package/build/table/filters/index.js +43 -38
- package/build/table/filters/load-search-modal.js +64 -26
- package/build/table/filters/reflection-element.js +22 -17
- package/build/table/filters/save-search-modal.js +27 -22
- package/build/table/filters/scope-element.js +19 -14
- package/build/table/header-column-content.js +27 -22
- package/build/table/header-column.js +71 -33
- package/build/table/header-select.js +29 -24
- package/build/table/model-callback-args.js +39 -3
- package/build/table/model-column.js +75 -37
- package/build/table/model-row.js +79 -41
- package/build/table/select-calculator.js +52 -13
- package/build/table/settings/column-row.js +57 -19
- package/build/table/settings/download-action.js +31 -26
- package/build/table/settings/index.js +61 -23
- package/build/table/table-settings.js +70 -31
- package/build/table/table.js +196 -158
- package/build/table/use-sorting.js +12 -6
- package/build/table/widths.js +12 -9
- package/build/table/worker-plugins-check-all-checkbox.js +64 -26
- package/build/table/worker-plugins-checkbox.js +61 -23
- package/build/translated-attributes.js +5 -2
- package/build/translated-collections.js +14 -8
- package/build/updated-attribute.js +21 -15
- package/build/url-encode.js +10 -4
- package/build/use-breakpoint.js +58 -20
- package/build/use-can-can.js +21 -15
- package/build/use-collection.js +70 -32
- package/build/use-created-event.js +27 -22
- package/build/use-current-user-context.js +74 -36
- package/build/use-current-user.d.ts +2 -2
- package/build/use-current-user.d.ts.map +1 -1
- package/build/use-current-user.js +17 -11
- package/build/use-destroyed-event.js +18 -13
- package/build/use-event-emitter.js +13 -7
- package/build/use-event-listener.js +12 -7
- package/build/use-input.js +33 -28
- package/build/use-model-event.js +18 -13
- package/build/use-model.d.ts +26 -20
- package/build/use-model.d.ts.map +1 -1
- package/build/use-model.js +76 -35
- package/build/use-resize-observer.js +13 -8
- package/build/use-router.js +62 -24
- package/build/use-screen-layout.js +7 -5
- package/build/use-styles.js +52 -13
- package/build/use-updated-event.js +18 -13
- package/build/use-validation-errors.js +14 -9
- package/build/utils/button.js +33 -28
- package/build/utils/card.js +61 -23
- package/build/utils/checkbox.js +60 -22
- package/build/utils/checkboxes.js +78 -40
- package/build/utils/default-style.js +56 -15
- package/build/utils/header.js +12 -7
- package/build/utils/icon.js +61 -23
- package/build/utils/invalid-feedback.js +17 -12
- package/build/utils/modal.js +55 -17
- package/build/utils/text.js +14 -9
- package/build/validation-error.js +45 -6
- package/build/validation-errors.js +59 -19
- package/build/with-api-maker.js +52 -12
- package/build/with-collection.js +50 -12
- package/build/with-current-user.js +12 -7
- package/build/with-model.js +14 -9
- package/build/with-router.js +12 -7
- package/package.json +4 -3
- package/build/source-maps-loader.d.ts +0 -37
- package/build/source-maps-loader.d.ts.map +0 -1
|
@@ -1,35 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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 config_reader_1 = __importDefault(require("./config-reader"));
|
|
43
|
+
const diggerize_1 = require("diggerize");
|
|
44
|
+
const edit_attribute_1 = __importDefault(require("./edit-page/edit-attribute"));
|
|
45
|
+
const flash_notifications_1 = require("flash-notifications");
|
|
46
|
+
const form_1 = require("../form");
|
|
47
|
+
const inflection = __importStar(require("inflection"));
|
|
10
48
|
// @ts-expect-error
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
static propTypes =
|
|
24
|
-
modelClass:
|
|
49
|
+
const locales_1 = __importDefault(require("shared/locales"));
|
|
50
|
+
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
51
|
+
const params_js_1 = __importDefault(require("../params.js"));
|
|
52
|
+
const prop_types_1 = __importDefault(require("prop-types"));
|
|
53
|
+
const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
54
|
+
const react_1 = __importDefault(require("react"));
|
|
55
|
+
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
56
|
+
const text_1 = __importDefault(require("../utils/text"));
|
|
57
|
+
const use_current_user_js_1 = __importDefault(require("../use-current-user.js"));
|
|
58
|
+
const use_model_js_1 = __importDefault(require("../use-model.js"));
|
|
59
|
+
const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
|
|
60
|
+
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdminEditPage extends base_component_js_1.default {
|
|
61
|
+
static propTypes = (0, prop_types_exact_1.default)({
|
|
62
|
+
modelClass: prop_types_1.default.func.isRequired
|
|
25
63
|
});
|
|
26
64
|
setup() {
|
|
27
65
|
const { modelClass } = this.p;
|
|
28
66
|
const modelClassName = modelClass.modelClassData().name;
|
|
29
|
-
const availableLocales =
|
|
30
|
-
this.configReader =
|
|
31
|
-
const currentUser =
|
|
32
|
-
const queryParams =
|
|
67
|
+
const availableLocales = locales_1.default.availableLocales();
|
|
68
|
+
this.configReader = config_reader_1.default.forModel(modelClass);
|
|
69
|
+
const currentUser = (0, use_current_user_js_1.default)();
|
|
70
|
+
const queryParams = (0, use_query_params_js_1.default)();
|
|
33
71
|
const selectedModelAttributes = ["id"];
|
|
34
72
|
const selectedAttributes = {};
|
|
35
73
|
this.attributes = this.configReader.modelConfig?.edit?.attributes;
|
|
@@ -47,7 +85,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends Base
|
|
|
47
85
|
}
|
|
48
86
|
}
|
|
49
87
|
selectedAttributes[modelClassName] = selectedModelAttributes;
|
|
50
|
-
const useModelResult =
|
|
88
|
+
const useModelResult = (0, use_model_js_1.default)(modelClass, {
|
|
51
89
|
cacheArgs: [currentUser?.id()],
|
|
52
90
|
loadByQueryParam: (props) => props.queryParams.model_id,
|
|
53
91
|
newIfNoId: this.configReader.modelConfig?.edit?.newIfNoId || true,
|
|
@@ -56,7 +94,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends Base
|
|
|
56
94
|
});
|
|
57
95
|
const modelIdVarName = `${inflection.camelize(modelClass.modelClassData().name, true)}Id`;
|
|
58
96
|
const modelVarName = inflection.camelize(modelClass.modelClassData().name, true);
|
|
59
|
-
this.model = digg(useModelResult, modelVarName);
|
|
97
|
+
this.model = (0, diggerize_1.digg)(useModelResult, modelVarName);
|
|
60
98
|
this.modelId = queryParams.model_id;
|
|
61
99
|
this.modelArgs = {};
|
|
62
100
|
this.modelArgs[modelIdVarName] = this.modelId;
|
|
@@ -66,7 +104,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends Base
|
|
|
66
104
|
const { attributes, model } = this.tt;
|
|
67
105
|
const { modelClass } = this.p;
|
|
68
106
|
const extraContent = this.configReader.modelConfig?.edit?.extraContentconst;
|
|
69
|
-
return (
|
|
107
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { testID: "super-admin--edit-page", children: (0, jsx_runtime_1.jsxs)(form_1.Form, { setForm: this.setStates.form, children: [model && attributes?.map((attribute) => (0, jsx_runtime_1.jsx)(edit_attribute_1.default, { attribute: attribute, model: model, modelClass: modelClass }, attribute.attribute)), extraContent && extraContent(modelArgs), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: this.tt.onSubmit, style: this.pressableStyle ||= {
|
|
70
108
|
paddingTop: 18,
|
|
71
109
|
paddingRight: 24,
|
|
72
110
|
paddingBottom: 18,
|
|
@@ -74,7 +112,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends Base
|
|
|
74
112
|
borderRadius: 10,
|
|
75
113
|
backgroundColor: "#4c93ff",
|
|
76
114
|
marginTop: 10
|
|
77
|
-
}, testID: "submit-button", children:
|
|
115
|
+
}, testID: "submit-button", children: (0, jsx_runtime_1.jsx)(text_1.default, { style: this.buttonTextStyle ||= { color: "#fff" }, children: "Submit" }) })] }) }));
|
|
78
116
|
}
|
|
79
117
|
onSubmit = async () => {
|
|
80
118
|
try {
|
|
@@ -82,11 +120,11 @@ export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends Base
|
|
|
82
120
|
const formObject = this.s.form.asObject();
|
|
83
121
|
model.assignAttributes(formObject);
|
|
84
122
|
await model.save();
|
|
85
|
-
|
|
123
|
+
params_js_1.default.changeParams({ mode: undefined, model_id: model.id() });
|
|
86
124
|
}
|
|
87
125
|
catch (error) {
|
|
88
|
-
FlashNotifications.errorResponse(error);
|
|
126
|
+
flash_notifications_1.FlashNotifications.errorResponse(error);
|
|
89
127
|
}
|
|
90
128
|
};
|
|
91
129
|
}));
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wYWdlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9lZGl0LXBhZ2UuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUM1QyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxTQUFTLENBQUE7QUFDNUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsbUJBQW1CO0FBQ25CLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDbkQsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFFMUUsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sMEJBQTJCLFNBQVEsYUFBYTtJQUN2RixNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztR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RCxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7WUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7WUFFekMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2xDLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2xCLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBQzlELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Ysa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlc3NhYmxlLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQ29uZmlnUmVhZGVyIGZyb20gXCIuL2NvbmZpZy1yZWFkZXJcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBFZGl0QXR0cmlidXRlIGZyb20gXCIuL2VkaXQtcGFnZS9lZGl0LWF0dHJpYnV0ZVwiXG5pbXBvcnQge0ZsYXNoTm90aWZpY2F0aW9uc30gZnJvbSBcImZsYXNoLW5vdGlmaWNhdGlvbnNcIlxuaW1wb3J0IHtGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbi8vIEB0cy1leHBlY3QtZXJyb3JcbmltcG9ydCBMb2NhbGVzIGZyb20gXCJzaGFyZWQvbG9jYWxlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi9wYXJhbXMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgdXNlTW9kZWwgZnJvbSBcIi4uL3VzZS1tb2RlbC5qc1wiXG5pbXBvcnQgdXNlUXVlcnlQYXJhbXMgZnJvbSBcIm9uLWxvY2F0aW9uLWNoYW5nZWQvYnVpbGQvdXNlLXF1ZXJ5LXBhcmFtcy5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluRWRpdFBhZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wXG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgIGNvbnN0IGF2YWlsYWJsZUxvY2FsZXMgPSBMb2NhbGVzLmF2YWlsYWJsZUxvY2FsZXMoKVxuICAgIHRoaXMuY29uZmlnUmVhZGVyID0gQ29uZmlnUmVhZGVyLmZvck1vZGVsKG1vZGVsQ2xhc3MpXG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG4gICAgY29uc3Qgc2VsZWN0ZWRNb2RlbEF0dHJpYnV0ZXMgPSBbXCJpZFwiXVxuICAgIGNvbnN0IHNlbGVjdGVkQXR0cmlidXRlcyA9IHt9XG4gICAgdGhpcy5hdHRyaWJ1dGVzID0gdGhpcy5jb25maWdSZWFkZXIubW9kZWxDb25maWc/LmVkaXQ/LmF0dHJpYnV0ZXNcblxuICAgIGlmICghdGhpcy5hdHRyaWJ1dGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICdhdHRyaWJ1dGVzJyBnaXZlbiBmcm9tIGVkaXQgY29uZmlnIGZvciAke21vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lfWApXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgdGhpcy5hdHRyaWJ1dGVzKSB7XG4gICAgICBpZiAoYXR0cmlidXRlLnRyYW5zbGF0ZWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgYXZhaWxhYmxlTG9jYWxlcykge1xuICAgICAgICAgIHNlbGVjdGVkTW9kZWxBdHRyaWJ1dGVzLnB1c2goYCR7YXR0cmlidXRlLmF0dHJpYnV0ZX0ke2luZmxlY3Rpb24uY2FtZWxpemUobG9jYWxlKX1gKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZE1vZGVsQXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZS5hdHRyaWJ1dGUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRBdHRyaWJ1dGVzW21vZGVsQ2xhc3NOYW1lXSA9IHNlbGVjdGVkTW9kZWxBdHRyaWJ1dGVzXG5cbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIHtcbiAgICAgIGNhY2hlQXJnczogW2N1cnJlbnRVc2VyPy5pZCgpXSxcbiAgICAgIGxvYWRCeVF1ZXJ5UGFyYW06IChwcm9wcykgPT4gcHJvcHMucXVlcnlQYXJhbXMubW9kZWxfaWQsXG4gICAgICBuZXdJZk5vSWQ6IHRoaXMuY29uZmlnUmVhZGVyLm1vZGVsQ29uZmlnPy5lZGl0Py5uZXdJZk5vSWQgfHwgdHJ1ZSxcbiAgICAgIHByZWxvYWQ6IHRoaXMuY29uZmlnUmVhZGVyLm1vZGVsQ29uZmlnPy5lZGl0Py5wcmVsb2FkLFxuICAgICAgc2VsZWN0OiBzZWxlY3RlZEF0dHJpYnV0ZXNcbiAgICB9KVxuXG4gICAgY29uc3QgbW9kZWxJZFZhck5hbWUgPSBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKX1JZGBcbiAgICBjb25zdCBtb2RlbFZhck5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuXG4gICAgdGhpcy5tb2RlbCA9IGRpZ2codXNlTW9kZWxSZXN1bHQsIG1vZGVsVmFyTmFtZSlcbiAgICB0aGlzLm1vZGVsSWQgPSBxdWVyeVBhcmFtcy5tb2RlbF9pZFxuICAgIHRoaXMubW9kZWxBcmdzID0ge31cbiAgICB0aGlzLm1vZGVsQXJnc1ttb2RlbElkVmFyTmFtZV0gPSB0aGlzLm1vZGVsSWRcbiAgICB0aGlzLnVzZVN0YXRlcyh7Zm9ybTogbnVsbH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZXMsIG1vZGVsfSA9IHRoaXMudHRcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBjb25zdCBleHRyYUNvbnRlbnQgPSB0aGlzLmNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uZXh0cmFDb250ZW50Y29uc3RcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyB0ZXN0SUQ9XCJzdXBlci1hZG1pbi0tZWRpdC1wYWdlXCI+XG4gICAgICAgIDxGb3JtIHNldEZvcm09e3RoaXMuc2V0U3RhdGVzLmZvcm19PlxuICAgICAgICAgIHttb2RlbCAmJiBhdHRyaWJ1dGVzPy5tYXAoKGF0dHJpYnV0ZSkgPT5cbiAgICAgICAgICAgIDxFZGl0QXR0cmlidXRlIGF0dHJpYnV0ZT17YXR0cmlidXRlfSBrZXk9e2F0dHJpYnV0ZS5hdHRyaWJ1dGV9IG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtleHRyYUNvbnRlbnQgJiYgZXh0cmFDb250ZW50KG1vZGVsQXJncyl9XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vblN1Ym1pdH1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLnByZXNzYWJsZVN0eWxlIHx8PSB7XG4gICAgICAgICAgICAgIHBhZGRpbmdUb3A6IDE4LFxuICAgICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDI0LFxuICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiAxOCxcbiAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDI0LFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDEwLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiIzRjOTNmZlwiLFxuICAgICAgICAgICAgICBtYXJnaW5Ub3A6IDEwXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGVzdElEPVwic3VibWl0LWJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuYnV0dG9uVGV4dFN0eWxlIHx8PSB7Y29sb3I6IFwiI2ZmZlwifX0+XG4gICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25TdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnR0XG4gICAgICBjb25zdCBmb3JtT2JqZWN0ID0gdGhpcy5zLmZvcm0uYXNPYmplY3QoKVxuXG4gICAgICBtb2RlbC5hc3NpZ25BdHRyaWJ1dGVzKGZvcm1PYmplY3QpXG4gICAgICBhd2FpdCBtb2RlbC5zYXZlKClcbiAgICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMoe21vZGU6IHVuZGVmaW5lZCwgbW9kZWxfaWQ6IG1vZGVsLmlkKCl9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3JSZXNwb25zZShlcnJvcilcbiAgICB9XG4gIH1cbn0pKVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wYWdlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9lZGl0LXBhZ2UuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE0QztBQUM1Qyw2RUFBZ0Q7QUFDaEQsb0VBQTBDO0FBQzFDLHlDQUE4QjtBQUM5QixnRkFBc0Q7QUFDdEQsNkRBQXNEO0FBQ3RELGtDQUE0QjtBQUM1Qix1REFBd0M7QUFDeEMsbUJBQW1CO0FBQ25CLDZEQUFvQztBQUNwQyw4RUFBa0Q7QUFDbEQsNkRBQWlDO0FBQ2pDLDREQUFrQztBQUNsQyx3RUFBNkM7QUFDN0Msa0RBQXlCO0FBQ3pCLG1GQUF5RTtBQUN6RSx5REFBZ0M7QUFDaEMsaUZBQW1EO0FBQ25ELG1FQUFzQztBQUN0Qyx3R0FBMEU7QUFFMUUsa0JBQWUsSUFBQSxpQkFBSSxFQUFDLElBQUEsbUNBQWMsRUFBQyxNQUFNLDBCQUEyQixTQUFRLDJCQUFhO0lBQ3ZGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBQSwwQkFBYyxFQUFDO1FBQ2hDLFVBQVUsRUFBRSxvQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFVO0tBQ3RDLENBQUMsQ0FBQTtJQUVGLEtBQUs7UUFDSCxNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUMzQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFBO1FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsaUJBQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsdUJBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDckQsTUFBTSxXQUFXLEdBQUcsSUFBQSw2QkFBYyxHQUFFLENBQUE7UUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBQSw2QkFBYyxHQUFFLENBQUE7UUFD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OUQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZix3Q0FBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCBDb25maWdSZWFkZXIgZnJvbSBcIi4vY29uZmlnLXJlYWRlclwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEVkaXRBdHRyaWJ1dGUgZnJvbSBcIi4vZWRpdC1wYWdlL2VkaXQtYXR0cmlidXRlXCJcbmltcG9ydCB7Rmxhc2hOb3RpZmljYXRpb25zfSBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9uc1wiXG5pbXBvcnQge0Zvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0IExvY2FsZXMgZnJvbSBcInNoYXJlZC9sb2NhbGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuLi91c2UtY3VycmVudC11c2VyLmpzXCJcbmltcG9ydCB1c2VNb2RlbCBmcm9tIFwiLi4vdXNlLW1vZGVsLmpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5FZGl0UGFnZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG4gICAgY29uc3QgYXZhaWxhYmxlTG9jYWxlcyA9IExvY2FsZXMuYXZhaWxhYmxlTG9jYWxlcygpXG4gICAgdGhpcy5jb25maWdSZWFkZXIgPSBDb25maWdSZWFkZXIuZm9yTW9kZWwobW9kZWxDbGFzcylcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKClcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcbiAgICBjb25zdCBzZWxlY3RlZE1vZGVsQXR0cmlidXRlcyA9IFtcImlkXCJdXG4gICAgY29uc3Qgc2VsZWN0ZWRBdHRyaWJ1dGVzID0ge31cbiAgICB0aGlzLmF0dHJpYnV0ZXMgPSB0aGlzLmNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uYXR0cmlidXRlc1xuXG4gICAgaWYgKCF0aGlzLmF0dHJpYnV0ZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gJ2F0dHJpYnV0ZXMnIGdpdmVuIGZyb20gZWRpdCBjb25maWcgZm9yICR7bW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiB0aGlzLmF0dHJpYnV0ZXMpIHtcbiAgICAgIGlmIChhdHRyaWJ1dGUudHJhbnNsYXRlZCkge1xuICAgICAgICBmb3IgKGNvbnN0IGxvY2FsZSBvZiBhdmFpbGFibGVMb2NhbGVzKSB7XG4gICAgICAgICAgc2VsZWN0ZWRNb2RlbEF0dHJpYnV0ZXMucHVzaChgJHthdHRyaWJ1dGUuYXR0cmlidXRlfSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShsb2NhbGUpfWApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGVkTW9kZWxBdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlLmF0dHJpYnV0ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZEF0dHJpYnV0ZXNbbW9kZWxDbGFzc05hbWVdID0gc2VsZWN0ZWRNb2RlbEF0dHJpYnV0ZXNcblxuICAgIGNvbnN0IHVzZU1vZGVsUmVzdWx0ID0gdXNlTW9kZWwobW9kZWxDbGFzcywge1xuICAgICAgY2FjaGVBcmdzOiBbY3VycmVudFVzZXI/LmlkKCldLFxuICAgICAgbG9hZEJ5UXVlcnlQYXJhbTogKHByb3BzKSA9PiBwcm9wcy5xdWVyeVBhcmFtcy5tb2RlbF9pZCxcbiAgICAgIG5ld0lmTm9JZDogdGhpcy5jb25maWdSZWFkZXIubW9kZWxDb25maWc/LmVkaXQ/Lm5ld0lmTm9JZCB8fCB0cnVlLFxuICAgICAgcHJlbG9hZDogdGhpcy5jb25maWdSZWFkZXIubW9kZWxDb25maWc/LmVkaXQ/LnByZWxvYWQsXG4gICAgICBzZWxlY3Q6IHNlbGVjdGVkQXR0cmlidXRlc1xuICAgIH0pXG5cbiAgICBjb25zdCBtb2RlbElkVmFyTmFtZSA9IGAke2luZmxlY3Rpb24uY2FtZWxpemUobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIHRydWUpfUlkYFxuICAgIGNvbnN0IG1vZGVsVmFyTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIHRydWUpXG5cbiAgICB0aGlzLm1vZGVsID0gZGlnZyh1c2VNb2RlbFJlc3VsdCwgbW9kZWxWYXJOYW1lKVxuICAgIHRoaXMubW9kZWxJZCA9IHF1ZXJ5UGFyYW1zLm1vZGVsX2lkXG4gICAgdGhpcy5tb2RlbEFyZ3MgPSB7fVxuICAgIHRoaXMubW9kZWxBcmdzW21vZGVsSWRWYXJOYW1lXSA9IHRoaXMubW9kZWxJZFxuICAgIHRoaXMudXNlU3RhdGVzKHtmb3JtOiBudWxsfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbW9kZWx9ID0gdGhpcy50dFxuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGNvbnN0IGV4dHJhQ29udGVudCA9IHRoaXMuY29uZmlnUmVhZGVyLm1vZGVsQ29uZmlnPy5lZGl0Py5leHRyYUNvbnRlbnRjb25zdFxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD1cInN1cGVyLWFkbWluLS1lZGl0LXBhZ2VcIj5cbiAgICAgICAgPEZvcm0gc2V0Rm9ybT17dGhpcy5zZXRTdGF0ZXMuZm9ybX0+XG4gICAgICAgICAge21vZGVsICYmIGF0dHJpYnV0ZXM/Lm1hcCgoYXR0cmlidXRlKSA9PlxuICAgICAgICAgICAgPEVkaXRBdHRyaWJ1dGUgYXR0cmlidXRlPXthdHRyaWJ1dGV9IGtleT17YXR0cmlidXRlLmF0dHJpYnV0ZX0gbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2V4dHJhQ29udGVudCAmJiBleHRyYUNvbnRlbnQobW9kZWxBcmdzKX1cbiAgICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uU3VibWl0fVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMucHJlc3NhYmxlU3R5bGUgfHw9IHtcbiAgICAgICAgICAgICAgcGFkZGluZ1RvcDogMTgsXG4gICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogMjQsXG4gICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206IDE4LFxuICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogMjQsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogMTAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjNGM5M2ZmXCIsXG4gICAgICAgICAgICAgIG1hcmdpblRvcDogMTBcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0ZXN0SUQ9XCJzdWJtaXQtYnV0dG9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VGV4dCBzdHlsZT17dGhpcy5idXR0b25UZXh0U3R5bGUgfHw9IHtjb2xvcjogXCIjZmZmXCJ9fT5cbiAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qge21vZGVsfSA9IHRoaXMudHRcbiAgICAgIGNvbnN0IGZvcm1PYmplY3QgPSB0aGlzLnMuZm9ybS5hc09iamVjdCgpXG5cbiAgICAgIG1vZGVsLmFzc2lnbkF0dHJpYnV0ZXMoZm9ybU9iamVjdClcbiAgICAgIGF3YWl0IG1vZGVsLnNhdmUoKVxuICAgICAgUGFyYW1zLmNoYW5nZVBhcmFtcyh7bW9kZTogdW5kZWZpbmVkLCBtb2RlbF9pZDogbW9kZWwuaWQoKX0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const config_reader_js_1 = __importDefault(require("./config-reader.js"));
|
|
2
7
|
const hasEditConfig = (modelClass) => {
|
|
3
|
-
const configReader =
|
|
8
|
+
const configReader = config_reader_js_1.default.forModel(modelClass);
|
|
4
9
|
const extraContent = configReader.modelConfig?.edit?.extraContentconst;
|
|
5
10
|
const attributes = configReader.modelConfig?.edit?.attributes;
|
|
6
11
|
if (attributes || extraContent) {
|
|
@@ -8,5 +13,5 @@ const hasEditConfig = (modelClass) => {
|
|
|
8
13
|
}
|
|
9
14
|
return false;
|
|
10
15
|
};
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
exports.default = hasEditConfig;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWVkaXQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9oYXMtZWRpdC1jb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwRUFBNkM7QUFFN0MsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUNuQyxNQUFNLFlBQVksR0FBRywwQkFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQTtJQUN0RSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUE7SUFFN0QsSUFBSSxVQUFVLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxrQkFBZSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29uZmlnUmVhZGVyIGZyb20gXCIuL2NvbmZpZy1yZWFkZXIuanNcIlxuXG5jb25zdCBoYXNFZGl0Q29uZmlnID0gKG1vZGVsQ2xhc3MpID0+IHtcbiAgY29uc3QgY29uZmlnUmVhZGVyID0gQ29uZmlnUmVhZGVyLmZvck1vZGVsKG1vZGVsQ2xhc3MpXG4gIGNvbnN0IGV4dHJhQ29udGVudCA9IGNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uZXh0cmFDb250ZW50Y29uc3RcbiAgY29uc3QgYXR0cmlidXRlcyA9IGNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uZWRpdD8uYXR0cmlidXRlc1xuXG4gIGlmIChhdHRyaWJ1dGVzIHx8IGV4dHJhQ29udGVudCkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgaGFzRWRpdENvbmZpZ1xuIl19
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const base_component_js_1 = __importDefault(require("../base-component.js"));
|
|
8
|
+
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
9
|
+
const model_class_table_1 = __importDefault(require("./model-class-table"));
|
|
10
|
+
const prop_types_1 = __importDefault(require("prop-types"));
|
|
11
|
+
const react_1 = __importDefault(require("react"));
|
|
12
|
+
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
13
|
+
const react_native_1 = require("react-native");
|
|
14
|
+
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdminIndexPage extends base_component_js_1.default {
|
|
10
15
|
static propTypes = {
|
|
11
|
-
modelClass:
|
|
16
|
+
modelClass: prop_types_1.default.func.isRequired
|
|
12
17
|
};
|
|
13
18
|
render() {
|
|
14
19
|
const { modelClass } = this.props;
|
|
15
|
-
return (
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { testID: "super-admin/index-page", children: (0, jsx_runtime_1.jsx)(model_class_table_1.default, { modelClass: modelClass }) }));
|
|
16
21
|
}
|
|
17
22
|
}));
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtcGFnZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vaW5kZXgtcGFnZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkVBQWdEO0FBQ2hELDhFQUFrRDtBQUNsRCw0RUFBaUQ7QUFDakQsNERBQWtDO0FBQ2xDLGtEQUF5QjtBQUN6QixtRkFBeUU7QUFDekUsK0NBQWlDO0FBRWpDLGtCQUFlLElBQUEsaUJBQUksRUFBQyxJQUFBLG1DQUFjLEVBQUMsTUFBTSwyQkFBNEIsU0FBUSwyQkFBYTtJQUN4RixNQUFNLENBQUMsU0FBUyxHQUFHO1FBQ2pCLFVBQVUsRUFBRSxvQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFVO0tBQ3RDLENBQUE7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFFL0IsT0FBTyxDQUNMLHVCQUFDLG1CQUFJLElBQUMsTUFBTSxFQUFDLHdCQUF3QixZQUNuQyx1QkFBQywyQkFBZSxJQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUksR0FDdEMsQ0FDUixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBNb2RlbENsYXNzVGFibGUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtdGFibGVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5JbmRleFBhZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD1cInN1cGVyLWFkbWluL2luZGV4LXBhZ2VcIj5cbiAgICAgICAgPE1vZGVsQ2xhc3NUYWJsZSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSAvPlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxufSkpXG4iXX0=
|
|
@@ -1,28 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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_1 = __importStar(require("react"));
|
|
41
|
+
const react_native_1 = require("react-native");
|
|
42
|
+
const base_component_js_1 = __importDefault(require("../base-component.js"));
|
|
43
|
+
const config_reader_js_1 = __importDefault(require("./config-reader.js"));
|
|
44
|
+
const edit_page_1 = __importDefault(require("./edit-page"));
|
|
45
|
+
const flash_notifications_js_1 = __importDefault(require("flash-notifications/build/flash-notifications.js"));
|
|
46
|
+
const has_edit_config_js_1 = __importDefault(require("./has-edit-config.js"));
|
|
47
|
+
const index_page_1 = __importDefault(require("./index-page"));
|
|
48
|
+
const index_1 = __importDefault(require("./layout/index"));
|
|
49
|
+
const link_1 = __importDefault(require("../link"));
|
|
50
|
+
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
13
51
|
// @ts-expect-error
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const styles = StyleSheet.create({
|
|
52
|
+
const models = __importStar(require("models.js"));
|
|
53
|
+
const params_js_1 = __importDefault(require("../params.js"));
|
|
54
|
+
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
55
|
+
const index_2 = __importDefault(require("./show-page/index"));
|
|
56
|
+
const show_reflection_actions_1 = __importDefault(require("./show-reflection-actions"));
|
|
57
|
+
const show_reflection_page_1 = __importDefault(require("./show-reflection-page"));
|
|
58
|
+
const text_1 = __importDefault(require("../utils/text"));
|
|
59
|
+
const use_can_can_js_1 = __importDefault(require("../use-can-can.js"));
|
|
60
|
+
const use_current_user_js_1 = __importDefault(require("../use-current-user.js"));
|
|
61
|
+
const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
|
|
62
|
+
const use_styles_js_1 = __importDefault(require("../use-styles.js"));
|
|
63
|
+
const styles = react_native_1.StyleSheet.create({
|
|
26
64
|
actionsView: {
|
|
27
65
|
flexDirection: "row",
|
|
28
66
|
alignItems: "center"
|
|
@@ -40,20 +78,20 @@ const styles = StyleSheet.create({
|
|
|
40
78
|
marginRight: 10
|
|
41
79
|
}
|
|
42
80
|
});
|
|
43
|
-
|
|
81
|
+
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdmin extends base_component_js_1.default {
|
|
44
82
|
setup() {
|
|
45
|
-
this.queryParams =
|
|
83
|
+
this.queryParams = (0, use_query_params_js_1.default)();
|
|
46
84
|
if (this.queryParams.model) {
|
|
47
85
|
this.modelClass = models[this.queryParams.model];
|
|
48
86
|
}
|
|
49
87
|
else {
|
|
50
88
|
this.modelClass = null;
|
|
51
89
|
}
|
|
52
|
-
this.configReader = useMemo(() => this.modelClass &&
|
|
90
|
+
this.configReader = (0, react_1.useMemo)(() => this.modelClass && config_reader_js_1.default.forModel(this.modelClass), [this.modelClass]);
|
|
53
91
|
this.modelId = this.queryParams.model_id;
|
|
54
92
|
this.modelName = this.modelClass?.modelClassData()?.name;
|
|
55
|
-
this.currentUser =
|
|
56
|
-
this.canCan =
|
|
93
|
+
this.currentUser = (0, use_current_user_js_1.default)();
|
|
94
|
+
this.canCan = (0, use_can_can_js_1.default)(() => {
|
|
57
95
|
const abilities = [];
|
|
58
96
|
if (this.modelClass)
|
|
59
97
|
abilities.push([this.modelClass, ["new"]]);
|
|
@@ -62,7 +100,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponen
|
|
|
62
100
|
this.useStates({
|
|
63
101
|
model: undefined
|
|
64
102
|
});
|
|
65
|
-
useMemo(() => { this.loadModel(); }, [this.modelId]);
|
|
103
|
+
(0, react_1.useMemo)(() => { this.loadModel(); }, [this.modelId]);
|
|
66
104
|
}
|
|
67
105
|
loadModel = async () => {
|
|
68
106
|
const { configReader, modelClass, modelId, modelName } = this.tt;
|
|
@@ -106,19 +144,19 @@ export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponen
|
|
|
106
144
|
else {
|
|
107
145
|
pageToShow = "welcome";
|
|
108
146
|
}
|
|
109
|
-
const actionsViewStyle =
|
|
110
|
-
const actions = useMemo(() =>
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
147
|
+
const actionsViewStyle = (0, use_styles_js_1.default)(styles, "actionsView");
|
|
148
|
+
const actions = (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: actionsViewStyle, children: [model && modelConfigActions && modelConfigActions({ model }), modelClass && pageToShow == "index" &&
|
|
149
|
+
(0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: canCan?.can("new", modelClass) && (0, has_edit_config_js_1.default)(modelClass) &&
|
|
150
|
+
(0, jsx_runtime_1.jsx)(link_1.default, { dataSet: { class: "create-new-model-link" }, style: styles.createNewModelLink, to: params_js_1.default.withParams({ model: modelName, mode: "new" }), children: (0, jsx_runtime_1.jsx)(text_1.default, { children: "Create new" }) }) }), model && pageToShow == "show" &&
|
|
151
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [model.can("edit") && (0, has_edit_config_js_1.default)(modelClass) &&
|
|
152
|
+
(0, jsx_runtime_1.jsx)(link_1.default, { dataSet: { class: "edit-model-link" }, style: styles.editModelLink, to: params_js_1.default.withParams({ model: modelName, model_id: modelId, mode: "edit" }), children: (0, jsx_runtime_1.jsx)(text_1.default, { children: "Edit" }) }), model.can("destroy") &&
|
|
153
|
+
(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { dataSet: { class: "destroy-model-link" }, onPress: this.tt.onDestroyClicked, style: styles.destroyModelLink, children: (0, jsx_runtime_1.jsx)(text_1.default, { children: "Delete" }) })] }), pageToShow == "show_reflection" &&
|
|
154
|
+
(0, jsx_runtime_1.jsx)(show_reflection_actions_1.default, { model: model, modelClass: modelClass, reflectionName: queryParams.model_reflection })] }), [canCan, configReader?.actions, model, modelClass, pageToShow]);
|
|
155
|
+
return ((0, jsx_runtime_1.jsxs)(index_1.default, { actions: actions, active: queryParams.model, headerTitle: modelClass?.modelName()?.human({ count: 2 }), children: [pageToShow == "index" &&
|
|
156
|
+
(0, jsx_runtime_1.jsx)(index_page_1.default, { modelClass: modelClass }, `index-page-${modelName}`), pageToShow == "show" &&
|
|
157
|
+
(0, jsx_runtime_1.jsx)(index_2.default, { modelClass: modelClass, modelId: modelId }, `show-page-${modelName}-${modelId}`), pageToShow == "show_reflection" &&
|
|
158
|
+
(0, jsx_runtime_1.jsx)(show_reflection_page_1.default, { modelClass: modelClass, modelId: modelId }, `show-reflection-page-${modelName}-${modelId}`), pageToShow == "edit" &&
|
|
159
|
+
(0, jsx_runtime_1.jsx)(edit_page_1.default, { modelClass: modelClass }, `edit-page-${modelName}-${modelId}`)] }));
|
|
122
160
|
}
|
|
123
161
|
onDestroyClicked = async () => {
|
|
124
162
|
if (!confirm("Are you sure?")) {
|
|
@@ -126,11 +164,11 @@ export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponen
|
|
|
126
164
|
}
|
|
127
165
|
try {
|
|
128
166
|
await this.s.model.destroy();
|
|
129
|
-
|
|
167
|
+
params_js_1.default.changeParams({ mode: undefined, model_id: undefined });
|
|
130
168
|
}
|
|
131
169
|
catch (error) {
|
|
132
|
-
|
|
170
|
+
flash_notifications_js_1.default.errorResponse(error);
|
|
133
171
|
}
|
|
134
172
|
};
|
|
135
173
|
}));
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3hELE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLGtCQUFrQixNQUFNLGtEQUFrRCxDQUFBO0FBQ2pGLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQTtBQUNwQyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLElBQUksTUFBTSxTQUFTLENBQUE7QUFDMUIsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxxQkFBcUIsTUFBTSwyQkFBMkIsQ0FBQTtBQUM3RCxPQUFPLGtCQUFrQixNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sSUFBSSxNQUFNLGVBQWUsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxtQkFBbUIsQ0FBQTtBQUN6QyxPQUFPLGNBQWMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNuRCxPQUFPLGNBQWMsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMxRSxPQUFPLFNBQVMsTUFBTSxrQkFBa0Is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QjtvQkFDOUIsS0FBQyxrQkFBa0IsSUFFakIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsT0FBTyxFQUFFLE9BQU8sSUFGWCx3QkFBd0IsU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUduRCxFQUVILFVBQVUsSUFBSSxNQUFNO29CQUNuQixLQUFDLFFBQVEsSUFFUCxVQUFVLEVBQUUsVUFBVSxJQURqQixhQUFhLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FFeEMsSUFFRyxDQUNWLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU07UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUU1QixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3RCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFN0eWxlU2hlZXQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCBDb25maWdSZWFkZXIgZnJvbSBcIi4vY29uZmlnLXJlYWRlci5qc1wiXG5pbXBvcnQgRWRpdFBhZ2UgZnJvbSBcIi4vZWRpdC1wYWdlXCJcbmltcG9ydCBGbGFzaE5vdGlmaWNhdGlvbnMgZnJvbSBcImZsYXNoLW5vdGlmaWNhdGlvbnMvYnVpbGQvZmxhc2gtbm90aWZpY2F0aW9ucy5qc1wiXG5pbXBvcnQgaGFzRWRpdENvbmZpZyBmcm9tIFwiLi9oYXMtZWRpdC1jb25maWcuanNcIlxuaW1wb3J0IEluZGV4UGFnZSBmcm9tIFwiLi9pbmRleC1wYWdlXCJcbmltcG9ydCBMYXlvdXQgZnJvbSBcIi4vbGF5b3V0L2luZGV4XCJcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9saW5rXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbi8vIEB0cy1leHBlY3QtZXJyb3JcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tIFwibW9kZWxzLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uL3BhcmFtcy5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTaG93UGFnZSBmcm9tIFwiLi9zaG93LXBhZ2UvaW5kZXhcIlxuaW1wb3J0IFNob3dSZWZsZWN0aW9uQWN0aW9ucyBmcm9tIFwiLi9zaG93LXJlZmxlY3Rpb24tYWN0aW9uc1wiXG5pbXBvcnQgU2hvd1JlZmxlY3Rpb25QYWdlIGZyb20gXCIuL3Nob3ctcmVmbGVjdGlvbi1wYWdlXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VDYW5DYW4gZnJvbSBcIi4uL3VzZS1jYW4tY2FuLmpzXCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgdXNlUXVlcnlQYXJhbXMgZnJvbSBcIm9uLWxvY2F0aW9uLWNoYW5nZWQvYnVpbGQvdXNlLXF1ZXJ5LXBhcmFtcy5qc1wiXG5pbXBvcnQgdXNlU3R5bGVzIGZyb20gXCIuLi91c2Utc3R5bGVzLmpzXCJcblxuY29uc3Qgc3R5bGVzID0gU3R5bGVTaGVldC5jcmVhdGUoe1xuICBhY3Rpb25zVmlldzoge1xuICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIlxuICB9LFxuICBjcmVhdGVOZXdNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfSxcbiAgZGVzdHJveU1vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9LFxuICBlZGl0TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH1cbn0pXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG5cbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbENsYXNzID0gbW9kZWxzW3RoaXMucXVlcnlQYXJhbXMubW9kZWxdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWxDbGFzcyA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ1JlYWRlciA9IHVzZU1lbW8oKCkgPT4gdGhpcy5tb2RlbENsYXNzICYmIENvbmZpZ1JlYWRlci5mb3JNb2RlbCh0aGlzLm1vZGVsQ2xhc3MpLCBbdGhpcy5tb2RlbENsYXNzXSlcbiAgICB0aGlzLm1vZGVsSWQgPSB0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsX2lkXG4gICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLm1vZGVsQ2xhc3M/Lm1vZGVsQ2xhc3NEYXRhKCk/Lm5hbWVcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gICAgdGhpcy5jYW5DYW4gPSB1c2VDYW5DYW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFiaWxpdGllcyA9IFtdXG5cbiAgICAgICAgaWYgKHRoaXMubW9kZWxDbGFzcykgYWJpbGl0aWVzLnB1c2goW3RoaXMubW9kZWxDbGFzcywgW1wibmV3XCJdXSlcblxuICAgICAgICByZXR1cm4gYWJpbGl0aWVzXG4gICAgICB9LFxuICAgICAgW3RoaXMuY3VycmVudFVzZXI/LmlkKCksIHRoaXMubW9kZWxDbGFzc11cbiAgICApXG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBtb2RlbDogdW5kZWZpbmVkXG4gICAgfSlcbiAgICB1c2VNZW1vKFxuICAgICAgKCkgPT4geyB0aGlzLmxvYWRNb2RlbCgpIH0sXG4gICAgICBbdGhpcy5tb2RlbElkXVxuICAgIClcbiAgfVxuXG4gIGxvYWRNb2RlbCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7Y29uZmlnUmVhZGVyLCBtb2RlbENsYXNzLCBtb2RlbElkLCBtb2RlbE5hbWV9ID0gdGhpcy50dFxuXG4gICAgaWYgKG1vZGVsSWQgJiYgbW9kZWxDbGFzcykge1xuICAgICAgY29uc3QgYWJpbGl0aWVzID0ge31cbiAgICAgIGNvbnN0IGFiaWxpdGllc0Zvck1vZGVsID0gW1wiZGVzdHJveVwiLCBcImVkaXRcIl1cbiAgICAgIGNvbnN0IGxheW91dFNlbGVjdCA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmxheW91dD8uc2VsZWN0XG5cbiAgICAgIGFiaWxpdGllc1ttb2RlbE5hbWVdID0gYWJpbGl0aWVzRm9yTW9kZWxcblxuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBtb2RlbENsYXNzXG4gICAgICAgIC5yYW5zYWNrKHtpZF9lcTogbW9kZWxJZH0pXG4gICAgICAgIC5hYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgICBpZiAobGF5b3V0U2VsZWN0KSBxdWVyeS5zZWxlY3QobGF5b3V0U2VsZWN0KVxuXG4gICAgICBjb25zdCBtb2RlbCA9IGF3YWl0IHF1ZXJ5LmZpcnN0KClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7bW9kZWx9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHttb2RlbDogdW5kZWZpbmVkfSlcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NhbkNhbiwgY29uZmlnUmVhZGVyLCBtb2RlbENsYXNzLCBtb2RlbElkLCBtb2RlbE5hbWUsIHF1ZXJ5UGFyYW1zfSA9IHRoaXMudHRcbiAgICBjb25zdCB7bW9kZWx9ID0gdGhpcy5zXG4gICAgY29uc3QgbW9kZWxDb25maWdBY3Rpb25zID0gY29uZmlnUmVhZGVyPy5tb2RlbENvbmZpZz8uYWN0aW9uc1xuICAgIGxldCBwYWdlVG9TaG93XG5cbiAgICBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZWxfaWQgJiYgcXVlcnlQYXJhbXMubW9kZWxfcmVmbGVjdGlvbikge1xuICAgICAgcGFnZVRvU2hvdyA9IFwic2hvd19yZWZsZWN0aW9uXCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkICYmIHF1ZXJ5UGFyYW1zLm1vZGUgPT0gXCJlZGl0XCIpIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcImVkaXRcIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZWxfaWQpIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcInNob3dcIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZSA9PSBcIm5ld1wiKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJlZGl0XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJpbmRleFwiXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcIndlbGNvbWVcIlxuICAgIH1cblxuICAgIGNvbnN0IGFjdGlvbnNWaWV3U3R5bGUgPSB1c2VTdHlsZXMoc3R5bGVzLCBcImFjdGlvbnNWaWV3XCIpXG5cbiAgICBjb25zdCBhY3Rpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+IDxWaWV3IHN0eWxlPXthY3Rpb25zVmlld1N0eWxlfT5cbiAgICAgICAge21vZGVsICYmIG1vZGVsQ29uZmlnQWN0aW9ucyAmJiBtb2RlbENvbmZpZ0FjdGlvbnMoe21vZGVsfSl9XG4gICAgICAgIHttb2RlbENsYXNzICYmIHBhZ2VUb1Nob3cgPT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtjYW5DYW4/LmNhbihcIm5ld1wiLCBtb2RlbENsYXNzKSAmJiBoYXNFZGl0Q29uZmlnKG1vZGVsQ2xhc3MpICYmXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmNyZWF0ZU5ld01vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGU6IFwibmV3XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgQ3JlYXRlIG5ld1xuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHttb2RlbCAmJiBwYWdlVG9TaG93ID09IFwic2hvd1wiICYmXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJlZGl0XCIpICYmIGhhc0VkaXRDb25maWcobW9kZWxDbGFzcykgJiZcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXt7Y2xhc3M6IFwiZWRpdC1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZWRpdE1vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGVsX2lkOiBtb2RlbElkLCBtb2RlOiBcImVkaXRcIn0pfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICBFZGl0XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7bW9kZWwuY2FuKFwiZGVzdHJveVwiKSAmJlxuICAgICAgICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcImRlc3Ryb3ktbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uRGVzdHJveUNsaWNrZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5kZXN0cm95TW9kZWxMaW5rfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICBEZWxldGVcbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25BY3Rpb25zIG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gcmVmbGVjdGlvbk5hbWU9e3F1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb259IC8+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz4sXG4gICAgICBbY2FuQ2FuLCBjb25maWdSZWFkZXI/LmFjdGlvbnMsIG1vZGVsLCBtb2RlbENsYXNzLCBwYWdlVG9TaG93XVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8TGF5b3V0IGFjdGlvbnM9e2FjdGlvbnN9IGFjdGl2ZT17cXVlcnlQYXJhbXMubW9kZWx9IGhlYWRlclRpdGxlPXttb2RlbENsYXNzPy5tb2RlbE5hbWUoKT8uaHVtYW4oe2NvdW50OiAyfSl9PlxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcImluZGV4XCIgJiZcbiAgICAgICAgICA8SW5kZXhQYWdlXG4gICAgICAgICAgICBrZXk9e2BpbmRleC1wYWdlLSR7bW9kZWxOYW1lfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93XCIgJiZcbiAgICAgICAgICA8U2hvd1BhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25QYWdlXG4gICAgICAgICAgICBrZXk9e2BzaG93LXJlZmxlY3Rpb24tcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiZWRpdFwiICYmXG4gICAgICAgICAgPEVkaXRQYWdlXG4gICAgICAgICAgICBrZXk9e2BlZGl0LXBhZ2UtJHttb2RlbE5hbWV9LSR7bW9kZWxJZH1gfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17bW9kZWxDbGFzc31cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L0xheW91dD5cbiAgICApXG4gIH1cblxuICBvbkRlc3Ryb3lDbGlja2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZT9cIikpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnMubW9kZWwuZGVzdHJveSgpXG5cbiAgICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMoe21vZGU6IHVuZGVmaW5lZCwgbW9kZWxfaWQ6IHVuZGVmaW5lZH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBb0M7QUFDcEMsK0NBQXdEO0FBQ3hELDZFQUFnRDtBQUNoRCwwRUFBNkM7QUFDN0MsNERBQWtDO0FBQ2xDLDhHQUFpRjtBQUNqRiw4RUFBZ0Q7QUFDaEQsOERBQW9DO0FBQ3BDLDJEQUFtQztBQUNuQyxtREFBMEI7QUFDMUIsOEVBQWtEO0FBQ2xELG1CQUFtQjtBQUNuQixrREFBbUM7QUFDbkMsNkRBQWlDO0FBQ2pDLG1GQUF5RTtBQUN6RSw4REFBd0M7QUFDeEMsd0ZBQTZEO0FBQzdELGtGQUF1RDtBQUN2RCx5REFBZ0M7QUFDaEMsdUVBQXlDO0FBQ3pDLGlGQUFtRDtBQUNuRCx3R0FBMEU7QUFDMUUscUVBQXdDO0FBRXhDLE1BQU0sTUFBTSxHQUFHLHlCQUFVLENBQUMsTUFBTSxDQUFDO0lBQy9CLFdBQVcsRUFBRTtRQUNYLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsVUFBVSxFQUFFLEVBQUU7UUFDZCxXQUFXLEVBQUUsRUFBRTtLQUNoQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLFVBQVUsRUFBRSxFQUFFO1FBQ2QsV0FBVyxFQUFFLEVBQUU7S0FDaEI7SUFDRCxhQUFhLEVBQUU7UUFDYixVQUFVLEVBQUUsRUFBRTtRQUNkLFdBQVcsRUFBRSxFQUFFO0tBQ2hCO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsa0JBQWUsSUFBQSxpQkFBSSxFQUFDLElBQUEsbUNBQWMsRUFBQyxNQUFNLGtCQUFtQixTQUFRLDJCQUFhO0lBQy9FLEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUEsNkJBQWMsR0FBRSxDQUFBO1FBRW5DLElBQUksSUFBSSxDQUFD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QUMsT0FBTyxFQUFFLENBQUE7WUFFNUIsbUJBQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsZ0NBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgU3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi9jb25maWctcmVhZGVyLmpzXCJcbmltcG9ydCBFZGl0UGFnZSBmcm9tIFwiLi9lZGl0LXBhZ2VcIlxuaW1wb3J0IEZsYXNoTm90aWZpY2F0aW9ucyBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9ucy9idWlsZC9mbGFzaC1ub3RpZmljYXRpb25zLmpzXCJcbmltcG9ydCBoYXNFZGl0Q29uZmlnIGZyb20gXCIuL2hhcy1lZGl0LWNvbmZpZy5qc1wiXG5pbXBvcnQgSW5kZXhQYWdlIGZyb20gXCIuL2luZGV4LXBhZ2VcIlxuaW1wb3J0IExheW91dCBmcm9tIFwiLi9sYXlvdXQvaW5kZXhcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHMuanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vcGFyYW1zLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFNob3dQYWdlIGZyb20gXCIuL3Nob3ctcGFnZS9pbmRleFwiXG5pbXBvcnQgU2hvd1JlZmxlY3Rpb25BY3Rpb25zIGZyb20gXCIuL3Nob3ctcmVmbGVjdGlvbi1hY3Rpb25zXCJcbmltcG9ydCBTaG93UmVmbGVjdGlvblBhZ2UgZnJvbSBcIi4vc2hvdy1yZWZsZWN0aW9uLXBhZ2VcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUNhbkNhbiBmcm9tIFwiLi4vdXNlLWNhbi1jYW4uanNcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuLi91c2UtY3VycmVudC11c2VyLmpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcbmltcG9ydCB1c2VTdHlsZXMgZnJvbSBcIi4uL3VzZS1zdHlsZXMuanNcIlxuXG5jb25zdCBzdHlsZXMgPSBTdHlsZVNoZWV0LmNyZWF0ZSh7XG4gIGFjdGlvbnNWaWV3OiB7XG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiXG4gIH0sXG4gIGNyZWF0ZU5ld01vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9LFxuICBkZXN0cm95TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH0sXG4gIGVkaXRNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfVxufSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcblxuICAgIGlmICh0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsQ2xhc3MgPSBtb2RlbHNbdGhpcy5xdWVyeVBhcmFtcy5tb2RlbF1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbENsYXNzID0gbnVsbFxuICAgIH1cblxuICAgIHRoaXMuY29uZmlnUmVhZGVyID0gdXNlTWVtbygoKSA9PiB0aGlzLm1vZGVsQ2xhc3MgJiYgQ29uZmlnUmVhZGVyLmZvck1vZGVsKHRoaXMubW9kZWxDbGFzcyksIFt0aGlzLm1vZGVsQ2xhc3NdKVxuICAgIHRoaXMubW9kZWxJZCA9IHRoaXMucXVlcnlQYXJhbXMubW9kZWxfaWRcbiAgICB0aGlzLm1vZGVsTmFtZSA9IHRoaXMubW9kZWxDbGFzcz8ubW9kZWxDbGFzc0RhdGEoKT8ubmFtZVxuICAgIHRoaXMuY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG5cbiAgICB0aGlzLmNhbkNhbiA9IHVzZUNhbkNhbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgYWJpbGl0aWVzID0gW11cblxuICAgICAgICBpZiAodGhpcy5tb2RlbENsYXNzKSBhYmlsaXRpZXMucHVzaChbdGhpcy5tb2RlbENsYXNzLCBbXCJuZXdcIl1dKVxuXG4gICAgICAgIHJldHVybiBhYmlsaXRpZXNcbiAgICAgIH0sXG4gICAgICBbdGhpcy5jdXJyZW50VXNlcj8uaWQoKSwgdGhpcy5tb2RlbENsYXNzXVxuICAgIClcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIG1vZGVsOiB1bmRlZmluZWRcbiAgICB9KVxuICAgIHVzZU1lbW8oXG4gICAgICAoKSA9PiB7IHRoaXMubG9hZE1vZGVsKCkgfSxcbiAgICAgIFt0aGlzLm1vZGVsSWRdXG4gICAgKVxuICB9XG5cbiAgbG9hZE1vZGVsID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtjb25maWdSZWFkZXIsIG1vZGVsQ2xhc3MsIG1vZGVsSWQsIG1vZGVsTmFtZX0gPSB0aGlzLnR0XG5cbiAgICBpZiAobW9kZWxJZCAmJiBtb2RlbENsYXNzKSB7XG4gICAgICBjb25zdCBhYmlsaXRpZXMgPSB7fVxuICAgICAgY29uc3QgYWJpbGl0aWVzRm9yTW9kZWwgPSBbXCJkZXN0cm95XCIsIFwiZWRpdFwiXVxuICAgICAgY29uc3QgbGF5b3V0U2VsZWN0ID0gY29uZmlnUmVhZGVyPy5tb2RlbENvbmZpZz8ubGF5b3V0Py5zZWxlY3RcblxuICAgICAgYWJpbGl0aWVzW21vZGVsTmFtZV0gPSBhYmlsaXRpZXNGb3JNb2RlbFxuXG4gICAgICBjb25zdCBxdWVyeSA9IGF3YWl0IG1vZGVsQ2xhc3NcbiAgICAgICAgLnJhbnNhY2soe2lkX2VxOiBtb2RlbElkfSlcbiAgICAgICAgLmFiaWxpdGllcyhhYmlsaXRpZXMpXG5cbiAgICAgIGlmIChsYXlvdXRTZWxlY3QpIHF1ZXJ5LnNlbGVjdChsYXlvdXRTZWxlY3QpXG5cbiAgICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgcXVlcnkuZmlyc3QoKVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHttb2RlbH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe21vZGVsOiB1bmRlZmluZWR9KVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2FuQ2FuLCBjb25maWdSZWFkZXIsIG1vZGVsQ2xhc3MsIG1vZGVsSWQsIG1vZGVsTmFtZSwgcXVlcnlQYXJhbXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnNcbiAgICBjb25zdCBtb2RlbENvbmZpZ0FjdGlvbnMgPSBjb25maWdSZWFkZXI/Lm1vZGVsQ29uZmlnPy5hY3Rpb25zXG4gICAgbGV0IHBhZ2VUb1Nob3dcblxuICAgIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9pZCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9yZWZsZWN0aW9uKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJzaG93X3JlZmxlY3Rpb25cIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZWxfaWQgJiYgcXVlcnlQYXJhbXMubW9kZSA9PSBcImVkaXRcIikge1xuICAgICAgcGFnZVRvU2hvdyA9IFwiZWRpdFwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9pZCkge1xuICAgICAgcGFnZVRvU2hvdyA9IFwic2hvd1wiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlID09IFwibmV3XCIpIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcImVkaXRcIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwpIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcImluZGV4XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcGFnZVRvU2hvdyA9IFwid2VsY29tZVwiXG4gICAgfVxuXG4gICAgY29uc3QgYWN0aW9uc1ZpZXdTdHlsZSA9IHVzZVN0eWxlcyhzdHlsZXMsIFwiYWN0aW9uc1ZpZXdcIilcblxuICAgIGNvbnN0IGFjdGlvbnMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gPFZpZXcgc3R5bGU9e2FjdGlvbnNWaWV3U3R5bGV9PlxuICAgICAgICB7bW9kZWwgJiYgbW9kZWxDb25maWdBY3Rpb25zICYmIG1vZGVsQ29uZmlnQWN0aW9ucyh7bW9kZWx9KX1cbiAgICAgICAge21vZGVsQ2xhc3MgJiYgcGFnZVRvU2hvdyA9PSBcImluZGV4XCIgJiZcbiAgICAgICAgICA8PlxuICAgICAgICAgICAge2NhbkNhbj8uY2FuKFwibmV3XCIsIG1vZGVsQ2xhc3MpICYmIGhhc0VkaXRDb25maWcobW9kZWxDbGFzcykgJiZcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXt7Y2xhc3M6IFwiY3JlYXRlLW5ldy1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuY3JlYXRlTmV3TW9kZWxMaW5rfVxuICAgICAgICAgICAgICAgIHRvPXtQYXJhbXMud2l0aFBhcmFtcyh7bW9kZWw6IG1vZGVsTmFtZSwgbW9kZTogXCJuZXdcIn0pfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICBDcmVhdGUgbmV3XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgICAge21vZGVsICYmIHBhZ2VUb1Nob3cgPT0gXCJzaG93XCIgJiZcbiAgICAgICAgICA8PlxuICAgICAgICAgICAge21vZGVsLmNhbihcImVkaXRcIikgJiYgaGFzRWRpdENvbmZpZyhtb2RlbENsYXNzKSAmJlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3tjbGFzczogXCJlZGl0LW1vZGVsLWxpbmtcIn19XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5lZGl0TW9kZWxMaW5rfVxuICAgICAgICAgICAgICAgIHRvPXtQYXJhbXMud2l0aFBhcmFtcyh7bW9kZWw6IG1vZGVsTmFtZSwgbW9kZWxfaWQ6IG1vZGVsSWQsIG1vZGU6IFwiZWRpdFwifSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICAgIEVkaXRcbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJkZXN0cm95XCIpICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXt7Y2xhc3M6IFwiZGVzdHJveS1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZXN0cm95Q2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmRlc3Ryb3lNb2RlbExpbmt9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICAgIERlbGV0ZVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93X3JlZmxlY3Rpb25cIiAmJlxuICAgICAgICAgIDxTaG93UmVmbGVjdGlvbkFjdGlvbnMgbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSByZWZsZWN0aW9uTmFtZT17cXVlcnlQYXJhbXMubW9kZWxfcmVmbGVjdGlvbn0gLz5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PixcbiAgICAgIFtjYW5DYW4sIGNvbmZpZ1JlYWRlcj8uYWN0aW9ucywgbW9kZWwsIG1vZGVsQ2xhc3MsIHBhZ2VUb1Nob3ddXG4gICAgKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMYXlvdXQgYWN0aW9ucz17YWN0aW9uc30gYWN0aXZlPXtxdWVyeVBhcmFtcy5tb2RlbH0gaGVhZGVyVGl0bGU9e21vZGVsQ2xhc3M/Lm1vZGVsTmFtZSgpPy5odW1hbih7Y291bnQ6IDJ9KX0+XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDxJbmRleFBhZ2VcbiAgICAgICAgICAgIGtleT17YGluZGV4LXBhZ2UtJHttb2RlbE5hbWV9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDxTaG93UGFnZVxuICAgICAgICAgICAga2V5PXtgc2hvdy1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93X3JlZmxlY3Rpb25cIiAmJlxuICAgICAgICAgIDxTaG93UmVmbGVjdGlvblBhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcmVmbGVjdGlvbi1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJlZGl0XCIgJiZcbiAgICAgICAgICA8RWRpdFBhZ2VcbiAgICAgICAgICAgIGtleT17YGVkaXQtcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvTGF5b3V0PlxuICAgIClcbiAgfVxuXG4gIG9uRGVzdHJveUNsaWNrZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFjb25maXJtKFwiQXJlIHlvdSBzdXJlP1wiKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucy5tb2RlbC5kZXN0cm95KClcblxuICAgICAgUGFyYW1zLmNoYW5nZVBhcmFtcyh7bW9kZTogdW5kZWZpbmVkLCBtb2RlbF9pZDogdW5kZWZpbmVkfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
|