payload 2.19.3 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/elements/Autosave/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Autosave/index.js +96 -11
- package/dist/admin/components/elements/Collapsible/provider.js +3 -3
- package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.js +8 -5
- package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ListControls/index.js +3 -6
- package/dist/admin/components/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/admin/components/elements/SaveDraft/index.js +6 -6
- package/dist/admin/components/elements/TableColumns/buildColumns.d.ts.map +1 -1
- package/dist/admin/components/elements/TableColumns/buildColumns.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +58 -5
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +3 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +57 -5
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +3 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.js +3 -1
- package/dist/admin/components/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/index.js +21 -4
- package/dist/admin/components/elements/WhereBuilder/reducer.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/reducer.js +4 -2
- package/dist/admin/components/forms/Form/index.js +21 -21
- package/dist/admin/components/forms/Form/reduceFieldsToValuesWithValidation.d.ts +15 -0
- package/dist/admin/components/forms/Form/reduceFieldsToValuesWithValidation.d.ts.map +1 -0
- package/dist/admin/components/forms/Form/reduceFieldsToValuesWithValidation.js +38 -0
- package/dist/admin/components/utilities/LanguageWrap/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/LanguageWrap/index.js +7 -4
- package/dist/admin/components/utilities/LanguageWrap/index.scss +8 -0
- package/dist/admin/components/views/LivePreview/Device/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/Device/index.js +38 -11
- package/dist/admin/components/views/Version/Compare/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Compare/index.js +41 -23
- package/dist/admin/components/views/Version/Compare/types.d.ts +2 -1
- package/dist/admin/components/views/Version/Compare/types.d.ts.map +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +4 -2
- package/dist/admin/components/views/Version/Version.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Version.js +46 -11
- package/dist/admin/components/views/Versions/Default.d.ts.map +1 -1
- package/dist/admin/components/views/Versions/Default.js +3 -3
- package/dist/admin/components/views/Versions/cells/AutosaveCell.d.ts +10 -0
- package/dist/admin/components/views/Versions/cells/AutosaveCell.d.ts.map +1 -0
- package/dist/admin/components/views/Versions/cells/AutosaveCell.js +90 -0
- package/dist/admin/components/views/Versions/columns.d.ts +1 -1
- package/dist/admin/components/views/Versions/columns.d.ts.map +1 -1
- package/dist/admin/components/views/Versions/columns.js +11 -7
- package/dist/admin/components/views/Versions/index.d.ts.map +1 -1
- package/dist/admin/components/views/Versions/index.js +38 -1
- package/dist/admin/components/views/Versions/types.d.ts +2 -0
- package/dist/admin/components/views/Versions/types.d.ts.map +1 -1
- package/dist/admin/scss/app.scss +0 -7
- package/dist/admin/utilities/useResize.d.ts +1 -2
- package/dist/admin/utilities/useResize.d.ts.map +1 -1
- package/dist/admin/utilities/useResize.js +6 -7
- package/dist/auth/isLocked.d.ts.map +1 -1
- package/dist/auth/isLocked.js +5 -2
- package/dist/auth/operations/login.js +2 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +10 -6
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +3 -2
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +2 -2
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +2 -2
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +2 -2
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +10 -6
- package/dist/globals/config/schema.d.ts.map +1 -1
- package/dist/globals/config/schema.js +3 -2
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +2 -2
- package/dist/translations/ar.json +4 -1
- package/dist/translations/az.json +4 -1
- package/dist/translations/bg.json +4 -1
- package/dist/translations/cs.json +4 -1
- package/dist/translations/de.json +4 -1
- package/dist/translations/en.json +3 -0
- package/dist/translations/es.json +4 -1
- package/dist/translations/fa.json +4 -1
- package/dist/translations/fr.json +4 -1
- package/dist/translations/hr.json +4 -1
- package/dist/translations/hu.json +4 -1
- package/dist/translations/index.d.ts +95 -5
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/it.json +4 -1
- package/dist/translations/ja.json +4 -1
- package/dist/translations/ko.json +4 -1
- package/dist/translations/my.json +4 -1
- package/dist/translations/nb.json +4 -1
- package/dist/translations/nl.json +4 -1
- package/dist/translations/pl.json +4 -1
- package/dist/translations/pt.json +4 -1
- package/dist/translations/ro.json +4 -1
- package/dist/translations/rs-latin.json +4 -1
- package/dist/translations/rs.json +4 -1
- package/dist/translations/ru.json +4 -1
- package/dist/translations/sv.json +4 -1
- package/dist/translations/th.json +4 -1
- package/dist/translations/tr.json +8 -5
- package/dist/translations/translation-schema.json +9 -0
- package/dist/translations/ua.json +4 -1
- package/dist/translations/vi.json +4 -1
- package/dist/translations/zh-tw.json +4 -1
- package/dist/translations/zh.json +4 -1
- package/dist/uploads/cropImage.js +3 -3
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +19 -14
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +22 -12
- package/dist/versions/types.d.ts +2 -0
- package/dist/versions/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/admin/components/views/Version/shared.d.ts +0 -9
- package/dist/admin/components/views/Version/shared.d.ts.map +0 -1
- package/dist/admin/components/views/Version/shared.js +0 -28
|
@@ -54,9 +54,11 @@ const reducer = (state, action)=>{
|
|
|
54
54
|
undefined
|
|
55
55
|
];
|
|
56
56
|
if (operator) {
|
|
57
|
+
const existingOperator = Object.keys(existingCondition)[0];
|
|
58
|
+
const newValue = existingOperator && existingOperator !== operator ? undefined : Object.values(existingCondition)[0];
|
|
57
59
|
newState[orIndex].and[andIndex] = {
|
|
58
60
|
[existingFieldName]: {
|
|
59
|
-
[operator]:
|
|
61
|
+
[operator]: newValue
|
|
60
62
|
}
|
|
61
63
|
};
|
|
62
64
|
}
|
|
@@ -85,4 +87,4 @@ const reducer = (state, action)=>{
|
|
|
85
87
|
};
|
|
86
88
|
const _default = reducer;
|
|
87
89
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi90eXBlcydcblxuY29uc3QgcmVkdWNlciA9IChzdGF0ZTogV2hlcmVbXSwgYWN0aW9uOiBBY3Rpb24pOiBXaGVyZVtdID0+
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi90eXBlcydcblxuY29uc3QgcmVkdWNlciA9IChzdGF0ZTogV2hlcmVbXSwgYWN0aW9uOiBBY3Rpb24pOiBXaGVyZVtdID0+IHtcbiAgY29uc3QgbmV3U3RhdGUgPSBbLi4uc3RhdGVdXG5cbiAgY29uc3QgeyBhbmRJbmRleCwgb3JJbmRleCB9ID0gYWN0aW9uXG5cbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgJ2FkZCc6IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIHJlbGF0aW9uIH0gPSBhY3Rpb25cblxuICAgICAgaWYgKHJlbGF0aW9uID09PSAnYW5kJykge1xuICAgICAgICBuZXdTdGF0ZVtvckluZGV4XS5hbmQuc3BsaWNlKGFuZEluZGV4LCAwLCB7IFtmaWVsZF06IHt9IH0pXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5uZXdTdGF0ZSxcbiAgICAgICAge1xuICAgICAgICAgIGFuZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBbZmllbGRdOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG5cbiAgICBjYXNlICdyZW1vdmUnOiB7XG4gICAgICBuZXdTdGF0ZVtvckluZGV4XS5hbmQuc3BsaWNlKGFuZEluZGV4LCAxKVxuXG4gICAgICBpZiAobmV3U3RhdGVbb3JJbmRleF0uYW5kLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBuZXdTdGF0ZS5zcGxpY2Uob3JJbmRleCwgMSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ld1N0YXRlXG4gICAgfVxuXG4gICAgY2FzZSAndXBkYXRlJzoge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb3BlcmF0b3IsIHZhbHVlIH0gPSBhY3Rpb25cblxuICAgICAgaWYgKHR5cGVvZiBuZXdTdGF0ZVtvckluZGV4XS5hbmRbYW5kSW5kZXhdID09PSAnb2JqZWN0Jykge1xuICAgICAgICBuZXdTdGF0ZVtvckluZGV4XS5hbmRbYW5kSW5kZXhdID0ge1xuICAgICAgICAgIC4uLm5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0sXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbZXhpc3RpbmdGaWVsZE5hbWUsIGV4aXN0aW5nQ29uZGl0aW9uXSA9IE9iamVjdC5lbnRyaWVzKFxuICAgICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0sXG4gICAgICAgIClbMF0gfHwgW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuXG4gICAgICAgIGlmIChvcGVyYXRvcikge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nT3BlcmF0b3IgPSBPYmplY3Qua2V5cyhleGlzdGluZ0NvbmRpdGlvbilbMF1cblxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID1cbiAgICAgICAgICAgIGV4aXN0aW5nT3BlcmF0b3IgJiYgZXhpc3RpbmdPcGVyYXRvciAhPT0gb3BlcmF0b3JcbiAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgOiBPYmplY3QudmFsdWVzKGV4aXN0aW5nQ29uZGl0aW9uKVswXVxuICAgICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0gPSB7XG4gICAgICAgICAgICBbZXhpc3RpbmdGaWVsZE5hbWVdOiB7XG4gICAgICAgICAgICAgIFtvcGVyYXRvcl06IG5ld1ZhbHVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICBuZXdTdGF0ZVtvckluZGV4XS5hbmRbYW5kSW5kZXhdID0ge1xuICAgICAgICAgICAgW2ZpZWxkXTogb3BlcmF0b3IgPyB7IFtvcGVyYXRvcl06IHZhbHVlIH0gOiB7fSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG5ld1N0YXRlW29ySW5kZXhdLmFuZFthbmRJbmRleF0gPSB7XG4gICAgICAgICAgICBbZXhpc3RpbmdGaWVsZE5hbWVdOiBPYmplY3Qua2V5cyhleGlzdGluZ0NvbmRpdGlvbilbMF1cbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBbT2JqZWN0LmtleXMoZXhpc3RpbmdDb25kaXRpb24pWzBdXTogdmFsdWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHt9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3U3RhdGVcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gbmV3U3RhdGVcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVkdWNlclxuIl0sIm5hbWVzIjpbInJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIm5ld1N0YXRlIiwiYW5kSW5kZXgiLCJvckluZGV4IiwidHlwZSIsImZpZWxkIiwicmVsYXRpb24iLCJhbmQiLCJzcGxpY2UiLCJsZW5ndGgiLCJvcGVyYXRvciIsInZhbHVlIiwiZXhpc3RpbmdGaWVsZE5hbWUiLCJleGlzdGluZ0NvbmRpdGlvbiIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJleGlzdGluZ09wZXJhdG9yIiwia2V5cyIsIm5ld1ZhbHVlIiwidmFsdWVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJGQTs7O2VBQUE7OztBQXhGQSxNQUFNQSxVQUFVLENBQUNDLE9BQWdCQztJQUMvQixNQUFNQyxXQUFXO1dBQUlGO0tBQU07SUFF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
|
|
@@ -148,9 +148,9 @@ const Form = (props)=>{
|
|
|
148
148
|
});
|
|
149
149
|
if (!stateMatches) {
|
|
150
150
|
dispatchFields({
|
|
151
|
+
type: 'UPDATE',
|
|
151
152
|
path,
|
|
152
|
-
rows: newRows
|
|
153
|
-
type: 'UPDATE'
|
|
153
|
+
rows: newRows
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
});
|
|
@@ -195,8 +195,8 @@ const Form = (props)=>{
|
|
|
195
195
|
await Promise.all(validationPromises);
|
|
196
196
|
if (!(0, _deepequal.default)(contextRef.current.fields, validatedFieldState)) {
|
|
197
197
|
dispatchFields({
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
type: 'REPLACE_STATE',
|
|
199
|
+
state: validatedFieldState
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
202
|
return isValid;
|
|
@@ -270,8 +270,8 @@ const Form = (props)=>{
|
|
|
270
270
|
destination.state = {
|
|
271
271
|
status: [
|
|
272
272
|
{
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
type: 'success',
|
|
274
|
+
message: json.message
|
|
275
275
|
}
|
|
276
276
|
]
|
|
277
277
|
};
|
|
@@ -426,11 +426,11 @@ const Form = (props)=>{
|
|
|
426
426
|
user
|
|
427
427
|
});
|
|
428
428
|
dispatchFields({
|
|
429
|
+
type: 'ADD_ROW',
|
|
429
430
|
blockType: data?.blockType,
|
|
430
431
|
path,
|
|
431
432
|
rowIndex,
|
|
432
|
-
subFieldState
|
|
433
|
-
type: 'ADD_ROW'
|
|
433
|
+
subFieldState
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
436
|
}, [
|
|
@@ -446,9 +446,9 @@ const Form = (props)=>{
|
|
|
446
446
|
]);
|
|
447
447
|
const removeFieldRow = (0, _react.useCallback)(({ path, rowIndex })=>{
|
|
448
448
|
dispatchFields({
|
|
449
|
+
type: 'REMOVE_ROW',
|
|
449
450
|
path,
|
|
450
|
-
rowIndex
|
|
451
|
-
type: 'REMOVE_ROW'
|
|
451
|
+
rowIndex
|
|
452
452
|
});
|
|
453
453
|
}, [
|
|
454
454
|
dispatchFields
|
|
@@ -472,11 +472,11 @@ const Form = (props)=>{
|
|
|
472
472
|
user
|
|
473
473
|
});
|
|
474
474
|
dispatchFields({
|
|
475
|
+
type: 'REPLACE_ROW',
|
|
475
476
|
blockType: data?.blockType,
|
|
476
477
|
path,
|
|
477
478
|
rowIndex,
|
|
478
|
-
subFieldState
|
|
479
|
-
type: 'REPLACE_ROW'
|
|
479
|
+
subFieldState
|
|
480
480
|
});
|
|
481
481
|
}
|
|
482
482
|
}, [
|
|
@@ -546,8 +546,8 @@ const Form = (props)=>{
|
|
|
546
546
|
};
|
|
547
547
|
setModified(false);
|
|
548
548
|
dispatchFields({
|
|
549
|
-
|
|
550
|
-
|
|
549
|
+
type: 'REPLACE_STATE',
|
|
550
|
+
state
|
|
551
551
|
});
|
|
552
552
|
}, [
|
|
553
553
|
id,
|
|
@@ -565,8 +565,8 @@ const Form = (props)=>{
|
|
|
565
565
|
};
|
|
566
566
|
setModified(false);
|
|
567
567
|
dispatchFields({
|
|
568
|
-
|
|
569
|
-
|
|
568
|
+
type: 'REPLACE_STATE',
|
|
569
|
+
state
|
|
570
570
|
});
|
|
571
571
|
}, [
|
|
572
572
|
dispatchFields
|
|
@@ -601,8 +601,8 @@ const Form = (props)=>{
|
|
|
601
601
|
..._initContextState.default
|
|
602
602
|
};
|
|
603
603
|
dispatchFields({
|
|
604
|
-
|
|
605
|
-
|
|
604
|
+
type: 'REPLACE_STATE',
|
|
605
|
+
state: initialState
|
|
606
606
|
});
|
|
607
607
|
}
|
|
608
608
|
}, [
|
|
@@ -617,8 +617,8 @@ const Form = (props)=>{
|
|
|
617
617
|
const builtState = (0, _buildInitialState.default)(initialData);
|
|
618
618
|
setFormattedInitialData(builtState);
|
|
619
619
|
dispatchFields({
|
|
620
|
-
|
|
621
|
-
|
|
620
|
+
type: 'REPLACE_STATE',
|
|
621
|
+
state: builtState
|
|
622
622
|
});
|
|
623
623
|
}
|
|
624
624
|
}, [
|
|
@@ -671,4 +671,4 @@ const Form = (props)=>{
|
|
|
671
671
|
};
|
|
672
672
|
const _default = Form;
|
|
673
673
|
|
|
674
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLW5vbmludGVyYWN0aXZlLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgaXNEZWVwRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gJ29iamVjdC10by1mb3JtZGF0YSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBDb250ZXh0LFxuICBGaWVsZHMsXG4gIENvbnRleHQgYXMgRm9ybUNvbnRleHRUeXBlLFxuICBHZXREYXRhQnlQYXRoLFxuICBQcm9wcyxcbiAgUm93LFxuICBTdWJtaXRPcHRpb25zLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9pc051bWJlcidcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9zZXRzQXJlRXF1YWwnXG5pbXBvcnQgeyBzcGxpdFBhdGhCeUFycmF5RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL3NwbGl0UGF0aEJ5QXJyYXlGaWVsZHMnXG5pbXBvcnQgd2FpdCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvd2FpdCdcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Mb2NhbGUnXG5pbXBvcnQgeyB1c2VPcGVyYXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyBXYXRjaEZvcm1FcnJvcnMgfSBmcm9tICcuL1dhdGNoRm9ybUVycm9ycydcbmltcG9ydCB7IGJ1aWxkRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL2J1aWxkRmllbGRTY2hlbWFNYXAnXG5pbXBvcnQgYnVpbGRJbml0aWFsU3RhdGUgZnJvbSAnLi9idWlsZEluaXRpYWxTdGF0ZSdcbmltcG9ydCBidWlsZFN0YXRlRnJvbVNjaGVtYSBmcm9tICcuL2J1aWxkU3RhdGVGcm9tU2NoZW1hJ1xuaW1wb3J0IHtcbiAgRm9ybUNvbnRleHQsXG4gIEZvcm1GaWVsZHNDb250ZXh0LFxuICBGb3JtV2F0Y2hDb250ZXh0LFxuICBNb2RpZmllZENvbnRleHQsXG4gIFByb2Nlc3NpbmdDb250ZXh0LFxuICBTdWJtaXR0ZWRDb250ZXh0LFxufSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQgZXJyb3JNZXNzYWdlcyBmcm9tICcuL2Vycm9yTWVzc2FnZXMnXG5pbXBvcnQgeyBmaWVsZFJlZHVjZXIgfSBmcm9tICcuL2ZpZWxkUmVkdWNlcidcbmltcG9ydCBnZXREYXRhQnlQYXRoRnVuYyBmcm9tICcuL2dldERhdGFCeVBhdGgnXG5pbXBvcnQgZ2V0U2libGluZ0RhdGFGdW5jIGZyb20gJy4vZ2V0U2libGluZ0RhdGEnXG5pbXBvcnQgaW5pdENvbnRleHRTdGF0ZSBmcm9tICcuL2luaXRDb250ZXh0U3RhdGUnXG5pbXBvcnQgcmVkdWNlRmllbGRzVG9WYWx1ZXMgZnJvbSAnLi9yZWR1Y2VGaWVsZHNUb1ZhbHVlcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2Zvcm0nXG5cbmNvbnN0IEZvcm06IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGlkLCBjb2xsZWN0aW9uLCBnZXREb2NQcmVmZXJlbmNlcywgZ2xvYmFsIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHtcbiAgICBhY3Rpb24sXG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lLFxuICAgIGRpc2FibGVTdWNjZXNzU3RhdHVzLFxuICAgIGRpc2FibGVkLFxuICAgIGZpZWxkczogZmllbGRzRnJvbVByb3BzID0gY29sbGVjdGlvbj8uZmllbGRzIHx8IGdsb2JhbD8uZmllbGRzLFxuICAgIGhhbmRsZVJlc3BvbnNlLFxuICAgIGluaXRpYWxEYXRhLCAvLyB2YWx1ZXMgb25seSwgcGF0aHMgYXJlIHJlcXVpcmVkIGFzIGtleSAtIGZvcm0gc2hvdWxkIGJ1aWxkIGluaXRpYWwgc3RhdGUgYXMgY29udmVuaWVuY2VcbiAgICBpbml0aWFsU3RhdGUsIC8vIGZ1bGx5IGZvcm1lZCBpbml0aWFsIGZpZWxkIHN0YXRlXG4gICAgbWV0aG9kLFxuICAgIG9uU3VibWl0LFxuICAgIG9uU3VjY2VzcyxcbiAgICByZWRpcmVjdCxcbiAgICBzdWJtaXR0ZWQ6IHN1Ym1pdHRlZEZyb21Qcm9wcyxcbiAgICB3YWl0Rm9yQXV0b2NvbXBsZXRlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcbiAgY29uc3QgeyByZWZyZXNoQ29va2llLCB1c2VyIH0gPSB1c2VBdXRoKClcbiAgY29uc3Qgb3BlcmF0aW9uID0gdXNlT3BlcmF0aW9uKClcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IFttb2RpZmllZCwgc2V0TW9kaWZpZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwcm9jZXNzaW5nLCBzZXRQcm9jZXNzaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc3VibWl0dGVkLCBzZXRTdWJtaXR0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb3JtYXR0ZWRJbml0aWFsRGF0YSwgc2V0Rm9ybWF0dGVkSW5pdGlhbERhdGFdID0gdXNlU3RhdGUoYnVpbGRJbml0aWFsU3RhdGUoaW5pdGlhbERhdGEpKVxuXG4gIGNvbnN0IGZvcm1SZWYgPSB1c2VSZWY8SFRNTEZvcm1FbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0UmVmID0gdXNlUmVmKHt9IGFzIEZvcm1Db250ZXh0VHlwZSlcblxuICBsZXQgaW5pdGlhbEZpZWxkU3RhdGUgPSB7fVxuXG4gIGlmIChmb3JtYXR0ZWRJbml0aWFsRGF0YSkgaW5pdGlhbEZpZWxkU3RhdGUgPSBmb3JtYXR0ZWRJbml0aWFsRGF0YVxuICBpZiAoaW5pdGlhbFN0YXRlKSBpbml0aWFsRmllbGRTdGF0ZSA9IGluaXRpYWxTdGF0ZVxuXG4gIGNvbnN0IGZpZWxkc1JlZHVjZXIgPSB1c2VSZWR1Y2VyKGZpZWxkUmVkdWNlciwge30sICgpID0+IGluaXRpYWxGaWVsZFN0YXRlKVxuICAvKipcbiAgICogYGZpZWxkc2AgaXMgdGhlIGN1cnJlbnQsIHVwLXRvLWRhdGUgc3RhdGUvZGF0YSBvZiBhbGwgZmllbGRzIGluIHRoZSBmb3JtLiBJdCBjYW4gYmUgbW9kaWZpZWQgYnkgdXNpbmcgZGlzcGF0Y2hGaWVsZHMsXG4gICAqIHdoaWNoIGNhbGxzIHRoZSBmaWVsZFJlZHVjZXIsIHdoaWNoIHRoZW4gdXBkYXRlcyB0aGUgc3RhdGUuXG4gICAqL1xuICBjb25zdCBbZmllbGRzLCBkaXNwYXRjaEZpZWxkc10gPSBmaWVsZHNSZWR1Y2VyXG5cbiAgY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcyA9IGZpZWxkc1xuICBjb250ZXh0UmVmLmN1cnJlbnQuZGlzcGF0Y2hGaWVsZHMgPSBkaXNwYXRjaEZpZWxkc1xuXG4gIC8vIEJ1aWxkIGEgY3VycmVudCBzZXQgb2YgY2hpbGQgZXJyb3JzIGZvciBhbGwgcm93cyBpbiBmb3JtIHN0YXRlXG4gIGNvbnN0IGJ1aWxkUm93RXJyb3JzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nRmllbGRSb3dzOiB7IFtwYXRoOiBzdHJpbmddOiBSb3dbXSB9ID0ge31cbiAgICBjb25zdCBuZXdGaWVsZFJvd3M6IHsgW3BhdGg6IHN0cmluZ106IFJvd1tdIH0gPSB7fVxuXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzKS5mb3JFYWNoKChbcGF0aCwgZmllbGRdKSA9PiB7XG4gICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBzcGxpdFBhdGhCeUFycmF5RmllbGRzKHBhdGgpXG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgwLCBpICsgMSkuam9pbignLicpXG4gICAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGZpZWxkcz8uW2ZpZWxkUGF0aF1cblxuICAgICAgICAvLyBJcyB0aGlzIGFuIGFycmF5IG9yIGJsb2NrcyBmaWVsZD9cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZm9ybUZpZWxkPy5yb3dzKSkge1xuICAgICAgICAgIC8vIEtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGV4aXN0aW5nIHJvdyBzdGF0ZVxuICAgICAgICAgIGV4aXN0aW5nRmllbGRSb3dzW2ZpZWxkUGF0aF0gPSBmb3JtRmllbGQucm93c1xuXG4gICAgICAgICAgLy8gQSBuZXcgcm93IHN0YXRlIHdpbGwgYmUgdXNlZCB0byBjb21wYXJlXG4gICAgICAgICAgLy8gYWdhaW5zdCB0aGUgb2xkIHN0YXRlIGxhdGVyLFxuICAgICAgICAgIC8vIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIGRpc3BhdGNoIGFuIHVwZGF0ZVxuICAgICAgICAgIGlmICghbmV3RmllbGRSb3dzW2ZpZWxkUGF0aF0pIHtcbiAgICAgICAgICAgIG5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdID0gZm9ybUZpZWxkLnJvd3MubWFwKChleGlzdGluZ1JvdykgPT4gKHtcbiAgICAgICAgICAgICAgLi4uZXhpc3RpbmdSb3csXG4gICAgICAgICAgICAgIGNoaWxkRXJyb3JQYXRoczogbmV3IFNldCgpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXRoU2VnbWVudHNbaSArIDFdXG4gICAgICAgICAgY29uc3QgY2hpbGRGaWVsZFBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnZhbGlkID09PSBmYWxzZSAmJiBjaGlsZEZpZWxkUGF0aCkge1xuICAgICAgICAgICAgbmV3RmllbGRSb3dzW2ZpZWxkUGF0aF1bcm93SW5kZXhdLmNoaWxkRXJyb3JQYXRocy5hZGQoYCR7ZmllbGRQYXRofS4ke2NoaWxkRmllbGRQYXRofWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIC8vIE5vdyBsb29wIG92ZXIgYWxsIGZpZWxkcyB3aXRoIHJvd3MgLVxuICAgIC8vIGlmIGFueXRoaW5nIGNoYW5nZWQsIGRpc3BhdGNoIGFuIHVwZGF0ZSBmb3IgdGhlIGZpZWxkXG4gICAgLy8gd2l0aCB0aGUgbmV3IHJvdyBzdGF0ZVxuICAgIE9iamVjdC5lbnRyaWVzKG5ld0ZpZWxkUm93cykuZm9yRWFjaCgoW3BhdGgsIG5ld1Jvd3NdKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZU1hdGNoZXMgPSBuZXdSb3dzLmV2ZXJ5KChuZXdSb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdSb3dFcnJvclBhdGhzID0gZXhpc3RpbmdGaWVsZFJvd3NbcGF0aF1baV0/LmNoaWxkRXJyb3JQYXRoc1xuICAgICAgICByZXR1cm4gc2V0c0FyZUVxdWFsKG5ld1Jvdy5jaGlsZEVycm9yUGF0aHMsIGV4aXN0aW5nUm93RXJyb3JQYXRocylcbiAgICAgIH0pXG5cbiAgICAgIGlmICghc3RhdGVNYXRjaGVzKSB7XG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJvd3M6IG5ld1Jvd3MsXG4gICAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2ZpZWxkcywgZGlzcGF0Y2hGaWVsZHNdKVxuXG4gIGNvbnN0IHZhbGlkYXRlRm9ybSA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZFN0YXRlID0ge31cbiAgICBsZXQgaXNWYWxpZCA9IHRydWVcbiAgICBjb25zdCBkYXRhID0gY29udGV4dFJlZi5jdXJyZW50LmdldERhdGEoKVxuXG4gICAgY29uc3QgdmFsaWRhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMoY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcykubWFwKFxuICAgICAgYXN5bmMgKFtwYXRoLCBmaWVsZF0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkRmllbGQgPSB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQucGFzc2VzQ29uZGl0aW9uICE9PSBmYWxzZSkge1xuICAgICAgICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0OiBib29sZWFuIHwgc3RyaW5nID0gdHJ1ZVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9WYWxpZGF0ZSA9IGZpZWxkLnZhbHVlXG5cbiAgICAgICAgICAgIGlmIChmaWVsZD8ucm93cyAmJiBBcnJheS5pc0FycmF5KGZpZWxkLnJvd3MpKSB7XG4gICAgICAgICAgICAgIHZhbHVlVG9WYWxpZGF0ZSA9IGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhQnlQYXRoKHBhdGgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCBmaWVsZC52YWxpZGF0ZSh2YWx1ZVRvVmFsaWRhdGUsIHtcbiAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBzaWJsaW5nRGF0YTogY29udGV4dFJlZi5jdXJyZW50LmdldFNpYmxpbmdEYXRhKHBhdGgpLFxuICAgICAgICAgICAgICB0LFxuICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC5lcnJvck1lc3NhZ2UgPSB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC52YWxpZCA9IGZhbHNlXG4gICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YWxpZGF0ZWRGaWVsZFN0YXRlW3BhdGhdID0gdmFsaWRhdGVkRmllbGRcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodmFsaWRhdGlvblByb21pc2VzKVxuXG4gICAgaWYgKCFpc0RlZXBFcXVhbChjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB2YWxpZGF0ZWRGaWVsZFN0YXRlKSkge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogdmFsaWRhdGVkRmllbGRTdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmFsaWRcbiAgfSwgW2NvbnRleHRSZWYsIGlkLCB1c2VyLCBvcGVyYXRpb24sIHQsIGRpc3BhdGNoRmllbGRzLCBjb25maWddKVxuXG4gIGNvbnN0IHN1Ym1pdCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChvcHRpb25zOiBTdWJtaXRPcHRpb25zID0ge30sIGUpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWN0aW9uOiBhY3Rpb25Ub1VzZSA9IGFjdGlvbixcbiAgICAgICAgbWV0aG9kOiBtZXRob2RUb1VzZSA9IG1ldGhvZCxcbiAgICAgICAgb3ZlcnJpZGVzID0ge30sXG4gICAgICAgIHNraXBWYWxpZGF0aW9uLFxuICAgICAgfSA9IG9wdGlvbnNcblxuICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChlKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIHNldFByb2Nlc3NpbmcodHJ1ZSlcblxuICAgICAgaWYgKHdhaXRGb3JBdXRvY29tcGxldGUpIGF3YWl0IHdhaXQoMTAwKVxuXG4gICAgICBjb25zdCBpc1ZhbGlkID0gc2tpcFZhbGlkYXRpb24gPyB0cnVlIDogYXdhaXQgY29udGV4dFJlZi5jdXJyZW50LnZhbGlkYXRlRm9ybSgpXG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQuYnVpbGRSb3dFcnJvcnMoKVxuXG4gICAgICBpZiAoIXNraXBWYWxpZGF0aW9uKSBzZXRTdWJtaXR0ZWQodHJ1ZSlcblxuICAgICAgLy8gSWYgbm90IHZhbGlkLCBwcmV2ZW50IHN1Ym1pc3Npb25cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB0b2FzdC5lcnJvcih0KCdlcnJvcjpjb3JyZWN0SW52YWxpZEZpZWxkcycpKVxuICAgICAgICBzZXRQcm9jZXNzaW5nKGZhbHNlKVxuXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdWJtaXQgaGFuZGxlciBjb21lcyB0aHJvdWdoIHZpYSBwcm9wcywgcnVuIHRoYXRcbiAgICAgIGlmIChvblN1Ym1pdCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgIC4uLnJlZHVjZUZpZWxkc1RvVmFsdWVzKGZpZWxkcywgdHJ1ZSksXG4gICAgICAgICAgLi4ub3ZlcnJpZGVzLFxuICAgICAgICB9XG5cbiAgICAgICAgb25TdWJtaXQoZmllbGRzLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IGNvbnRleHRSZWYuY3VycmVudC5jcmVhdGVGb3JtRGF0YShvdmVycmlkZXMpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlcXVlc3RzW21ldGhvZFRvVXNlLnRvTG93ZXJDYXNlKCldKGFjdGlvblRvVXNlLCB7XG4gICAgICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBzZXRNb2RpZmllZChmYWxzZSlcblxuICAgICAgICBpZiAodHlwZW9mIGhhbmRsZVJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgaGFuZGxlUmVzcG9uc2UocmVzKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgc2V0UHJvY2Vzc2luZyhmYWxzZSlcblxuICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJylcbiAgICAgICAgY29uc3QgaXNKU09OID0gY29udGVudFR5cGUgJiYgY29udGVudFR5cGUuaW5kZXhPZignYXBwbGljYXRpb24vanNvbicpICE9PSAtMVxuXG4gICAgICAgIGxldCBqc29uOiBhbnkgPSB7fVxuXG4gICAgICAgIGlmIChpc0pTT04pIGpzb24gPSBhd2FpdCByZXMuanNvbigpXG5cbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgPCA0MDApIHtcbiAgICAgICAgICBzZXRTdWJtaXR0ZWQoZmFsc2UpXG5cbiAgICAgICAgICBpZiAodHlwZW9mIG9uU3VjY2VzcyA9PT0gJ2Z1bmN0aW9uJykgb25TdWNjZXNzKGpzb24pXG5cbiAgICAgICAgICBpZiAocmVkaXJlY3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgICBwYXRobmFtZTogcmVkaXJlY3QsXG4gICAgICAgICAgICAgIHN0YXRlOiB7fSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uLm1lc3NhZ2UgJiYgIWRpc2FibGVTdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICAgIGRlc3RpbmF0aW9uLnN0YXRlID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBqc29uLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoaXN0b3J5LnB1c2goZGVzdGluYXRpb24pXG4gICAgICAgICAgfSBlbHNlIGlmICghZGlzYWJsZVN1Y2Nlc3NTdGF0dXMpIHtcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoanNvbi5tZXNzYWdlIHx8IHQoJ3N1Ym1pc3Npb25TdWNjZXNzZnVsJyksIHsgYXV0b0Nsb3NlOiAzMDAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uY29udGV4dFJlZi5jdXJyZW50IH0gLy8gdHJpZ2dlcnMgcmVyZW5kZXIgb2YgYWxsIGNvbXBvbmVudHMgdGhhdCBzdWJzY3JpYmUgdG8gZm9ybVxuXG4gICAgICAgICAgaWYgKGpzb24ubWVzc2FnZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoanNvbi5tZXNzYWdlKVxuXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uLmVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEVycm9ycywgbm9uRmllbGRFcnJvcnNdID0ganNvbi5lcnJvcnMucmVkdWNlKFxuICAgICAgICAgICAgICAoW2ZpZWxkRXJycywgbm9uRmllbGRFcnJzXSwgZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RmllbGRFcnJzID0gW11cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdOb25GaWVsZEVycnMgPSBbXVxuXG4gICAgICAgICAgICAgICAgaWYgKGVycj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgbmV3Tm9uRmllbGRFcnJzLnB1c2goZXJyKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVycj8uZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgIGVyci5kYXRhLmZvckVhY2goKGRhdGFFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YUVycm9yPy5maWVsZCkge1xuICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkRXJycy5wdXNoKGRhdGFFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBuZXdOb25GaWVsZEVycnMucHVzaChkYXRhRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIFsuLi5maWVsZEVycnMsIC4uLm5ld0ZpZWxkRXJyc10sXG4gICAgICAgICAgICAgICAgICBbLi4ubm9uRmllbGRFcnJzLCAuLi5uZXdOb25GaWVsZEVycnNdLFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW1tdLCBbXV0sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGZpZWxkRXJyb3JzLmZvckVhY2goKGVycikgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgICAgICAgICAgLi4uKGNvbnRleHRSZWYuY3VycmVudD8uZmllbGRzPy5bZXJyLmZpZWxkXSB8fCB7fSksXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBlcnIuZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgbm9uRmllbGRFcnJvcnMuZm9yRWFjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LmVycm9yKGVyci5tZXNzYWdlIHx8IHQoJ2Vycm9yOnVua25vd24nKSlcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvck1lc3NhZ2VzW3Jlcy5zdGF0dXNdIHx8IHQoJ2Vycm9yOnVua25vd24nKVxuXG4gICAgICAgICAgdG9hc3QuZXJyb3IobWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHNldFByb2Nlc3NpbmcoZmFsc2UpXG5cbiAgICAgICAgdG9hc3QuZXJyb3IoZXJyKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgYWN0aW9uLFxuICAgICAgZGlzYWJsZVN1Y2Nlc3NTdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGRpc3BhdGNoRmllbGRzLFxuICAgICAgZmllbGRzLFxuICAgICAgaGFuZGxlUmVzcG9uc2UsXG4gICAgICBoaXN0b3J5LFxuICAgICAgbWV0aG9kLFxuICAgICAgb25TdWJtaXQsXG4gICAgICBvblN1Y2Nlc3MsXG4gICAgICByZWRpcmVjdCxcbiAgICAgIHQsXG4gICAgICBpMThuLFxuICAgICAgd2FpdEZvckF1dG9jb21wbGV0ZSxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgdHJhdmVyc2VSb3dDb25maWdzID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpZWxkQ29uZmlnLFxuICAgICAgcGF0aCxcbiAgICAgIHBhdGhQcmVmaXgsXG4gICAgfToge1xuICAgICAgZmllbGRDb25maWc6IEZpZWxkW11cbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgICAgcGF0aFByZWZpeD86IHN0cmluZ1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGZpZWxkQ29uZmlnXG4gICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBzcGxpdFBhdGhCeUFycmF5RmllbGRzKHBhdGgpXG4gICAgICBjb25zdCBjb25maWdNYXAgPSBidWlsZEZpZWxkU2NoZW1hTWFwKGNvbmZpZylcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoU2VnbWVudHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgY29uc3QgcGF0aFNlZ21lbnQgPSBwYXRoU2VnbWVudHNbaV1cblxuICAgICAgICBpZiAoaXNOdW1iZXIocGF0aFNlZ21lbnQpKSB7XG4gICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChwYXRoU2VnbWVudCwgMTApXG4gICAgICAgICAgY29uc3QgcGFyZW50RmllbGRQYXRoID0gcGF0aFNlZ21lbnRzLnNsaWNlKDAsIGkpLmpvaW4oJy4nKVxuICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ1BhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICAgIGNvbnN0IGFycmF5RmllbGRQYXRoID0gcGF0aFByZWZpeCA/IGAke3BhdGhQcmVmaXh9LiR7cGFyZW50RmllbGRQYXRofWAgOiBwYXJlbnRGaWVsZFBhdGhcbiAgICAgICAgICBjb25zdCBwYXJlbnRBcnJheUZpZWxkID0gY29udGV4dFJlZi5jdXJyZW50LmdldEZpZWxkKGFycmF5RmllbGRQYXRoKVxuICAgICAgICAgIGNvbnN0IHJvd0ZpZWxkID0gcGFyZW50QXJyYXlGaWVsZC5yb3dzW3Jvd0luZGV4XVxuXG4gICAgICAgICAgaWYgKHJvd0ZpZWxkLmJsb2NrVHlwZSkge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tDb25maWcgPSBjb25maWdNYXAuZ2V0KGAke3BhcmVudEZpZWxkUGF0aH0uJHtyb3dGaWVsZC5ibG9ja1R5cGV9YClcbiAgICAgICAgICAgIGlmIChibG9ja0NvbmZpZykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbmZpZzogYmxvY2tDb25maWcsXG4gICAgICAgICAgICAgICAgcGF0aDogcmVtYWluaW5nUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoUHJlZml4OiBgJHthcnJheUZpZWxkUGF0aH0uJHtyb3dJbmRleH1gLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJsb2NrIGNvbmZpZyBub3QgZm91bmQgZm9yICR7cm93RmllbGQuYmxvY2tUeXBlfSBhdCBwYXRoICR7cGF0aH1gKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgICAgICAgZmllbGRDb25maWc6IGNvbmZpZ01hcC5nZXQocGFyZW50RmllbGRQYXRoKSxcbiAgICAgICAgICAgICAgcGF0aDogcmVtYWluaW5nUGF0aCxcbiAgICAgICAgICAgICAgcGF0aFByZWZpeDogYCR7YXJyYXlGaWVsZFBhdGh9LiR7cm93SW5kZXh9YCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb25maWdcbiAgICB9LFxuICAgIFtdLFxuICApXG5cbiAgY29uc3QgZ2V0Um93U2NoZW1hQnlQYXRoID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHsgYmxvY2tUeXBlLCBwYXRoIH06IHsgYmxvY2tUeXBlPzogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgY29uc3Qgcm93Q29uZmlnID0gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgZmllbGRDb25maWc6IGZpZWxkc0Zyb21Qcm9wcyxcbiAgICAgICAgcGF0aCxcbiAgICAgIH0pXG4gICAgICBjb25zdCByb3dGaWVsZENvbmZpZ3MgPSBidWlsZEZpZWxkU2NoZW1hTWFwKHJvd0NvbmZpZylcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHNwbGl0UGF0aEJ5QXJyYXlGaWVsZHMocGF0aClcbiAgICAgIGNvbnN0IGZpZWxkS2V5ID0gcGF0aFNlZ21lbnRzLmF0KC0xKVxuICAgICAgcmV0dXJuIHJvd0ZpZWxkQ29uZmlncy5nZXQoYmxvY2tUeXBlID8gYCR7ZmllbGRLZXl9LiR7YmxvY2tUeXBlfWAgOiBmaWVsZEtleSlcbiAgICB9LFxuICAgIFt0cmF2ZXJzZVJvd0NvbmZpZ3MsIGZpZWxkc0Zyb21Qcm9wc10sXG4gIClcblxuICAvLyBBcnJheS9CbG9jayByb3cgbWFuaXB1bGF0aW9uLiBUaGlzIGlzIGNhbGxlZCB3aGVuLCBmb3IgZXhhbXBsZSwgeW91IGFkZCBhIG5ldyBibG9jayB0byBhIGJsb2NrcyBmaWVsZC5cbiAgLy8gVGhlIGJsb2NrIGRhdGEgaXMgc2F2ZWQgaW4gdGhlIHJvd3MgcHJvcGVydHkgb2YgdGhlIHN0YXRlLCB3aGljaCBpcyBtb2RpZmllZCB1cGRhdGVkIGhlcmUuXG4gIGNvbnN0IGFkZEZpZWxkUm93OiBDb250ZXh0WydhZGRGaWVsZFJvdyddID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgZGF0YSwgcGF0aCwgcm93SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCByb3dTY2hlbWEgPSBnZXRSb3dTY2hlbWFCeVBhdGgoe1xuICAgICAgICBibG9ja1R5cGU6IGRhdGE/LmJsb2NrVHlwZSxcbiAgICAgICAgcGF0aCxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChyb3dTY2hlbWEpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRTdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBmaWVsZFNjaGVtYTogcm93U2NoZW1hLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgdCxcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KVxuXG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICBibG9ja1R5cGU6IGRhdGE/LmJsb2NrVHlwZSxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJvd0luZGV4LFxuICAgICAgICAgIHN1YkZpZWxkU3RhdGUsXG4gICAgICAgICAgdHlwZTogJ0FERF9ST1cnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzLCBnZXREb2NQcmVmZXJlbmNlcywgaWQsIHVzZXIsIG9wZXJhdGlvbiwgbG9jYWxlLCB0LCBnZXRSb3dTY2hlbWFCeVBhdGgsIGNvbmZpZ10sXG4gIClcblxuICBjb25zdCByZW1vdmVGaWVsZFJvdzogQ29udGV4dFsncmVtb3ZlRmllbGRSb3cnXSA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHBhdGgsIHJvd0luZGV4IH0pID0+IHtcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgcGF0aCwgcm93SW5kZXgsIHR5cGU6ICdSRU1PVkVfUk9XJyB9KVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzXSxcbiAgKVxuXG4gIGNvbnN0IHJlcGxhY2VGaWVsZFJvdzogQ29udGV4dFsncmVwbGFjZUZpZWxkUm93J10gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoeyBkYXRhLCBwYXRoLCByb3dJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IHJvd1NjaGVtYSA9IGdldFJvd1NjaGVtYUJ5UGF0aCh7XG4gICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICBwYXRoLFxuICAgICAgfSlcblxuICAgICAgaWYgKHJvd1NjaGVtYSkge1xuICAgICAgICBjb25zdCBzdWJGaWVsZFN0YXRlID0gYXdhaXQgYnVpbGRTdGF0ZUZyb21TY2hlbWEoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkU2NoZW1hOiByb3dTY2hlbWEsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgICB0LFxuICAgICAgICAgIHVzZXIsXG4gICAgICAgIH0pXG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICBibG9ja1R5cGU6IGRhdGE/LmJsb2NrVHlwZSxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJvd0luZGV4LFxuICAgICAgICAgIHN1YkZpZWxkU3RhdGUsXG4gICAgICAgICAgdHlwZTogJ1JFUExBQ0VfUk9XJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgZ2V0RG9jUHJlZmVyZW5jZXMsIGlkLCB1c2VyLCBvcGVyYXRpb24sIGxvY2FsZSwgdCwgZ2V0Um93U2NoZW1hQnlQYXRoLCBjb25maWddLFxuICApXG5cbiAgY29uc3QgZ2V0RmllbGRzID0gdXNlQ2FsbGJhY2soKCkgPT4gY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcywgW2NvbnRleHRSZWZdKVxuICBjb25zdCBnZXRGaWVsZCA9IHVzZUNhbGxiYWNrKChwYXRoOiBzdHJpbmcpID0+IGNvbnRleHRSZWYuY3VycmVudC5maWVsZHNbcGF0aF0sIFtjb250ZXh0UmVmXSlcbiAgY29uc3QgZ2V0RGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IHJlZHVjZUZpZWxkc1RvVmFsdWVzKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHRydWUpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuICBjb25zdCBnZXRTaWJsaW5nRGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldFNpYmxpbmdEYXRhRnVuYyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCBwYXRoKSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcbiAgY29uc3QgZ2V0RGF0YUJ5UGF0aCA9IHVzZUNhbGxiYWNrPEdldERhdGFCeVBhdGg+KFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldERhdGFCeVBhdGhGdW5jKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHBhdGgpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IGNyZWF0ZUZvcm1EYXRhID0gdXNlQ2FsbGJhY2soXG4gICAgKG92ZXJyaWRlczogYW55ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB0cnVlKVxuXG4gICAgICBjb25zdCBmaWxlID0gZGF0YT8uZmlsZVxuXG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBkZWxldGUgZGF0YS5maWxlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFXaXRoT3ZlcnJpZGVzID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAuLi5vdmVycmlkZXMsXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFUb1NlcmlhbGl6ZSA9IHtcbiAgICAgICAgX3BheWxvYWQ6IEpTT04uc3RyaW5naWZ5KGRhdGFXaXRoT3ZlcnJpZGVzKSxcbiAgICAgICAgZmlsZSxcbiAgICAgIH1cblxuICAgICAgLy8gbnVsbEFzVW5kZWZpbmVkcyBpcyBpbXBvcnRhbnQgdG8gYWxsb3cgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwIGZpZWxkcyB0byBjbGVhciB0aGVtc2VsdmVzXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IHNlcmlhbGl6ZShkYXRhVG9TZXJpYWxpemUsIHsgaW5kaWNlczogdHJ1ZSwgbnVsbHNBc1VuZGVmaW5lZHM6IGZhbHNlIH0pXG4gICAgICByZXR1cm4gZm9ybURhdGFcbiAgICB9LFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IHJlc2V0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGZpZWxkU2NoZW1hOiBGaWVsZFtdLCBkYXRhOiB1bmtub3duKSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IHN0YXRlID0gYXdhaXQgYnVpbGRTdGF0ZUZyb21TY2hlbWEoe1xuICAgICAgICBpZCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhLFxuICAgICAgICBmaWVsZFNjaGVtYSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgICB0LFxuICAgICAgICB1c2VyLFxuICAgICAgfSlcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IHN0YXRlLCB0eXBlOiAnUkVQTEFDRV9TVEFURScgfSlcbiAgICB9LFxuICAgIFtpZCwgdXNlciwgb3BlcmF0aW9uLCBsb2NhbGUsIHQsIGRpc3BhdGNoRmllbGRzLCBnZXREb2NQcmVmZXJlbmNlcywgY29uZmlnXSxcbiAgKVxuXG4gIGNvbnN0IHJlcGxhY2VTdGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChzdGF0ZTogRmllbGRzKSA9PiB7XG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmluaXRDb250ZXh0U3RhdGUgfSBhcyBGb3JtQ29udGV4dFR5cGVcbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHNdLFxuICApXG5cbiAgY29udGV4dFJlZi5jdXJyZW50LnN1Ym1pdCA9IHN1Ym1pdFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RmllbGRzID0gZ2V0RmllbGRzXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXRGaWVsZCA9IGdldEZpZWxkXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhID0gZ2V0RGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0U2libGluZ0RhdGEgPSBnZXRTaWJsaW5nRGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RGF0YUJ5UGF0aCA9IGdldERhdGFCeVBhdGhcbiAgY29udGV4dFJlZi5jdXJyZW50LnZhbGlkYXRlRm9ybSA9IHZhbGlkYXRlRm9ybVxuICBjb250ZXh0UmVmLmN1cnJlbnQuY3JlYXRlRm9ybURhdGEgPSBjcmVhdGVGb3JtRGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuc2V0TW9kaWZpZWQgPSBzZXRNb2RpZmllZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuc2V0UHJvY2Vzc2luZyA9IHNldFByb2Nlc3NpbmdcbiAgY29udGV4dFJlZi5jdXJyZW50LnNldFN1Ym1pdHRlZCA9IHNldFN1Ym1pdHRlZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZGlzYWJsZWQgPSBkaXNhYmxlZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZm9ybVJlZiA9IGZvcm1SZWZcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlc2V0ID0gcmVzZXRcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlcGxhY2VTdGF0ZSA9IHJlcGxhY2VTdGF0ZVxuICBjb250ZXh0UmVmLmN1cnJlbnQuYnVpbGRSb3dFcnJvcnMgPSBidWlsZFJvd0Vycm9yc1xuICBjb250ZXh0UmVmLmN1cnJlbnQuYWRkRmllbGRSb3cgPSBhZGRGaWVsZFJvd1xuICBjb250ZXh0UmVmLmN1cnJlbnQucmVtb3ZlRmllbGRSb3cgPSByZW1vdmVGaWVsZFJvd1xuICBjb250ZXh0UmVmLmN1cnJlbnQucmVwbGFjZUZpZWxkUm93ID0gcmVwbGFjZUZpZWxkUm93XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIHN1Ym1pdHRlZEZyb21Qcm9wcyA9PT0gJ2Jvb2xlYW4nKSBzZXRTdWJtaXR0ZWQoc3VibWl0dGVkRnJvbVByb3BzKVxuICB9LCBbc3VibWl0dGVkRnJvbVByb3BzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogaW5pdGlhbFN0YXRlLCB0eXBlOiAnUkVQTEFDRV9TVEFURScgfSlcbiAgICB9XG4gIH0sIFtpbml0aWFsU3RhdGUsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsRGF0YSkge1xuICAgICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5pbml0Q29udGV4dFN0YXRlIH0gYXMgRm9ybUNvbnRleHRUeXBlXG4gICAgICBjb25zdCBidWlsdFN0YXRlID0gYnVpbGRJbml0aWFsU3RhdGUoaW5pdGlhbERhdGEpXG4gICAgICBzZXRGb3JtYXR0ZWRJbml0aWFsRGF0YShidWlsdFN0YXRlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBzdGF0ZTogYnVpbHRTdGF0ZSwgdHlwZTogJ1JFUExBQ0VfU1RBVEUnIH0pXG4gICAgfVxuICB9LCBbaW5pdGlhbERhdGEsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VUaHJvdHRsZWRFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgcmVmcmVzaENvb2tpZSgpXG4gICAgfSxcbiAgICAxNTAwMCxcbiAgICBbZmllbGRzXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5jb250ZXh0UmVmLmN1cnJlbnQgfSAvLyB0cmlnZ2VycyByZXJlbmRlciBvZiBhbGwgY29tcG9uZW50cyB0aGF0IHN1YnNjcmliZSB0byBmb3JtXG4gICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gIH0sIFtsb2NhbGVdKVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbY2xhc3NOYW1lLCBiYXNlQ2xhc3NdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcblxuICByZXR1cm4gKFxuICAgIDxmb3JtXG4gICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgIG1ldGhvZD17bWV0aG9kfVxuICAgICAgbm9WYWxpZGF0ZVxuICAgICAgb25TdWJtaXQ9eyhlKSA9PiBjb250ZXh0UmVmLmN1cnJlbnQuc3VibWl0KHt9LCBlKX1cbiAgICAgIHJlZj17Zm9ybVJlZn1cbiAgICA+XG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRSZWYuY3VycmVudH0+XG4gICAgICAgIDxGb3JtV2F0Y2hDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIC4uLmNvbnRleHRSZWYuY3VycmVudCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFN1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3N1Ym1pdHRlZH0+XG4gICAgICAgICAgICA8UHJvY2Vzc2luZ0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3Byb2Nlc3Npbmd9PlxuICAgICAgICAgICAgICA8TW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXttb2RpZmllZH0+XG4gICAgICAgICAgICAgICAgPEZvcm1GaWVsZHNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtmaWVsZHNSZWR1Y2VyfT5cbiAgICAgICAgICAgICAgICAgIDxXYXRjaEZvcm1FcnJvcnMgYnVpbGRSb3dFcnJvcnM9e2J1aWxkUm93RXJyb3JzfSAvPlxuICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvRm9ybUZpZWxkc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgIDwvTW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9Qcm9jZXNzaW5nQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICA8L1N1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRm9ybVdhdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9mb3JtPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJGb3JtIiwicHJvcHMiLCJpZCIsImNvbGxlY3Rpb24iLCJnZXREb2NQcmVmZXJlbmNlcyIsImdsb2JhbCIsInVzZURvY3VtZW50SW5mbyIsImFjdGlvbiIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZVN1Y2Nlc3NTdGF0dXMiLCJkaXNhYmxlZCIsImZpZWxkcyIsImZpZWxkc0Zyb21Qcm9wcyIsImhhbmRsZVJlc3BvbnNlIiwiaW5pdGlhbERhdGEiLCJpbml0aWFsU3RhdGUiLCJtZXRob2QiLCJvblN1Ym1pdCIsIm9uU3VjY2VzcyIsInJlZGlyZWN0Iiwic3VibWl0dGVkIiwic3VibWl0dGVkRnJvbVByb3BzIiwid2FpdEZvckF1dG9jb21wbGV0ZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiY29kZSIsImxvY2FsZSIsInVzZUxvY2FsZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJyZWZyZXNoQ29va2llIiwidXNlciIsInVzZUF1dGgiLCJvcGVyYXRpb24iLCJ1c2VPcGVyYXRpb24iLCJjb25maWciLCJ1c2VDb25maWciLCJtb2RpZmllZCIsInNldE1vZGlmaWVkIiwidXNlU3RhdGUiLCJwcm9jZXNzaW5nIiwic2V0UHJvY2Vzc2luZyIsInNldFN1Ym1pdHRlZCIsImZvcm1hdHRlZEluaXRpYWxEYXRhIiwic2V0Rm9ybWF0dGVkSW5pdGlhbERhdGEiLCJidWlsZEluaXRpYWxTdGF0ZSIsImZvcm1SZWYiLCJ1c2VSZWYiLCJjb250ZXh0UmVmIiwiaW5pdGlhbEZpZWxkU3RhdGUiLCJmaWVsZHNSZWR1Y2VyIiwidXNlUmVkdWNlciIsImZpZWxkUmVkdWNlciIsImRpc3BhdGNoRmllbGRzIiwiY3VycmVudCIsImJ1aWxkUm93RXJyb3JzIiwidXNlQ2FsbGJhY2siLCJleGlzdGluZ0ZpZWxkUm93cyIsIm5ld0ZpZWxkUm93cyIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwicGF0aCIsImZpZWxkIiwicGF0aFNlZ21lbnRzIiwic3BsaXRQYXRoQnlBcnJheUZpZWxkcyIsImkiLCJsZW5ndGgiLCJmaWVsZFBhdGgiLCJzbGljZSIsImpvaW4iLCJmb3JtRmllbGQiLCJBcnJheSIsImlzQXJyYXkiLCJyb3dzIiwibWFwIiwiZXhpc3RpbmdSb3ciLCJjaGlsZEVycm9yUGF0aHMiLCJTZXQiLCJyb3dJbmRleCIsImNoaWxkRmllbGRQYXRoIiwidmFsaWQiLCJhZGQiLCJuZXdSb3dzIiwic3RhdGVNYXRjaGVzIiwiZXZlcnkiLCJuZXdSb3ciLCJleGlzdGluZ1Jvd0Vycm9yUGF0aHMiLCJzZXRzQXJlRXF1YWwiLCJ0eXBlIiwidmFsaWRhdGVGb3JtIiwidmFsaWRhdGVkRmllbGRTdGF0ZSIsImlzVmFsaWQiLCJkYXRhIiwiZ2V0RGF0YSIsInZhbGlkYXRpb25Qcm9taXNlcyIsInZhbGlkYXRlZEZpZWxkIiwicGFzc2VzQ29uZGl0aW9uIiwidmFsaWRhdGlvblJlc3VsdCIsInZhbGlkYXRlIiwidmFsdWVUb1ZhbGlkYXRlIiwidmFsdWUiLCJnZXREYXRhQnlQYXRoIiwic2libGluZ0RhdGEiLCJnZXRTaWJsaW5nRGF0YSIsImVycm9yTWVzc2FnZSIsIlByb21pc2UiLCJhbGwiLCJpc0RlZXBFcXVhbCIsInN0YXRlIiwic3VibWl0Iiwib3B0aW9ucyIsImUiLCJhY3Rpb25Ub1VzZSIsIm1ldGhvZFRvVXNlIiwib3ZlcnJpZGVzIiwic2tpcFZhbGlkYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndhaXQiLCJ0b2FzdCIsImVycm9yIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJmb3JtRGF0YSIsImNyZWF0ZUZvcm1EYXRhIiwicmVzIiwicmVxdWVzdHMiLCJ0b0xvd2VyQ2FzZSIsImJvZHkiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJjb250ZW50VHlwZSIsImdldCIsImlzSlNPTiIsImluZGV4T2YiLCJqc29uIiwic3RhdHVzIiwiZGVzdGluYXRpb24iLCJwYXRobmFtZSIsIm1lc3NhZ2UiLCJwdXNoIiwic3VjY2VzcyIsImF1dG9DbG9zZSIsImVycm9ycyIsImZpZWxkRXJyb3JzIiwibm9uRmllbGRFcnJvcnMiLCJyZWR1Y2UiLCJmaWVsZEVycnMiLCJub25GaWVsZEVycnMiLCJlcnIiLCJuZXdGaWVsZEVycnMiLCJuZXdOb25GaWVsZEVycnMiLCJkYXRhRXJyb3IiLCJlcnJvck1lc3NhZ2VzIiwidHJhdmVyc2VSb3dDb25maWdzIiwiUmVhY3QiLCJmaWVsZENvbmZpZyIsInBhdGhQcmVmaXgiLCJjb25maWdNYXAiLCJidWlsZEZpZWxkU2NoZW1hTWFwIiwicGF0aFNlZ21lbnQiLCJpc051bWJlciIsInBhcnNlSW50IiwicGFyZW50RmllbGRQYXRoIiwicmVtYWluaW5nUGF0aCIsImFycmF5RmllbGRQYXRoIiwicGFyZW50QXJyYXlGaWVsZCIsImdldEZpZWxkIiwicm93RmllbGQiLCJibG9ja1R5cGUiLCJibG9ja0NvbmZpZyIsIkVycm9yIiwiZ2V0Um93U2NoZW1hQnlQYXRoIiwicm93Q29uZmlnIiwicm93RmllbGRDb25maWdzIiwiZmllbGRLZXkiLCJhdCIsImFkZEZpZWxkUm93IiwicHJlZmVyZW5jZXMiLCJyb3dTY2hlbWEiLCJzdWJGaWVsZFN0YXRlIiwiYnVpbGRTdGF0ZUZyb21TY2hlbWEiLCJmaWVsZFNjaGVtYSIsInJlbW92ZUZpZWxkUm93IiwicmVwbGFjZUZpZWxkUm93IiwiZ2V0RmllbGRzIiwiZ2V0U2libGluZ0RhdGFGdW5jIiwiZ2V0RGF0YUJ5UGF0aEZ1bmMiLCJmaWxlIiwiZGF0YVdpdGhPdmVycmlkZXMiLCJkYXRhVG9TZXJpYWxpemUiLCJfcGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXJpYWxpemUiLCJpbmRpY2VzIiwibnVsbHNBc1VuZGVmaW5lZHMiLCJyZXNldCIsImluaXRDb250ZXh0U3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJidWlsdFN0YXRlIiwidXNlVGhyb3R0bGVkRWZmZWN0IiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJmb3JtIiwibm9WYWxpZGF0ZSIsInJlZiIsIkZvcm1Db250ZXh0IiwiUHJvdmlkZXIiLCJGb3JtV2F0Y2hDb250ZXh0IiwiU3VibWl0dGVkQ29udGV4dCIsIlByb2Nlc3NpbmdDb250ZXh0IiwiTW9kaWZpZWRDb250ZXh0IiwiRm9ybUZpZWxkc0NvbnRleHQiLCJXYXRjaEZvcm1FcnJvcnMiXSwibWFwcGluZ3MiOiJBQUFBLGtFQUFrRTs7OzsrQkFvckJsRTs7O2VBQUE7OztrRUFuckJ3QjtrQ0FDRTsrREFDa0Q7OEJBQzdDO2dDQUNKOytCQUNMOzBCQWFHOzhCQUNJO3dDQUNVOzZEQUN0QjtxQkFDUTsyRUFDTTtzQkFDUDt3QkFDRTs4QkFDTTt3QkFDTjttQ0FDRztpQ0FDRztxQ0FDSTswRUFDTjs2RUFDRzt5QkFRMUI7c0VBQ21COzhCQUNHO3NFQUNDO3VFQUNDO3lFQUNGOzZFQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqQyxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLE9BQXdCLENBQUNDO0lBQzdCLE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxNQUFNLEVBQUUsR0FBR0MsSUFBQUEsNkJBQWU7SUFFckUsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxvQkFBb0IsRUFDcEJDLFFBQVEsRUFDUkMsUUFBUUMsa0JBQWtCVixZQUFZUyxVQUFVUCxRQUFRTyxNQUFNLEVBQzlERSxjQUFjLEVBQ2RDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLFdBQVdDLGtCQUFrQixFQUM3QkMsbUJBQW1CLEVB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
|
|
674
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLW5vbmludGVyYWN0aXZlLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgaXNEZWVwRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gJ29iamVjdC10by1mb3JtZGF0YSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBDb250ZXh0LFxuICBGaWVsZHMsXG4gIENvbnRleHQgYXMgRm9ybUNvbnRleHRUeXBlLFxuICBHZXREYXRhQnlQYXRoLFxuICBQcm9wcyxcbiAgUm93LFxuICBTdWJtaXRPcHRpb25zLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9pc051bWJlcidcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9zZXRzQXJlRXF1YWwnXG5pbXBvcnQgeyBzcGxpdFBhdGhCeUFycmF5RmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL3NwbGl0UGF0aEJ5QXJyYXlGaWVsZHMnXG5pbXBvcnQgd2FpdCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvd2FpdCdcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Mb2NhbGUnXG5pbXBvcnQgeyB1c2VPcGVyYXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyBXYXRjaEZvcm1FcnJvcnMgfSBmcm9tICcuL1dhdGNoRm9ybUVycm9ycydcbmltcG9ydCB7IGJ1aWxkRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL2J1aWxkRmllbGRTY2hlbWFNYXAnXG5pbXBvcnQgYnVpbGRJbml0aWFsU3RhdGUgZnJvbSAnLi9idWlsZEluaXRpYWxTdGF0ZSdcbmltcG9ydCBidWlsZFN0YXRlRnJvbVNjaGVtYSBmcm9tICcuL2J1aWxkU3RhdGVGcm9tU2NoZW1hJ1xuaW1wb3J0IHtcbiAgRm9ybUNvbnRleHQsXG4gIEZvcm1GaWVsZHNDb250ZXh0LFxuICBGb3JtV2F0Y2hDb250ZXh0LFxuICBNb2RpZmllZENvbnRleHQsXG4gIFByb2Nlc3NpbmdDb250ZXh0LFxuICBTdWJtaXR0ZWRDb250ZXh0LFxufSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQgZXJyb3JNZXNzYWdlcyBmcm9tICcuL2Vycm9yTWVzc2FnZXMnXG5pbXBvcnQgeyBmaWVsZFJlZHVjZXIgfSBmcm9tICcuL2ZpZWxkUmVkdWNlcidcbmltcG9ydCBnZXREYXRhQnlQYXRoRnVuYyBmcm9tICcuL2dldERhdGFCeVBhdGgnXG5pbXBvcnQgZ2V0U2libGluZ0RhdGFGdW5jIGZyb20gJy4vZ2V0U2libGluZ0RhdGEnXG5pbXBvcnQgaW5pdENvbnRleHRTdGF0ZSBmcm9tICcuL2luaXRDb250ZXh0U3RhdGUnXG5pbXBvcnQgcmVkdWNlRmllbGRzVG9WYWx1ZXMgZnJvbSAnLi9yZWR1Y2VGaWVsZHNUb1ZhbHVlcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2Zvcm0nXG5cbmNvbnN0IEZvcm06IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGlkLCBjb2xsZWN0aW9uLCBnZXREb2NQcmVmZXJlbmNlcywgZ2xvYmFsIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHtcbiAgICBhY3Rpb24sXG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lLFxuICAgIGRpc2FibGVTdWNjZXNzU3RhdHVzLFxuICAgIGRpc2FibGVkLFxuICAgIGZpZWxkczogZmllbGRzRnJvbVByb3BzID0gY29sbGVjdGlvbj8uZmllbGRzIHx8IGdsb2JhbD8uZmllbGRzLFxuICAgIGhhbmRsZVJlc3BvbnNlLFxuICAgIGluaXRpYWxEYXRhLCAvLyB2YWx1ZXMgb25seSwgcGF0aHMgYXJlIHJlcXVpcmVkIGFzIGtleSAtIGZvcm0gc2hvdWxkIGJ1aWxkIGluaXRpYWwgc3RhdGUgYXMgY29udmVuaWVuY2VcbiAgICBpbml0aWFsU3RhdGUsIC8vIGZ1bGx5IGZvcm1lZCBpbml0aWFsIGZpZWxkIHN0YXRlXG4gICAgbWV0aG9kLFxuICAgIG9uU3VibWl0LFxuICAgIG9uU3VjY2VzcyxcbiAgICByZWRpcmVjdCxcbiAgICBzdWJtaXR0ZWQ6IHN1Ym1pdHRlZEZyb21Qcm9wcyxcbiAgICB3YWl0Rm9yQXV0b2NvbXBsZXRlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcbiAgY29uc3QgeyByZWZyZXNoQ29va2llLCB1c2VyIH0gPSB1c2VBdXRoKClcbiAgY29uc3Qgb3BlcmF0aW9uID0gdXNlT3BlcmF0aW9uKClcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IFttb2RpZmllZCwgc2V0TW9kaWZpZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtwcm9jZXNzaW5nLCBzZXRQcm9jZXNzaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc3VibWl0dGVkLCBzZXRTdWJtaXR0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb3JtYXR0ZWRJbml0aWFsRGF0YSwgc2V0Rm9ybWF0dGVkSW5pdGlhbERhdGFdID0gdXNlU3RhdGUoYnVpbGRJbml0aWFsU3RhdGUoaW5pdGlhbERhdGEpKVxuXG4gIGNvbnN0IGZvcm1SZWYgPSB1c2VSZWY8SFRNTEZvcm1FbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0UmVmID0gdXNlUmVmKHt9IGFzIEZvcm1Db250ZXh0VHlwZSlcblxuICBsZXQgaW5pdGlhbEZpZWxkU3RhdGUgPSB7fVxuXG4gIGlmIChmb3JtYXR0ZWRJbml0aWFsRGF0YSkgaW5pdGlhbEZpZWxkU3RhdGUgPSBmb3JtYXR0ZWRJbml0aWFsRGF0YVxuICBpZiAoaW5pdGlhbFN0YXRlKSBpbml0aWFsRmllbGRTdGF0ZSA9IGluaXRpYWxTdGF0ZVxuXG4gIGNvbnN0IGZpZWxkc1JlZHVjZXIgPSB1c2VSZWR1Y2VyKGZpZWxkUmVkdWNlciwge30sICgpID0+IGluaXRpYWxGaWVsZFN0YXRlKVxuICAvKipcbiAgICogYGZpZWxkc2AgaXMgdGhlIGN1cnJlbnQsIHVwLXRvLWRhdGUgc3RhdGUvZGF0YSBvZiBhbGwgZmllbGRzIGluIHRoZSBmb3JtLiBJdCBjYW4gYmUgbW9kaWZpZWQgYnkgdXNpbmcgZGlzcGF0Y2hGaWVsZHMsXG4gICAqIHdoaWNoIGNhbGxzIHRoZSBmaWVsZFJlZHVjZXIsIHdoaWNoIHRoZW4gdXBkYXRlcyB0aGUgc3RhdGUuXG4gICAqL1xuICBjb25zdCBbZmllbGRzLCBkaXNwYXRjaEZpZWxkc10gPSBmaWVsZHNSZWR1Y2VyXG5cbiAgY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcyA9IGZpZWxkc1xuICBjb250ZXh0UmVmLmN1cnJlbnQuZGlzcGF0Y2hGaWVsZHMgPSBkaXNwYXRjaEZpZWxkc1xuXG4gIC8vIEJ1aWxkIGEgY3VycmVudCBzZXQgb2YgY2hpbGQgZXJyb3JzIGZvciBhbGwgcm93cyBpbiBmb3JtIHN0YXRlXG4gIGNvbnN0IGJ1aWxkUm93RXJyb3JzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nRmllbGRSb3dzOiB7IFtwYXRoOiBzdHJpbmddOiBSb3dbXSB9ID0ge31cbiAgICBjb25zdCBuZXdGaWVsZFJvd3M6IHsgW3BhdGg6IHN0cmluZ106IFJvd1tdIH0gPSB7fVxuXG4gICAgT2JqZWN0LmVudHJpZXMoZmllbGRzKS5mb3JFYWNoKChbcGF0aCwgZmllbGRdKSA9PiB7XG4gICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBzcGxpdFBhdGhCeUFycmF5RmllbGRzKHBhdGgpXG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgwLCBpICsgMSkuam9pbignLicpXG4gICAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGZpZWxkcz8uW2ZpZWxkUGF0aF1cblxuICAgICAgICAvLyBJcyB0aGlzIGFuIGFycmF5IG9yIGJsb2NrcyBmaWVsZD9cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZm9ybUZpZWxkPy5yb3dzKSkge1xuICAgICAgICAgIC8vIEtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGV4aXN0aW5nIHJvdyBzdGF0ZVxuICAgICAgICAgIGV4aXN0aW5nRmllbGRSb3dzW2ZpZWxkUGF0aF0gPSBmb3JtRmllbGQucm93c1xuXG4gICAgICAgICAgLy8gQSBuZXcgcm93IHN0YXRlIHdpbGwgYmUgdXNlZCB0byBjb21wYXJlXG4gICAgICAgICAgLy8gYWdhaW5zdCB0aGUgb2xkIHN0YXRlIGxhdGVyLFxuICAgICAgICAgIC8vIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIGRpc3BhdGNoIGFuIHVwZGF0ZVxuICAgICAgICAgIGlmICghbmV3RmllbGRSb3dzW2ZpZWxkUGF0aF0pIHtcbiAgICAgICAgICAgIG5ld0ZpZWxkUm93c1tmaWVsZFBhdGhdID0gZm9ybUZpZWxkLnJvd3MubWFwKChleGlzdGluZ1JvdykgPT4gKHtcbiAgICAgICAgICAgICAgLi4uZXhpc3RpbmdSb3csXG4gICAgICAgICAgICAgIGNoaWxkRXJyb3JQYXRoczogbmV3IFNldCgpLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXRoU2VnbWVudHNbaSArIDFdXG4gICAgICAgICAgY29uc3QgY2hpbGRGaWVsZFBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuXG4gICAgICAgICAgaWYgKGZpZWxkLnZhbGlkID09PSBmYWxzZSAmJiBjaGlsZEZpZWxkUGF0aCkge1xuICAgICAgICAgICAgbmV3RmllbGRSb3dzW2ZpZWxkUGF0aF1bcm93SW5kZXhdLmNoaWxkRXJyb3JQYXRocy5hZGQoYCR7ZmllbGRQYXRofS4ke2NoaWxkRmllbGRQYXRofWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIC8vIE5vdyBsb29wIG92ZXIgYWxsIGZpZWxkcyB3aXRoIHJvd3MgLVxuICAgIC8vIGlmIGFueXRoaW5nIGNoYW5nZWQsIGRpc3BhdGNoIGFuIHVwZGF0ZSBmb3IgdGhlIGZpZWxkXG4gICAgLy8gd2l0aCB0aGUgbmV3IHJvdyBzdGF0ZVxuICAgIE9iamVjdC5lbnRyaWVzKG5ld0ZpZWxkUm93cykuZm9yRWFjaCgoW3BhdGgsIG5ld1Jvd3NdKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZU1hdGNoZXMgPSBuZXdSb3dzLmV2ZXJ5KChuZXdSb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdSb3dFcnJvclBhdGhzID0gZXhpc3RpbmdGaWVsZFJvd3NbcGF0aF1baV0/LmNoaWxkRXJyb3JQYXRoc1xuICAgICAgICByZXR1cm4gc2V0c0FyZUVxdWFsKG5ld1Jvdy5jaGlsZEVycm9yUGF0aHMsIGV4aXN0aW5nUm93RXJyb3JQYXRocylcbiAgICAgIH0pXG5cbiAgICAgIGlmICghc3RhdGVNYXRjaGVzKSB7XG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICB0eXBlOiAnVVBEQVRFJyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJvd3M6IG5ld1Jvd3MsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2ZpZWxkcywgZGlzcGF0Y2hGaWVsZHNdKVxuXG4gIGNvbnN0IHZhbGlkYXRlRm9ybSA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB2YWxpZGF0ZWRGaWVsZFN0YXRlID0ge31cbiAgICBsZXQgaXNWYWxpZCA9IHRydWVcbiAgICBjb25zdCBkYXRhID0gY29udGV4dFJlZi5jdXJyZW50LmdldERhdGEoKVxuXG4gICAgY29uc3QgdmFsaWRhdGlvblByb21pc2VzID0gT2JqZWN0LmVudHJpZXMoY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcykubWFwKFxuICAgICAgYXN5bmMgKFtwYXRoLCBmaWVsZF0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkRmllbGQgPSB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQucGFzc2VzQ29uZGl0aW9uICE9PSBmYWxzZSkge1xuICAgICAgICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0OiBib29sZWFuIHwgc3RyaW5nID0gdHJ1ZVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IHZhbHVlVG9WYWxpZGF0ZSA9IGZpZWxkLnZhbHVlXG5cbiAgICAgICAgICAgIGlmIChmaWVsZD8ucm93cyAmJiBBcnJheS5pc0FycmF5KGZpZWxkLnJvd3MpKSB7XG4gICAgICAgICAgICAgIHZhbHVlVG9WYWxpZGF0ZSA9IGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhQnlQYXRoKHBhdGgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCBmaWVsZC52YWxpZGF0ZSh2YWx1ZVRvVmFsaWRhdGUsIHtcbiAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBzaWJsaW5nRGF0YTogY29udGV4dFJlZi5jdXJyZW50LmdldFNpYmxpbmdEYXRhKHBhdGgpLFxuICAgICAgICAgICAgICB0LFxuICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC5lcnJvck1lc3NhZ2UgPSB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgICB2YWxpZGF0ZWRGaWVsZC52YWxpZCA9IGZhbHNlXG4gICAgICAgICAgICBpc1ZhbGlkID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YWxpZGF0ZWRGaWVsZFN0YXRlW3BhdGhdID0gdmFsaWRhdGVkRmllbGRcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodmFsaWRhdGlvblByb21pc2VzKVxuXG4gICAgaWYgKCFpc0RlZXBFcXVhbChjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB2YWxpZGF0ZWRGaWVsZFN0YXRlKSkge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyB0eXBlOiAnUkVQTEFDRV9TVEFURScsIHN0YXRlOiB2YWxpZGF0ZWRGaWVsZFN0YXRlIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmFsaWRcbiAgfSwgW2NvbnRleHRSZWYsIGlkLCB1c2VyLCBvcGVyYXRpb24sIHQsIGRpc3BhdGNoRmllbGRzLCBjb25maWddKVxuXG4gIGNvbnN0IHN1Ym1pdCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChvcHRpb25zOiBTdWJtaXRPcHRpb25zID0ge30sIGUpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWN0aW9uOiBhY3Rpb25Ub1VzZSA9IGFjdGlvbixcbiAgICAgICAgbWV0aG9kOiBtZXRob2RUb1VzZSA9IG1ldGhvZCxcbiAgICAgICAgb3ZlcnJpZGVzID0ge30sXG4gICAgICAgIHNraXBWYWxpZGF0aW9uLFxuICAgICAgfSA9IG9wdGlvbnNcblxuICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChlKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIHNldFByb2Nlc3NpbmcodHJ1ZSlcblxuICAgICAgaWYgKHdhaXRGb3JBdXRvY29tcGxldGUpIGF3YWl0IHdhaXQoMTAwKVxuXG4gICAgICBjb25zdCBpc1ZhbGlkID0gc2tpcFZhbGlkYXRpb24gPyB0cnVlIDogYXdhaXQgY29udGV4dFJlZi5jdXJyZW50LnZhbGlkYXRlRm9ybSgpXG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQuYnVpbGRSb3dFcnJvcnMoKVxuXG4gICAgICBpZiAoIXNraXBWYWxpZGF0aW9uKSBzZXRTdWJtaXR0ZWQodHJ1ZSlcblxuICAgICAgLy8gSWYgbm90IHZhbGlkLCBwcmV2ZW50IHN1Ym1pc3Npb25cbiAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICB0b2FzdC5lcnJvcih0KCdlcnJvcjpjb3JyZWN0SW52YWxpZEZpZWxkcycpKVxuICAgICAgICBzZXRQcm9jZXNzaW5nKGZhbHNlKVxuXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdWJtaXQgaGFuZGxlciBjb21lcyB0aHJvdWdoIHZpYSBwcm9wcywgcnVuIHRoYXRcbiAgICAgIGlmIChvblN1Ym1pdCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgIC4uLnJlZHVjZUZpZWxkc1RvVmFsdWVzKGZpZWxkcywgdHJ1ZSksXG4gICAgICAgICAgLi4ub3ZlcnJpZGVzLFxuICAgICAgICB9XG5cbiAgICAgICAgb25TdWJtaXQoZmllbGRzLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IGNvbnRleHRSZWYuY3VycmVudC5jcmVhdGVGb3JtRGF0YShvdmVycmlkZXMpXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlcXVlc3RzW21ldGhvZFRvVXNlLnRvTG93ZXJDYXNlKCldKGFjdGlvblRvVXNlLCB7XG4gICAgICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBzZXRNb2RpZmllZChmYWxzZSlcblxuICAgICAgICBpZiAodHlwZW9mIGhhbmRsZVJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgaGFuZGxlUmVzcG9uc2UocmVzKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgc2V0UHJvY2Vzc2luZyhmYWxzZSlcblxuICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJylcbiAgICAgICAgY29uc3QgaXNKU09OID0gY29udGVudFR5cGUgJiYgY29udGVudFR5cGUuaW5kZXhPZignYXBwbGljYXRpb24vanNvbicpICE9PSAtMVxuXG4gICAgICAgIGxldCBqc29uOiBhbnkgPSB7fVxuXG4gICAgICAgIGlmIChpc0pTT04pIGpzb24gPSBhd2FpdCByZXMuanNvbigpXG5cbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgPCA0MDApIHtcbiAgICAgICAgICBzZXRTdWJtaXR0ZWQoZmFsc2UpXG5cbiAgICAgICAgICBpZiAodHlwZW9mIG9uU3VjY2VzcyA9PT0gJ2Z1bmN0aW9uJykgb25TdWNjZXNzKGpzb24pXG5cbiAgICAgICAgICBpZiAocmVkaXJlY3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgICBwYXRobmFtZTogcmVkaXJlY3QsXG4gICAgICAgICAgICAgIHN0YXRlOiB7fSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBqc29uID09PSAnb2JqZWN0JyAmJiBqc29uLm1lc3NhZ2UgJiYgIWRpc2FibGVTdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICAgIGRlc3RpbmF0aW9uLnN0YXRlID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGpzb24ubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoaXN0b3J5LnB1c2goZGVzdGluYXRpb24pXG4gICAgICAgICAgfSBlbHNlIGlmICghZGlzYWJsZVN1Y2Nlc3NTdGF0dXMpIHtcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoanNvbi5tZXNzYWdlIHx8IHQoJ3N1Ym1pc3Npb25TdWNjZXNzZnVsJyksIHsgYXV0b0Nsb3NlOiAzMDAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uY29udGV4dFJlZi5jdXJyZW50IH0gLy8gdHJpZ2dlcnMgcmVyZW5kZXIgb2YgYWxsIGNvbXBvbmVudHMgdGhhdCBzdWJzY3JpYmUgdG8gZm9ybVxuXG4gICAgICAgICAgaWYgKGpzb24ubWVzc2FnZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoanNvbi5tZXNzYWdlKVxuXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uLmVycm9ycykpIHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEVycm9ycywgbm9uRmllbGRFcnJvcnNdID0ganNvbi5lcnJvcnMucmVkdWNlKFxuICAgICAgICAgICAgICAoW2ZpZWxkRXJycywgbm9uRmllbGRFcnJzXSwgZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RmllbGRFcnJzID0gW11cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdOb25GaWVsZEVycnMgPSBbXVxuXG4gICAgICAgICAgICAgICAgaWYgKGVycj8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgbmV3Tm9uRmllbGRFcnJzLnB1c2goZXJyKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVycj8uZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgIGVyci5kYXRhLmZvckVhY2goKGRhdGFFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YUVycm9yPy5maWVsZCkge1xuICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkRXJycy5wdXNoKGRhdGFFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBuZXdOb25GaWVsZEVycnMucHVzaChkYXRhRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIFsuLi5maWVsZEVycnMsIC4uLm5ld0ZpZWxkRXJyc10sXG4gICAgICAgICAgICAgICAgICBbLi4ubm9uRmllbGRFcnJzLCAuLi5uZXdOb25GaWVsZEVycnNdLFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW1tdLCBbXV0sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGZpZWxkRXJyb3JzLmZvckVhY2goKGVycikgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICAgICAgICAgICAgLi4uKGNvbnRleHRSZWYuY3VycmVudD8uZmllbGRzPy5bZXJyLmZpZWxkXSB8fCB7fSksXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlOiBlcnIubWVzc2FnZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBlcnIuZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgbm9uRmllbGRFcnJvcnMuZm9yRWFjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LmVycm9yKGVyci5tZXNzYWdlIHx8IHQoJ2Vycm9yOnVua25vd24nKSlcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvck1lc3NhZ2VzW3Jlcy5zdGF0dXNdIHx8IHQoJ2Vycm9yOnVua25vd24nKVxuXG4gICAgICAgICAgdG9hc3QuZXJyb3IobWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHNldFByb2Nlc3NpbmcoZmFsc2UpXG5cbiAgICAgICAgdG9hc3QuZXJyb3IoZXJyKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgYWN0aW9uLFxuICAgICAgZGlzYWJsZVN1Y2Nlc3NTdGF0dXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGRpc3BhdGNoRmllbGRzLFxuICAgICAgZmllbGRzLFxuICAgICAgaGFuZGxlUmVzcG9uc2UsXG4gICAgICBoaXN0b3J5LFxuICAgICAgbWV0aG9kLFxuICAgICAgb25TdWJtaXQsXG4gICAgICBvblN1Y2Nlc3MsXG4gICAgICByZWRpcmVjdCxcbiAgICAgIHQsXG4gICAgICBpMThuLFxuICAgICAgd2FpdEZvckF1dG9jb21wbGV0ZSxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgdHJhdmVyc2VSb3dDb25maWdzID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpZWxkQ29uZmlnLFxuICAgICAgcGF0aCxcbiAgICAgIHBhdGhQcmVmaXgsXG4gICAgfToge1xuICAgICAgZmllbGRDb25maWc6IEZpZWxkW11cbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgICAgcGF0aFByZWZpeD86IHN0cmluZ1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGZpZWxkQ29uZmlnXG4gICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBzcGxpdFBhdGhCeUFycmF5RmllbGRzKHBhdGgpXG4gICAgICBjb25zdCBjb25maWdNYXAgPSBidWlsZEZpZWxkU2NoZW1hTWFwKGNvbmZpZylcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoU2VnbWVudHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgY29uc3QgcGF0aFNlZ21lbnQgPSBwYXRoU2VnbWVudHNbaV1cblxuICAgICAgICBpZiAoaXNOdW1iZXIocGF0aFNlZ21lbnQpKSB7XG4gICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChwYXRoU2VnbWVudCwgMTApXG4gICAgICAgICAgY29uc3QgcGFyZW50RmllbGRQYXRoID0gcGF0aFNlZ21lbnRzLnNsaWNlKDAsIGkpLmpvaW4oJy4nKVxuICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ1BhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoaSArIDEpLmpvaW4oJy4nKVxuICAgICAgICAgIGNvbnN0IGFycmF5RmllbGRQYXRoID0gcGF0aFByZWZpeCA/IGAke3BhdGhQcmVmaXh9LiR7cGFyZW50RmllbGRQYXRofWAgOiBwYXJlbnRGaWVsZFBhdGhcbiAgICAgICAgICBjb25zdCBwYXJlbnRBcnJheUZpZWxkID0gY29udGV4dFJlZi5jdXJyZW50LmdldEZpZWxkKGFycmF5RmllbGRQYXRoKVxuICAgICAgICAgIGNvbnN0IHJvd0ZpZWxkID0gcGFyZW50QXJyYXlGaWVsZC5yb3dzW3Jvd0luZGV4XVxuXG4gICAgICAgICAgaWYgKHJvd0ZpZWxkLmJsb2NrVHlwZSkge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tDb25maWcgPSBjb25maWdNYXAuZ2V0KGAke3BhcmVudEZpZWxkUGF0aH0uJHtyb3dGaWVsZC5ibG9ja1R5cGV9YClcbiAgICAgICAgICAgIGlmIChibG9ja0NvbmZpZykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbmZpZzogYmxvY2tDb25maWcsXG4gICAgICAgICAgICAgICAgcGF0aDogcmVtYWluaW5nUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoUHJlZml4OiBgJHthcnJheUZpZWxkUGF0aH0uJHtyb3dJbmRleH1gLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJsb2NrIGNvbmZpZyBub3QgZm91bmQgZm9yICR7cm93RmllbGQuYmxvY2tUeXBlfSBhdCBwYXRoICR7cGF0aH1gKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgICAgICAgZmllbGRDb25maWc6IGNvbmZpZ01hcC5nZXQocGFyZW50RmllbGRQYXRoKSxcbiAgICAgICAgICAgICAgcGF0aDogcmVtYWluaW5nUGF0aCxcbiAgICAgICAgICAgICAgcGF0aFByZWZpeDogYCR7YXJyYXlGaWVsZFBhdGh9LiR7cm93SW5kZXh9YCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb25maWdcbiAgICB9LFxuICAgIFtdLFxuICApXG5cbiAgY29uc3QgZ2V0Um93U2NoZW1hQnlQYXRoID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHsgYmxvY2tUeXBlLCBwYXRoIH06IHsgYmxvY2tUeXBlPzogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgY29uc3Qgcm93Q29uZmlnID0gdHJhdmVyc2VSb3dDb25maWdzKHtcbiAgICAgICAgZmllbGRDb25maWc6IGZpZWxkc0Zyb21Qcm9wcyxcbiAgICAgICAgcGF0aCxcbiAgICAgIH0pXG4gICAgICBjb25zdCByb3dGaWVsZENvbmZpZ3MgPSBidWlsZEZpZWxkU2NoZW1hTWFwKHJvd0NvbmZpZylcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHNwbGl0UGF0aEJ5QXJyYXlGaWVsZHMocGF0aClcbiAgICAgIGNvbnN0IGZpZWxkS2V5ID0gcGF0aFNlZ21lbnRzLmF0KC0xKVxuICAgICAgcmV0dXJuIHJvd0ZpZWxkQ29uZmlncy5nZXQoYmxvY2tUeXBlID8gYCR7ZmllbGRLZXl9LiR7YmxvY2tUeXBlfWAgOiBmaWVsZEtleSlcbiAgICB9LFxuICAgIFt0cmF2ZXJzZVJvd0NvbmZpZ3MsIGZpZWxkc0Zyb21Qcm9wc10sXG4gIClcblxuICAvLyBBcnJheS9CbG9jayByb3cgbWFuaXB1bGF0aW9uLiBUaGlzIGlzIGNhbGxlZCB3aGVuLCBmb3IgZXhhbXBsZSwgeW91IGFkZCBhIG5ldyBibG9jayB0byBhIGJsb2NrcyBmaWVsZC5cbiAgLy8gVGhlIGJsb2NrIGRhdGEgaXMgc2F2ZWQgaW4gdGhlIHJvd3MgcHJvcGVydHkgb2YgdGhlIHN0YXRlLCB3aGljaCBpcyBtb2RpZmllZCB1cGRhdGVkIGhlcmUuXG4gIGNvbnN0IGFkZEZpZWxkUm93OiBDb250ZXh0WydhZGRGaWVsZFJvdyddID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgZGF0YSwgcGF0aCwgcm93SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSBhd2FpdCBnZXREb2NQcmVmZXJlbmNlcygpXG4gICAgICBjb25zdCByb3dTY2hlbWEgPSBnZXRSb3dTY2hlbWFCeVBhdGgoe1xuICAgICAgICBibG9ja1R5cGU6IGRhdGE/LmJsb2NrVHlwZSxcbiAgICAgICAgcGF0aCxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChyb3dTY2hlbWEpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRTdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBmaWVsZFNjaGVtYTogcm93U2NoZW1hLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgcHJlZmVyZW5jZXMsXG4gICAgICAgICAgdCxcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KVxuXG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICB0eXBlOiAnQUREX1JPVycsXG4gICAgICAgICAgYmxvY2tUeXBlOiBkYXRhPy5ibG9ja1R5cGUsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByb3dJbmRleCxcbiAgICAgICAgICBzdWJGaWVsZFN0YXRlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzLCBnZXREb2NQcmVmZXJlbmNlcywgaWQsIHVzZXIsIG9wZXJhdGlvbiwgbG9jYWxlLCB0LCBnZXRSb3dTY2hlbWFCeVBhdGgsIGNvbmZpZ10sXG4gIClcblxuICBjb25zdCByZW1vdmVGaWVsZFJvdzogQ29udGV4dFsncmVtb3ZlRmllbGRSb3cnXSA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHBhdGgsIHJvd0luZGV4IH0pID0+IHtcbiAgICAgIGRpc3BhdGNoRmllbGRzKHsgdHlwZTogJ1JFTU9WRV9ST1cnLCBwYXRoLCByb3dJbmRleCB9KVxuICAgIH0sXG4gICAgW2Rpc3BhdGNoRmllbGRzXSxcbiAgKVxuXG4gIGNvbnN0IHJlcGxhY2VGaWVsZFJvdzogQ29udGV4dFsncmVwbGFjZUZpZWxkUm93J10gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoeyBkYXRhLCBwYXRoLCByb3dJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IHJvd1NjaGVtYSA9IGdldFJvd1NjaGVtYUJ5UGF0aCh7XG4gICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICBwYXRoLFxuICAgICAgfSlcblxuICAgICAgaWYgKHJvd1NjaGVtYSkge1xuICAgICAgICBjb25zdCBzdWJGaWVsZFN0YXRlID0gYXdhaXQgYnVpbGRTdGF0ZUZyb21TY2hlbWEoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGZpZWxkU2NoZW1hOiByb3dTY2hlbWEsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICBwcmVmZXJlbmNlcyxcbiAgICAgICAgICB0LFxuICAgICAgICAgIHVzZXIsXG4gICAgICAgIH0pXG4gICAgICAgIGRpc3BhdGNoRmllbGRzKHtcbiAgICAgICAgICB0eXBlOiAnUkVQTEFDRV9ST1cnLFxuICAgICAgICAgIGJsb2NrVHlwZTogZGF0YT8uYmxvY2tUeXBlLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcm93SW5kZXgsXG4gICAgICAgICAgc3ViRmllbGRTdGF0ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgZ2V0RG9jUHJlZmVyZW5jZXMsIGlkLCB1c2VyLCBvcGVyYXRpb24sIGxvY2FsZSwgdCwgZ2V0Um93U2NoZW1hQnlQYXRoLCBjb25maWddLFxuICApXG5cbiAgY29uc3QgZ2V0RmllbGRzID0gdXNlQ2FsbGJhY2soKCkgPT4gY29udGV4dFJlZi5jdXJyZW50LmZpZWxkcywgW2NvbnRleHRSZWZdKVxuICBjb25zdCBnZXRGaWVsZCA9IHVzZUNhbGxiYWNrKChwYXRoOiBzdHJpbmcpID0+IGNvbnRleHRSZWYuY3VycmVudC5maWVsZHNbcGF0aF0sIFtjb250ZXh0UmVmXSlcbiAgY29uc3QgZ2V0RGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IHJlZHVjZUZpZWxkc1RvVmFsdWVzKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHRydWUpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuICBjb25zdCBnZXRTaWJsaW5nRGF0YSA9IHVzZUNhbGxiYWNrKFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldFNpYmxpbmdEYXRhRnVuYyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCBwYXRoKSxcbiAgICBbY29udGV4dFJlZl0sXG4gIClcbiAgY29uc3QgZ2V0RGF0YUJ5UGF0aCA9IHVzZUNhbGxiYWNrPEdldERhdGFCeVBhdGg+KFxuICAgIChwYXRoOiBzdHJpbmcpID0+IGdldERhdGFCeVBhdGhGdW5jKGNvbnRleHRSZWYuY3VycmVudC5maWVsZHMsIHBhdGgpLFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IGNyZWF0ZUZvcm1EYXRhID0gdXNlQ2FsbGJhY2soXG4gICAgKG92ZXJyaWRlczogYW55ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhjb250ZXh0UmVmLmN1cnJlbnQuZmllbGRzLCB0cnVlKVxuXG4gICAgICBjb25zdCBmaWxlID0gZGF0YT8uZmlsZVxuXG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBkZWxldGUgZGF0YS5maWxlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFXaXRoT3ZlcnJpZGVzID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAuLi5vdmVycmlkZXMsXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGFUb1NlcmlhbGl6ZSA9IHtcbiAgICAgICAgX3BheWxvYWQ6IEpTT04uc3RyaW5naWZ5KGRhdGFXaXRoT3ZlcnJpZGVzKSxcbiAgICAgICAgZmlsZSxcbiAgICAgIH1cblxuICAgICAgLy8gbnVsbEFzVW5kZWZpbmVkcyBpcyBpbXBvcnRhbnQgdG8gYWxsb3cgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwIGZpZWxkcyB0byBjbGVhciB0aGVtc2VsdmVzXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IHNlcmlhbGl6ZShkYXRhVG9TZXJpYWxpemUsIHsgaW5kaWNlczogdHJ1ZSwgbnVsbHNBc1VuZGVmaW5lZHM6IGZhbHNlIH0pXG4gICAgICByZXR1cm4gZm9ybURhdGFcbiAgICB9LFxuICAgIFtjb250ZXh0UmVmXSxcbiAgKVxuXG4gIGNvbnN0IHJlc2V0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGZpZWxkU2NoZW1hOiBGaWVsZFtdLCBkYXRhOiB1bmtub3duKSA9PiB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlcyA9IGF3YWl0IGdldERvY1ByZWZlcmVuY2VzKClcbiAgICAgIGNvbnN0IHN0YXRlID0gYXdhaXQgYnVpbGRTdGF0ZUZyb21TY2hlbWEoe1xuICAgICAgICBpZCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhLFxuICAgICAgICBmaWVsZFNjaGVtYSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHByZWZlcmVuY2VzLFxuICAgICAgICB0LFxuICAgICAgICB1c2VyLFxuICAgICAgfSlcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IHR5cGU6ICdSRVBMQUNFX1NUQVRFJywgc3RhdGUgfSlcbiAgICB9LFxuICAgIFtpZCwgdXNlciwgb3BlcmF0aW9uLCBsb2NhbGUsIHQsIGRpc3BhdGNoRmllbGRzLCBnZXREb2NQcmVmZXJlbmNlcywgY29uZmlnXSxcbiAgKVxuXG4gIGNvbnN0IHJlcGxhY2VTdGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChzdGF0ZTogRmllbGRzKSA9PiB7XG4gICAgICBjb250ZXh0UmVmLmN1cnJlbnQgPSB7IC4uLmluaXRDb250ZXh0U3RhdGUgfSBhcyBGb3JtQ29udGV4dFR5cGVcbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyB0eXBlOiAnUkVQTEFDRV9TVEFURScsIHN0YXRlIH0pXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHNdLFxuICApXG5cbiAgY29udGV4dFJlZi5jdXJyZW50LnN1Ym1pdCA9IHN1Ym1pdFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RmllbGRzID0gZ2V0RmllbGRzXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXRGaWVsZCA9IGdldEZpZWxkXG4gIGNvbnRleHRSZWYuY3VycmVudC5nZXREYXRhID0gZ2V0RGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0U2libGluZ0RhdGEgPSBnZXRTaWJsaW5nRGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0RGF0YUJ5UGF0aCA9IGdldERhdGFCeVBhdGhcbiAgY29udGV4dFJlZi5jdXJyZW50LnZhbGlkYXRlRm9ybSA9IHZhbGlkYXRlRm9ybVxuICBjb250ZXh0UmVmLmN1cnJlbnQuY3JlYXRlRm9ybURhdGEgPSBjcmVhdGVGb3JtRGF0YVxuICBjb250ZXh0UmVmLmN1cnJlbnQuc2V0TW9kaWZpZWQgPSBzZXRNb2RpZmllZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuc2V0UHJvY2Vzc2luZyA9IHNldFByb2Nlc3NpbmdcbiAgY29udGV4dFJlZi5jdXJyZW50LnNldFN1Ym1pdHRlZCA9IHNldFN1Ym1pdHRlZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZGlzYWJsZWQgPSBkaXNhYmxlZFxuICBjb250ZXh0UmVmLmN1cnJlbnQuZm9ybVJlZiA9IGZvcm1SZWZcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlc2V0ID0gcmVzZXRcbiAgY29udGV4dFJlZi5jdXJyZW50LnJlcGxhY2VTdGF0ZSA9IHJlcGxhY2VTdGF0ZVxuICBjb250ZXh0UmVmLmN1cnJlbnQuYnVpbGRSb3dFcnJvcnMgPSBidWlsZFJvd0Vycm9yc1xuICBjb250ZXh0UmVmLmN1cnJlbnQuYWRkRmllbGRSb3cgPSBhZGRGaWVsZFJvd1xuICBjb250ZXh0UmVmLmN1cnJlbnQucmVtb3ZlRmllbGRSb3cgPSByZW1vdmVGaWVsZFJvd1xuICBjb250ZXh0UmVmLmN1cnJlbnQucmVwbGFjZUZpZWxkUm93ID0gcmVwbGFjZUZpZWxkUm93XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIHN1Ym1pdHRlZEZyb21Qcm9wcyA9PT0gJ2Jvb2xlYW4nKSBzZXRTdWJtaXR0ZWQoc3VibWl0dGVkRnJvbVByb3BzKVxuICB9LCBbc3VibWl0dGVkRnJvbVByb3BzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsU3RhdGUpIHtcbiAgICAgIGNvbnRleHRSZWYuY3VycmVudCA9IHsgLi4uaW5pdENvbnRleHRTdGF0ZSB9IGFzIEZvcm1Db250ZXh0VHlwZVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyB0eXBlOiAnUkVQTEFDRV9TVEFURScsIHN0YXRlOiBpbml0aWFsU3RhdGUgfSlcbiAgICB9XG4gIH0sIFtpbml0aWFsU3RhdGUsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsRGF0YSkge1xuICAgICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5pbml0Q29udGV4dFN0YXRlIH0gYXMgRm9ybUNvbnRleHRUeXBlXG4gICAgICBjb25zdCBidWlsdFN0YXRlID0gYnVpbGRJbml0aWFsU3RhdGUoaW5pdGlhbERhdGEpXG4gICAgICBzZXRGb3JtYXR0ZWRJbml0aWFsRGF0YShidWlsdFN0YXRlKVxuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyB0eXBlOiAnUkVQTEFDRV9TVEFURScsIHN0YXRlOiBidWlsdFN0YXRlIH0pXG4gICAgfVxuICB9LCBbaW5pdGlhbERhdGEsIGRpc3BhdGNoRmllbGRzXSlcblxuICB1c2VUaHJvdHRsZWRFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgcmVmcmVzaENvb2tpZSgpXG4gICAgfSxcbiAgICAxNTAwMCxcbiAgICBbZmllbGRzXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29udGV4dFJlZi5jdXJyZW50ID0geyAuLi5jb250ZXh0UmVmLmN1cnJlbnQgfSAvLyB0cmlnZ2VycyByZXJlbmRlciBvZiBhbGwgY29tcG9uZW50cyB0aGF0IHN1YnNjcmliZSB0byBmb3JtXG4gICAgc2V0TW9kaWZpZWQoZmFsc2UpXG4gIH0sIFtsb2NhbGVdKVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbY2xhc3NOYW1lLCBiYXNlQ2xhc3NdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJylcblxuICByZXR1cm4gKFxuICAgIDxmb3JtXG4gICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgIG1ldGhvZD17bWV0aG9kfVxuICAgICAgbm9WYWxpZGF0ZVxuICAgICAgb25TdWJtaXQ9eyhlKSA9PiBjb250ZXh0UmVmLmN1cnJlbnQuc3VibWl0KHt9LCBlKX1cbiAgICAgIHJlZj17Zm9ybVJlZn1cbiAgICA+XG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRSZWYuY3VycmVudH0+XG4gICAgICAgIDxGb3JtV2F0Y2hDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIC4uLmNvbnRleHRSZWYuY3VycmVudCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFN1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3N1Ym1pdHRlZH0+XG4gICAgICAgICAgICA8UHJvY2Vzc2luZ0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3Byb2Nlc3Npbmd9PlxuICAgICAgICAgICAgICA8TW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXttb2RpZmllZH0+XG4gICAgICAgICAgICAgICAgPEZvcm1GaWVsZHNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtmaWVsZHNSZWR1Y2VyfT5cbiAgICAgICAgICAgICAgICAgIDxXYXRjaEZvcm1FcnJvcnMgYnVpbGRSb3dFcnJvcnM9e2J1aWxkUm93RXJyb3JzfSAvPlxuICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvRm9ybUZpZWxkc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgIDwvTW9kaWZpZWRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9Qcm9jZXNzaW5nQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICA8L1N1Ym1pdHRlZENvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRm9ybVdhdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9mb3JtPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJGb3JtIiwicHJvcHMiLCJpZCIsImNvbGxlY3Rpb24iLCJnZXREb2NQcmVmZXJlbmNlcyIsImdsb2JhbCIsInVzZURvY3VtZW50SW5mbyIsImFjdGlvbiIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZVN1Y2Nlc3NTdGF0dXMiLCJkaXNhYmxlZCIsImZpZWxkcyIsImZpZWxkc0Zyb21Qcm9wcyIsImhhbmRsZVJlc3BvbnNlIiwiaW5pdGlhbERhdGEiLCJpbml0aWFsU3RhdGUiLCJtZXRob2QiLCJvblN1Ym1pdCIsIm9uU3VjY2VzcyIsInJlZGlyZWN0Iiwic3VibWl0dGVkIiwic3VibWl0dGVkRnJvbVByb3BzIiwid2FpdEZvckF1dG9jb21wbGV0ZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiY29kZSIsImxvY2FsZSIsInVzZUxvY2FsZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJyZWZyZXNoQ29va2llIiwidXNlciIsInVzZUF1dGgiLCJvcGVyYXRpb24iLCJ1c2VPcGVyYXRpb24iLCJjb25maWciLCJ1c2VDb25maWciLCJtb2RpZmllZCIsInNldE1vZGlmaWVkIiwidXNlU3RhdGUiLCJwcm9jZXNzaW5nIiwic2V0UHJvY2Vzc2luZyIsInNldFN1Ym1pdHRlZCIsImZvcm1hdHRlZEluaXRpYWxEYXRhIiwic2V0Rm9ybWF0dGVkSW5pdGlhbERhdGEiLCJidWlsZEluaXRpYWxTdGF0ZSIsImZvcm1SZWYiLCJ1c2VSZWYiLCJjb250ZXh0UmVmIiwiaW5pdGlhbEZpZWxkU3RhdGUiLCJmaWVsZHNSZWR1Y2VyIiwidXNlUmVkdWNlciIsImZpZWxkUmVkdWNlciIsImRpc3BhdGNoRmllbGRzIiwiY3VycmVudCIsImJ1aWxkUm93RXJyb3JzIiwidXNlQ2FsbGJhY2siLCJleGlzdGluZ0ZpZWxkUm93cyIsIm5ld0ZpZWxkUm93cyIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwicGF0aCIsImZpZWxkIiwicGF0aFNlZ21lbnRzIiwic3BsaXRQYXRoQnlBcnJheUZpZWxkcyIsImkiLCJsZW5ndGgiLCJmaWVsZFBhdGgiLCJzbGljZSIsImpvaW4iLCJmb3JtRmllbGQiLCJBcnJheSIsImlzQXJyYXkiLCJyb3dzIiwibWFwIiwiZXhpc3RpbmdSb3ciLCJjaGlsZEVycm9yUGF0aHMiLCJTZXQiLCJyb3dJbmRleCIsImNoaWxkRmllbGRQYXRoIiwidmFsaWQiLCJhZGQiLCJuZXdSb3dzIiwic3RhdGVNYXRjaGVzIiwiZXZlcnkiLCJuZXdSb3ciLCJleGlzdGluZ1Jvd0Vycm9yUGF0aHMiLCJzZXRzQXJlRXF1YWwiLCJ0eXBlIiwidmFsaWRhdGVGb3JtIiwidmFsaWRhdGVkRmllbGRTdGF0ZSIsImlzVmFsaWQiLCJkYXRhIiwiZ2V0RGF0YSIsInZhbGlkYXRpb25Qcm9taXNlcyIsInZhbGlkYXRlZEZpZWxkIiwicGFzc2VzQ29uZGl0aW9uIiwidmFsaWRhdGlvblJlc3VsdCIsInZhbGlkYXRlIiwidmFsdWVUb1ZhbGlkYXRlIiwidmFsdWUiLCJnZXREYXRhQnlQYXRoIiwic2libGluZ0RhdGEiLCJnZXRTaWJsaW5nRGF0YSIsImVycm9yTWVzc2FnZSIsIlByb21pc2UiLCJhbGwiLCJpc0RlZXBFcXVhbCIsInN0YXRlIiwic3VibWl0Iiwib3B0aW9ucyIsImUiLCJhY3Rpb25Ub1VzZSIsIm1ldGhvZFRvVXNlIiwib3ZlcnJpZGVzIiwic2tpcFZhbGlkYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndhaXQiLCJ0b2FzdCIsImVycm9yIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJmb3JtRGF0YSIsImNyZWF0ZUZvcm1EYXRhIiwicmVzIiwicmVxdWVzdHMiLCJ0b0xvd2VyQ2FzZSIsImJvZHkiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJjb250ZW50VHlwZSIsImdldCIsImlzSlNPTiIsImluZGV4T2YiLCJqc29uIiwic3RhdHVzIiwiZGVzdGluYXRpb24iLCJwYXRobmFtZSIsIm1lc3NhZ2UiLCJwdXNoIiwic3VjY2VzcyIsImF1dG9DbG9zZSIsImVycm9ycyIsImZpZWxkRXJyb3JzIiwibm9uRmllbGRFcnJvcnMiLCJyZWR1Y2UiLCJmaWVsZEVycnMiLCJub25GaWVsZEVycnMiLCJlcnIiLCJuZXdGaWVsZEVycnMiLCJuZXdOb25GaWVsZEVycnMiLCJkYXRhRXJyb3IiLCJlcnJvck1lc3NhZ2VzIiwidHJhdmVyc2VSb3dDb25maWdzIiwiUmVhY3QiLCJmaWVsZENvbmZpZyIsInBhdGhQcmVmaXgiLCJjb25maWdNYXAiLCJidWlsZEZpZWxkU2NoZW1hTWFwIiwicGF0aFNlZ21lbnQiLCJpc051bWJlciIsInBhcnNlSW50IiwicGFyZW50RmllbGRQYXRoIiwicmVtYWluaW5nUGF0aCIsImFycmF5RmllbGRQYXRoIiwicGFyZW50QXJyYXlGaWVsZCIsImdldEZpZWxkIiwicm93RmllbGQiLCJibG9ja1R5cGUiLCJibG9ja0NvbmZpZyIsIkVycm9yIiwiZ2V0Um93U2NoZW1hQnlQYXRoIiwicm93Q29uZmlnIiwicm93RmllbGRDb25maWdzIiwiZmllbGRLZXkiLCJhdCIsImFkZEZpZWxkUm93IiwicHJlZmVyZW5jZXMiLCJyb3dTY2hlbWEiLCJzdWJGaWVsZFN0YXRlIiwiYnVpbGRTdGF0ZUZyb21TY2hlbWEiLCJmaWVsZFNjaGVtYSIsInJlbW92ZUZpZWxkUm93IiwicmVwbGFjZUZpZWxkUm93IiwiZ2V0RmllbGRzIiwiZ2V0U2libGluZ0RhdGFGdW5jIiwiZ2V0RGF0YUJ5UGF0aEZ1bmMiLCJmaWxlIiwiZGF0YVdpdGhPdmVycmlkZXMiLCJkYXRhVG9TZXJpYWxpemUiLCJfcGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXJpYWxpemUiLCJpbmRpY2VzIiwibnVsbHNBc1VuZGVmaW5lZHMiLCJyZXNldCIsImluaXRDb250ZXh0U3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJidWlsdFN0YXRlIiwidXNlVGhyb3R0bGVkRWZmZWN0IiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJmb3JtIiwibm9WYWxpZGF0ZSIsInJlZiIsIkZvcm1Db250ZXh0IiwiUHJvdmlkZXIiLCJGb3JtV2F0Y2hDb250ZXh0IiwiU3VibWl0dGVkQ29udGV4dCIsIlByb2Nlc3NpbmdDb250ZXh0IiwiTW9kaWZpZWRDb250ZXh0IiwiRm9ybUZpZWxkc0NvbnRleHQiLCJXYXRjaEZvcm1FcnJvcnMiXSwibWFwcGluZ3MiOiJBQUFBLGtFQUFrRTs7OzsrQkFvckJsRTs7O2VBQUE7OztrRUFuckJ3QjtrQ0FDRTsrREFDa0Q7OEJBQzdDO2dDQUNKOytCQUNMOzBCQWFHOzhCQUNJO3dDQUNVOzZEQUN0QjtxQkFDUTsyRUFDTTtzQkFDUDt3QkFDRTs4QkFDTTt3QkFDTjttQ0FDRztpQ0FDRztxQ0FDSTswRUFDTjs2RUFDRzt5QkFRMUI7c0VBQ21COzhCQUNHO3NFQUNDO3VFQUNDO3lFQUNGOzZFQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqQyxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLE9BQXdCLENBQUNDO0lBQzdCLE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxNQUFNLEVBQUUsR0FBR0MsSUFBQUEsNkJBQWU7SUFFckUsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxvQkFBb0IsRUFDcEJDLFFBQVEsRUFDUkMsUUFBUUMsa0JBQWtCVixZQUFZUyxVQUFVUCxRQUFRTyxNQUFNLEVBQzlERSxjQUFjLEVBQ2RDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLFdBQVdDLGtCQUFrQixFQUM3QkMsbUJBQW1CLEVB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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Data, Fields } from './types';
|
|
2
|
+
type ReturnType = {
|
|
3
|
+
data: Data;
|
|
4
|
+
valid: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object
|
|
8
|
+
*
|
|
9
|
+
* @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure
|
|
10
|
+
* @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare const reduceFieldsToValuesWithValidation: (fields: Fields, unflatten?: boolean, ignoreDisableFormData?: boolean) => ReturnType;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=reduceFieldsToValuesWithValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reduceFieldsToValuesWithValidation.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/reduceFieldsToValuesWithValidation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAG3C,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,WACrC,MAAM,cACF,OAAO,0BACK,OAAO,KAC9B,UAoBF,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "reduceFieldsToValuesWithValidation", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return reduceFieldsToValuesWithValidation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _flatley = /*#__PURE__*/ _interop_require_default(require("flatley"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const { unflatten: flatleyUnflatten } = _flatley.default;
|
|
18
|
+
const reduceFieldsToValuesWithValidation = (fields, unflatten, ignoreDisableFormData)=>{
|
|
19
|
+
const state = {
|
|
20
|
+
data: {},
|
|
21
|
+
valid: true
|
|
22
|
+
};
|
|
23
|
+
if (!fields) return state;
|
|
24
|
+
Object.keys(fields).forEach((key)=>{
|
|
25
|
+
if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
|
|
26
|
+
state.data[key] = fields[key]?.value;
|
|
27
|
+
if (!fields[key].valid) state.valid = false;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
if (unflatten) {
|
|
31
|
+
state.data = flatleyUnflatten(state.data, {
|
|
32
|
+
safe: true
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return state;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vcmVkdWNlRmllbGRzVG9WYWx1ZXNXaXRoVmFsaWRhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmxhdGxleUltcG9ydCBmcm9tICdmbGF0bGV5J1xuXG5pbXBvcnQgdHlwZSB7IERhdGEsIEZpZWxkcyB9IGZyb20gJy4vdHlwZXMnXG5jb25zdCB7IHVuZmxhdHRlbjogZmxhdGxleVVuZmxhdHRlbiB9ID0gZmxhdGxleUltcG9ydFxuXG50eXBlIFJldHVyblR5cGUgPSB7XG4gIGRhdGE6IERhdGFcbiAgdmFsaWQ6IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBSZWR1Y2UgZmxhdHRlbmVkIGZvcm0gZmllbGRzIChGaWVsZHMpIHRvIGp1c3QgbWFwIHRvIHRoZSByZXNwZWN0aXZlIHZhbHVlcyBpbnN0ZWFkIG9mIHRoZSBmdWxsIEZvcm1GaWVsZCBvYmplY3RcbiAqXG4gKiBAcGFyYW0gdW5mbGF0dGVuIFRoaXMgYWxzbyB1bmZsYXR0ZW5zIHRoZSBkYXRhIGlmIGB1bmZsYXR0ZW5gIGlzIHRydWUuIFRoZSB1bmZsYXR0ZW5lZCBkYXRhIHNob3VsZCBtYXRjaCB0aGUgb3JpZ2luYWwgZGF0YSBzdHJ1Y3R1cmVcbiAqIEBwYXJhbSBpZ25vcmVEaXNhYmxlRm9ybURhdGEgLSBpZiB0cnVlLCB3aWxsIGluY2x1ZGUgZmllbGRzIHRoYXQgaGF2ZSBgZGlzYWJsZUZvcm1EYXRhYCBzZXQgdG8gdHJ1ZSwgZm9yIGV4YW1wbGUsIGJsb2NrcyBvciBhcnJheXMgZmllbGRzLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZHVjZUZpZWxkc1RvVmFsdWVzV2l0aFZhbGlkYXRpb24gPSAoXG4gIGZpZWxkczogRmllbGRzLFxuICB1bmZsYXR0ZW4/OiBib29sZWFuLFxuICBpZ25vcmVEaXNhYmxlRm9ybURhdGE/OiBib29sZWFuLFxuKTogUmV0dXJuVHlwZSA9PiB7XG4gIGNvbnN0IHN0YXRlOiBSZXR1cm5UeXBlID0ge1xuICAgIGRhdGE6IHt9LFxuICAgIHZhbGlkOiB0cnVlLFxuICB9XG5cbiAgaWYgKCFmaWVsZHMpIHJldHVybiBzdGF0ZVxuXG4gIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYgKGlnbm9yZURpc2FibGVGb3JtRGF0YSA9PT0gdHJ1ZSB8fCAhZmllbGRzW2tleV0/LmRpc2FibGVGb3JtRGF0YSkge1xuICAgICAgc3RhdGUuZGF0YVtrZXldID0gZmllbGRzW2tleV0/LnZhbHVlXG4gICAgICBpZiAoIWZpZWxkc1trZXldLnZhbGlkKSBzdGF0ZS52YWxpZCA9IGZhbHNlXG4gICAgfVxuICB9KVxuXG4gIGlmICh1bmZsYXR0ZW4pIHtcbiAgICBzdGF0ZS5kYXRhID0gZmxhdGxleVVuZmxhdHRlbihzdGF0ZS5kYXRhLCB7IHNhZmU6IHRydWUgfSlcbiAgfVxuXG4gIHJldHVybiBzdGF0ZVxufVxuIl0sIm5hbWVzIjpbInJlZHVjZUZpZWxkc1RvVmFsdWVzV2l0aFZhbGlkYXRpb24iLCJ1bmZsYXR0ZW4iLCJmbGF0bGV5VW5mbGF0dGVuIiwiZmxhdGxleUltcG9ydCIsImZpZWxkcyIsImlnbm9yZURpc2FibGVGb3JtRGF0YSIsInN0YXRlIiwiZGF0YSIsInZhbGlkIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJkaXNhYmxlRm9ybURhdGEiLCJ2YWx1ZSIsInNhZmUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUJhQTs7O2VBQUFBOzs7Z0VBakJhOzs7Ozs7QUFHMUIsTUFBTSxFQUFFQyxXQUFXQyxnQkFBZ0IsRUFBRSxHQUFHQyxnQkFBYTtBQWM5QyxNQUFNSCxxQ0FBcUMsQ0FDaERJLFFBQ0FILFdBQ0FJO0lBRUEsTUFBTUMsUUFBb0I7UUFDeEJDLE1BQU0sQ0FBQztRQUNQQyxPQUFPO0lBQ1Q7SUFFQSxJQUFJLENBQUNKLFFBQVEsT0FBT0U7SUFFcEJHLE9BQU9DLElBQUksQ0FBQ04sUUFBUU8sT0FBTyxDQUFDLENBQUNDO1FBQzNCLElBQUlQLDBCQUEwQixRQUFRLENBQUNELE1BQU0sQ0FBQ1EsSUFBSSxFQUFFQyxpQkFBaUI7WUFDbkVQLE1BQU1DLElBQUksQ0FBQ0ssSUFBSSxHQUFHUixNQUFNLENBQUNRLElBQUksRUFBRUU7WUFDL0IsSUFBSSxDQUFDVixNQUFNLENBQUNRLElBQUksQ0FBQ0osS0FBSyxFQUFFRixNQUFNRSxLQUFLLEdBQUc7UUFDeEM7SUFDRjtJQUVBLElBQUlQLFdBQVc7UUFDYkssTUFBTUMsSUFBSSxHQUFHTCxpQkFBaUJJLE1BQU1DLElBQUksRUFBRTtZQUFFUSxNQUFNO1FBQUs7SUFDekQ7SUFFQSxPQUFPVDtBQUNUIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/LanguageWrap/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,wBAAwB,CAAA;AAI/B,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/LanguageWrap/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,wBAAwB,CAAA;AAI/B,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAUjE,CAAA"}
|
|
@@ -24,9 +24,12 @@ const LanguageWrap = ({ children })=>{
|
|
|
24
24
|
const { i18n } = (0, _reacti18next.useTranslation)();
|
|
25
25
|
const currentLanguage = i18n?.language;
|
|
26
26
|
const isScriptLanguage = currentLanguage && scriptLanguages.includes(currentLanguage);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
if (isScriptLanguage) {
|
|
28
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
29
|
+
className: "script-language"
|
|
30
|
+
}, children);
|
|
31
|
+
}
|
|
32
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
|
|
30
33
|
};
|
|
31
34
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9MYW5ndWFnZVdyYXAvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0ICcuLi8uLi8uLi9zY3NzL2FwcC5zY3NzJ1xuXG5jb25zdCBzY3JpcHRMYW5ndWFnZXMgPSBbJ2FyJywgJ2ZhJ11cblxuZXhwb3J0IGNvbnN0IExhbmd1YWdlV3JhcDogUmVhY3QuRkM8eyBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IGkxOG4/
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9MYW5ndWFnZVdyYXAvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0ICcuLi8uLi8uLi9zY3NzL2FwcC5zY3NzJ1xuXG5jb25zdCBzY3JpcHRMYW5ndWFnZXMgPSBbJ2FyJywgJ2ZhJ11cblxuZXhwb3J0IGNvbnN0IExhbmd1YWdlV3JhcDogUmVhY3QuRkM8eyBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IGkxOG4/Lmxhbmd1YWdlXG4gIGNvbnN0IGlzU2NyaXB0TGFuZ3VhZ2UgPSBjdXJyZW50TGFuZ3VhZ2UgJiYgc2NyaXB0TGFuZ3VhZ2VzLmluY2x1ZGVzKGN1cnJlbnRMYW5ndWFnZSlcblxuICBpZiAoaXNTY3JpcHRMYW5ndWFnZSkge1xuICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cInNjcmlwdC1sYW5ndWFnZVwiPntjaGlsZHJlbn08L2Rpdj5cbiAgfVxuXG4gIHJldHVybiA8UmVhY3QuRnJhZ21lbnQ+e2NoaWxkcmVufTwvUmVhY3QuRnJhZ21lbnQ+XG59XG4iXSwibmFtZXMiOlsiTGFuZ3VhZ2VXcmFwIiwic2NyaXB0TGFuZ3VhZ2VzIiwiY2hpbGRyZW4iLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJjdXJyZW50TGFuZ3VhZ2UiLCJsYW5ndWFnZSIsImlzU2NyaXB0TGFuZ3VhZ2UiLCJpbmNsdWRlcyIsImRpdiIsImNsYXNzTmFtZSIsIlJlYWN0IiwiRnJhZ21lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBT2FBOzs7ZUFBQUE7Ozs4REFQSzs4QkFDYTtRQUV4Qjs7Ozs7O0FBRVAsTUFBTUMsa0JBQWtCO0lBQUM7SUFBTTtDQUFLO0FBRTdCLE1BQU1ELGVBQXlELENBQUMsRUFBRUUsUUFBUSxFQUFFO0lBQ2pGLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDRCQUFjO0lBQy9CLE1BQU1DLGtCQUFrQkYsTUFBTUc7SUFDOUIsTUFBTUMsbUJBQW1CRixtQkFBbUJKLGdCQUFnQk8sUUFBUSxDQUFDSDtJQUVyRSxJQUFJRSxrQkFBa0I7UUFDcEIscUJBQU8sNkJBQUNFO1lBQUlDLFdBQVU7V0FBbUJSO0lBQzNDO0lBRUEscUJBQU8sNkJBQUNTLGNBQUssQ0FBQ0MsUUFBUSxRQUFFVjtBQUMxQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4FA,CAAA"}
|
|
@@ -55,13 +55,16 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
55
55
|
const DeviceContainer = (props)=>{
|
|
56
56
|
const { children } = props;
|
|
57
57
|
const deviceFrameRef = _react.default.useRef(null);
|
|
58
|
-
const
|
|
58
|
+
const outerFrameRef = _react.default.useRef(null);
|
|
59
|
+
const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = (0, _context.useLivePreviewContext)();
|
|
59
60
|
// Keep an accurate measurement of the actual device size as it is truly rendered
|
|
60
61
|
// This is helpful when `sizes` are non-number units like percentages, etc.
|
|
61
|
-
const { size: measuredDeviceSize } = (0, _useResize.useResize)(deviceFrameRef);
|
|
62
|
+
const { size: measuredDeviceSize } = (0, _useResize.useResize)(deviceFrameRef.current);
|
|
63
|
+
const { size: outerFrameSize } = (0, _useResize.useResize)(outerFrameRef.current);
|
|
64
|
+
let deviceIsLargerThanFrame = false;
|
|
62
65
|
// Sync the measured device size with the context so that other components can use it
|
|
63
66
|
// This happens from the bottom up so that as this component mounts and unmounts,
|
|
64
|
-
//
|
|
67
|
+
// its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe
|
|
65
68
|
(0, _react.useEffect)(()=>{
|
|
66
69
|
if (measuredDeviceSize) {
|
|
67
70
|
setMeasuredDeviceSize(measuredDeviceSize);
|
|
@@ -74,20 +77,44 @@ const DeviceContainer = (props)=>{
|
|
|
74
77
|
let margin = '0';
|
|
75
78
|
if (breakpoint && breakpoint !== 'responsive') {
|
|
76
79
|
x = '-50%';
|
|
77
|
-
if (typeof zoom === 'number' && typeof
|
|
78
|
-
const scaledWidth = size.width / zoom;
|
|
79
|
-
const difference = scaledWidth - size.width;
|
|
80
|
-
x = `${difference / 2}px`;
|
|
80
|
+
if (typeof zoom === 'number' && typeof desiredSize.width === 'number' && typeof desiredSize.height === 'number' && typeof measuredDeviceSize.width === 'number' && typeof measuredDeviceSize.height === 'number') {
|
|
81
81
|
margin = '0 auto';
|
|
82
|
+
const scaledDesiredWidth = desiredSize.width / zoom;
|
|
83
|
+
const scaledDeviceWidth = measuredDeviceSize.width * zoom;
|
|
84
|
+
const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width;
|
|
85
|
+
deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width;
|
|
86
|
+
if (deviceIsLargerThanFrame) {
|
|
87
|
+
if (zoom > 1) {
|
|
88
|
+
const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width;
|
|
89
|
+
if (differenceFromDeviceToFrame < 0) x = `${differenceFromDeviceToFrame / 2}px`;
|
|
90
|
+
else x = '0';
|
|
91
|
+
} else {
|
|
92
|
+
x = '0';
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
if (zoom >= 1) {
|
|
96
|
+
x = `${scaledDeviceDifferencePixels / 2}px`;
|
|
97
|
+
} else {
|
|
98
|
+
const differenceFromDeviceToFrame = outerFrameSize.width - scaledDeviceWidth;
|
|
99
|
+
x = `${differenceFromDeviceToFrame / 2}px`;
|
|
100
|
+
margin = '0';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
82
103
|
}
|
|
83
104
|
}
|
|
84
105
|
let width = zoom ? `${100 / zoom}%` : '100%';
|
|
85
106
|
let height = zoom ? `${100 / zoom}%` : '100%';
|
|
86
107
|
if (breakpoint !== 'responsive') {
|
|
87
|
-
width = `${
|
|
88
|
-
height = `${
|
|
108
|
+
width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`;
|
|
109
|
+
height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`;
|
|
89
110
|
}
|
|
90
111
|
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
112
|
+
ref: outerFrameRef,
|
|
113
|
+
style: {
|
|
114
|
+
height: '100%',
|
|
115
|
+
width: '100%'
|
|
116
|
+
}
|
|
117
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
91
118
|
ref: deviceFrameRef,
|
|
92
119
|
style: {
|
|
93
120
|
height,
|
|
@@ -95,7 +122,7 @@ const DeviceContainer = (props)=>{
|
|
|
95
122
|
transform: `translate3d(${x}, 0, 0)`,
|
|
96
123
|
width
|
|
97
124
|
}
|
|
98
|
-
}, children);
|
|
125
|
+
}, children));
|
|
99
126
|
};
|
|
100
127
|
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL0xpdmVQcmV2aWV3L0RldmljZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyB1c2VSZXNpemUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvdXNlUmVzaXplJ1xuaW1wb3J0IHsgdXNlTGl2ZVByZXZpZXdDb250ZXh0IH0gZnJvbSAnLi4vQ29udGV4dC9jb250ZXh0J1xuXG5leHBvcnQgY29uc3QgRGV2aWNlQ29udGFpbmVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHByb3BzXG5cbiAgY29uc3QgZGV2aWNlRnJhbWVSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL0xpdmVQcmV2aWV3L0RldmljZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyB1c2VSZXNpemUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvdXNlUmVzaXplJ1xuaW1wb3J0IHsgdXNlTGl2ZVByZXZpZXdDb250ZXh0IH0gZnJvbSAnLi4vQ29udGV4dC9jb250ZXh0J1xuXG5leHBvcnQgY29uc3QgRGV2aWNlQ29udGFpbmVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHByb3BzXG5cbiAgY29uc3QgZGV2aWNlRnJhbWVSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IG91dGVyRnJhbWVSZWYgPSBSZWFjdC51c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgeyBicmVha3BvaW50LCBzZXRNZWFzdXJlZERldmljZVNpemUsIHNpemU6IGRlc2lyZWRTaXplLCB6b29tIH0gPSB1c2VMaXZlUHJldmlld0NvbnRleHQoKVxuXG4gIC8vIEtlZXAgYW4gYWNjdXJhdGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdHVhbCBkZXZpY2Ugc2l6ZSBhcyBpdCBpcyB0cnVseSByZW5kZXJlZFxuICAvLyBUaGlzIGlzIGhlbHBmdWwgd2hlbiBgc2l6ZXNgIGFyZSBub24tbnVtYmVyIHVuaXRzIGxpa2UgcGVyY2VudGFnZXMsIGV0Yy5cbiAgY29uc3QgeyBzaXplOiBtZWFzdXJlZERldmljZVNpemUgfSA9IHVzZVJlc2l6ZShkZXZpY2VGcmFtZVJlZi5jdXJyZW50KVxuICBjb25zdCB7IHNpemU6IG91dGVyRnJhbWVTaXplIH0gPSB1c2VSZXNpemUob3V0ZXJGcmFtZVJlZi5jdXJyZW50KVxuXG4gIGxldCBkZXZpY2VJc0xhcmdlclRoYW5GcmFtZTogYm9vbGVhbiA9IGZhbHNlXG5cbiAgLy8gU3luYyB0aGUgbWVhc3VyZWQgZGV2aWNlIHNpemUgd2l0aCB0aGUgY29udGV4dCBzbyB0aGF0IG90aGVyIGNvbXBvbmVudHMgY2FuIHVzZSBpdFxuICAvLyBUaGlzIGhhcHBlbnMgZnJvbSB0aGUgYm90dG9tIHVwIHNvIHRoYXQgYXMgdGhpcyBjb21wb25lbnQgbW91bnRzIGFuZCB1bm1vdW50cyxcbiAgLy8gaXRzIHNpemUgaXMgZnJlc2hseSBwb3B1bGF0ZWQgYWdhaW4gdXBvbiByZS1tb3VudGluZywgaS5lLiBnb2luZyBmcm9tIGlmcmFtZS0+cG9wdXAtPmlmcmFtZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtZWFzdXJlZERldmljZVNpemUpIHtcbiAgICAgIHNldE1lYXN1cmVkRGV2aWNlU2l6ZShtZWFzdXJlZERldmljZVNpemUpXG4gICAgfVxuICB9LCBbbWVhc3VyZWREZXZpY2VTaXplLCBzZXRNZWFzdXJlZERldmljZVNpemVdKVxuXG4gIGxldCB4ID0gJzAnXG4gIGxldCBtYXJnaW4gPSAnMCdcblxuICBpZiAoYnJlYWtwb2ludCAmJiBicmVha3BvaW50ICE9PSAncmVzcG9uc2l2ZScpIHtcbiAgICB4ID0gJy01MCUnXG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygem9vbSA9PT0gJ251bWJlcicgJiZcbiAgICAgIHR5cGVvZiBkZXNpcmVkU2l6ZS53aWR0aCA9PT0gJ251bWJlcicgJiZcbiAgICAgIHR5cGVvZiBkZXNpcmVkU2l6ZS5oZWlnaHQgPT09ICdudW1iZXInICYmXG4gICAgICB0eXBlb2YgbWVhc3VyZWREZXZpY2VTaXplLndpZHRoID09PSAnbnVtYmVyJyAmJlxuICAgICAgdHlwZW9mIG1lYXN1cmVkRGV2aWNlU2l6ZS5oZWlnaHQgPT09ICdudW1iZXInXG4gICAgKSB7XG4gICAgICBtYXJnaW4gPSAnMCBhdXRvJ1xuICAgICAgY29uc3Qgc2NhbGVkRGVzaXJlZFdpZHRoID0gZGVzaXJlZFNpemUud2lkdGggLyB6b29tXG4gICAgICBjb25zdCBzY2FsZWREZXZpY2VXaWR0aCA9IG1lYXN1cmVkRGV2aWNlU2l6ZS53aWR0aCAqIHpvb21cbiAgICAgIGNvbnN0IHNjYWxlZERldmljZURpZmZlcmVuY2VQaXhlbHMgPSBzY2FsZWREZXNpcmVkV2lkdGggLSBkZXNpcmVkU2l6ZS53aWR0aFxuICAgICAgZGV2aWNlSXNMYXJnZXJUaGFuRnJhbWUgPSBzY2FsZWREZXZpY2VXaWR0aCA+IG91dGVyRnJhbWVTaXplLndpZHRoXG5cbiAgICAgIGlmIChkZXZpY2VJc0xhcmdlclRoYW5GcmFtZSkge1xuICAgICAgICBpZiAoem9vbSA+IDEpIHtcbiAgICAgICAgICBjb25zdCBkaWZmZXJlbmNlRnJvbURldmljZVRvRnJhbWUgPSBtZWFzdXJlZERldmljZVNpemUud2lkdGggLSBvdXRlckZyYW1lU2l6ZS53aWR0aFxuICAgICAgICAgIGlmIChkaWZmZXJlbmNlRnJvbURldmljZVRvRnJhbWUgPCAwKSB4ID0gYCR7ZGlmZmVyZW5jZUZyb21EZXZpY2VUb0ZyYW1lIC8gMn1weGBcbiAgICAgICAgICBlbHNlIHggPSAnMCdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB4ID0gJzAnXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh6b29tID49IDEpIHtcbiAgICAgICAgICB4ID0gYCR7c2NhbGVkRGV2aWNlRGlmZmVyZW5jZVBpeGVscyAvIDJ9cHhgXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGlmZmVyZW5jZUZyb21EZXZpY2VUb0ZyYW1lID0gb3V0ZXJGcmFtZVNpemUud2lkdGggLSBzY2FsZWREZXZpY2VXaWR0aFxuICAgICAgICAgIHggPSBgJHtkaWZmZXJlbmNlRnJvbURldmljZVRvRnJhbWUgLyAyfXB4YFxuICAgICAgICAgIG1hcmdpbiA9ICcwJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHdpZHRoID0gem9vbSA/IGAkezEwMCAvIHpvb219JWAgOiAnMTAwJSdcbiAgbGV0IGhlaWdodCA9IHpvb20gPyBgJHsxMDAgLyB6b29tfSVgIDogJzEwMCUnXG5cbiAgaWYgKGJyZWFrcG9pbnQgIT09ICdyZXNwb25zaXZlJykge1xuICAgIHdpZHRoID0gYCR7ZGVzaXJlZFNpemU/LndpZHRoIC8gKHR5cGVvZiB6b29tID09PSAnbnVtYmVyJyA/IHpvb20gOiAxKX1weGBcbiAgICBoZWlnaHQgPSBgJHtkZXNpcmVkU2l6ZT8uaGVpZ2h0IC8gKHR5cGVvZiB6b29tID09PSAnbnVtYmVyJyA/IHpvb20gOiAxKX1weGBcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgcmVmPXtvdXRlckZyYW1lUmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtkZXZpY2VGcmFtZVJlZn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgbWFyZ2luLFxuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZTNkKCR7eH0sIDAsIDApYCxcbiAgICAgICAgICB3aWR0aCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEZXZpY2VDb250YWluZXIiLCJwcm9wcyIsImNoaWxkcmVuIiwiZGV2aWNlRnJhbWVSZWYiLCJSZWFjdCIsInVzZVJlZiIsIm91dGVyRnJhbWVSZWYiLCJicmVha3BvaW50Iiwic2V0TWVhc3VyZWREZXZpY2VTaXplIiwic2l6ZSIsImRlc2lyZWRTaXplIiwiem9vbSIsInVzZUxpdmVQcmV2aWV3Q29udGV4dCIsIm1lYXN1cmVkRGV2aWNlU2l6ZSIsInVzZVJlc2l6ZSIsImN1cnJlbnQiLCJvdXRlckZyYW1lU2l6ZSIsImRldmljZUlzTGFyZ2VyVGhhbkZyYW1lIiwidXNlRWZmZWN0IiwieCIsIm1hcmdpbiIsIndpZHRoIiwiaGVpZ2h0Iiwic2NhbGVkRGVzaXJlZFdpZHRoIiwic2NhbGVkRGV2aWNlV2lkdGgiLCJzY2FsZWREZXZpY2VEaWZmZXJlbmNlUGl4ZWxzIiwiZGlmZmVyZW5jZUZyb21EZXZpY2VUb0ZyYW1lIiwiZGl2IiwicmVmIiwic3R5bGUiLCJ0cmFuc2Zvcm0iXSwibWFwcGluZ3MiOiI7Ozs7K0JBS2FBOzs7ZUFBQUE7OzsrREFMb0I7MkJBRVA7eUJBQ1k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixNQUFNQSxrQkFFUixDQUFDQztJQUNKLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0lBRXJCLE1BQU1FLGlCQUFpQkMsY0FBSyxDQUFDQyxNQUFNLENBQWlCO0lBQ3BELE1BQU1DLGdCQUFnQkYsY0FBSyxDQUFDQyxNQUFNLENBQWlCO0lBRW5ELE1BQU0sRUFBRUUsVUFBVSxFQUFFQyxxQkFBcUIsRUFBRUMsTUFBTUMsV0FBVyxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsOEJBQXFCO0lBRTVGLGlGQUFpRjtJQUNqRiwyRUFBMkU7SUFDM0UsTUFBTSxFQUFFSCxNQUFNSSxrQkFBa0IsRUFBRSxHQUFHQyxJQUFBQSxvQkFBUyxFQUFDWCxlQUFlWSxPQUFPO0lBQ3JFLE1BQU0sRUFBRU4sTUFBTU8sY0FBYyxFQUFFLEdBQUdGLElBQUFBLG9CQUFTLEVBQUNSLGNBQWNTLE9BQU87SUFFaEUsSUFBSUUsMEJBQW1DO0lBRXZDLHFGQUFxRjtJQUNyRixpRkFBaUY7SUFDakYsOEZBQThGO0lBQzlGQyxJQUFBQSxnQkFBUyxFQUFDO1FBQ1IsSUFBSUwsb0JBQW9CO1lBQ3RCTCxzQkFBc0JLO1FBQ3hCO0lBQ0YsR0FBRztRQUFDQTtRQUFvQkw7S0FBc0I7SUFFOUMsSUFBSVcsSUFBSTtJQUNSLElBQUlDLFNBQVM7SUFFYixJQUFJYixjQUFjQSxlQUFlLGNBQWM7UUFDN0NZLElBQUk7UUFFSixJQUNFLE9BQU9SLFNBQVMsWUFDaEIsT0FBT0QsWUFBWVcsS0FBSyxLQUFLLFlBQzdCLE9BQU9YLFlBQVlZLE1BQU0sS0FBSyxZQUM5QixPQUFPVCxtQkFBbUJRLEtBQUssS0FBSyxZQUNwQyxPQUFPUixtQkFBbUJTLE1BQU0sS0FBSyxVQUNyQztZQUNBRixTQUFTO1lBQ1QsTUFBTUcscUJBQXFCYixZQUFZVyxLQUFLLEdBQUdWO1lBQy9DLE1BQU1hLG9CQUFvQlgsbUJBQW1CUSxLQUFLLEdBQUdWO1lBQ3JELE1BQU1jLCtCQUErQkYscUJBQXFCYixZQUFZVyxLQUFLO1lBQzNFSiwwQkFBMEJPLG9CQUFvQlIsZUFBZUssS0FBSztZQUVsRSxJQUFJSix5QkFBeUI7Z0JBQzNCLElBQUlOLE9BQU8sR0FBRztvQkFDWixNQUFNZSw4QkFBOEJiLG1CQUFtQlEsS0FBSyxHQUFHTCxlQUFlSyxLQUFLO29CQUNuRixJQUFJSyw4QkFBOEIsR0FBR1AsSUFBSSxDQUFDLEVBQUVPLDhCQUE4QixFQUFFLEVBQUUsQ0FBQzt5QkFDMUVQLElBQUk7Z0JBQ1gsT0FBTztvQkFDTEEsSUFBSTtnQkFDTjtZQUNGLE9BQU87Z0JBQ0wsSUFBSVIsUUFBUSxHQUFHO29CQUNiUSxJQUFJLENBQUMsRUFBRU0sK0JBQStCLEVBQUUsRUFBRSxDQUFDO2dCQUM3QyxPQUFPO29CQUNMLE1BQU1DLDhCQUE4QlYsZUFBZUssS0FBSyxHQUFHRztvQkFDM0RMLElBQUksQ0FBQyxFQUFFTyw4QkFBOEIsRUFBRSxFQUFFLENBQUM7b0JBQzFDTixTQUFTO2dCQUNYO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUMsUUFBUVYsT0FBTyxDQUFDLEVBQUUsTUFBTUEsS0FBSyxDQUFDLENBQUMsR0FBRztJQUN0QyxJQUFJVyxTQUFTWCxPQUFPLENBQUMsRUFBRSxNQUFNQSxLQUFLLENBQUMsQ0FBQyxHQUFHO0lBRXZDLElBQUlKLGVBQWUsY0FBYztRQUMvQmMsUUFBUSxDQUFDLEVBQUVYLGFBQWFXLFFBQVMsQ0FBQSxPQUFPVixTQUFTLFdBQVdBLE9BQU8sQ0FBQSxFQUFHLEVBQUUsQ0FBQztRQUN6RVcsU0FBUyxDQUFDLEVBQUVaLGFBQWFZLFNBQVUsQ0FBQSxPQUFPWCxTQUFTLFdBQVdBLE9BQU8sQ0FBQSxFQUFHLEVBQUUsQ0FBQztJQUM3RTtJQUVBLHFCQUNFLDZCQUFDZ0I7UUFDQ0MsS0FBS3RCO1FBQ0x1QixPQUFPO1lBQ0xQLFFBQVE7WUFDUkQsT0FBTztRQUNUO3FCQUVBLDZCQUFDTTtRQUNDQyxLQUFLekI7UUFDTDBCLE9BQU87WUFDTFA7WUFDQUY7WUFDQVUsV0FBVyxDQUFDLFlBQVksRUFBRVgsRUFBRSxPQUFPLENBQUM7WUFDcENFO1FBQ0Y7T0FFQ25CO0FBSVQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/Version/Compare/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAOpC,OAAO,cAAc,CAAA;AAQrB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/Version/Compare/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAOpC,OAAO,cAAc,CAAA;AAQrB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0InC,CAAA;AAED,eAAe,cAAc,CAAA"}
|