@alauda-fe/crd-form 0.0.2 → 0.0.3
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/esm2022/lib/crd-form/component.mjs +11 -21
- package/esm2022/lib/crd-form.module.mjs +6 -8
- package/esm2022/lib/field-controls/form-item.component.mjs +25 -44
- package/esm2022/lib/field-controls/operand-field-group.component.mjs +8 -17
- package/esm2022/lib/field-controls/operand-field.component.mjs +10 -12
- package/esm2022/lib/types/index.mjs +4 -8
- package/esm2022/lib/utils/capability.mjs +3 -3
- package/esm2022/lib/utils/helper.mjs +1 -6
- package/esm2022/lib/utils/index.mjs +1 -2
- package/lib/crd-form/component.d.ts +2 -5
- package/lib/crd-form.module.d.ts +7 -8
- package/lib/field-controls/operand-field-group.component.d.ts +2 -5
- package/lib/field-controls/operand-field.component.d.ts +3 -4
- package/lib/types/index.d.ts +1 -6
- package/lib/utils/helper.d.ts +0 -3
- package/lib/utils/index.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/utils/directives.mjs +0 -19
- package/lib/utils/directives.d.ts +0 -9
|
@@ -142,7 +142,7 @@ const UI_FIELDS = [
|
|
|
142
142
|
prefix: true,
|
|
143
143
|
},
|
|
144
144
|
{
|
|
145
|
-
spec: SpecCapability.
|
|
145
|
+
spec: SpecCapability.widgets,
|
|
146
146
|
prefix: true,
|
|
147
147
|
},
|
|
148
148
|
{
|
|
@@ -164,7 +164,7 @@ export function getFieldType(field) {
|
|
|
164
164
|
? capabilities.some(c => c.startsWith(specField.spec))
|
|
165
165
|
: capabilities.includes(specField.spec);
|
|
166
166
|
});
|
|
167
|
-
return typeof result === 'string' ? result : result?.refer ?? result?.spec;
|
|
167
|
+
return typeof result === 'string' ? result : (result?.refer ?? result?.spec);
|
|
168
168
|
}
|
|
169
169
|
export function getBasicCapabilityType(capabilities) {
|
|
170
170
|
if (capabilities.includes(SpecCapability.text)) {
|
|
@@ -292,4 +292,4 @@ export function fieldShouldReveal(field) {
|
|
|
292
292
|
return (!field.capabilities.includes(SpecCapability.hidden) &&
|
|
293
293
|
identity(getFieldType(field)));
|
|
294
294
|
}
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi91dGlscy9jYXBhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxLQUFLLEVBRUwsZUFBZSxFQUVmLElBQUksRUFDSixTQUFTLEVBQ1Qsa0JBQWtCLEdBQ25CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0QsT0FBTyxFQU1MLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQix3QkFBd0IsR0FDekIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQW1CO0lBQzFELE1BQU0sWUFBWSxHQUFHLEdBQUcsY0FBYyxDQUFDLGVBQWUsR0FBRyxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQ3ZELFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQ3BDLENBQUM7SUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztB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QUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQzNCLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBbUI7SUFDN0MsTUFBTSxHQUFHLEdBQXlCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRCxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FDbkMsQ0FBQztJQUNGLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsZ0NBQWdDO1FBQ2hDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBbUI7SUFDbkQsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUNuRCxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRkFMU0UsXG4gIEpTT05TY2hlbWE2VHlwZU5hbWUsXG4gIHBhcnNlSlNPTlN0cmVhbSxcbiAgU3RyaW5nTWFwLFxuICBUUlVFLFxuICBwYXJzZUpzb24sXG4gIGlzSnNvbk9iamVjdFN0cmluZyxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgZmluZCwgaWRlbnRpdHksIGlzRW1wdHksIGxhc3QsIHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7XG4gIERlc2NyaXB0b3IsXG4gIE9wZXJhbmRBcnJheUZpZWxkR3JvdXAsXG4gIE9wZXJhbmRGaWVsZCxcbiAgT3BlcmFuZEZpZWxkR3JvdXAsXG4gIE9wZXJhbmRGaWVsZFZhbGlkYXRpb24sXG4gIFNwZWNDYXBhYmlsaXR5LFxuICBWYWxpZGF0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1ZBTFVFX1BBVFRFUk4sXG4gIERFU0NSSVBUT1JfREVGSU5JVElPTl9LRVksXG4gIE5hbWVzcGFjZWRSZXNvdXJjZUtpbmQsXG4gIFJFR0VYUF9LOFNfUkVTT1VSQ0VfU1VGRklYLFxuICBSRUdFWFBfVkFMSURBVElPTl9TVUZGSVgsXG59IGZyb20gJy4vY29uc3RhbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiwgY29lcmNlTnVtYmVyIH0gZnJvbSAnLi9oZWxwZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzaWNBdXRoU2VjcmV0Q29uZmlnKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgY29uZmlnUHJlZml4ID0gYCR7U3BlY0NhcGFiaWxpdHkuYmFzaWNBdXRoU2VjcmV0fTpgO1xuICBjb25zdCBjYXBhYmlsaXR5ID0gZmluZChmaWVsZC5jYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoY29uZmlnUHJlZml4KSxcbiAgKTtcbiAgaWYgKCFjYXBhYmlsaXR5KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgY29uZmlnU3RyID0gY2FwYWJpbGl0eS5zbGljZShjb25maWdQcmVmaXgubGVuZ3RoKTtcbiAgcmV0dXJuIHBhcnNlSlNPTlN0cmVhbShjb25maWdTdHIpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFkaW9PcHRpb25zKGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSkge1xuICBjb25zdCBpdGVtcyA9IGNhcGFiaWxpdGllc1xuICAgIC5maWx0ZXIoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkucmFkaW8pKVxuICAgIC5tYXAoYyA9PiBjLnNwbGl0KFNwZWNDYXBhYmlsaXR5LnJhZGlvKVsxXSk7XG4gIHJldHVybiBpdGVtc1xuICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnNwbGl0KCc6JykubGVuZ3RoID09PSAxKVxuICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCB6aFByZWZpeCA9IGAke2l0ZW19OnpoOmA7XG4gICAgICBjb25zdCBlblByZWZpeCA9IGAke2l0ZW19OmVuOmA7XG4gICAgICBjb25zdCB6aERlc2NyaXB0b3IgPSBpdGVtcy5maW5kKHZhbHVlID0+IHZhbHVlLnN0YXJ0c1dpdGgoemhQcmVmaXgpKTtcbiAgICAgIGNvbnN0IGVuRGVzY3JpcHRvciA9IGl0ZW1zLmZpbmQodmFsdWUgPT4gdmFsdWUuc3RhcnRzV2l0aChlblByZWZpeCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgIGRpc3BsYXk6IHtcbiAgICAgICAgICB6aDogemhEZXNjcmlwdG9yID8gemhEZXNjcmlwdG9yLnNwbGl0KHpoUHJlZml4KVsxXSA6IGl0ZW0sXG4gICAgICAgICAgZW46IGVuRGVzY3JpcHRvciA/IGVuRGVzY3JpcHRvci5zcGxpdChlblByZWZpeClbMV0gOiBpdGVtLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJhZGlvc0RlZmF1bHRWYWx1ZShkZXNjcmlwdG9yczogRGVzY3JpcHRvcltdKSB7XG4gIC8vIFNldCByYWRpbyBkZWZhdWx0IHNlbGVjdGVkIGl0ZW1cbiAgY29uc3QgZGVmYXVsdFZhbHVlTWFwID0gKGRlc2NyaXB0b3JzIHx8IFtdKVxuICAgIC5maWx0ZXIoZCA9PlxuICAgICAgZFtERVNDUklQVE9SX0RFRklOSVRJT05fS0VZXS5zb21lKGl0ZW0gPT5cbiAgICAgICAgaXRlbS5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnJhZGlvKSxcbiAgICAgICksXG4gICAgKVxuICAgIC5tYXAoaXRlbSA9PiAoe1xuICAgICAgcGF0aDogaXRlbS5wYXRoLFxuICAgICAgdmFsdWU6IGl0ZW1bREVTQ1JJUFRPUl9ERUZJTklUSU9OX0tFWV0uZmlsdGVyKGMgPT5cbiAgICAgICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnJhZGlvKSxcbiAgICAgIClcbiAgICAgICAgLm1hcChjID0+IGMuc3BsaXQoU3BlY0NhcGFiaWxpdHkucmFkaW8pWzFdKVxuICAgICAgICAuZmluZChjID0+IGMuc3BsaXQoJzonKS5sZW5ndGggPT09IDEpLFxuICAgIH0pKVxuICAgIC5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXIpID0+ICh7XG4gICAgICAgIC4uLnNldChhY2MsIGN1ci5wYXRoLCBjdXIudmFsdWUpLFxuICAgICAgfSksXG4gICAgICB7fSxcbiAgICApO1xuICByZXR1cm4ge1xuICAgIHNwZWM6IHtcbiAgICAgIC4uLmRlZmF1bHRWYWx1ZU1hcCxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Qm9vbGVhblN3aXRjaE9wdGlvbnMgPSAoY2FwYWJpbGl0aWVzOiBTcGVjQ2FwYWJpbGl0eVtdKSA9PiB7XG4gIGNvbnN0IGl0ZW1zID0gY2FwYWJpbGl0aWVzXG4gICAgLmZpbHRlcihjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5ib29sZWFuU3dpdGNoKSlcbiAgICAubWFwKGMgPT4gYy5zcGxpdChTcGVjQ2FwYWJpbGl0eS5ib29sZWFuU3dpdGNoKVsxXSk7XG5cbiAgcmV0dXJuIFtUUlVFLCBGQUxTRV0ubWFwKGl0ZW0gPT4ge1xuICAgIGNvbnN0IHpoUHJlZml4ID0gYDoke2l0ZW19OnpoOmA7XG4gICAgY29uc3QgZW5QcmVmaXggPSBgOiR7aXRlbX06ZW46YDtcbiAgICBjb25zdCB6aERlc2NyaXB0b3IgPSBpdGVtcy5maW5kKHZhbHVlID0+IHZhbHVlLnN0YXJ0c1dpdGgoemhQcmVmaXgpKTtcbiAgICBjb25zdCBlbkRlc2NyaXB0b3IgPSBpdGVtcy5maW5kKHZhbHVlID0+IHZhbHVlLnN0YXJ0c1dpdGgoZW5QcmVmaXgpKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICBkaXNwbGF5OlxuICAgICAgICB6aERlc2NyaXB0b3IgJiYgZW5EZXNjcmlwdG9yXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHpoOiB6aERlc2NyaXB0b3IgPyB6aERlc2NyaXB0b3Iuc3BsaXQoemhQcmVmaXgpWzFdIDogaXRlbSxcbiAgICAgICAgICAgICAgZW46IGVuRGVzY3JpcHRvciA/IGVuRGVzY3JpcHRvci5zcGxpdChlblByZWZpeClbMV0gOiBpdGVtLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogaXRlbSA9PT0gVFJVRVxuICAgICAgICAgID8gJ3llcydcbiAgICAgICAgICA6ICdubycsXG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydEJvb2xlYW5Td2l0Y2hWYWx1ZSA9IChcbiAgdmFsdWU6IGJvb2xlYW4sXG4gIGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSxcbikgPT4ge1xuICBjb25zdCBvcHRpb25zID0gZ2V0Qm9vbGVhblN3aXRjaE9wdGlvbnMoY2FwYWJpbGl0aWVzKTtcbiAgcmV0dXJuIG9wdGlvbnMuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09ICh2YWx1ZSA/IFRSVUUgOiBGQUxTRSkpPy5kaXNwbGF5O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRWYWx1ZSh2YWx1ZTogc3RyaW5nLCB0eXBlOiBKU09OU2NoZW1hNlR5cGVOYW1lKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ251bWJlcic6XG4gICAgY2FzZSAnaW50ZWdlcic6IHtcbiAgICAgIHJldHVybiBjb2VyY2VOdW1iZXIodmFsdWUpO1xuICAgIH1cbiAgICBjYXNlICdib29sZWFuJzoge1xuICAgICAgcmV0dXJuIGNvZXJjZUJvb2xlYW4odmFsdWUpO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICAvLyDlhbzlrrkgdmFsdWUg5Li6IGpzb24g5a2X56ym5Liy55qE5oOF5Ya1XG4gICAgICByZXR1cm4gaXNKc29uT2JqZWN0U3RyaW5nKHZhbHVlKVxuICAgICAgICA/IHBhcnNlSnNvbih2YWx1ZSwgdmFsdWUpXG4gICAgICAgIDogdmFsdWUgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFZhbHVlKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlRGVzY3JpcHRvciA9IGZpbmQoZmllbGQuY2FwYWJpbGl0aWVzLCBkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmRlZmF1bHRWYWx1ZSksXG4gICk7XG4gIGlmIChkZWZhdWx0VmFsdWVEZXNjcmlwdG9yKSB7XG4gICAgY29uc3QgWywgdmFsdWVdID0gREVGQVVMVF9WQUxVRV9QQVRURVJOLmV4ZWMoZGVmYXVsdFZhbHVlRGVzY3JpcHRvcikgfHwgW107XG4gICAgcmV0dXJuIGNvbnZlcnRWYWx1ZSh2YWx1ZSwgZmllbGQudHlwZSk7XG4gIH1cbn1cblxuY29uc3QgVUlfRklFTERTOiBBcnJheTxcbiAgfCBTcGVjQ2FwYWJpbGl0eVxuICB8IHsgc3BlYzogU3BlY0NhcGFiaWxpdHk7IHJlZmVyPzogU3BlY0NhcGFiaWxpdHk7IHByZWZpeD86IGJvb2xlYW4gfVxuPiA9IFtcbiAgU3BlY0NhcGFiaWxpdHkudGV4dCxcbiAge1xuICAgIHNwZWM6IGAke1NwZWNDYXBhYmlsaXR5LnRleHR9OmxpbmtgIGFzIFNwZWNDYXBhYmlsaXR5LFxuICAgIHJlZmVyOiBTcGVjQ2FwYWJpbGl0eS50ZXh0LFxuICB9LFxuICB7XG4gICAgc3BlYzogYCR7U3BlY0NhcGFiaWxpdHkudGV4dH06bGluazpgIGFzIFNwZWNDYXBhYmlsaXR5LFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAgU3BlY0NhcGFiaWxpdHkucGFzc3dvcmQsXG4gIFNwZWNDYXBhYmlsaXR5LmNvbmZpcm1QYXNzd29yZCxcbiAgU3BlY0NhcGFiaWxpdHkuZXh0ZXJuYWxQYXNzd29yZCxcbiAgU3BlY0NhcGFiaWxpdHkubnVtYmVyLFxuICBTcGVjQ2FwYWJpbGl0eS50ZXh0YXJlYSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LnBvZENvdW50LFxuICAgIHJlZmVyOiBTcGVjQ2FwYWJpbGl0eS5udW1iZXIsXG4gIH0sXG4gIFNwZWNDYXBhYmlsaXR5LmJvb2xlYW5Td2l0Y2gsXG4gIHtcbiAgICBzcGVjOiBTcGVjQ2FwYWJpbGl0eS5zZWxlY3QsXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICBTcGVjQ2FwYWJpbGl0eS5yZXNvdXJjZVJlcXVpcmVtZW50cyxcbiAgU3BlY0NhcGFiaWxpdHkueWFtbCxcbiAgU3BlY0NhcGFiaWxpdHkub2JqZWN0LFxuICBTcGVjQ2FwYWJpbGl0eS5hcnJheSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LnJhZGlvLFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5Lms4c1Jlc291cmNlUHJlZml4LFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LmJhc2ljQXV0aFNlY3JldCxcbiAgICBwcmVmaXg6IHRydWUsXG4gIH0sXG4gIHtcbiAgICBzcGVjOiBTcGVjQ2FwYWJpbGl0eS5jdXN0b20sXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkucmVtb3RlLFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LnRhZ3NJbnB1dCxcbiAgICBwcmVmaXg6IHRydWUsXG4gIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRUeXBlKGZpZWxkOiBPcGVyYW5kRmllbGQpOiBTcGVjQ2FwYWJpbGl0eSB7XG4gIGNvbnN0IHsgY2FwYWJpbGl0aWVzIH0gPSBmaWVsZDtcbiAgY29uc3QgcmVzdWx0ID0gVUlfRklFTERTLmZpbmQoc3BlY0ZpZWxkID0+IHtcbiAgICBpZiAodHlwZW9mIHNwZWNGaWVsZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoc3BlY0ZpZWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIHNwZWNGaWVsZC5wcmVmaXhcbiAgICAgID8gY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoc3BlY0ZpZWxkLnNwZWMpKVxuICAgICAgOiBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoc3BlY0ZpZWxkLnNwZWMpO1xuICB9KTtcbiAgcmV0dXJuIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogcmVzdWx0Py5yZWZlciA/PyByZXN1bHQ/LnNwZWM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNpY0NhcGFiaWxpdHlUeXBlKGNhcGFiaWxpdGllczogc3RyaW5nW10pIHtcbiAgaWYgKGNhcGFiaWxpdGllcy5pbmNsdWRlcyhTcGVjQ2FwYWJpbGl0eS50ZXh0KSkge1xuICAgIHJldHVybiAnc3RyaW5nJztcbiAgfVxuICBpZiAoXG4gICAgY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5Lm51bWJlcikgfHxcbiAgICBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkucG9kQ291bnQpXG4gICkge1xuICAgIHJldHVybiAnbnVtYmVyJztcbiAgfVxuICBpZiAoY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5LmJvb2xlYW5Td2l0Y2gpKSB7XG4gICAgcmV0dXJuICdib29sZWFuJztcbiAgfVxuICBpZiAoY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5Lm9iamVjdCkpIHtcbiAgICByZXR1cm4gJ29iamVjdCc7XG4gIH1cbiAgaWYgKGNhcGFiaWxpdGllcy5pbmNsdWRlcyhTcGVjQ2FwYWJpbGl0eS5hcnJheSkpIHtcbiAgICByZXR1cm4gJ2FycmF5JztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRGaWVsZE5hbWVCeUxhYmVsKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkIHwgT3BlcmFuZEFycmF5RmllbGRHcm91cCB8IE9wZXJhbmRGaWVsZEdyb3VwLFxuICBsYWJlbDogU3BlY0NhcGFiaWxpdHkubGFiZWxFbiB8IFNwZWNDYXBhYmlsaXR5LmxhYmVsWmgsXG4pIHtcbiAgY29uc3QgZGVzY3JpcHRvciA9IGZpbmQoZmllbGQ/LmNhcGFiaWxpdGllcywgZGVzY3JpcHRvciA9PlxuICAgIGRlc2NyaXB0b3Iuc3RhcnRzV2l0aChsYWJlbCksXG4gICk7XG4gIHJldHVybiBkZXNjcmlwdG9yXG4gICAgPyBkZXNjcmlwdG9yLnNwbGl0KGxhYmVsKVsxXVxuICAgIDogJ2Rpc3BsYXlOYW1lJyBpbiBmaWVsZFxuICAgID8gZmllbGQuZGlzcGxheU5hbWVcbiAgICA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZERpc3BsYXlOYW1lKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkIHwgT3BlcmFuZEFycmF5RmllbGRHcm91cCB8IE9wZXJhbmRGaWVsZEdyb3VwLFxuKSB7XG4gIGNvbnN0IGVuID0gZ2V0RmllbGROYW1lQnlMYWJlbChmaWVsZCwgU3BlY0NhcGFiaWxpdHkubGFiZWxFbik7XG4gIGNvbnN0IHpoID0gZ2V0RmllbGROYW1lQnlMYWJlbChmaWVsZCwgU3BlY0NhcGFiaWxpdHkubGFiZWxaaCk7XG5cbiAgcmV0dXJuIChlbiB8fCB6aCkgJiYgeyBlbiwgemggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3BsYXlCeUNhcGFiaWxpdHkoXG4gIGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSxcbiAgbmFtZTogc3RyaW5nLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikge1xuICBjb25zdCBlbkRlcyA9IGAke25hbWV9ZW46YDtcbiAgY29uc3QgemhEZXMgPSBgJHtuYW1lfXpoOmA7XG4gIGNvbnN0IGVuID0gZmluZChjYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoZW5EZXMpLFxuICApPy5zcGxpdChlbkRlcyk/LlsxXTtcbiAgY29uc3QgemggPSBmaW5kKGNhcGFiaWxpdGllcywgZGVzY3JpcHRvciA9PlxuICAgIGRlc2NyaXB0b3Iuc3RhcnRzV2l0aCh6aERlcyksXG4gICk/LnNwbGl0KHpoRGVzKT8uWzFdO1xuICByZXR1cm4gZW4gfHwgemhcbiAgICA/IHsgZW46IGVuIHx8IHpoIHx8IGZhbGxiYWNrLCB6aDogemggfHwgZW4gfHwgZmFsbGJhY2sgfVxuICAgIDogZmFsbGJhY2tcbiAgICA/IHsgZW46IGZhbGxiYWNrLCB6aDogZmFsbGJhY2sgfVxuICAgIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkRGVzY3JpcHRpb24oZmllbGQ6IE9wZXJhbmRGaWVsZCkge1xuICBjb25zdCBlbkRlc2NyaXB0b3IgPSBmaW5kKGZpZWxkLmNhcGFiaWxpdGllcywgZGVzY3JpcHRvciA9PlxuICAgIGRlc2NyaXB0b3Iuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5kZXNjcmlwdGlvbkVuKSxcbiAgKTtcbiAgY29uc3QgemhEZXNjcmlwdG9yID0gZmluZChmaWVsZC5jYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuZGVzY3JpcHRpb25aaCksXG4gICk7XG4gIHJldHVybiB7XG4gICAgZW46IGVuRGVzY3JpcHRvclxuICAgICAgPyBlbkRlc2NyaXB0b3Iuc3BsaXQoU3BlY0NhcGFiaWxpdHkuZGVzY3JpcHRpb25FbilbMV1cbiAgICAgIDogZmllbGQuZGVzY3JpcHRpb24sXG4gICAgemg6IHpoRGVzY3JpcHRvclxuICAgICAgPyB6aERlc2NyaXB0b3Iuc3BsaXQoU3BlY0NhcGFiaWxpdHkuZGVzY3JpcHRpb25aaClbMV1cbiAgICAgIDogZmllbGQuZGVzY3JpcHRpb24sXG4gIH07XG59XG5cbi8vIGNzcGVsbDpkaXNhYmxlLW5leHQtbGluZVxuLy8gazhzIHBhcmFtcyBzaG91bGQgY29uZm9ybSB0byB1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpTZWNyZXQ/PWlzR2xvYmFsPXRydWU6bGFiZWxTZWxlY3Rvcj1wbHVnaW5zLmNwYWFzLmlvJTJGdmljdG9yaWFtZXRyaWNzJTNEdHJ1ZVxuLy8gOiBpcyB1c2VkIGJ5IGRpdmlkaW5nIG1ldGEgcGFyYW1zIGFuZCBxdWVyeVBhcmFtcyxib3RoIHNob3VsZCBiZSB1cmwgZW5jb2RlZChwZXJjZW50IGVuY29kaW5nKVxuY29uc3QgSzhTX1JFU09VUkNFX01FVEFfUEFSQU1TX0RJVklERVIgPSAnOic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRLOHNSZXNvdXJjZVByZWZpeE9wdGlvbnMoZmllbGQ6IE9wZXJhbmRGaWVsZCkge1xuICBjb25zdCBjYXBhYmlsaXR5ID0gZmluZChmaWVsZC5jYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuazhzUmVzb3VyY2VQcmVmaXgpLFxuICApO1xuICBjb25zdCBtdWx0aXBsZSA9IGZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkubXVsdGlwbGUpLFxuICApO1xuICBjb25zdCB2YWxpZGF0aW9ucyA9IGdldENhcGFiaWxpdHlWYWxpZGF0aW9ucyhmaWVsZC5jYXBhYmlsaXRpZXMpO1xuICBjb25zdCBbLCByZXNvdXJjZSwgLCBxQ29tcG9uZW50c10gPVxuICAgIGNhcGFiaWxpdHkubWF0Y2goUkVHRVhQX0s4U19SRVNPVVJDRV9TVUZGSVgpID8/IFtdO1xuICBjb25zdCBncm91cFZlcnNpb25LaW5kID0gcmVzb3VyY2U/LnJlcGxhY2UoLzovZywgJ34nKTtcbiAgY29uc3Qga2luZCA9IGxhc3QoZ3JvdXBWZXJzaW9uS2luZC5zcGxpdCgnficpKTtcbiAgY29uc3QgW21ldGFTdHIsIHF1ZXJ5UGFyYW1zU3RyXSA9IChxQ29tcG9uZW50cyA/PyAnJykuc3BsaXQoXG4gICAgSzhTX1JFU09VUkNFX01FVEFfUEFSQU1TX0RJVklERVIsXG4gICk7XG4gIGNvbnN0IG1ldGEgPSByZXNvbHZlS1ZQYXJhbXMobWV0YVN0cik7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcmVzb2x2ZUtWUGFyYW1zKHF1ZXJ5UGFyYW1zU3RyKTtcbiAgcmV0dXJuIHtcbiAgICBuYW1lc3BhY2VkOiBOYW1lc3BhY2VkUmVzb3VyY2VLaW5kLmluY2x1ZGVzKGtpbmQpLFxuICAgIGxhYmVsU2VsZWN0b3I6IHF1ZXJ5UGFyYW1zLmxhYmVsU2VsZWN0b3IsXG4gICAgaXNHbG9iYWw6ICEhbWV0YS5pc0dsb2JhbCxcbiAgICBncm91cFZlcnNpb25LaW5kLCAvLyDnjrDmnInnmoQgYXBpdmVyc2lvbu+8jGFwaUdyb3VwIOeahueUseeOr+Wig+mFjee9ru+8jOWPr+S7peaaguaXtuS4jeeUqFxuICAgIHR5cGU6IGxhc3QoZ3JvdXBWZXJzaW9uS2luZC5zcGxpdCgnficpKSxcbiAgICBtdWx0aXBsZSxcbiAgICB2YWxpZGF0aW9ucyxcbiAgfTtcbn1cblxuLy8gcmVzb2x2ZSBhPWImYz1kIOagvOW8j+aVsOaNrlxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVLVlBhcmFtcyhzdHI6IHN0cmluZykge1xuICByZXR1cm4gKHN0ciB8fCAnJylcbiAgICAuc3BsaXQoJyYnKVxuICAgIC5maWx0ZXIoaSA9PiAhaXNFbXB0eShpKSlcbiAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgIGNvbnN0IFtrLCB2XSA9IGN1cnIuc3BsaXQoJz0nKTtcbiAgICAgIGFjY1trXSA9IGRlY29kZVVSSUNvbXBvbmVudCh2KTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgU3RyaW5nTWFwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENhcGFiaWxpdHlEaXNhYmxlZChjYXBhYmlsaXRpZXM6IFNwZWNDYXBhYmlsaXR5W10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGNhcGFiaWxpdGllcy5pbmNsdWRlcyhTcGVjQ2FwYWJpbGl0eS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYXBhYmlsaXR5VmFsaWRhdGlvbnMoXG4gIGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSxcbik6IE9wZXJhbmRGaWVsZFZhbGlkYXRpb24ge1xuICBjb25zdCB2YWxpZGF0aW9ucyA9IGNhcGFiaWxpdGllcz8uZmlsdGVyKGMgPT5cbiAgICBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkudmFsaWRhdGlvbiksXG4gICk7XG4gIHJldHVybiB2YWxpZGF0aW9ucy5yZWR1Y2UoKGFjYywgZGVzY3JpcHRvcikgPT4ge1xuICAgIGNvbnN0IFssIHZhbGlkYXRpb24sIHBhcmFtXSA9XG4gICAgICAoZGVzY3JpcHRvci5tYXRjaChSRUdFWFBfVkFMSURBVElPTl9TVUZGSVgpIGFzIFtcbiAgICAgICAgdW5rbm93bixcbiAgICAgICAgVmFsaWRhdGlvbnMsXG4gICAgICAgIHN0cmluZyxcbiAgICAgIF0pID8/IFtdO1xuICAgIGlmICghdmFsaWRhdGlvbikge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG5cbiAgICBpZiAodmFsaWRhdGlvbiA9PT0gVmFsaWRhdGlvbnMucGF0dGVybikge1xuICAgICAgYWNjW3ZhbGlkYXRpb25dID0gcGFyYW07XG4gICAgfSBlbHNlIGlmICh2YWxpZGF0aW9uID09PSBWYWxpZGF0aW9ucy5yZXF1aXJlZCkge1xuICAgICAgYWNjW3ZhbGlkYXRpb25dID0gQm9vbGVhbihwYXJhbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1t2YWxpZGF0aW9uXSA9ICtwYXJhbTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBPcGVyYW5kRmllbGRWYWxpZGF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9uZU9mTWFwKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgbWFwOiBEaWN0aW9uYXJ5PHN0cmluZ1tdPiA9IHt9O1xuICBjb25zdCBjYXBhYmlsaXRpZXMgPSBmaWVsZC5jYXBhYmlsaXRpZXMuZmlsdGVyKGMgPT5cbiAgICBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkub25lT2YpLFxuICApO1xuICBjYXBhYmlsaXRpZXMuZm9yRWFjaChjID0+IHtcbiAgICBjb25zdCBzdHIgPSBjLnNwbGl0KFNwZWNDYXBhYmlsaXR5Lm9uZU9mKVsxXTtcbiAgICAvLyDov5nph4wgcGF0aCDkuI7lkI7nq6/nuqbmnZ/nm7TmjqXmlK/mjIEgcGF0aEB0YWcg5qih5byPXG4gICAgY29uc3QgW3ZhbHVlLCAuLi5wYXRoXSA9IHN0ci5zcGxpdCgnOicpO1xuICAgIG1hcFt2YWx1ZV0gPSBbLi4ucGF0aF07XG4gIH0pO1xuICByZXR1cm4gbWFwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRTaG91bGRSZXZlYWwoZmllbGQ6IE9wZXJhbmRGaWVsZCkge1xuICByZXR1cm4gKFxuICAgICFmaWVsZC5jYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkuaGlkZGVuKSAmJlxuICAgIGlkZW50aXR5KGdldEZpZWxkVHlwZShmaWVsZCkpXG4gICk7XG59XG4iXX0=
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi91dGlscy9jYXBhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxLQUFLLEVBRUwsZUFBZSxFQUVmLElBQUksRUFDSixTQUFTLEVBQ1Qsa0JBQWtCLEdBQ25CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0QsT0FBTyxFQU1MLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQix3QkFBd0IsR0FDekIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQW1CO0lBQzFELE1BQU0sWUFBWSxHQUFHLEdBQUcsY0FBYyxDQUFDLGVBQWUsR0FBRyxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQ3ZELFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQ3BDLENBQUM7SUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztB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QUNOLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQW1CO0lBQzdDLE1BQU0sR0FBRyxHQUF5QixFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDakQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQ25DLENBQUM7SUFDRixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLGdDQUFnQztRQUNoQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQW1CO0lBQ25ELE9BQU8sQ0FDTCxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDbkQsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM5QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpY3Rpb25hcnksXG4gIEZBTFNFLFxuICBKU09OU2NoZW1hNlR5cGVOYW1lLFxuICBwYXJzZUpTT05TdHJlYW0sXG4gIFN0cmluZ01hcCxcbiAgVFJVRSxcbiAgcGFyc2VKc29uLFxuICBpc0pzb25PYmplY3RTdHJpbmcsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IGZpbmQsIGlkZW50aXR5LCBpc0VtcHR5LCBsYXN0LCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQge1xuICBEZXNjcmlwdG9yLFxuICBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwLFxuICBPcGVyYW5kRmllbGQsXG4gIE9wZXJhbmRGaWVsZEdyb3VwLFxuICBPcGVyYW5kRmllbGRWYWxpZGF0aW9uLFxuICBTcGVjQ2FwYWJpbGl0eSxcbiAgVmFsaWRhdGlvbnMsXG59IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9WQUxVRV9QQVRURVJOLFxuICBERVNDUklQVE9SX0RFRklOSVRJT05fS0VZLFxuICBOYW1lc3BhY2VkUmVzb3VyY2VLaW5kLFxuICBSRUdFWFBfSzhTX1JFU09VUkNFX1NVRkZJWCxcbiAgUkVHRVhQX1ZBTElEQVRJT05fU1VGRklYLFxufSBmcm9tICcuL2NvbnN0YW50JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZU51bWJlciB9IGZyb20gJy4vaGVscGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2ljQXV0aFNlY3JldENvbmZpZyhmaWVsZDogT3BlcmFuZEZpZWxkKSB7XG4gIGNvbnN0IGNvbmZpZ1ByZWZpeCA9IGAke1NwZWNDYXBhYmlsaXR5LmJhc2ljQXV0aFNlY3JldH06YDtcbiAgY29uc3QgY2FwYWJpbGl0eSA9IGZpbmQoZmllbGQuY2FwYWJpbGl0aWVzLCBkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKGNvbmZpZ1ByZWZpeCksXG4gICk7XG4gIGlmICghY2FwYWJpbGl0eSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGNvbmZpZ1N0ciA9IGNhcGFiaWxpdHkuc2xpY2UoY29uZmlnUHJlZml4Lmxlbmd0aCk7XG4gIHJldHVybiBwYXJzZUpTT05TdHJlYW0oY29uZmlnU3RyKVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhZGlvT3B0aW9ucyhjYXBhYmlsaXRpZXM6IFNwZWNDYXBhYmlsaXR5W10pIHtcbiAgY29uc3QgaXRlbXMgPSBjYXBhYmlsaXRpZXNcbiAgICAuZmlsdGVyKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnJhZGlvKSlcbiAgICAubWFwKGMgPT4gYy5zcGxpdChTcGVjQ2FwYWJpbGl0eS5yYWRpbylbMV0pO1xuICByZXR1cm4gaXRlbXNcbiAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zcGxpdCgnOicpLmxlbmd0aCA9PT0gMSlcbiAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgemhQcmVmaXggPSBgJHtpdGVtfTp6aDpgO1xuICAgICAgY29uc3QgZW5QcmVmaXggPSBgJHtpdGVtfTplbjpgO1xuICAgICAgY29uc3QgemhEZXNjcmlwdG9yID0gaXRlbXMuZmluZCh2YWx1ZSA9PiB2YWx1ZS5zdGFydHNXaXRoKHpoUHJlZml4KSk7XG4gICAgICBjb25zdCBlbkRlc2NyaXB0b3IgPSBpdGVtcy5maW5kKHZhbHVlID0+IHZhbHVlLnN0YXJ0c1dpdGgoZW5QcmVmaXgpKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgICBkaXNwbGF5OiB7XG4gICAgICAgICAgemg6IHpoRGVzY3JpcHRvciA/IHpoRGVzY3JpcHRvci5zcGxpdCh6aFByZWZpeClbMV0gOiBpdGVtLFxuICAgICAgICAgIGVuOiBlbkRlc2NyaXB0b3IgPyBlbkRlc2NyaXB0b3Iuc3BsaXQoZW5QcmVmaXgpWzFdIDogaXRlbSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRSYWRpb3NEZWZhdWx0VmFsdWUoZGVzY3JpcHRvcnM6IERlc2NyaXB0b3JbXSkge1xuICAvLyBTZXQgcmFkaW8gZGVmYXVsdCBzZWxlY3RlZCBpdGVtXG4gIGNvbnN0IGRlZmF1bHRWYWx1ZU1hcCA9IChkZXNjcmlwdG9ycyB8fCBbXSlcbiAgICAuZmlsdGVyKGQgPT5cbiAgICAgIGRbREVTQ1JJUFRPUl9ERUZJTklUSU9OX0tFWV0uc29tZShpdGVtID0+XG4gICAgICAgIGl0ZW0uc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5yYWRpbyksXG4gICAgICApLFxuICAgIClcbiAgICAubWFwKGl0ZW0gPT4gKHtcbiAgICAgIHBhdGg6IGl0ZW0ucGF0aCxcbiAgICAgIHZhbHVlOiBpdGVtW0RFU0NSSVBUT1JfREVGSU5JVElPTl9LRVldLmZpbHRlcihjID0+XG4gICAgICAgIGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5yYWRpbyksXG4gICAgICApXG4gICAgICAgIC5tYXAoYyA9PiBjLnNwbGl0KFNwZWNDYXBhYmlsaXR5LnJhZGlvKVsxXSlcbiAgICAgICAgLmZpbmQoYyA9PiBjLnNwbGl0KCc6JykubGVuZ3RoID09PSAxKSxcbiAgICB9KSlcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgY3VyKSA9PiAoe1xuICAgICAgICAuLi5zZXQoYWNjLCBjdXIucGF0aCwgY3VyLnZhbHVlKSxcbiAgICAgIH0pLFxuICAgICAge30sXG4gICAgKTtcbiAgcmV0dXJuIHtcbiAgICBzcGVjOiB7XG4gICAgICAuLi5kZWZhdWx0VmFsdWVNYXAsXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEJvb2xlYW5Td2l0Y2hPcHRpb25zID0gKGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSkgPT4ge1xuICBjb25zdCBpdGVtcyA9IGNhcGFiaWxpdGllc1xuICAgIC5maWx0ZXIoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuYm9vbGVhblN3aXRjaCkpXG4gICAgLm1hcChjID0+IGMuc3BsaXQoU3BlY0NhcGFiaWxpdHkuYm9vbGVhblN3aXRjaClbMV0pO1xuXG4gIHJldHVybiBbVFJVRSwgRkFMU0VdLm1hcChpdGVtID0+IHtcbiAgICBjb25zdCB6aFByZWZpeCA9IGA6JHtpdGVtfTp6aDpgO1xuICAgIGNvbnN0IGVuUHJlZml4ID0gYDoke2l0ZW19OmVuOmA7XG4gICAgY29uc3QgemhEZXNjcmlwdG9yID0gaXRlbXMuZmluZCh2YWx1ZSA9PiB2YWx1ZS5zdGFydHNXaXRoKHpoUHJlZml4KSk7XG4gICAgY29uc3QgZW5EZXNjcmlwdG9yID0gaXRlbXMuZmluZCh2YWx1ZSA9PiB2YWx1ZS5zdGFydHNXaXRoKGVuUHJlZml4KSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpdGVtLFxuICAgICAgZGlzcGxheTpcbiAgICAgICAgemhEZXNjcmlwdG9yICYmIGVuRGVzY3JpcHRvclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICB6aDogemhEZXNjcmlwdG9yID8gemhEZXNjcmlwdG9yLnNwbGl0KHpoUHJlZml4KVsxXSA6IGl0ZW0sXG4gICAgICAgICAgICAgIGVuOiBlbkRlc2NyaXB0b3IgPyBlbkRlc2NyaXB0b3Iuc3BsaXQoZW5QcmVmaXgpWzFdIDogaXRlbSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IGl0ZW0gPT09IFRSVUVcbiAgICAgICAgICAgID8gJ3llcydcbiAgICAgICAgICAgIDogJ25vJyxcbiAgICB9O1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0Qm9vbGVhblN3aXRjaFZhbHVlID0gKFxuICB2YWx1ZTogYm9vbGVhbixcbiAgY2FwYWJpbGl0aWVzOiBTcGVjQ2FwYWJpbGl0eVtdLFxuKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRCb29sZWFuU3dpdGNoT3B0aW9ucyhjYXBhYmlsaXRpZXMpO1xuICByZXR1cm4gb3B0aW9ucy5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gKHZhbHVlID8gVFJVRSA6IEZBTFNFKSk/LmRpc3BsYXk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFZhbHVlKHZhbHVlOiBzdHJpbmcsIHR5cGU6IEpTT05TY2hlbWE2VHlwZU5hbWUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdpbnRlZ2VyJzoge1xuICAgICAgcmV0dXJuIGNvZXJjZU51bWJlcih2YWx1ZSk7XG4gICAgfVxuICAgIGNhc2UgJ2Jvb2xlYW4nOiB7XG4gICAgICByZXR1cm4gY29lcmNlQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIC8vIOWFvOWuuSB2YWx1ZSDkuLoganNvbiDlrZfnrKbkuLLnmoTmg4XlhrVcbiAgICAgIHJldHVybiBpc0pzb25PYmplY3RTdHJpbmcodmFsdWUpXG4gICAgICAgID8gcGFyc2VKc29uKHZhbHVlLCB2YWx1ZSlcbiAgICAgICAgOiB2YWx1ZSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0VmFsdWUoZmllbGQ6IE9wZXJhbmRGaWVsZCkge1xuICBjb25zdCBkZWZhdWx0VmFsdWVEZXNjcmlwdG9yID0gZmluZChmaWVsZC5jYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuZGVmYXVsdFZhbHVlKSxcbiAgKTtcbiAgaWYgKGRlZmF1bHRWYWx1ZURlc2NyaXB0b3IpIHtcbiAgICBjb25zdCBbLCB2YWx1ZV0gPSBERUZBVUxUX1ZBTFVFX1BBVFRFUk4uZXhlYyhkZWZhdWx0VmFsdWVEZXNjcmlwdG9yKSB8fCBbXTtcbiAgICByZXR1cm4gY29udmVydFZhbHVlKHZhbHVlLCBmaWVsZC50eXBlKTtcbiAgfVxufVxuXG5jb25zdCBVSV9GSUVMRFM6IEFycmF5PFxuICB8IFNwZWNDYXBhYmlsaXR5XG4gIHwgeyBzcGVjOiBTcGVjQ2FwYWJpbGl0eTsgcmVmZXI/OiBTcGVjQ2FwYWJpbGl0eTsgcHJlZml4PzogYm9vbGVhbiB9XG4+ID0gW1xuICBTcGVjQ2FwYWJpbGl0eS50ZXh0LFxuICB7XG4gICAgc3BlYzogYCR7U3BlY0NhcGFiaWxpdHkudGV4dH06bGlua2AgYXMgU3BlY0NhcGFiaWxpdHksXG4gICAgcmVmZXI6IFNwZWNDYXBhYmlsaXR5LnRleHQsXG4gIH0sXG4gIHtcbiAgICBzcGVjOiBgJHtTcGVjQ2FwYWJpbGl0eS50ZXh0fTpsaW5rOmAgYXMgU3BlY0NhcGFiaWxpdHksXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICBTcGVjQ2FwYWJpbGl0eS5wYXNzd29yZCxcbiAgU3BlY0NhcGFiaWxpdHkuY29uZmlybVBhc3N3b3JkLFxuICBTcGVjQ2FwYWJpbGl0eS5leHRlcm5hbFBhc3N3b3JkLFxuICBTcGVjQ2FwYWJpbGl0eS5udW1iZXIsXG4gIFNwZWNDYXBhYmlsaXR5LnRleHRhcmVhLFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkucG9kQ291bnQsXG4gICAgcmVmZXI6IFNwZWNDYXBhYmlsaXR5Lm51bWJlcixcbiAgfSxcbiAgU3BlY0NhcGFiaWxpdHkuYm9vbGVhblN3aXRjaCxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LnNlbGVjdCxcbiAgICBwcmVmaXg6IHRydWUsXG4gIH0sXG4gIFNwZWNDYXBhYmlsaXR5LnJlc291cmNlUmVxdWlyZW1lbnRzLFxuICBTcGVjQ2FwYWJpbGl0eS55YW1sLFxuICBTcGVjQ2FwYWJpbGl0eS5vYmplY3QsXG4gIFNwZWNDYXBhYmlsaXR5LmFycmF5LFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkucmFkaW8sXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkuazhzUmVzb3VyY2VQcmVmaXgsXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkuYmFzaWNBdXRoU2VjcmV0LFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LndpZGdldHMsXG4gICAgcHJlZml4OiB0cnVlLFxuICB9LFxuICB7XG4gICAgc3BlYzogU3BlY0NhcGFiaWxpdHkucmVtb3RlLFxuICAgIHByZWZpeDogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIHNwZWM6IFNwZWNDYXBhYmlsaXR5LnRhZ3NJbnB1dCxcbiAgICBwcmVmaXg6IHRydWUsXG4gIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRUeXBlKGZpZWxkOiBPcGVyYW5kRmllbGQpOiBTcGVjQ2FwYWJpbGl0eSB7XG4gIGNvbnN0IHsgY2FwYWJpbGl0aWVzIH0gPSBmaWVsZDtcbiAgY29uc3QgcmVzdWx0ID0gVUlfRklFTERTLmZpbmQoc3BlY0ZpZWxkID0+IHtcbiAgICBpZiAodHlwZW9mIHNwZWNGaWVsZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoc3BlY0ZpZWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIHNwZWNGaWVsZC5wcmVmaXhcbiAgICAgID8gY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoc3BlY0ZpZWxkLnNwZWMpKVxuICAgICAgOiBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoc3BlY0ZpZWxkLnNwZWMpO1xuICB9KTtcbiAgcmV0dXJuIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogKHJlc3VsdD8ucmVmZXIgPz8gcmVzdWx0Py5zcGVjKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2ljQ2FwYWJpbGl0eVR5cGUoY2FwYWJpbGl0aWVzOiBzdHJpbmdbXSkge1xuICBpZiAoY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5LnRleHQpKSB7XG4gICAgcmV0dXJuICdzdHJpbmcnO1xuICB9XG4gIGlmIChcbiAgICBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkubnVtYmVyKSB8fFxuICAgIGNhcGFiaWxpdGllcy5pbmNsdWRlcyhTcGVjQ2FwYWJpbGl0eS5wb2RDb3VudClcbiAgKSB7XG4gICAgcmV0dXJuICdudW1iZXInO1xuICB9XG4gIGlmIChjYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkuYm9vbGVhblN3aXRjaCkpIHtcbiAgICByZXR1cm4gJ2Jvb2xlYW4nO1xuICB9XG4gIGlmIChjYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkub2JqZWN0KSkge1xuICAgIHJldHVybiAnb2JqZWN0JztcbiAgfVxuICBpZiAoY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5LmFycmF5KSkge1xuICAgIHJldHVybiAnYXJyYXknO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEZpZWxkTmFtZUJ5TGFiZWwoXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQgfCBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwIHwgT3BlcmFuZEZpZWxkR3JvdXAsXG4gIGxhYmVsOiBTcGVjQ2FwYWJpbGl0eS5sYWJlbEVuIHwgU3BlY0NhcGFiaWxpdHkubGFiZWxaaCxcbikge1xuICBjb25zdCBkZXNjcmlwdG9yID0gZmluZChmaWVsZD8uY2FwYWJpbGl0aWVzLCBkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKGxhYmVsKSxcbiAgKTtcbiAgcmV0dXJuIGRlc2NyaXB0b3JcbiAgICA/IGRlc2NyaXB0b3Iuc3BsaXQobGFiZWwpWzFdXG4gICAgOiAnZGlzcGxheU5hbWUnIGluIGZpZWxkXG4gICAgICA/IGZpZWxkLmRpc3BsYXlOYW1lXG4gICAgICA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZERpc3BsYXlOYW1lKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkIHwgT3BlcmFuZEFycmF5RmllbGRHcm91cCB8IE9wZXJhbmRGaWVsZEdyb3VwLFxuKSB7XG4gIGNvbnN0IGVuID0gZ2V0RmllbGROYW1lQnlMYWJlbChmaWVsZCwgU3BlY0NhcGFiaWxpdHkubGFiZWxFbik7XG4gIGNvbnN0IHpoID0gZ2V0RmllbGROYW1lQnlMYWJlbChmaWVsZCwgU3BlY0NhcGFiaWxpdHkubGFiZWxaaCk7XG5cbiAgcmV0dXJuIChlbiB8fCB6aCkgJiYgeyBlbiwgemggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3BsYXlCeUNhcGFiaWxpdHkoXG4gIGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSxcbiAgbmFtZTogc3RyaW5nLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikge1xuICBjb25zdCBlbkRlcyA9IGAke25hbWV9ZW46YDtcbiAgY29uc3QgemhEZXMgPSBgJHtuYW1lfXpoOmA7XG4gIGNvbnN0IGVuID0gZmluZChjYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoZW5EZXMpLFxuICApPy5zcGxpdChlbkRlcyk/LlsxXTtcbiAgY29uc3QgemggPSBmaW5kKGNhcGFiaWxpdGllcywgZGVzY3JpcHRvciA9PlxuICAgIGRlc2NyaXB0b3Iuc3RhcnRzV2l0aCh6aERlcyksXG4gICk/LnNwbGl0KHpoRGVzKT8uWzFdO1xuICByZXR1cm4gZW4gfHwgemhcbiAgICA/IHsgZW46IGVuIHx8IHpoIHx8IGZhbGxiYWNrLCB6aDogemggfHwgZW4gfHwgZmFsbGJhY2sgfVxuICAgIDogZmFsbGJhY2tcbiAgICAgID8geyBlbjogZmFsbGJhY2ssIHpoOiBmYWxsYmFjayB9XG4gICAgICA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZERlc2NyaXB0aW9uKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgZW5EZXNjcmlwdG9yID0gZmluZChmaWVsZC5jYXBhYmlsaXRpZXMsIGRlc2NyaXB0b3IgPT5cbiAgICBkZXNjcmlwdG9yLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuZGVzY3JpcHRpb25FbiksXG4gICk7XG4gIGNvbnN0IHpoRGVzY3JpcHRvciA9IGZpbmQoZmllbGQuY2FwYWJpbGl0aWVzLCBkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmRlc2NyaXB0aW9uWmgpLFxuICApO1xuICByZXR1cm4ge1xuICAgIGVuOiBlbkRlc2NyaXB0b3JcbiAgICAgID8gZW5EZXNjcmlwdG9yLnNwbGl0KFNwZWNDYXBhYmlsaXR5LmRlc2NyaXB0aW9uRW4pWzFdXG4gICAgICA6IGZpZWxkLmRlc2NyaXB0aW9uLFxuICAgIHpoOiB6aERlc2NyaXB0b3JcbiAgICAgID8gemhEZXNjcmlwdG9yLnNwbGl0KFNwZWNDYXBhYmlsaXR5LmRlc2NyaXB0aW9uWmgpWzFdXG4gICAgICA6IGZpZWxkLmRlc2NyaXB0aW9uLFxuICB9O1xufVxuXG4vLyBjc3BlbGw6ZGlzYWJsZS1uZXh0LWxpbmVcbi8vIGs4cyBwYXJhbXMgc2hvdWxkIGNvbmZvcm0gdG8gdXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Pz1pc0dsb2JhbD10cnVlOmxhYmVsU2VsZWN0b3I9cGx1Z2lucy5jcGFhcy5pbyUyRnZpY3RvcmlhbWV0cmljcyUzRHRydWVcbi8vIDogaXMgdXNlZCBieSBkaXZpZGluZyBtZXRhIHBhcmFtcyBhbmQgcXVlcnlQYXJhbXMsYm90aCBzaG91bGQgYmUgdXJsIGVuY29kZWQocGVyY2VudCBlbmNvZGluZylcbmNvbnN0IEs4U19SRVNPVVJDRV9NRVRBX1BBUkFNU19ESVZJREVSID0gJzonO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SzhzUmVzb3VyY2VQcmVmaXhPcHRpb25zKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgY2FwYWJpbGl0eSA9IGZpbmQoZmllbGQuY2FwYWJpbGl0aWVzLCBkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5Lms4c1Jlc291cmNlUHJlZml4KSxcbiAgKTtcbiAgY29uc3QgbXVsdGlwbGUgPSBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShkZXNjcmlwdG9yID0+XG4gICAgZGVzY3JpcHRvci5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5Lm11bHRpcGxlKSxcbiAgKTtcbiAgY29uc3QgdmFsaWRhdGlvbnMgPSBnZXRDYXBhYmlsaXR5VmFsaWRhdGlvbnMoZmllbGQuY2FwYWJpbGl0aWVzKTtcbiAgY29uc3QgWywgcmVzb3VyY2UsICwgcUNvbXBvbmVudHNdID1cbiAgICBjYXBhYmlsaXR5Lm1hdGNoKFJFR0VYUF9LOFNfUkVTT1VSQ0VfU1VGRklYKSA/PyBbXTtcbiAgY29uc3QgZ3JvdXBWZXJzaW9uS2luZCA9IHJlc291cmNlPy5yZXBsYWNlKC86L2csICd+Jyk7XG4gIGNvbnN0IGtpbmQgPSBsYXN0KGdyb3VwVmVyc2lvbktpbmQuc3BsaXQoJ34nKSk7XG4gIGNvbnN0IFttZXRhU3RyLCBxdWVyeVBhcmFtc1N0cl0gPSAocUNvbXBvbmVudHMgPz8gJycpLnNwbGl0KFxuICAgIEs4U19SRVNPVVJDRV9NRVRBX1BBUkFNU19ESVZJREVSLFxuICApO1xuICBjb25zdCBtZXRhID0gcmVzb2x2ZUtWUGFyYW1zKG1ldGFTdHIpO1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHJlc29sdmVLVlBhcmFtcyhxdWVyeVBhcmFtc1N0cik7XG4gIHJldHVybiB7XG4gICAgbmFtZXNwYWNlZDogTmFtZXNwYWNlZFJlc291cmNlS2luZC5pbmNsdWRlcyhraW5kKSxcbiAgICBsYWJlbFNlbGVjdG9yOiBxdWVyeVBhcmFtcy5sYWJlbFNlbGVjdG9yLFxuICAgIGlzR2xvYmFsOiAhIW1ldGEuaXNHbG9iYWwsXG4gICAgZ3JvdXBWZXJzaW9uS2luZCwgLy8g546w5pyJ55qEIGFwaXZlcnNpb27vvIxhcGlHcm91cCDnmobnlLHnjq/looPphY3nva7vvIzlj6/ku6XmmoLml7bkuI3nlKhcbiAgICB0eXBlOiBsYXN0KGdyb3VwVmVyc2lvbktpbmQuc3BsaXQoJ34nKSksXG4gICAgbXVsdGlwbGUsXG4gICAgdmFsaWRhdGlvbnMsXG4gIH07XG59XG5cbi8vIHJlc29sdmUgYT1iJmM9ZCDmoLzlvI/mlbDmja5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlS1ZQYXJhbXMoc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChzdHIgfHwgJycpXG4gICAgLnNwbGl0KCcmJylcbiAgICAuZmlsdGVyKGkgPT4gIWlzRW1wdHkoaSkpXG4gICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICBjb25zdCBbaywgdl0gPSBjdXJyLnNwbGl0KCc9Jyk7XG4gICAgICBhY2Nba10gPSBkZWNvZGVVUklDb21wb25lbnQodik7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFN0cmluZ01hcCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYXBhYmlsaXR5RGlzYWJsZWQoY2FwYWJpbGl0aWVzOiBTcGVjQ2FwYWJpbGl0eVtdKTogYm9vbGVhbiB7XG4gIHJldHVybiBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoU3BlY0NhcGFiaWxpdHkuZGlzYWJsZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FwYWJpbGl0eVZhbGlkYXRpb25zKFxuICBjYXBhYmlsaXRpZXM6IFNwZWNDYXBhYmlsaXR5W10sXG4pOiBPcGVyYW5kRmllbGRWYWxpZGF0aW9uIHtcbiAgY29uc3QgdmFsaWRhdGlvbnMgPSBjYXBhYmlsaXRpZXM/LmZpbHRlcihjID0+XG4gICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnZhbGlkYXRpb24pLFxuICApO1xuICByZXR1cm4gdmFsaWRhdGlvbnMucmVkdWNlKChhY2MsIGRlc2NyaXB0b3IpID0+IHtcbiAgICBjb25zdCBbLCB2YWxpZGF0aW9uLCBwYXJhbV0gPVxuICAgICAgKGRlc2NyaXB0b3IubWF0Y2goUkVHRVhQX1ZBTElEQVRJT05fU1VGRklYKSBhcyBbXG4gICAgICAgIHVua25vd24sXG4gICAgICAgIFZhbGlkYXRpb25zLFxuICAgICAgICBzdHJpbmcsXG4gICAgICBdKSA/PyBbXTtcbiAgICBpZiAoIXZhbGlkYXRpb24pIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRpb24gPT09IFZhbGlkYXRpb25zLnBhdHRlcm4pIHtcbiAgICAgIGFjY1t2YWxpZGF0aW9uXSA9IHBhcmFtO1xuICAgIH0gZWxzZSBpZiAodmFsaWRhdGlvbiA9PT0gVmFsaWRhdGlvbnMucmVxdWlyZWQpIHtcbiAgICAgIGFjY1t2YWxpZGF0aW9uXSA9IEJvb2xlYW4ocGFyYW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbdmFsaWRhdGlvbl0gPSArcGFyYW07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgT3BlcmFuZEZpZWxkVmFsaWRhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPbmVPZk1hcChmaWVsZDogT3BlcmFuZEZpZWxkKSB7XG4gIGNvbnN0IG1hcDogRGljdGlvbmFyeTxzdHJpbmdbXT4gPSB7fTtcbiAgY29uc3QgY2FwYWJpbGl0aWVzID0gZmllbGQuY2FwYWJpbGl0aWVzLmZpbHRlcihjID0+XG4gICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5Lm9uZU9mKSxcbiAgKTtcbiAgY2FwYWJpbGl0aWVzLmZvckVhY2goYyA9PiB7XG4gICAgY29uc3Qgc3RyID0gYy5zcGxpdChTcGVjQ2FwYWJpbGl0eS5vbmVPZilbMV07XG4gICAgLy8g6L+Z6YeMIHBhdGgg5LiO5ZCO56uv57qm5p2f55u05o6l5pSv5oyBIHBhdGhAdGFnIOaooeW8j1xuICAgIGNvbnN0IFt2YWx1ZSwgLi4ucGF0aF0gPSBzdHIuc3BsaXQoJzonKTtcbiAgICBtYXBbdmFsdWVdID0gWy4uLnBhdGhdO1xuICB9KTtcbiAgcmV0dXJuIG1hcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkU2hvdWxkUmV2ZWFsKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgcmV0dXJuIChcbiAgICAhZmllbGQuY2FwYWJpbGl0aWVzLmluY2x1ZGVzKFNwZWNDYXBhYmlsaXR5LmhpZGRlbikgJiZcbiAgICBpZGVudGl0eShnZXRGaWVsZFR5cGUoZmllbGQpKVxuICApO1xufVxuIl19
|
|
@@ -12,7 +12,6 @@ export const filterMapByKey = (map, predicate) => {
|
|
|
12
12
|
return m;
|
|
13
13
|
};
|
|
14
14
|
export const getMatchArrayIndex = (arrPath) => {
|
|
15
|
-
// eslint-disable-next-line regexp/strict
|
|
16
15
|
const matched = arrPath.match(/(^.*)\[(\d+)]$/);
|
|
17
16
|
return +get(matched, '[2]', 0);
|
|
18
17
|
};
|
|
@@ -53,7 +52,6 @@ export function hasDescriptor(field, prefix, suffix = null) {
|
|
|
53
52
|
* > 'path.after'
|
|
54
53
|
*
|
|
55
54
|
*/
|
|
56
|
-
// eslint-disable-next-line regexp/strict
|
|
57
55
|
const ARRAY_INDEX_PATTERN = /^(.*)\[(\d+)]\.?(.*)$/;
|
|
58
56
|
export function parseArrayPath(path) {
|
|
59
57
|
const [match, pathBeforeIndex, index, pathAfterIndex] = ARRAY_INDEX_PATTERN.exec(path) || [];
|
|
@@ -183,9 +181,6 @@ export function _isNumberValue(value) {
|
|
|
183
181
|
return (!isNaN(typeof value === 'string' && parseFloat(value)) &&
|
|
184
182
|
!isNaN(Number(value)));
|
|
185
183
|
}
|
|
186
|
-
export function getCustomDescription(customDescriptions, field) {
|
|
187
|
-
return customDescriptions?.find(des => `spec.${des.aclCrdFormCustomDescription}` === field.path);
|
|
188
|
-
}
|
|
189
184
|
export function getOperandPath(field) {
|
|
190
185
|
const idField = field?.capabilities.find(c => c.startsWith(SpecCapability.pathTag));
|
|
191
186
|
if (idField) {
|
|
@@ -198,4 +193,4 @@ export function getPathFromTagPath(pathWithTag) {
|
|
|
198
193
|
}
|
|
199
194
|
// 获取path下所有的filed,例如spec.a 能匹配到 spec.a.a1 spec.a.a2
|
|
200
195
|
export const getFieldsByPath = (path, fields) => fields.filter(field => getOperandPath(field).startsWith(path));
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEUsT0FBTyxFQUlMLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxVQUFVLENBQUM7QUFJbEIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQ2hELEtBQUssRUFBRSxRQUFRO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEdBQW1CLEVBQ25CLFNBQXFDLEVBQ3JDLEVBQUU7SUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkIsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtJQUNwRCx5Q0FBeUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELE9B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ci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0LCBpbmNsdWRlcywgbWFwLCByZWR1Y2UsIHNvbWUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQge1xuICBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwLFxuICBPcGVyYW5kRmllbGQsXG4gIE9wZXJhbmRGaWVsZEdyb3VwLFxuICBTcGVjQ2FwYWJpbGl0eSxcbiAgVmFsaWRhdGlvbnMsXG59IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgQ3JkRm9ybUN1c3RvbURlc2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuZXhwb3J0IGNvbnN0IGlzUmVxdWlyZWQgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQ/LnJlcXVpcmVkIHx8XG4gIE9iamVjdC5rZXlzKGZpZWxkPy52YWxpZGF0aW9ucyB8fCB7fSk/LmluY2x1ZGVzKFZhbGlkYXRpb25zLnJlcXVpcmVkKTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlck1hcEJ5S2V5ID0gPFQ+KFxuICBtYXA6IE1hcDxzdHJpbmcsIFQ+LFxuICBwcmVkaWNhdGU6IChpbnB1dDogc3RyaW5nKSA9PiBib29sZWFuLFxuKSA9PiB7XG4gIGNvbnN0IG0gPSBuZXcgTWFwKCk7XG4gIG1hcC5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgaWYgKHByZWRpY2F0ZShrKSkge1xuICAgICAgbS5zZXQoaywgdik7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWF0Y2hBcnJheUluZGV4ID0gKGFyclBhdGg6IHN0cmluZykgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL3N0cmljdFxuICBjb25zdCBtYXRjaGVkID0gYXJyUGF0aC5tYXRjaCgvKF4uKilcXFsoXFxkKyldJC8pO1xuICByZXR1cm4gK2dldChtYXRjaGVkLCAnWzJdJywgMCk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNHcm91cEZpZWxkID0gKGZpZWxkOiBPcGVyYW5kRmllbGQpOiBmaWVsZCBpcyBPcGVyYW5kRmllbGRHcm91cCA9PlxuICBmaWVsZC50eXBlID09PSAnb2JqZWN0JztcblxuZXhwb3J0IGNvbnN0IGlzQXJyYXlGaWVsZCA9IChcbiAgZmllbGQ6IE9wZXJhbmRGaWVsZCxcbik6IGZpZWxkIGlzIE9wZXJhbmRBcnJheUZpZWxkR3JvdXAgPT4gZmllbGQudHlwZSA9PT0gJ2FycmF5JztcblxuZXhwb3J0IGNvbnN0IGlzUmVtb3RlRmllbGQgPSAoXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQsXG4pOiBmaWVsZCBpcyBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwID0+XG4gIGZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnJlbW90ZSkpO1xuXG5leHBvcnQgY29uc3QgaXNBcnJheUZpZWxkVGFibGUgPSAoXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQsXG4pOiBmaWVsZCBpcyBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwID0+XG4gIGlzQXJyYXlGaWVsZChmaWVsZCkgJiZcbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PlxuICAgIGMuc3RhcnRzV2l0aCgndXJuOmFsbTpkZXNjcmlwdG9yOndpZGdldHM6Y29tbW9uOmFycmF5VGFibGUnKSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGlzQ3JlYXRhYmxlID0gKGZpZWxkOiBPcGVyYW5kRmllbGQpID0+XG4gIGZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmNyZWF0YWJsZSkpO1xuXG5leHBvcnQgY29uc3QgaXNNdWx0aXBsZSA9IChmaWVsZDogT3BlcmFuZEZpZWxkKSA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5tdWx0aXBsZSkpO1xuXG5leHBvcnQgY29uc3QgaXNBbGxvd0NyZWF0ZSA9IChmaWVsZDogT3BlcmFuZEZpZWxkKSA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5hbGxvd0NyZWF0ZSkpO1xuXG5leHBvcnQgY29uc3QgaXNDbGVhcmFibGUgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuY2xlYXJhYmxlKSk7XG5cbmV4cG9ydCBjb25zdCBpc0ZvbGRlZCA9IChmaWVsZDogT3BlcmFuZEZpZWxkKSA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5mb2xkZWQpKTtcblxuZXhwb3J0IGNvbnN0IGlzRW1wdHlBcnJheSA9IChmaWVsZDogT3BlcmFuZEZpZWxkKSA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5lbXB0eUFycmF5KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNEZXNjcmlwdG9yKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkLFxuICBwcmVmaXg6IHN0cmluZyxcbiAgc3VmZml4OiBzdHJpbmcgPSBudWxsLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBzdWZmaXhcbiAgICA/IGluY2x1ZGVzKGZpZWxkLmNhcGFiaWxpdGllcywgYCR7cHJlZml4fSR7c3VmZml4fWApXG4gICAgOiBzb21lKGZpZWxkLmNhcGFiaWxpdGllcywgY2FwYWJpbGl0eSA9PiBjYXBhYmlsaXR5LnN0YXJ0c1dpdGgocHJlZml4KSk7XG59XG5cbi8qXG4gKiBNYXRjaGVzIGEgcGF0aCB0aGF0IGNvbnRhaW5zIGFuIGFycmF5IGluZGV4LiBVc2UgU3RpbmcubWF0Y2ggYWdhaW5zdCBhbiBPcGVyYW5kRmllbGQgJ3BhdGgnXG4gKiBwcm9wZXJ0eSB0byBkZXRlcm1pbmUgaWYgaXQgY29udGFpbnMgYW4gYXJyYXkgaW5kZXguIEl0IHdpbGwgcGFyc2UgdGhlIHBhdGggaW50byB0aHJlZSBwYXJ0cyxcbiAqIFttYXRjaCwgcGF0aEJlZm9yZUluZGV4LCBpbmRleCwgcGF0aEFmdGVySW5kZXhdLiBGb3IgZXhhbXBsZTpcbiAqXG4gKiAgIGNvbnN0IFttYXRjaCwgcGF0aEJlZm9yZUluZGV4LCBpbmRleCwgcGF0aEFmdGVySW5kZXhdID1cbiAqICAgICAncGF0aC5iZWZvcmVbMF0ucGF0aC5hZnRlcicubWF0Y2goQVJSQVlfSU5ERVhfUEFUVEVSTik7XG4gKlxuICogICBjb25zb2xlLmxvZyhtYXRjaCk7XG4gKiAgID4gJ3BhdGguYmVmb3JlWzBdLnBhdGguYWZ0ZXInXG4gKlxuICogICBjb25zb2xlLmxvZyhwYXRoQmVmb3JlSW5kZXgpO1xuICogICA+ICdwYXRoLmJlZm9yZSdcbiAqXG4gKiAgIGNvbnNvbGUubG9nKGluZGV4KVxuICogICA+ICcwJ1xuICpcbiAqICAgY29uc29sZS5sb2cocGF0aEFmdGVySW5kZXgpXG4gKiAgID4gJ3BhdGguYWZ0ZXInXG4gKlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL3N0cmljdFxuY29uc3QgQVJSQVlfSU5ERVhfUEFUVEVSTiA9IC9eKC4qKVxcWyhcXGQrKV1cXC4/KC4qKSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJheVBhdGgocGF0aDogc3RyaW5nKToge1xuICBpbmRleD86IG51bWJlcjtcbiAgbWF0Y2g/OiBzdHJpbmc7XG4gIHBhdGhCZWZvcmVJbmRleD86IHN0cmluZztcbiAgcGF0aEFmdGVySW5kZXg/OiBzdHJpbmc7XG59IHtcbiAgY29uc3QgW21hdGNoLCBwYXRoQmVmb3JlSW5kZXgsIGluZGV4LCBwYXRoQWZ0ZXJJbmRleF0gPVxuICAgIEFSUkFZX0lOREVYX1BBVFRFUk4uZXhlYyhwYXRoKSB8fCBbXTtcbiAgcmV0dXJuIG1hdGNoXG4gICAgPyB7IGluZGV4OiBwYXJzZUludChpbmRleCwgMTApLCBtYXRjaCwgcGF0aEJlZm9yZUluZGV4LCBwYXRoQWZ0ZXJJbmRleCB9XG4gICAgOiB7IG1hdGNoIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcnJheUdyb3VwTmFtZShmaWVsZDogT3BlcmFuZEZpZWxkKSB7XG4gIGlmIChoYXNEZXNjcmlwdG9yKGZpZWxkLCBTcGVjQ2FwYWJpbGl0eS5hcnJheUZpZWxkR3JvdXApKSB7XG4gICAgcmV0dXJuIGZpZWxkLmNhcGFiaWxpdGllc1xuICAgICAgLmZpbmQoY2FwYWJpbGl0eSA9PiBjYXBhYmlsaXR5LnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuYXJyYXlGaWVsZEdyb3VwKSlcbiAgICAgIC5zbGljZShTcGVjQ2FwYWJpbGl0eS5hcnJheUZpZWxkR3JvdXAubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHcm91cE5hbWUoZmllbGQ6IE9wZXJhbmRGaWVsZCkge1xuICBpZiAoaGFzRGVzY3JpcHRvcihmaWVsZCwgU3BlY0NhcGFiaWxpdHkuZmllbGRHcm91cCkpIHtcbiAgICByZXR1cm4gZmllbGQuY2FwYWJpbGl0aWVzXG4gICAgICAuZmluZChjYXBhYmlsaXR5ID0+IGNhcGFiaWxpdHkuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5maWVsZEdyb3VwKSlcbiAgICAgIC5zbGljZShTcGVjQ2FwYWJpbGl0eS5maWVsZEdyb3VwLmxlbmd0aCk7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICog6YCS5b2S5L+u5aSN5qCR5b2i57uT5p6E5LitIOaVsOe7hOexu+Wei+eahOe0ouW8lVxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7T3BlcmFuZEZpZWxkfSBmaWVsZFxuICogQHBhcmFtIHtzdHJpbmd9IGZyb21QYXRoXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9QYXRoXG4gKiBAcmV0dXJuc1xuICpcbiAqL1xuZXhwb3J0IGNvbnN0IHJlcGFpckZpZWxkQ2hpbGRQYXRoQnlDb3JyZWN0SW5kZXggPSAoXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQsXG4gIGZyb21QYXRoOiBzdHJpbmcsXG4gIHRvUGF0aDogc3RyaW5nLFxuKSA9PiB7XG4gIGNvbnN0IHRhcmdldEZpZWxkID0gY2xvbmVEZWVwKGZpZWxkKTtcbiAgaWYgKGlzR3JvdXBGaWVsZCh0YXJnZXRGaWVsZCkpIHtcbiAgICB0YXJnZXRGaWVsZC5maWVsZExpc3QgPSBtYXAodGFyZ2V0RmllbGQuZmllbGRMaXN0LCBmID0+ICh7XG4gICAgICAuLi5mLFxuICAgICAgcGF0aDogZi5wYXRoLnJlcGxhY2UoZnJvbVBhdGgsIHRvUGF0aCksXG4gICAgfSkpO1xuICB9IGVsc2UgaWYgKGlzQXJyYXlGaWVsZCh0YXJnZXRGaWVsZCkpIHtcbiAgICB0YXJnZXRGaWVsZC5maWVsZExpc3RzID0gcmVkdWNlKFxuICAgICAgdGFyZ2V0RmllbGQuZmllbGRMaXN0cyxcbiAgICAgICh0LCBjKSA9PiBbXG4gICAgICAgIC4uLnQsXG4gICAgICAgIG1hcChjLCBmID0+IHJlcGFpckZpZWxkQ2hpbGRQYXRoQnlDb3JyZWN0SW5kZXgoZiwgZnJvbVBhdGgsIHRvUGF0aCkpLFxuICAgICAgXSxcbiAgICAgIFtdLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi50YXJnZXRGaWVsZCxcbiAgICBwYXRoOiB0YXJnZXRGaWVsZC5wYXRoLnJlcGxhY2UoZnJvbVBhdGgsIHRvUGF0aCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRlZEZpZWxkcyA9IChub3JtYWxGaWVsZHM6IE9wZXJhbmRGaWVsZFtdKSA9PlxuICBtYXAobm9ybWFsRmllbGRzLCBmaWVsZCA9PiB7XG4gICAgaWYgKGdldEFycmF5R3JvdXBOYW1lKGZpZWxkKSkge1xuICAgICAgY29uc3QgeyBwYXRoQmVmb3JlSW5kZXgsIGluZGV4IH0gPSBwYXJzZUFycmF5UGF0aChmaWVsZC5wYXRoKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBwYXJlbnQ6IHBhdGhCZWZvcmVJbmRleCxcbiAgICAgICAgaW5QYXJlbnRJbmRleDogaW5kZXgsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZ2V0R3JvdXBOYW1lKGZpZWxkKSkge1xuICAgICAgY29uc3QgZ3JvdXBOYW1lRnJvbURlZmluaXRpb24gPSBgc3BlYy4ke2dldEdyb3VwTmFtZShmaWVsZCl9YDtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZpZWxkLnBhdGguc2xpY2UoMCwgZ3JvdXBOYW1lRnJvbURlZmluaXRpb24ubGVuZ3RoKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBwYXJlbnQsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gZmllbGQ7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZ2V0VHJlZUZpZWxkcyA9IChcbiAgcm9vdEZpZWxkczogT3BlcmFuZEZpZWxkW10sXG4gIGJhc2ljRmllbGRzOiBPcGVyYW5kRmllbGRbXSxcbikgPT4ge1xuICBpZiAoYmFzaWNGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiByb290RmllbGRzLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgZmllbGQuX2RpcnR5ID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gYmFzaWNGaWVsZHMuZmlsdGVyKGYgPT4gZi5wYXJlbnQgPT09IGZpZWxkLnBhdGgpO1xuICAgICAgY2hpbGRyZW4uZm9yRWFjaChjID0+IChjLl9kaXJ0eSA9IHRydWUpKTtcbiAgICAgIGlmIChpc0FycmF5RmllbGQoZmllbGQpKSB7XG4gICAgICAgIGZpZWxkLmZpZWxkTGlzdHMgPSBjaGlsZHJlblxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGFjY1tjaGlsZC5pblBhcmVudEluZGV4XSA9IFtcbiAgICAgICAgICAgICAgLi4uKGFjY1tjaGlsZC5pblBhcmVudEluZGV4XSB8fCBbXSksXG4gICAgICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwgW10pXG4gICAgICAgICAgLm1hcChtID0+XG4gICAgICAgICAgICBnZXRUcmVlRmllbGRzKFxuICAgICAgICAgICAgICBtLFxuICAgICAgICAgICAgICBiYXNpY0ZpZWxkcy5maWx0ZXIoZiA9PiAhZi5fZGlydHkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChpc0dyb3VwRmllbGQoZmllbGQpKSB7XG4gICAgICAgIGZpZWxkLmZpZWxkTGlzdCA9IGdldFRyZWVGaWVsZHMoXG4gICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgYmFzaWNGaWVsZHMuZmlsdGVyKGYgPT4gIWYuX2RpcnR5KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4uYWNjLCBmaWVsZF07XG4gICAgfSwgW10pO1xuICB9XG4gIHJldHVybiByb290RmllbGRzLm1hcChmID0+IHtcbiAgICBmLl9kaXJ0eSA9IHRydWU7XG4gICAgcmV0dXJuIGY7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1hdGNoZWRDYXBhYmlsaXR5VmFsdWUgPSAoXG4gIGNhcGFiaWxpdGllczogU3BlY0NhcGFiaWxpdHlbXSxcbiAgZGVzY3JpcHRvcjogc3RyaW5nLFxuKSA9PlxuICBjYXBhYmlsaXRpZXNcbiAgICAuZmluZChjYXBhYmlsaXR5ID0+IGNhcGFiaWxpdHkuc3RhcnRzV2l0aChkZXNjcmlwdG9yKSlcbiAgICA/LnNsaWNlKGRlc2NyaXB0b3IubGVuZ3RoKSB8fCAnJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV2YWxJbkNvbnRleHQoc3RyaW5nRXhwcmVzc2lvbjogc3RyaW5nLCBjb250ZXh0OiBhbnkpIHtcbiAgLy8gcmVwbGFjZSBldmFsLCBza2lwIGVzbGludCAmIHNvbmFyIHNhZmUgY2hlY2tcbiAgZnVuY3Rpb24gZXZpbChmbjogc3RyaW5nKSB7XG4gICAgY29uc3QgRm4gPSBGdW5jdGlvbjtcbiAgICByZXR1cm4gbmV3IEZuKGByZXR1cm4gJHtmbn1gKTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBldmlsKHN0cmluZ0V4cHJlc3Npb24pLmNhbGwoY29udGV4dCk7XG4gIH0gY2F0Y2gge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2V4cHJlc3Npb24gaXMgaW52YWxpZDonLCBzdHJpbmdFeHByZXNzaW9uKTtcbiAgICByZXR1cm4gc3RyaW5nRXhwcmVzc2lvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlQm9vbGVhbih2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsID09PSAndHJ1ZSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VOdW1iZXIodmFsOiBhbnksIGZhbGxiYWNrVmFsdWUgPSAwKTogbnVtYmVyIHtcbiAgcmV0dXJuIF9pc051bWJlclZhbHVlKHZhbCkgPyBOdW1iZXIodmFsKSA6IGZhbGxiYWNrVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfaXNOdW1iZXJWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIC8vIHBhcnNlRmxvYXQodmFsdWUpIGhhbmRsZXMgbW9zdCBvZiB0aGUgY2FzZXMgd2UncmUgaW50ZXJlc3RlZCBpbiAoaXQgdHJlYXRzIG51bGwsIGVtcHR5IHN0cmluZyxcbiAgLy8gYW5kIG90aGVyIG5vbi1udW1iZXIgdmFsdWVzIGFzIE5hTiwgd2hlcmUgTnVtYmVyIGp1c3QgdXNlcyAwKSBidXQgaXQgY29uc2lkZXJzIHRoZSBzdHJpbmdcbiAgLy8gJzEyM2hlbGxvJyB0byBiZSBhIHZhbGlkIG51bWJlci4gVGhlcmVmb3JlIHdlIGFsc28gY2hlY2sgaWYgTnVtYmVyKHZhbHVlKSBpcyBOYU4uXG4gIHJldHVybiAoXG4gICAgIWlzTmFOKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgcGFyc2VGbG9hdCh2YWx1ZSkpICYmXG4gICAgIWlzTmFOKE51bWJlcih2YWx1ZSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXN0b21EZXNjcmlwdGlvbihcbiAgY3VzdG9tRGVzY3JpcHRpb25zOiBRdWVyeUxpc3Q8Q3JkRm9ybUN1c3RvbURlc2NyaXB0aW9uRGlyZWN0aXZlPixcbiAgZmllbGQ6IE9wZXJhbmRGaWVsZCxcbikge1xuICByZXR1cm4gY3VzdG9tRGVzY3JpcHRpb25zPy5maW5kKFxuICAgIGRlcyA9PiBgc3BlYy4ke2Rlcy5hY2xDcmRGb3JtQ3VzdG9tRGVzY3JpcHRpb259YCA9PT0gZmllbGQucGF0aCxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhbmRQYXRoKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgaWRGaWVsZCA9IGZpZWxkPy5jYXBhYmlsaXRpZXMuZmluZChjID0+XG4gICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnBhdGhUYWcpLFxuICApO1xuICBpZiAoaWRGaWVsZCkge1xuICAgIHJldHVybiBgJHtmaWVsZC5wYXRofUAke2lkRmllbGQuc2xpY2UoU3BlY0NhcGFiaWxpdHkucGF0aFRhZy5sZW5ndGgpfWA7XG4gIH1cbiAgcmV0dXJuIGZpZWxkLnBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoRnJvbVRhZ1BhdGgocGF0aFdpdGhUYWc6IHN0cmluZykge1xuICByZXR1cm4gcGF0aFdpdGhUYWcuc3BsaXQoJ0AnKVswXTtcbn1cblxuLy8g6I635Y+WcGF0aOS4i+aJgOacieeahGZpbGVk77yM5L6L5aaCc3BlYy5hIOiDveWMuemFjeWIsCBzcGVjLmEuYTEgc3BlYy5hLmEyXG5leHBvcnQgY29uc3QgZ2V0RmllbGRzQnlQYXRoID0gKHBhdGg6IHN0cmluZywgZmllbGRzOiBPcGVyYW5kRmllbGRbXSkgPT5cbiAgZmllbGRzLmZpbHRlcihmaWVsZCA9PiBnZXRPcGVyYW5kUGF0aChmaWVsZCkuc3RhcnRzV2l0aChwYXRoKSk7XG4iXX0=
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEUsT0FBTyxFQUlMLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxVQUFVLENBQUM7QUFFbEIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQ2hELEtBQUssRUFBRSxRQUFRO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEdBQW1CLEVBQ25CLFNBQXFDLEVBQ3JDLEVBQUU7SUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkIsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtJQUNwRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQW1CLEVBQThCLEVBQUUsQ0FDOUUsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLEtBQW1CLEVBQ2MsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixLQUFtQixFQUNjLEVBQUUsQ0FDbkMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLEtBQW1CLEVBQ2MsRUFBRSxDQUNuQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ25CLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsOENBQThDLENBQUMsQ0FDN0QsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUNqRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQ2hELEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FDbkQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUNqRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQzlDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUUsQ0FDbEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRXhFLE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQW1CLEVBQ25CLE1BQWMsRUFDZCxTQUFpQixJQUFJO0lBRXJCLE9BQU8sTUFBTTtRQUNYLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE1BQU0sbUJBQW1CLEdBQUcsdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFZO0lBTXpDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxjQUFjLENBQUMsR0FDbkQsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QyxPQUFPLEtBQUs7UUFDVixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRTtRQUN4RSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQW1CO0lBQ25ELElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEtBQUssQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3pFLEtBQUssQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQW1CO0lBQzlDLElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxPQUFPLEtBQUssQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BFLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUNoRCxLQUFtQixFQUNuQixRQUFnQixFQUNoQixNQUFjLEVBQ2QsRUFBRTtJQUNGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELEdBQUcsQ0FBQztZQUNKLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztTQUFNLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDckMsV0FBVyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQzdCLFdBQVcsQ0FBQyxVQUFVLEVBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixHQUFHLENBQUM7WUFDSixHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNyRSxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLFdBQVc7UUFDZCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztLQUNqRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUE0QixFQUFFLEVBQUUsQ0FDL0QsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTtJQUN4QixJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixNQUFNLEVBQUUsZUFBZTtZQUN2QixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSx1QkFBdUIsR0FBRyxRQUFRLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRSxPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixVQUEwQixFQUMxQixXQUEyQixFQUMzQixFQUFFO0lBQ0YsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN0QyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUTtxQkFDeEIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNyQixHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHO3dCQUN6QixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ25DLEtBQUs7cUJBQ04sQ0FBQztvQkFDRixPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO3FCQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNQLGFBQWEsQ0FDWCxDQUFDLEVBQ0QsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUNuQyxDQUNGLENBQUM7WUFDTixDQUFDO2lCQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLEtBQUssQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUM3QixRQUFRLEVBQ1IsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUNuQyxDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxZQUE4QixFQUM5QixVQUFrQixFQUNsQixFQUFFLENBQ0YsWUFBWTtLQUNULElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUVyQyxNQUFNLFVBQVUsYUFBYSxDQUFDLGdCQUF3QixFQUFFLE9BQVk7SUFDbEUsK0NBQStDO0lBQy9DLFNBQVMsSUFBSSxDQUFDLEVBQVU7UUFDdEIsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVE7SUFDcEMsT0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVEsRUFBRSxhQUFhLEdBQUcsQ0FBQztJQUN0RCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBVTtJQUN2QyxpR0FBaUc7SUFDakcsNEZBQTRGO0lBQzVGLG9GQUFvRjtJQUNwRixPQUFPLENBQ0wsQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDdEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQW1CO0lBQ2hELE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzNDLENBQUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUNyQyxDQUFDO0lBQ0YsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUFtQjtJQUNwRCxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBc0IsRUFBRSxFQUFFLENBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgaW5jbHVkZXMsIG1hcCwgcmVkdWNlLCBzb21lIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHtcbiAgT3BlcmFuZEFycmF5RmllbGRHcm91cCxcbiAgT3BlcmFuZEZpZWxkLFxuICBPcGVyYW5kRmllbGRHcm91cCxcbiAgU3BlY0NhcGFiaWxpdHksXG4gIFZhbGlkYXRpb25zLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc1JlcXVpcmVkID0gKGZpZWxkOiBPcGVyYW5kRmllbGQpID0+XG4gIGZpZWxkPy5yZXF1aXJlZCB8fFxuICBPYmplY3Qua2V5cyhmaWVsZD8udmFsaWRhdGlvbnMgfHwge30pPy5pbmNsdWRlcyhWYWxpZGF0aW9ucy5yZXF1aXJlZCk7XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJNYXBCeUtleSA9IDxUPihcbiAgbWFwOiBNYXA8c3RyaW5nLCBUPixcbiAgcHJlZGljYXRlOiAoaW5wdXQ6IHN0cmluZykgPT4gYm9vbGVhbixcbikgPT4ge1xuICBjb25zdCBtID0gbmV3IE1hcCgpO1xuICBtYXAuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgIGlmIChwcmVkaWNhdGUoaykpIHtcbiAgICAgIG0uc2V0KGssIHYpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBtO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1hdGNoQXJyYXlJbmRleCA9IChhcnJQYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgbWF0Y2hlZCA9IGFyclBhdGgubWF0Y2goLyheLiopXFxbKFxcZCspXSQvKTtcbiAgcmV0dXJuICtnZXQobWF0Y2hlZCwgJ1syXScsIDApO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzR3JvdXBGaWVsZCA9IChmaWVsZDogT3BlcmFuZEZpZWxkKTogZmllbGQgaXMgT3BlcmFuZEZpZWxkR3JvdXAgPT5cbiAgZmllbGQudHlwZSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBjb25zdCBpc0FycmF5RmllbGQgPSAoXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQsXG4pOiBmaWVsZCBpcyBPcGVyYW5kQXJyYXlGaWVsZEdyb3VwID0+IGZpZWxkLnR5cGUgPT09ICdhcnJheSc7XG5cbmV4cG9ydCBjb25zdCBpc1JlbW90ZUZpZWxkID0gKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkLFxuKTogZmllbGQgaXMgT3BlcmFuZEFycmF5RmllbGRHcm91cCA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5yZW1vdGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQXJyYXlGaWVsZFRhYmxlID0gKFxuICBmaWVsZDogT3BlcmFuZEZpZWxkLFxuKTogZmllbGQgaXMgT3BlcmFuZEFycmF5RmllbGRHcm91cCA9PlxuICBpc0FycmF5RmllbGQoZmllbGQpICYmXG4gIGZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGMgPT5cbiAgICBjLnN0YXJ0c1dpdGgoJ3VybjphbG06ZGVzY3JpcHRvcjp3aWRnZXRzOmNvbW1vbjphcnJheVRhYmxlJyksXG4gICk7XG5cbmV4cG9ydCBjb25zdCBpc0NyZWF0YWJsZSA9IChmaWVsZDogT3BlcmFuZEZpZWxkKSA9PlxuICBmaWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+IGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5jcmVhdGFibGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzTXVsdGlwbGUgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkubXVsdGlwbGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQWxsb3dDcmVhdGUgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuYWxsb3dDcmVhdGUpKTtcblxuZXhwb3J0IGNvbnN0IGlzQ2xlYXJhYmxlID0gKGZpZWxkOiBPcGVyYW5kRmllbGQpID0+XG4gIGZpZWxkLmNhcGFiaWxpdGllcy5zb21lKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmNsZWFyYWJsZSkpO1xuXG5leHBvcnQgY29uc3QgaXNGb2xkZWQgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuZm9sZGVkKSk7XG5cbmV4cG9ydCBjb25zdCBpc0VtcHR5QXJyYXkgPSAoZmllbGQ6IE9wZXJhbmRGaWVsZCkgPT5cbiAgZmllbGQuY2FwYWJpbGl0aWVzLnNvbWUoYyA9PiBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkuZW1wdHlBcnJheSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVzY3JpcHRvcihcbiAgZmllbGQ6IE9wZXJhbmRGaWVsZCxcbiAgcHJlZml4OiBzdHJpbmcsXG4gIHN1ZmZpeDogc3RyaW5nID0gbnVsbCxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gc3VmZml4XG4gICAgPyBpbmNsdWRlcyhmaWVsZC5jYXBhYmlsaXRpZXMsIGAke3ByZWZpeH0ke3N1ZmZpeH1gKVxuICAgIDogc29tZShmaWVsZC5jYXBhYmlsaXRpZXMsIGNhcGFiaWxpdHkgPT4gY2FwYWJpbGl0eS5zdGFydHNXaXRoKHByZWZpeCkpO1xufVxuXG4vKlxuICogTWF0Y2hlcyBhIHBhdGggdGhhdCBjb250YWlucyBhbiBhcnJheSBpbmRleC4gVXNlIFN0aW5nLm1hdGNoIGFnYWluc3QgYW4gT3BlcmFuZEZpZWxkICdwYXRoJ1xuICogcHJvcGVydHkgdG8gZGV0ZXJtaW5lIGlmIGl0IGNvbnRhaW5zIGFuIGFycmF5IGluZGV4LiBJdCB3aWxsIHBhcnNlIHRoZSBwYXRoIGludG8gdGhyZWUgcGFydHMsXG4gKiBbbWF0Y2gsIHBhdGhCZWZvcmVJbmRleCwgaW5kZXgsIHBhdGhBZnRlckluZGV4XS4gRm9yIGV4YW1wbGU6XG4gKlxuICogICBjb25zdCBbbWF0Y2gsIHBhdGhCZWZvcmVJbmRleCwgaW5kZXgsIHBhdGhBZnRlckluZGV4XSA9XG4gKiAgICAgJ3BhdGguYmVmb3JlWzBdLnBhdGguYWZ0ZXInLm1hdGNoKEFSUkFZX0lOREVYX1BBVFRFUk4pO1xuICpcbiAqICAgY29uc29sZS5sb2cobWF0Y2gpO1xuICogICA+ICdwYXRoLmJlZm9yZVswXS5wYXRoLmFmdGVyJ1xuICpcbiAqICAgY29uc29sZS5sb2cocGF0aEJlZm9yZUluZGV4KTtcbiAqICAgPiAncGF0aC5iZWZvcmUnXG4gKlxuICogICBjb25zb2xlLmxvZyhpbmRleClcbiAqICAgPiAnMCdcbiAqXG4gKiAgIGNvbnNvbGUubG9nKHBhdGhBZnRlckluZGV4KVxuICogICA+ICdwYXRoLmFmdGVyJ1xuICpcbiAqL1xuXG5jb25zdCBBUlJBWV9JTkRFWF9QQVRURVJOID0gL14oLiopXFxbKFxcZCspXVxcLj8oLiopJC87XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFycmF5UGF0aChwYXRoOiBzdHJpbmcpOiB7XG4gIGluZGV4PzogbnVtYmVyO1xuICBtYXRjaD86IHN0cmluZztcbiAgcGF0aEJlZm9yZUluZGV4Pzogc3RyaW5nO1xuICBwYXRoQWZ0ZXJJbmRleD86IHN0cmluZztcbn0ge1xuICBjb25zdCBbbWF0Y2gsIHBhdGhCZWZvcmVJbmRleCwgaW5kZXgsIHBhdGhBZnRlckluZGV4XSA9XG4gICAgQVJSQVlfSU5ERVhfUEFUVEVSTi5leGVjKHBhdGgpIHx8IFtdO1xuICByZXR1cm4gbWF0Y2hcbiAgICA/IHsgaW5kZXg6IHBhcnNlSW50KGluZGV4LCAxMCksIG1hdGNoLCBwYXRoQmVmb3JlSW5kZXgsIHBhdGhBZnRlckluZGV4IH1cbiAgICA6IHsgbWF0Y2ggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFycmF5R3JvdXBOYW1lKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgaWYgKGhhc0Rlc2NyaXB0b3IoZmllbGQsIFNwZWNDYXBhYmlsaXR5LmFycmF5RmllbGRHcm91cCkpIHtcbiAgICByZXR1cm4gZmllbGQuY2FwYWJpbGl0aWVzXG4gICAgICAuZmluZChjYXBhYmlsaXR5ID0+IGNhcGFiaWxpdHkuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5hcnJheUZpZWxkR3JvdXApKVxuICAgICAgLnNsaWNlKFNwZWNDYXBhYmlsaXR5LmFycmF5RmllbGRHcm91cC5sZW5ndGgpO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdyb3VwTmFtZShmaWVsZDogT3BlcmFuZEZpZWxkKSB7XG4gIGlmIChoYXNEZXNjcmlwdG9yKGZpZWxkLCBTcGVjQ2FwYWJpbGl0eS5maWVsZEdyb3VwKSkge1xuICAgIHJldHVybiBmaWVsZC5jYXBhYmlsaXRpZXNcbiAgICAgIC5maW5kKGNhcGFiaWxpdHkgPT4gY2FwYWJpbGl0eS5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmZpZWxkR3JvdXApKVxuICAgICAgLnNsaWNlKFNwZWNDYXBhYmlsaXR5LmZpZWxkR3JvdXAubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiDpgJLlvZLkv67lpI3moJHlvaLnu5PmnoTkuK0g5pWw57uE57G75Z6L55qE57Si5byVXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtPcGVyYW5kRmllbGR9IGZpZWxkXG4gKiBAcGFyYW0ge3N0cmluZ30gZnJvbVBhdGhcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b1BhdGhcbiAqIEByZXR1cm5zXG4gKlxuICovXG5leHBvcnQgY29uc3QgcmVwYWlyRmllbGRDaGlsZFBhdGhCeUNvcnJlY3RJbmRleCA9IChcbiAgZmllbGQ6IE9wZXJhbmRGaWVsZCxcbiAgZnJvbVBhdGg6IHN0cmluZyxcbiAgdG9QYXRoOiBzdHJpbmcsXG4pID0+IHtcbiAgY29uc3QgdGFyZ2V0RmllbGQgPSBjbG9uZURlZXAoZmllbGQpO1xuICBpZiAoaXNHcm91cEZpZWxkKHRhcmdldEZpZWxkKSkge1xuICAgIHRhcmdldEZpZWxkLmZpZWxkTGlzdCA9IG1hcCh0YXJnZXRGaWVsZC5maWVsZExpc3QsIGYgPT4gKHtcbiAgICAgIC4uLmYsXG4gICAgICBwYXRoOiBmLnBhdGgucmVwbGFjZShmcm9tUGF0aCwgdG9QYXRoKSxcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAoaXNBcnJheUZpZWxkKHRhcmdldEZpZWxkKSkge1xuICAgIHRhcmdldEZpZWxkLmZpZWxkTGlzdHMgPSByZWR1Y2UoXG4gICAgICB0YXJnZXRGaWVsZC5maWVsZExpc3RzLFxuICAgICAgKHQsIGMpID0+IFtcbiAgICAgICAgLi4udCxcbiAgICAgICAgbWFwKGMsIGYgPT4gcmVwYWlyRmllbGRDaGlsZFBhdGhCeUNvcnJlY3RJbmRleChmLCBmcm9tUGF0aCwgdG9QYXRoKSksXG4gICAgICBdLFxuICAgICAgW10sXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLnRhcmdldEZpZWxkLFxuICAgIHBhdGg6IHRhcmdldEZpZWxkLnBhdGgucmVwbGFjZShmcm9tUGF0aCwgdG9QYXRoKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZWxhdGVkRmllbGRzID0gKG5vcm1hbEZpZWxkczogT3BlcmFuZEZpZWxkW10pID0+XG4gIG1hcChub3JtYWxGaWVsZHMsIGZpZWxkID0+IHtcbiAgICBpZiAoZ2V0QXJyYXlHcm91cE5hbWUoZmllbGQpKSB7XG4gICAgICBjb25zdCB7IHBhdGhCZWZvcmVJbmRleCwgaW5kZXggfSA9IHBhcnNlQXJyYXlQYXRoKGZpZWxkLnBhdGgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHBhcmVudDogcGF0aEJlZm9yZUluZGV4LFxuICAgICAgICBpblBhcmVudEluZGV4OiBpbmRleCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChnZXRHcm91cE5hbWUoZmllbGQpKSB7XG4gICAgICBjb25zdCBncm91cE5hbWVGcm9tRGVmaW5pdGlvbiA9IGBzcGVjLiR7Z2V0R3JvdXBOYW1lKGZpZWxkKX1gO1xuICAgICAgY29uc3QgcGFyZW50ID0gZmllbGQucGF0aC5zbGljZSgwLCBncm91cE5hbWVGcm9tRGVmaW5pdGlvbi5sZW5ndGgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHBhcmVudCxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBnZXRUcmVlRmllbGRzID0gKFxuICByb290RmllbGRzOiBPcGVyYW5kRmllbGRbXSxcbiAgYmFzaWNGaWVsZHM6IE9wZXJhbmRGaWVsZFtdLFxuKSA9PiB7XG4gIGlmIChiYXNpY0ZpZWxkcy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHJvb3RGaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgICBmaWVsZC5fZGlydHkgPSB0cnVlO1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBiYXNpY0ZpZWxkcy5maWx0ZXIoZiA9PiBmLnBhcmVudCA9PT0gZmllbGQucGF0aCk7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGMgPT4gKGMuX2RpcnR5ID0gdHJ1ZSkpO1xuICAgICAgaWYgKGlzQXJyYXlGaWVsZChmaWVsZCkpIHtcbiAgICAgICAgZmllbGQuZmllbGRMaXN0cyA9IGNoaWxkcmVuXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjaGlsZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2NoaWxkLmluUGFyZW50SW5kZXhdID0gW1xuICAgICAgICAgICAgICAuLi4oYWNjW2NoaWxkLmluUGFyZW50SW5kZXhdIHx8IFtdKSxcbiAgICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCBbXSlcbiAgICAgICAgICAubWFwKG0gPT5cbiAgICAgICAgICAgIGdldFRyZWVGaWVsZHMoXG4gICAgICAgICAgICAgIG0sXG4gICAgICAgICAgICAgIGJhc2ljRmllbGRzLmZpbHRlcihmID0+ICFmLl9kaXJ0eSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGlzR3JvdXBGaWVsZChmaWVsZCkpIHtcbiAgICAgICAgZmllbGQuZmllbGRMaXN0ID0gZ2V0VHJlZUZpZWxkcyhcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICBiYXNpY0ZpZWxkcy5maWx0ZXIoZiA9PiAhZi5fZGlydHkpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi5hY2MsIGZpZWxkXTtcbiAgICB9LCBbXSk7XG4gIH1cbiAgcmV0dXJuIHJvb3RGaWVsZHMubWFwKGYgPT4ge1xuICAgIGYuX2RpcnR5ID0gdHJ1ZTtcbiAgICByZXR1cm4gZjtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWF0Y2hlZENhcGFiaWxpdHlWYWx1ZSA9IChcbiAgY2FwYWJpbGl0aWVzOiBTcGVjQ2FwYWJpbGl0eVtdLFxuICBkZXNjcmlwdG9yOiBzdHJpbmcsXG4pID0+XG4gIGNhcGFiaWxpdGllc1xuICAgIC5maW5kKGNhcGFiaWxpdHkgPT4gY2FwYWJpbGl0eS5zdGFydHNXaXRoKGRlc2NyaXB0b3IpKVxuICAgID8uc2xpY2UoZGVzY3JpcHRvci5sZW5ndGgpIHx8ICcnO1xuXG5leHBvcnQgZnVuY3Rpb24gZXZhbEluQ29udGV4dChzdHJpbmdFeHByZXNzaW9uOiBzdHJpbmcsIGNvbnRleHQ6IGFueSkge1xuICAvLyByZXBsYWNlIGV2YWwsIHNraXAgZXNsaW50ICYgc29uYXIgc2FmZSBjaGVja1xuICBmdW5jdGlvbiBldmlsKGZuOiBzdHJpbmcpIHtcbiAgICBjb25zdCBGbiA9IEZ1bmN0aW9uO1xuICAgIHJldHVybiBuZXcgRm4oYHJldHVybiAke2ZufWApO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIGV2aWwoc3RyaW5nRXhwcmVzc2lvbikuY2FsbChjb250ZXh0KTtcbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5lcnJvcignZXhwcmVzc2lvbiBpcyBpbnZhbGlkOicsIHN0cmluZ0V4cHJlc3Npb24pO1xuICAgIHJldHVybiBzdHJpbmdFeHByZXNzaW9uO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VCb29sZWFuKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWwgPT09ICd0cnVlJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZU51bWJlcih2YWw6IGFueSwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICByZXR1cm4gX2lzTnVtYmVyVmFsdWUodmFsKSA/IE51bWJlcih2YWwpIDogZmFsbGJhY2tWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9pc051bWJlclZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgLy8gcGFyc2VGbG9hdCh2YWx1ZSkgaGFuZGxlcyBtb3N0IG9mIHRoZSBjYXNlcyB3ZSdyZSBpbnRlcmVzdGVkIGluIChpdCB0cmVhdHMgbnVsbCwgZW1wdHkgc3RyaW5nLFxuICAvLyBhbmQgb3RoZXIgbm9uLW51bWJlciB2YWx1ZXMgYXMgTmFOLCB3aGVyZSBOdW1iZXIganVzdCB1c2VzIDApIGJ1dCBpdCBjb25zaWRlcnMgdGhlIHN0cmluZ1xuICAvLyAnMTIzaGVsbG8nIHRvIGJlIGEgdmFsaWQgbnVtYmVyLiBUaGVyZWZvcmUgd2UgYWxzbyBjaGVjayBpZiBOdW1iZXIodmFsdWUpIGlzIE5hTi5cbiAgcmV0dXJuIChcbiAgICAhaXNOYU4odHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBwYXJzZUZsb2F0KHZhbHVlKSkgJiZcbiAgICAhaXNOYU4oTnVtYmVyKHZhbHVlKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhbmRQYXRoKGZpZWxkOiBPcGVyYW5kRmllbGQpIHtcbiAgY29uc3QgaWRGaWVsZCA9IGZpZWxkPy5jYXBhYmlsaXRpZXMuZmluZChjID0+XG4gICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LnBhdGhUYWcpLFxuICApO1xuICBpZiAoaWRGaWVsZCkge1xuICAgIHJldHVybiBgJHtmaWVsZC5wYXRofUAke2lkRmllbGQuc2xpY2UoU3BlY0NhcGFiaWxpdHkucGF0aFRhZy5sZW5ndGgpfWA7XG4gIH1cbiAgcmV0dXJuIGZpZWxkLnBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoRnJvbVRhZ1BhdGgocGF0aFdpdGhUYWc6IHN0cmluZykge1xuICByZXR1cm4gcGF0aFdpdGhUYWcuc3BsaXQoJ0AnKVswXTtcbn1cblxuLy8g6I635Y+WcGF0aOS4i+aJgOacieeahGZpbGVk77yM5L6L5aaCc3BlYy5hIOiDveWMuemFjeWIsCBzcGVjLmEuYTEgc3BlYy5hLmEyXG5leHBvcnQgY29uc3QgZ2V0RmllbGRzQnlQYXRoID0gKHBhdGg6IHN0cmluZywgZmllbGRzOiBPcGVyYW5kRmllbGRbXSkgPT5cbiAgZmllbGRzLmZpbHRlcihmaWVsZCA9PiBnZXRPcGVyYW5kUGF0aChmaWVsZCkuc3RhcnRzV2l0aChwYXRoKSk7XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './capability';
|
|
2
2
|
export * from './constant';
|
|
3
|
-
export * from './directives';
|
|
4
3
|
export * from './helper';
|
|
5
4
|
export * from './service-model';
|
|
6
5
|
export * from './util';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyZC1mb3JtL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FwYWJpbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuIl19
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { LabelPosition } from '@alauda/ui';
|
|
2
2
|
import { OpenAPIV3SchemaObject } from '@alauda-fe/common';
|
|
3
3
|
import { ComponentType } from '@angular/cdk/portal';
|
|
4
|
-
import { EventEmitter, OnChanges,
|
|
4
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
5
5
|
import { AbstractControl, NgForm } from '@angular/forms';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
import { RemoteWidgetsService } from '../remote-widgets';
|
|
8
8
|
import { Descriptor, FieldValueChangeEvent, FormDataState, FormErrors, FormState, OperandArrayFieldGroup, OperandField, OperandFieldGroup } from '../types';
|
|
9
|
-
import { CrdFormCustomDescriptionDirective, getCustomDescription } from '../utils';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
export declare class CrdFormComponent implements OnChanges {
|
|
12
11
|
private readonly rws;
|
|
@@ -28,7 +27,6 @@ export declare class CrdFormComponent implements OnChanges {
|
|
|
28
27
|
formStateChange: EventEmitter<FormState>;
|
|
29
28
|
formSchemaChange: EventEmitter<any>;
|
|
30
29
|
form: NgForm;
|
|
31
|
-
customDescriptions: QueryList<CrdFormCustomDescriptionDirective>;
|
|
32
30
|
widgets: Array<{
|
|
33
31
|
descriptor: string;
|
|
34
32
|
component: ComponentType<any>;
|
|
@@ -45,7 +43,6 @@ export declare class CrdFormComponent implements OnChanges {
|
|
|
45
43
|
constructor(rws: RemoteWidgetsService);
|
|
46
44
|
remoteModuleDefinition$: Observable<import("../remote-widgets").RemoteWidgetModuleDefinition>;
|
|
47
45
|
ngOnChanges({ openApiSchema, descriptors, data }: SimpleChanges): void;
|
|
48
|
-
getCustomDescription: typeof getCustomDescription;
|
|
49
46
|
private setUpForm;
|
|
50
47
|
dirtyPathsSet: Set<string>;
|
|
51
48
|
fieldValueChange(event: FieldValueChangeEvent): void;
|
|
@@ -57,5 +54,5 @@ export declare class CrdFormComponent implements OnChanges {
|
|
|
57
54
|
private initializeFormDataArrayProperty;
|
|
58
55
|
submit(): void;
|
|
59
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<CrdFormComponent, never>;
|
|
60
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CrdFormComponent, "acl-crd-form", never, { "openApiSchema": { "alias": "openApiSchema"; "required": false; }; "descriptors": { "alias": "descriptors"; "required": false; }; "data": { "alias": "data"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "openApiSchemaPath": { "alias": "openApiSchemaPath"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelWidth": { "alias": "labelWidth"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "cluster": { "alias": "cluster"; "required": false; }; "namespace": { "alias": "namespace"; "required": false; }; "formContext": { "alias": "formContext"; "required": false; }; "keepEmptyPath": { "alias": "keepEmptyPath"; "required": false; }; "effectControlDefaultValue": { "alias": "effectControlDefaultValue"; "required": false; }; "uiContext": { "alias": "uiContext"; "required": false; }; "widgets": { "alias": "widgets"; "required": false; }; }, { "formStateChange": "formStateChange"; "formSchemaChange": "formSchemaChange"; },
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CrdFormComponent, "acl-crd-form", never, { "openApiSchema": { "alias": "openApiSchema"; "required": false; }; "descriptors": { "alias": "descriptors"; "required": false; }; "data": { "alias": "data"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "openApiSchemaPath": { "alias": "openApiSchemaPath"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelWidth": { "alias": "labelWidth"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "cluster": { "alias": "cluster"; "required": false; }; "namespace": { "alias": "namespace"; "required": false; }; "formContext": { "alias": "formContext"; "required": false; }; "keepEmptyPath": { "alias": "keepEmptyPath"; "required": false; }; "effectControlDefaultValue": { "alias": "effectControlDefaultValue"; "required": false; }; "uiContext": { "alias": "uiContext"; "required": false; }; "widgets": { "alias": "widgets"; "required": false; }; }, { "formStateChange": "formStateChange"; "formSchemaChange": "formSchemaChange"; }, never, never, false, never>;
|
|
61
58
|
}
|
package/lib/crd-form.module.d.ts
CHANGED
|
@@ -2,15 +2,14 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./crd-form/component";
|
|
3
3
|
import * as i2 from "./spec-descriptors/capability/capability.component";
|
|
4
4
|
import * as i3 from "./spec-descriptors/capability-list/capability-list.component";
|
|
5
|
-
import * as i4 from "
|
|
6
|
-
import * as i5 from "@alauda/
|
|
7
|
-
import * as i6 from "@
|
|
8
|
-
import * as i7 from "@angular/
|
|
9
|
-
import * as i8 from "@
|
|
10
|
-
import * as i9 from "
|
|
11
|
-
import * as i10 from "./field-controls/module";
|
|
5
|
+
import * as i4 from "@alauda/ui";
|
|
6
|
+
import * as i5 from "@alauda/code-editor";
|
|
7
|
+
import * as i6 from "@angular/forms";
|
|
8
|
+
import * as i7 from "@angular/common";
|
|
9
|
+
import * as i8 from "@alauda-fe/common";
|
|
10
|
+
import * as i9 from "./field-controls/module";
|
|
12
11
|
export declare class CrdFormModule {
|
|
13
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<CrdFormModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CrdFormModule, [typeof i1.CrdFormComponent, typeof i2.SpecCapabilityComponent, typeof i3.SpecCapabilityListComponent
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CrdFormModule, [typeof i1.CrdFormComponent, typeof i2.SpecCapabilityComponent, typeof i3.SpecCapabilityListComponent], [typeof i4.TooltipModule, typeof i4.ButtonModule, typeof i4.CheckboxModule, typeof i5.CodeEditorModule, typeof i4.DropdownModule, typeof i4.FormModule, typeof i4.IconModule, typeof i4.InputModule, typeof i4.RadioModule, typeof i4.SelectModule, typeof i4.SwitchModule, typeof i5.CodeEditorModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.CommonModule, typeof i8.ArrayFormTableModule, typeof i8.ErrorsMapperModule, typeof i8.CoreModule, typeof i8.ValidatorsModule, typeof i8.TranslateModule, typeof i8.WidgetModule, typeof i4.TagModule, typeof i9.FieldControlsModule], [typeof i1.CrdFormComponent, typeof i2.SpecCapabilityComponent, typeof i3.SpecCapabilityListComponent, typeof i9.FieldControlsModule]>;
|
|
15
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<CrdFormModule>;
|
|
16
15
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { EventEmitter
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { FieldValueChangeEvent, FormDataState, FormErrors, OperandField, OperandFieldGroup } from '../types';
|
|
3
|
-
import { CrdFormCustomDescriptionDirective } from '../utils';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class OperandFieldGroupComponent {
|
|
6
5
|
fields: OperandField[];
|
|
7
6
|
fieldGroup: OperandFieldGroup;
|
|
8
7
|
formDataState: FormDataState;
|
|
9
8
|
formErrors: FormErrors;
|
|
10
|
-
customDescriptions: QueryList<CrdFormCustomDescriptionDirective>;
|
|
11
9
|
readonly: boolean;
|
|
12
10
|
valueChange: EventEmitter<FieldValueChangeEvent>;
|
|
13
11
|
private _expanded;
|
|
@@ -18,7 +16,6 @@ export declare class OperandFieldGroupComponent {
|
|
|
18
16
|
en: string;
|
|
19
17
|
zh: string;
|
|
20
18
|
};
|
|
21
|
-
getCustomDescription(customDescriptions: QueryList<CrdFormCustomDescriptionDirective>, field: OperandField): CrdFormCustomDescriptionDirective;
|
|
22
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<OperandFieldGroupComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OperandFieldGroupComponent, "acl-operand-field-group", never, { "fields": { "alias": "fields"; "required": false; }; "fieldGroup": { "alias": "fieldGroup"; "required": false; }; "formDataState": { "alias": "formDataState"; "required": false; }; "formErrors": { "alias": "formErrors"; "required": false; }; "
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OperandFieldGroupComponent, "acl-operand-field-group", never, { "fields": { "alias": "fields"; "required": false; }; "fieldGroup": { "alias": "fieldGroup"; "required": false; }; "formDataState": { "alias": "formDataState"; "required": false; }; "formErrors": { "alias": "formErrors"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
|
|
24
21
|
}
|
|
@@ -6,7 +6,7 @@ import { Observable, Subject, BehaviorSubject } from 'rxjs';
|
|
|
6
6
|
import { CrdFormComponent } from '../crd-form/component';
|
|
7
7
|
import { RemoteWidgetModuleDefinition } from '../remote-widgets';
|
|
8
8
|
import { FieldValueChangeEvent, FormDataState, FormErrors, OperandField, SpecCapability } from '../types';
|
|
9
|
-
import {
|
|
9
|
+
import { getDisplayByCapability, getFieldDescription, getFieldDisplayName, getFieldType, getRadioOptions } from '../utils';
|
|
10
10
|
import { isLink } from './widgets/link/component';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export declare const PASSWORD_REVEAL = "******";
|
|
@@ -31,7 +31,6 @@ export declare class OperandFieldComponent implements OnInit, OnDestroy, OnChang
|
|
|
31
31
|
formDataState: FormDataState;
|
|
32
32
|
formDataState$: Observable<FormDataState>;
|
|
33
33
|
formErrors: FormErrors;
|
|
34
|
-
customDescription: CrdFormCustomDescriptionDirective;
|
|
35
34
|
valueChange: EventEmitter<FieldValueChangeEvent>;
|
|
36
35
|
itemRemove: EventEmitter<any>;
|
|
37
36
|
get isHidden(): boolean;
|
|
@@ -94,7 +93,7 @@ export declare class OperandFieldComponent implements OnInit, OnDestroy, OnChang
|
|
|
94
93
|
private hasFieldDependency;
|
|
95
94
|
private checkFieldDependency;
|
|
96
95
|
dynamicOptions$: Observable<any>;
|
|
97
|
-
|
|
96
|
+
staticDefaultValue$: Observable<{
|
|
98
97
|
value: any;
|
|
99
98
|
isDynamic: boolean;
|
|
100
99
|
}>;
|
|
@@ -106,5 +105,5 @@ export declare class OperandFieldComponent implements OnInit, OnDestroy, OnChang
|
|
|
106
105
|
};
|
|
107
106
|
fetchResourceList: (url: string, callback: (resource: KubernetesResource) => void) => Observable<any[]>;
|
|
108
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<OperandFieldComponent, never>;
|
|
109
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OperandFieldComponent, "acl-operand-field", never, { "field": { "alias": "field"; "required": false; }; "remoteModuleDefinition": { "alias": "remoteModuleDefinition"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "formDataState": { "alias": "formDataState"; "required": false; }; "formErrors": { "alias": "formErrors"; "required": false; };
|
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OperandFieldComponent, "acl-operand-field", never, { "field": { "alias": "field"; "required": false; }; "remoteModuleDefinition": { "alias": "remoteModuleDefinition"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "formDataState": { "alias": "formDataState"; "required": false; }; "formErrors": { "alias": "formErrors"; "required": false; }; }, { "valueChange": "valueChange"; "itemRemove": "itemRemove"; }, never, never, false, never>;
|
|
110
109
|
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -37,9 +37,7 @@ export declare enum SpecCapability {
|
|
|
37
37
|
placeholder = "urn:alm:descriptor:placeholder:",
|
|
38
38
|
fieldGroupName = "urn:alm:descriptor:fieldGroupName:",
|
|
39
39
|
tooltip = "urn:alm:descriptor:tooltip:",
|
|
40
|
-
/** Using String Expressions */
|
|
41
40
|
expression = "urn:alm:descriptor:expression:",
|
|
42
|
-
/** 自定义 Urn */
|
|
43
41
|
yaml = "urn:alm:descriptor:com.tectonic.ui:yaml",
|
|
44
42
|
yamlActionsDisabled = "urn:alm:descriptor:yaml:actions:disabled:",
|
|
45
43
|
yamlResult = "urn:alm:descriptor:yaml:result:",
|
|
@@ -55,10 +53,7 @@ export declare enum SpecCapability {
|
|
|
55
53
|
clearable = "urn:alm:descriptor:com.tectonic.ui:clearable",
|
|
56
54
|
disabled = "urn:alm:descriptor:com.tectonic.ui:disabled",
|
|
57
55
|
radio = "urn:alm:descriptor:com.tectonic.ui:radio:",
|
|
58
|
-
|
|
59
|
-
customDescriptionEn = "urn:alm:descriptor:custom:description:en:",
|
|
60
|
-
customDescriptionLink = "urn:alm:descriptor:custom:description:link:",
|
|
61
|
-
custom = "urn:alm:descriptor:widgets:",
|
|
56
|
+
widgets = "urn:alm:descriptor:widgets:",
|
|
62
57
|
basicAuthSecret = "urn:alm:descriptor:com.tectonic.ui:basicAuthSecret",
|
|
63
58
|
remote = "urn:alm:descriptor:remote:",
|
|
64
59
|
pathTag = "urn:alm:descriptor:com.tectonic.ui:path.tag:"
|
package/lib/utils/helper.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { QueryList } from '@angular/core';
|
|
2
1
|
import { OperandArrayFieldGroup, OperandField, OperandFieldGroup, SpecCapability } from '../types';
|
|
3
|
-
import { CrdFormCustomDescriptionDirective } from './directives';
|
|
4
2
|
export declare const isRequired: (field: OperandField) => boolean;
|
|
5
3
|
export declare const filterMapByKey: <T>(map: Map<string, T>, predicate: (input: string) => boolean) => Map<any, any>;
|
|
6
4
|
export declare const getMatchArrayIndex: (arrPath: string) => number;
|
|
@@ -55,7 +53,6 @@ export declare function evalInContext(stringExpression: string, context: any): a
|
|
|
55
53
|
export declare function coerceBoolean(val: any): boolean;
|
|
56
54
|
export declare function coerceNumber(val: any, fallbackValue?: number): number;
|
|
57
55
|
export declare function _isNumberValue(value: any): boolean;
|
|
58
|
-
export declare function getCustomDescription(customDescriptions: QueryList<CrdFormCustomDescriptionDirective>, field: OperandField): CrdFormCustomDescriptionDirective;
|
|
59
56
|
export declare function getOperandPath(field: OperandField): string;
|
|
60
57
|
export declare function getPathFromTagPath(pathWithTag: string): string;
|
|
61
58
|
export declare const getFieldsByPath: (path: string, fields: OperandField[]) => OperandField[];
|
package/lib/utils/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CrdFormCustomDescriptionDirective {
|
|
4
|
-
constructor(templateRef) {
|
|
5
|
-
this.templateRef = templateRef;
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = function CrdFormCustomDescriptionDirective_Factory(t) { return new (t || CrdFormCustomDescriptionDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
|
|
8
|
-
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CrdFormCustomDescriptionDirective, selectors: [["ng-template", "aclCrdFormCustomDescription", ""]], inputs: { aclCrdFormCustomDescription: "aclCrdFormCustomDescription" }, exportAs: ["aclCrdFormCustomDescription"] }); }
|
|
9
|
-
}
|
|
10
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CrdFormCustomDescriptionDirective, [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: 'ng-template[aclCrdFormCustomDescription]',
|
|
14
|
-
exportAs: 'aclCrdFormCustomDescription',
|
|
15
|
-
}]
|
|
16
|
-
}], () => [{ type: i0.TemplateRef }], { aclCrdFormCustomDescription: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}] }); })();
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLGlDQUFpQztJQUk1QyxZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBRyxDQUFDO2tHQUp6QyxpQ0FBaUM7b0VBQWpDLGlDQUFpQzs7aUZBQWpDLGlDQUFpQztjQUo3QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsUUFBUSxFQUFFLDZCQUE2QjthQUN4Qzs0Q0FHQywyQkFBMkI7a0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthY2xDcmRGb3JtQ3VzdG9tRGVzY3JpcHRpb25dJyxcbiAgZXhwb3J0QXM6ICdhY2xDcmRGb3JtQ3VzdG9tRGVzY3JpcHRpb24nLFxufSlcbmV4cG9ydCBjbGFzcyBDcmRGb3JtQ3VzdG9tRGVzY3JpcHRpb25EaXJlY3RpdmUge1xuICBASW5wdXQoKVxuICBhY2xDcmRGb3JtQ3VzdG9tRGVzY3JpcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class CrdFormCustomDescriptionDirective {
|
|
4
|
-
templateRef: TemplateRef<any>;
|
|
5
|
-
aclCrdFormCustomDescription: string;
|
|
6
|
-
constructor(templateRef: TemplateRef<any>);
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CrdFormCustomDescriptionDirective, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<CrdFormCustomDescriptionDirective, "ng-template[aclCrdFormCustomDescription]", ["aclCrdFormCustomDescription"], { "aclCrdFormCustomDescription": { "alias": "aclCrdFormCustomDescription"; "required": false; }; }, {}, never, never, false, never>;
|
|
9
|
-
}
|