payload 2.0.13 → 2.0.14
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/components/forms.d.ts +2 -0
- package/components/forms.js +13 -5
- package/dist/admin/components/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/admin/components/elements/DatePicker/DatePicker.js +14 -3
- package/dist/admin/components/elements/DocumentFields/index.d.ts +1 -0
- package/dist/admin/components/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentFields/index.js +6 -5
- package/dist/admin/components/elements/DocumentFields/index.scss +29 -0
- package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +27 -42
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +21 -0
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -0
- package/dist/admin/components/forms/field-types/DateTime/Input.js +65 -0
- package/dist/admin/components/forms/field-types/DateTime/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/DateTime/index.js +15 -41
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +7 -7
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.js +2 -2
- package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/index.js +12 -22
- package/dist/admin/components/views/LivePreview/index.scss +0 -24
- package/dist/admin/components/views/Version/Compare/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Compare/index.js +7 -6
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +4 -2
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +3 -2
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +3 -2
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js +3 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +3 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js +3 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js +3 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +3 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +8 -18
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +3 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +3 -2
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +3 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +11 -6
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +3 -2
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +3 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +3 -2
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +3 -2
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +3 -2
- package/dist/collections/requestHandlers/findVersions.js +1 -1
- package/dist/config/sanitize.js +4 -4
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/exports/components/forms.d.ts +2 -0
- package/dist/exports/components/forms.d.ts.map +1 -1
- package/dist/exports/components/forms.js +13 -5
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +7 -1
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js +2 -2
- package/dist/fields/config/types.d.ts +3 -4
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +3 -2
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +3 -2
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +3 -2
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +3 -2
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +3 -2
- package/dist/graphql/schema/buildMutationInputType.d.ts.map +1 -1
- package/dist/graphql/schema/buildMutationInputType.js +8 -11
- package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.js +1 -2
- package/dist/graphql/schema/buildWhereInputType.d.ts.map +1 -1
- package/dist/graphql/schema/buildWhereInputType.js +22 -13
- package/dist/graphql/schema/withOperators.d.ts.map +1 -1
- package/dist/graphql/schema/withOperators.js +8 -11
- package/dist/preferences/operations/update.js +4 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +13 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +19 -16
- package/dist/utilities/commitTransaction.d.ts +6 -0
- package/dist/utilities/commitTransaction.d.ts.map +1 -0
- package/dist/utilities/commitTransaction.js +17 -0
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +95 -107
- package/dist/utilities/configToJSONSchema.spec.js +12 -6
- package/package.json +1 -1
- package/types.d.ts +1 -1
- package/types.js +7 -1
|
@@ -177,7 +177,7 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
|
|
|
177
177
|
let type = new _graphql.GraphQLEnumType({
|
|
178
178
|
name: formattedName,
|
|
179
179
|
values: field.options.reduce((values, option)=>{
|
|
180
|
-
if (
|
|
180
|
+
if ((0, _types.optionIsObject)(option)) {
|
|
181
181
|
return {
|
|
182
182
|
...values,
|
|
183
183
|
[(0, _formatName.default)(option.value)]: {
|
|
@@ -185,15 +185,12 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
|
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
return values;
|
|
188
|
+
return {
|
|
189
|
+
...values,
|
|
190
|
+
[(0, _formatName.default)(option)]: {
|
|
191
|
+
value: option
|
|
192
|
+
}
|
|
193
|
+
};
|
|
197
194
|
}, {})
|
|
198
195
|
});
|
|
199
196
|
type = field.hasMany ? new _graphql.GraphQLList(type) : type;
|
|
@@ -265,4 +262,4 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
|
|
|
265
262
|
}
|
|
266
263
|
const _default = buildMutationInputType;
|
|
267
264
|
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbnB1dEZpZWxkQ29uZmlnLCBHcmFwaFFMU2NhbGFyVHlwZSwgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuaW1wb3J0IHsgZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQnXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgd2l0aE51bGxhYmxlVHlwZSBmcm9tICcuL3dpdGhOdWxsYWJsZVR5cGUnXG5cbmNvbnN0IGlkRmllbGRUeXBlcyA9IHtcbiAgbnVtYmVyOiBHcmFwaFFMSW50LFxuICB0ZXh0OiBHcmFwaFFMU3RyaW5nLFxufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGVjdGlvbklEVHlwZSA9IChcbiAgcGF5bG9hZDogUGF5bG9hZCxcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyxcbik6IEdyYXBoUUxTY2FsYXJUeXBlID0+IHtcbiAgY29uc3QgaWRGaWVsZCA9IGNvbGxlY3Rpb24uZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gIGlmICghaWRGaWVsZCkge1xuICAgIHJldHVybiBpZEZpZWxkVHlwZXNbcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlXVxuICB9XG5cbiAgcmV0dXJuIGlkRmllbGRUeXBlc1tpZEZpZWxkLnR5cGVdXG59XG5cbmV4cG9ydCB0eXBlIElucHV0T2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxJbnB1dEZpZWxkQ29uZmlnXG59XG5cbmZ1bmN0aW9uIGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gIHBheWxvYWQ6IFBheWxvYWQsXG4gIG5hbWU6IHN0cmluZyxcbiAgZmllbGRzOiBGaWVsZFtdLFxuICBwYXJlbnROYW1lOiBzdHJpbmcsXG4gIGZvcmNlTnVsbGFibGUgPSBmYWxzZSxcbik6IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUge1xuICBjb25zdCBmaWVsZFRvU2NoZW1hTWFwID0ge1xuICAgIGFycmF5OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTExpc3Q8R3JhcGhRTFR5cGU+IHwgR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBmdWxsTmFtZSxcbiAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICBmdWxsTmFtZSxcbiAgICAgIClcbiAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTExpc3Qod2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSkpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBibG9ja3M6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogR3JhcGhRTEpTT04gfSxcbiAgICB9KSxcbiAgICBjaGVja2JveDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ2hlY2tib3hGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgIH0pLFxuICAgIGNvZGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvZGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvbGxhcHNpYmxlOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogQ29sbGFwc2libGVGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoYWNjLCBzdWJGaWVsZClcbiAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgfSwgaW5wdXRPYmplY3RUeXBlQ29uZmlnKSxcbiAgICBkYXRlOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBEYXRlRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBlbWFpbDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogRW1haWxGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGdyb3VwOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBHcm91cEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShwYXlsb2FkLCBmdWxsTmFtZSwgZmllbGQuZmllbGRzLCBmdWxsTmFtZSlcbiAgICAgIGlmIChyZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCkgdHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogSlNPTkZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogTnVtYmVyRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWVsZC5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHBvaW50OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBQb2ludEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuICAgICAgdHlwZSBQYXlsb2FkR3JhcGhRTFJlbGF0aW9uc2hpcFR5cGUgPVxuICAgICAgICB8IEdyYXBoUUxJbnB1dE9iamVjdFR5cGVcbiAgICAgICAgfCBHcmFwaFFMTGlzdDxHcmFwaFFMU2NhbGFyVHlwZT5cbiAgICAgICAgfCBHcmFwaFFMU2NhbGFyVHlwZVxuICAgICAgbGV0IHR5cGU6IFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgICAgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSxcbiAgICAgICAgKX1SZWxhdGlvbnNoaXBJbnB1dGBcbiAgICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICAgICAgbmFtZTogYCR7ZnVsbE5hbWV9UmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiByZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBnZXRDb2xsZWN0aW9uSURUeXBlKHBheWxvYWQsIHBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcmljaFRleHQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJpY2hUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTEpTT04sIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcm93OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSb3dGaWVsZCkgPT5cbiAgICAgIGZpZWxkLmZpZWxkcy5yZWR1Y2UoKGFjYywgc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIHNlbGVjdDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogU2VsZWN0RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZE5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fTXV0YXRpb25JbnB1dGBcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICBuYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICBbb3B0aW9uXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlc1xuICAgICAgICB9LCB7fSksXG4gICAgICB9KVxuXG4gICAgICB0eXBlID0gZmllbGQuaGFzTWFueSA/IG5ldyBHcmFwaFFMTGlzdCh0eXBlKSA6IHR5cGVcbiAgICAgIHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICB0YWJzOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUYWJzRmllbGQpID0+IHtcbiAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZSgoYWNjLCB0YWIpID0+IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3Jkcyh0YWIubmFtZSwgdHJ1ZSkpXG4gICAgICAgICAgY29uc3QgcmVxdWlyZXNBdExlYXN0T25lRmllbGQgPSBncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZChmaWVsZClcbiAgICAgICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHBheWxvYWQsIGZ1bGxOYW1lLCB0YWIuZmllbGRzLCBmdWxsTmFtZSlcbiAgICAgICAgICBpZiAocmVxdWlyZXNBdExlYXN0T25lRmllbGQpIHR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodHlwZSlcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICBbdGFiLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAuLi50YWIuZmllbGRzLnJlZHVjZSgoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZClcbiAgICAgICAgICAgIHJldHVybiBzdWJGaWVsZFNjaGVtYVxuICAgICAgICAgIH0sIGFjYyksXG4gICAgICAgIH1cbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZylcbiAgICB9LFxuICAgIHRleHQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHRleHRhcmVhOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0YXJlYUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgdXBsb2FkOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBVcGxvYWRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICB9XG5cbiAgY29uc3QgZmllbGROYW1lID0gZm9ybWF0TmFtZShuYW1lKVxuXG4gIHJldHVybiBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gICAgbmFtZTogYG11dGF0aW9uJHtmaWVsZE5hbWV9SW5wdXRgLFxuICAgIGZpZWxkczogZmllbGRzLnJlZHVjZSgoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgIGlmICh0eXBlb2YgZmllbGRTY2hlbWEgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0T2JqZWN0VHlwZUNvbmZpZ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIC4uLmZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgICAgfVxuICAgIH0sIHt9KSxcbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRNdXRhdGlvbklucHV0VHlwZVxuIl0sIm5hbWVzIjpbImdldENvbGxlY3Rpb25JRFR5cGUiLCJpZEZpZWxkVHlwZXMiLCJudW1iZXIiLCJHcmFwaFFMSW50IiwidGV4dCIsIkdyYXBoUUxTdHJpbmciLCJwYXlsb2FkIiwiY29sbGVjdGlvbiIsImlkRmllbGQiLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsInR5cGUiLCJidWlsZE11dGF0aW9uSW5wdXRUeXBlIiwicGFyZW50TmFtZSIsImZvcmNlTnVsbGFibGUiLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJpbnB1dE9iamVjdFR5cGVDb25maWciLCJmdWxsTmFtZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidG9Xb3JkcyIsIkdyYXBoUUxMaXN0Iiwid2l0aE51bGxhYmxlVHlwZSIsImJsb2NrcyIsIkdyYXBoUUxKU09OIiwiY2hlY2tib3giLCJHcmFwaFFMQm9vbGVhbiIsImNvZGUiLCJjb2xsYXBzaWJsZSIsInJlZHVjZSIsImFjYyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsInJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkIiwiZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQiLCJHcmFwaFFMTm9uTnVsbCIsImpzb24iLCJHcmFwaFFMRmxvYXQiLCJoYXNNYW55IiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJlbGF0aW9uVG8iLCJBcnJheSIsImlzQXJyYXkiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwiR3JhcGhRTEVudW1UeXBlIiwidmFsdWVzIiwib3B0aW9uIiwiZm9ybWF0TmFtZSIsInZhbHVlIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsImZvcm1hdHRlZE5hbWUiLCJvcHRpb25zIiwidGFicyIsInRhYiIsInRhYkhhc05hbWUiLCJzdWJGaWVsZFNjaGVtYSIsInRleHRhcmVhIiwidXBsb2FkIiwiZmllbGROYW1lIiwiZmllbGRTY2hlbWEiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUFxRDFCQSxtQkFBbUI7ZUFBbkJBOztJQW9QYixPQUFxQztlQUFyQzs7O3lCQTdSTztpQ0FDcUI7dUJBNEJpQjs4QkFDckI7K0NBQ3NCOzBFQUNoQjttRUFDUDt5RUFDTTs7Ozs7O0FBRTdCLE1BQU1DLGVBQWU7SUFDbkJDLFFBQVFDLG1CQUFVO0lBQ2xCQyxNQUFNQyxzQkFBYTtBQUNyQjtBQUVPLE1BQU1MLHNCQUFzQixDQUNqQ00sU0FDQUM7SUFFQSxNQUFNQyxV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
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbnB1dEZpZWxkQ29uZmlnLCBHcmFwaFFMU2NhbGFyVHlwZSwgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscydcbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlJ1xuXG5jb25zdCBpZEZpZWxkVHlwZXMgPSB7XG4gIG51bWJlcjogR3JhcGhRTEludCxcbiAgdGV4dDogR3JhcGhRTFN0cmluZyxcbn1cblxuZXhwb3J0IGNvbnN0IGdldENvbGxlY3Rpb25JRFR5cGUgPSAoXG4gIHBheWxvYWQ6IFBheWxvYWQsXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4pOiBHcmFwaFFMU2NhbGFyVHlwZSA9PiB7XG4gIGNvbnN0IGlkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3BheWxvYWQuZGIuZGVmYXVsdElEVHlwZV1cbiAgfVxuXG4gIHJldHVybiBpZEZpZWxkVHlwZXNbaWRGaWVsZC50eXBlXVxufVxuXG5leHBvcnQgdHlwZSBJbnB1dE9iamVjdFR5cGVDb25maWcgPSB7XG4gIFtwYXRoOiBzdHJpbmddOiBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZ1xufVxuXG5mdW5jdGlvbiBidWlsZE11dGF0aW9uSW5wdXRUeXBlKFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZpZWxkczogRmllbGRbXSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuICBmb3JjZU51bGxhYmxlID0gZmFsc2UsXG4pOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQXJyYXlGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxMaXN0PEdyYXBoUUxUeXBlPiB8IEdyYXBoUUxUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZnVsbE5hbWUsXG4gICAgICAgIGZpZWxkLmZpZWxkcyxcbiAgICAgICAgZnVsbE5hbWUsXG4gICAgICApXG4gICAgICB0eXBlID0gbmV3IEdyYXBoUUxMaXN0KHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBCbG9ja0ZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgfSksXG4gICAgY2hlY2tib3g6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICB9KSxcbiAgICBjb2RlOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDb2RlRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBjb2xsYXBzaWJsZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29sbGFwc2libGVGaWVsZCkgPT5cbiAgICAgIGZpZWxkLmZpZWxkcy5yZWR1Y2UoKGFjYywgc3ViRmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgZGF0ZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogRGF0ZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZW1haWw6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEVtYWlsRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBncm91cDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogR3JvdXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWlyZXNBdExlYXN0T25lRmllbGQgPSBncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZChmaWVsZClcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUocGF5bG9hZCwgZnVsbE5hbWUsIGZpZWxkLmZpZWxkcywgZnVsbE5hbWUpXG4gICAgICBpZiAocmVxdWlyZXNBdExlYXN0T25lRmllbGQpIHR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodHlwZSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGpzb246IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEpTT05GaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBudW1iZXI6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IE51bWJlckZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB0eXBlID0gZmllbGQubmFtZSA9PT0gJ2lkJyA/IEdyYXBoUUxJbnQgOiBHcmFwaFFMRmxvYXRcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSA/IG5ldyBHcmFwaFFMTGlzdCh0eXBlKSA6IHR5cGUsXG4gICAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBwb2ludDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBuZXcgR3JhcGhRTExpc3QoR3JhcGhRTEZsb2F0KSwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByYWRpbzogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmFkaW9GaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJlbGF0aW9uc2hpcDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmVsYXRpb25zaGlwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHsgcmVsYXRpb25UbyB9ID0gZmllbGRcbiAgICAgIHR5cGUgUGF5bG9hZEdyYXBoUUxSZWxhdGlvbnNoaXBUeXBlID1cbiAgICAgICAgfCBHcmFwaFFMSW5wdXRPYmplY3RUeXBlXG4gICAgICAgIHwgR3JhcGhRTExpc3Q8R3JhcGhRTFNjYWxhclR5cGU+XG4gICAgICAgIHwgR3JhcGhRTFNjYWxhclR5cGVcbiAgICAgIGxldCB0eXBlOiBQYXlsb2FkR3JhcGhRTFJlbGF0aW9uc2hpcFR5cGVcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShcbiAgICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICAgIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSksXG4gICAgICAgICl9UmVsYXRpb25zaGlwSW5wdXRgXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGAke2Z1bGxOYW1lfVJlbGF0aW9uVG9gLFxuICAgICAgICAgICAgICAgIHZhbHVlczogcmVsYXRpb25Uby5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAodmFsdWVzLCBvcHRpb24pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uKV06IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2YWx1ZTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gZ2V0Q29sbGVjdGlvbklEVHlwZShwYXlsb2FkLCBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmNvbmZpZylcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogZmllbGQuaGFzTWFueSA/IG5ldyBHcmFwaFFMTGlzdCh0eXBlKSA6IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJpY2hUZXh0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSaWNoVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJvdzogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUm93RmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoYWNjLCBzdWJGaWVsZClcbiAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgfSwgaW5wdXRPYmplY3RUeXBlQ29uZmlnKSxcbiAgICBzZWxlY3Q6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFNlbGVjdEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWROYW1lID0gYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X011dGF0aW9uSW5wdXRgXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgbmFtZTogZm9ybWF0dGVkTmFtZSxcbiAgICAgICAgdmFsdWVzOiBmaWVsZC5vcHRpb25zLnJlZHVjZSgodmFsdWVzLCBvcHRpb24pID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuICAgICAgfSlcblxuICAgICAgdHlwZSA9IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlXG4gICAgICB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdGFiczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGFic0ZpZWxkKSA9PiB7XG4gICAgICByZXR1cm4gZmllbGQudGFicy5yZWR1Y2UoKGFjYywgdGFiKSA9PiB7XG4gICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHModGFiLm5hbWUsIHRydWUpKVxuICAgICAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShwYXlsb2FkLCBmdWxsTmFtZSwgdGFiLmZpZWxkcywgZnVsbE5hbWUpXG4gICAgICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW3RhYi5uYW1lXTogeyB0eXBlIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCBhY2MpLFxuICAgICAgICB9XG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpXG4gICAgfSxcbiAgICB0ZXh0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dGFyZWFGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVXBsb2FkRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICByZXR1cm4gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgIG5hbWU6IGBtdXRhdGlvbiR7ZmllbGROYW1lfUlucHV0YCxcbiAgICBmaWVsZHM6IGZpZWxkcy5yZWR1Y2UoKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgICBpZiAodHlwZW9mIGZpZWxkU2NoZW1hICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICAuLi5maWVsZFNjaGVtYShpbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkKSxcbiAgICAgIH1cbiAgICB9LCB7fSksXG4gIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGVcbiJdLCJuYW1lcyI6WyJnZXRDb2xsZWN0aW9uSURUeXBlIiwiaWRGaWVsZFR5cGVzIiwibnVtYmVyIiwiR3JhcGhRTEludCIsInRleHQiLCJHcmFwaFFMU3RyaW5nIiwicGF5bG9hZCIsImNvbGxlY3Rpb24iLCJpZEZpZWxkIiwiZmllbGRzIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJ0eXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsInBhcmVudE5hbWUiLCJmb3JjZU51bGxhYmxlIiwiZmllbGRUb1NjaGVtYU1hcCIsImFycmF5IiwiaW5wdXRPYmplY3RUeXBlQ29uZmlnIiwiZnVsbE5hbWUiLCJjb21iaW5lUGFyZW50TmFtZSIsInRvV29yZHMiLCJHcmFwaFFMTGlzdCIsIndpdGhOdWxsYWJsZVR5cGUiLCJibG9ja3MiLCJHcmFwaFFMSlNPTiIsImNoZWNrYm94IiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwiY29sbGFwc2libGUiLCJyZWR1Y2UiLCJhY2MiLCJzdWJGaWVsZCIsImFkZFN1YkZpZWxkIiwiZGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJyZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCIsImdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIiwiR3JhcGhRTE5vbk51bGwiLCJqc29uIiwiR3JhcGhRTEZsb2F0IiwiaGFzTWFueSIsInBvaW50IiwicmFkaW8iLCJyZWxhdGlvbnNoaXAiLCJyZWxhdGlvblRvIiwiQXJyYXkiLCJpc0FycmF5IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIkdyYXBoUUxFbnVtVHlwZSIsInZhbHVlcyIsIm9wdGlvbiIsImZvcm1hdE5hbWUiLCJ2YWx1ZSIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwicmljaFRleHQiLCJyb3ciLCJzZWxlY3QiLCJmb3JtYXR0ZWROYW1lIiwib3B0aW9ucyIsIm9wdGlvbklzT2JqZWN0IiwidGFicyIsInRhYiIsInRhYkhhc05hbWUiLCJzdWJGaWVsZFNjaGVtYSIsInRleHRhcmVhIiwidXBsb2FkIiwiZmllbGROYW1lIiwiZmllbGRTY2hlbWEiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUFxRDFCQSxtQkFBbUI7ZUFBbkJBOztJQWdQYixPQUFxQztlQUFyQzs7O3lCQXpSTztpQ0FDcUI7dUJBNEJpQzs4QkFDckM7K0NBQ3NCOzBFQUNoQjttRUFDUDt5RUFDTTs7Ozs7O0FBRTdCLE1BQU1DLGVBQWU7SUFDbkJDLFFBQVFDLG1CQUFVO0lBQ2xCQyxNQUFNQyxzQkFBYTtBQUNyQjtBQUVPLE1BQU1MLHNCQUFzQixDQUNqQ00sU0FDQUM7SUFFQSxNQUFNQyxVQUFVRCxXQUFXRSxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxRQUFVQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVUEsTUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildObjectType.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAE9D,OAAO,EAOL,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAQV,KAAK,EAcN,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAuB5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,iBAAS,eAAe,CAAC,EACvB,IAAI,EACJ,UAAe,EACf,MAAM,EACN,aAAa,EACb,UAAU,EACV,OAAO,GACR,EAAE,IAAI,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildObjectType.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAE9D,OAAO,EAOL,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAQV,KAAK,EAcN,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAuB5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,iBAAS,eAAe,CAAC,EACvB,IAAI,EACJ,UAAe,EACf,MAAM,EACN,aAAa,EACb,UAAU,EACV,OAAO,GACR,EAAE,IAAI,GAAG,iBAAiB,CA6gB1B;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -358,7 +358,6 @@ function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentN
|
|
|
358
358
|
if ((0, _types.tabHasName)(tab)) {
|
|
359
359
|
const interfaceName = tab?.interfaceName || (0, _combineParentName.default)(parentName, (0, _formatLabels.toWords)(tab.name, true));
|
|
360
360
|
if (!payload.types.tabTypes[interfaceName]) {
|
|
361
|
-
// eslint-disable-next-line no-param-reassign
|
|
362
361
|
payload.types.tabTypes[interfaceName] = buildObjectType({
|
|
363
362
|
name: interfaceName,
|
|
364
363
|
fields: tab.fields,
|
|
@@ -474,4 +473,4 @@ function buildObjectType({ name, baseFields = {}, fields, forceNullable, parentN
|
|
|
474
473
|
}
|
|
475
474
|
const _default = buildObjectType;
|
|
476
475
|
|
|
477
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE9iamVjdFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMRmllbGRDb25maWcsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMVW5pb25UeXBlLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHsgR3JhcGhRTEpTT04gfSBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgRmllbGQsXG4gIEdyb3VwRmllbGQsXG4gIEpTT05GaWVsZCxcbiAgTnVtYmVyRmllbGQsXG4gIFBvaW50RmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFJlbGF0aW9uc2hpcEZpZWxkLFxuICBSaWNoVGV4dEZpZWxkLFxuICBSb3dGaWVsZCxcbiAgU2VsZWN0RmllbGQsXG4gIFRhYnNGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5cbmltcG9ydCB7IHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZm9ybWF0T3B0aW9ucyBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0T3B0aW9ucydcbmltcG9ydCBidWlsZFdoZXJlSW5wdXRUeXBlIGZyb20gJy4vYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBpc0ZpZWxkTnVsbGFibGUgZnJvbSAnLi9pc0ZpZWxkTnVsbGFibGUnXG5pbXBvcnQgd2l0aE51bGxhYmxlVHlwZSBmcm9tICcuL3dpdGhOdWxsYWJsZVR5cGUnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT2JqZWN0VHlwZSh7XG4gIG5hbWUsXG4gIGJhc2VGaWVsZHMgPSB7fSxcbiAgZmllbGRzLFxuICBmb3JjZU51bGxhYmxlLFxuICBwYXJlbnROYW1lLFxuICBwYXlsb2FkLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXJyYXlUeXBlID0gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXMgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICBpZiAoIXBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgcGF5bG9hZC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXVxuICAgICAgfSlcblxuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuXG4gICAgICBjb25zdCB0eXBlID0gbmV3IEdyYXBoUUxMaXN0KFxuICAgICAgICBuZXcgR3JhcGhRTE5vbk51bGwoXG4gICAgICAgICAgbmV3IEdyYXBoUUxVbmlvblR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICByZXNvbHZlVHlwZTogKGRhdGEpID0+IHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tkYXRhLmJsb2NrVHlwZV0ubmFtZSxcbiAgICAgICAgICAgIHR5cGVzOiBibG9ja1R5cGVzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSkgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGNoZWNrYm94OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxCb29sZWFuLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvZGU6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvbGxhcHNpYmxlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBkYXRlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRGF0ZVRpbWVSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBlbWFpbDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBFbWFpbEFkZHJlc3NSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBncm91cDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBHcm91cEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkLmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmxvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcEFyZ3MuZmFsbGJhY2tMb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB7XG4gICAgICAgIGFyZ3M6IHJlbGF0aW9uc2hpcEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMTAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGxldCByZWxhdGVkQ29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICBpZiAoaGFzTWFueVZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgICAgICAgICBjb25zdCByZXN1bHRQcm9taXNlcyA9IFtdXG5cbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlID0gYXN5bmMgKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlkID0gcmVsYXRlZERvY1xuICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGVkRG9jLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICBpZCA9IHJlbGF0ZWREb2MudmFsdWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5yZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0c1tpXSA9IHJlc3VsdFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgocmVsYXRlZERvYywgaSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdFByb21pc2VzLnB1c2goY3JlYXRlUG9wdWxhdGlvblByb21pc2UocmVsYXRlZERvYywgaSkpXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlc3VsdFByb21pc2VzKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgaWQgPSB2YWx1ZVxuICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgaWQgPSB2YWx1ZS52YWx1ZVxuICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gdmFsdWUucmVsYXRpb25Ub1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAocmVsYXRlZERvY3VtZW50KSB7XG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAuLi5yZWxhdGVkRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaGFzTWFueVZhbHVlcyA/IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwodHlwZSkpIDogdHlwZSxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHJlbGF0aW9uc2hpcCxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJpY2hUZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJpY2hUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBkZXB0aDoge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhc3luYyByZXNvbHZlKHBhcmVudCwgYXJncywgY29udGV4dCkge1xuICAgICAgICAgIGxldCBkZXB0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHREZXB0aFxuICAgICAgICAgIGlmICh0eXBlb2YgYXJncy5kZXB0aCAhPT0gJ3VuZGVmaW5lZCcpIGRlcHRoID0gYXJncy5kZXB0aFxuICAgICAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuXG4gICAgICAgICAgLy8gUmljaFRleHQgZmllbGRzIGhhdmUgdGhlaXIgb3duIGRlcHRoIGFyZ3VtZW50IGluIEdyYXBoUUwuXG4gICAgICAgICAgLy8gVGhpcyBpcyB3aHkgdGhlIHBvcHVsYXRpb25Qcm9taXNlICh3aGljaCBwb3B1bGF0ZXMgcmljaHRleHQgZmllbGRzIGxpa2UgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwcylcbiAgICAgICAgICAvLyBpcyBydW4gaGVyZSBhZ2Fpbiwgd2l0aCB0aGUgcHJvdmlkZWQgZGVwdGguXG4gICAgICAgICAgLy8gSW4gdGhlIGdyYXBocWwgZmluZC50cyByZXNvbHZlciwgdGhlIGRlcHRoIGlzIHRoZW4gaGFyZC1jb2RlZCB0byAwLlxuICAgICAgICAgIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHBvcHVsYXRpb25Qcm9taXNlIGZvciBHcmFwaFFMIGlzIG9ubHkgcnVuIGhlcmUsIGFuZCBub3QgaW4gdGhlIGZpbmQudHMgcmVzb2x2ZXIgLyBub3JtYWwgcG9wdWxhdGlvbiBwcm9taXNlLlxuICAgICAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgICAgICBhd2FpdCBlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZXE6IGNvbnRleHQucmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzOiBmYWxzZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcGFyZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGFyZW50W2ZpZWxkLm5hbWVdXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcm93OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMsIHN1YkZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFNlbGVjdEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpXG5cbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgdmFsdWVzOiBmb3JtYXRPcHRpb25zKGZpZWxkKSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKSkgOiB0eXBlXG4gICAgICB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGFic0ZpZWxkKSA9PlxuICAgICAgZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiKSA9PiB7XG4gICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgICAgIHRhYj8uaW50ZXJmYWNlTmFtZSB8fCBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcblxuICAgICAgICAgIGlmICghcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICBwYXlsb2FkLnR5cGVzLnRhYlR5cGVzW2ludGVyZmFjZU5hbWVdID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGFiU2NoZW1hLFxuICAgICAgICAgICAgW3RhYi5uYW1lXTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLnRhYlR5cGVzW2ludGVyZmFjZU5hbWVdIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWJTY2hlbWEsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCB0YWJTY2hlbWEpLFxuICAgICAgICB9XG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICB0ZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0YXJlYUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBVcGxvYWRGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuXG4gICAgICBjb25zdCB1cGxvYWROYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgLy8gSWYgdGhlIHJlbGF0aW9uc2hpcFR5cGUgaXMgdW5kZWZpbmVkIGF0IHRoaXMgcG9pbnQsXG4gICAgICAvLyBpdCBjYW4gYmUgYXNzdW1lZCB0aGF0IHRoaXMgYmxvY2tUeXBlIGNhbiBoYXZlIGEgcmVsYXRpb25zaGlwXG4gICAgICAvLyB0byBpdHNlbGYuIFRoZXJlZm9yZSwgd2Ugc2V0IHRoZSByZWxhdGlvbnNoaXBUeXBlIGVxdWFsIHRvIHRoZSBibG9ja1R5cGVcbiAgICAgIC8vIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGNyZWF0ZWQuXG5cbiAgICAgIGNvbnN0IHR5cGUgPSB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5ncmFwaFFMLnR5cGUgfHwgbmV3bHlDcmVhdGVkQmxvY2tUeXBlLFxuICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgKVxuXG4gICAgICBjb25zdCB1cGxvYWRBcmdzID0ge30gYXMgTG9jYWxlSW5wdXRUeXBlXG5cbiAgICAgIGlmIChwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgdXBsb2FkQXJncy5sb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cblxuICAgICAgICB1cGxvYWRBcmdzLmZhbGxiYWNrTG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gZmllbGQucmVsYXRpb25Ub1xuXG4gICAgICBjb25zdCB1cGxvYWQgPSB7XG4gICAgICAgIGFyZ3M6IHVwbG9hZEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMjAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGNvbnN0IGlkID0gdmFsdWVcblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gcmVsYXRlZERvY3VtZW50IHx8IG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9LFxuICAgICAgICB0eXBlLFxuICAgICAgfVxuXG4gICAgICBjb25zdCB3aGVyZUZpZWxkcyA9IHBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLmZpZWxkc1xuXG4gICAgICB1cGxvYWQuYXJncy53aGVyZSA9IHtcbiAgICAgICAgdHlwZTogYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICAgICAgbmFtZTogdXBsb2FkTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHdoZXJlRmllbGRzLFxuICAgICAgICAgIHBhcmVudE5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSksXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogdXBsb2FkLFxuICAgICAgfVxuICAgIH0sXG4gIH1cblxuICBjb25zdCBvYmplY3RTY2hlbWEgPSB7XG4gICAgbmFtZSxcbiAgICBmaWVsZHM6ICgpID0+XG4gICAgICBmaWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXBbZmllbGQudHlwZV1cblxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkU2NoZW1hICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdFR5cGVDb25maWdcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgICAuLi5maWVsZFNjaGVtYShvYmplY3RUeXBlQ29uZmlnLCBmaWVsZCksXG4gICAgICAgIH1cbiAgICAgIH0sIGJhc2VGaWVsZHMpLFxuICB9XG5cbiAgY29uc3QgbmV3bHlDcmVhdGVkQmxvY2tUeXBlID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKG9iamVjdFNjaGVtYSlcblxuICByZXR1cm4gbmV3bHlDcmVhdGVkQmxvY2tUeXBlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkT2JqZWN0VHlwZVxuIl0sIm5hbWVzIjpbImJ1aWxkT2JqZWN0VHlwZSIsIm5hbWUiLCJiYXNlRmllbGRzIiwiZmllbGRzIiwiZm9yY2VOdWxsYWJsZSIsInBhcmVudE5hbWUiLCJwYXlsb2FkIiwiZmllbGRUb1NjaGVtYU1hcCIsImFycmF5Iiwib2JqZWN0VHlwZUNvbmZpZyIsImZpZWxkIiwiaW50ZXJmYWNlTmFtZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidG9Xb3JkcyIsInR5cGVzIiwiYXJyYXlUeXBlcyIsImlzRmllbGROdWxsYWJsZSIsImFycmF5VHlwZSIsIkdyYXBoUUxMaXN0IiwiR3JhcGhRTE5vbk51bGwiLCJ0eXBlIiwid2l0aE51bGxhYmxlVHlwZSIsImJsb2NrcyIsImJsb2NrVHlwZXMiLCJtYXAiLCJibG9jayIsInNsdWciLCJncmFwaFFMIiwic2luZ3VsYXJOYW1lIiwiZnVsbE5hbWUiLCJHcmFwaFFMVW5pb25UeXBlIiwicmVzb2x2ZVR5cGUiLCJkYXRhIiwiYmxvY2tUeXBlIiwiY2hlY2tib3giLCJHcmFwaFFMQm9vbGVhbiIsImNvZGUiLCJHcmFwaFFMU3RyaW5nIiwiY29sbGFwc2libGUiLCJyZWR1Y2UiLCJvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzIiwic3ViRmllbGQiLCJhZGRTdWJGaWVsZCIsImRhdGUiLCJEYXRlVGltZVJlc29sdmVyIiwiZW1haWwiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImdyb3VwIiwiZ3JvdXBUeXBlcyIsImpzb24iLCJHcmFwaFFMSlNPTiIsIm51bWJlciIsIkdyYXBoUUxJbnQiLCJHcmFwaFFMRmxvYXQiLCJoYXNNYW55IiwicG9pbnQiLCJyYWRpbyIsIkdyYXBoUUxFbnVtVHlwZSIsInZhbHVlcyIsImZvcm1hdE9wdGlvbnMiLCJyZWxhdGlvbnNoaXAiLCJyZWxhdGlvblRvIiwiaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJoYXNNYW55VmFsdWVzIiwicmVsYXRpb25zaGlwTmFtZSIsInJlbGF0aW9uVG9UeXBlIiwicmVsYXRpb25zIiwicmVsYXRpb24iLCJmb3JtYXROYW1lIiwidmFsdWUiLCJjb2xsZWN0aW9ucyIsIkdyYXBoUUxPYmplY3RUeXBlIiwicmVxIiwiY29sbGVjdGlvbiIsIm5ld2x5Q3JlYXRlZEJsb2NrVHlwZSIsInJlbGF0aW9uc2hpcEFyZ3MiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJmYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwiYXJncyIsImV4dGVuc2lvbnMiLCJjb21wbGV4aXR5IiwicmVzb2x2ZSIsInBhcmVudCIsImNvbnRleHQiLCJyZWxhdGVkQ29sbGVjdGlvblNsdWciLCJyZXN1bHRzIiwicmVzdWx0UHJvbWlzZXMiLCJjcmVhdGVQb3B1bGF0aW9uUHJvbWlzZSIsInJlbGF0ZWREb2MiLCJpIiwiaWQiLCJjb2xsZWN0aW9uU2x1ZyIsInJlc3VsdCIsInBheWxvYWREYXRhTG9hZGVyIiwibG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmFuc2FjdGlvbklEIiwiZm9yRWFjaCIsInB1c2giLCJQcm9taXNlIiwiYWxsIiwicmVsYXRlZERvY3VtZW50IiwicmljaFRleHQiLCJkZXB0aCIsImRlZmF1bHREZXB0aCIsImVkaXRvciIsInBvcHVsYXRpb25Qcm9taXNlIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJyb3ciLCJvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcyIsInNlbGVjdCIsInRhYnMiLCJ0YWJTY2hlbWEiLCJ0YWIiLCJ0YWJIYXNOYW1lIiwidGFiVHlwZXMiLCJzdWJGaWVsZFNjaGVtYSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsInVwbG9hZE5hbWUiLCJ1cGxvYWRBcmdzIiwid2hlcmVGaWVsZHMiLCJ3aGVyZSIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJvYmplY3RTY2hlbWEiLCJmaWVsZFNjaGVtYSJdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBELEdBQzFELG1DQUFtQyxHQUNuQyx1Q0FBdUM7Ozs7K0JBcW1CdkM7OztlQUFBOzs7eUJBeGxCTztnQ0FDZ0Q7aUNBRTNCO3VCQTRCRDs4QkFDSDswRUFDTTttRUFDUDtz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
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE9iamVjdFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMRmllbGRDb25maWcsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMVW5pb25UeXBlLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHsgR3JhcGhRTEpTT04gfSBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgRmllbGQsXG4gIEdyb3VwRmllbGQsXG4gIEpTT05GaWVsZCxcbiAgTnVtYmVyRmllbGQsXG4gIFBvaW50RmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFJlbGF0aW9uc2hpcEZpZWxkLFxuICBSaWNoVGV4dEZpZWxkLFxuICBSb3dGaWVsZCxcbiAgU2VsZWN0RmllbGQsXG4gIFRhYnNGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uLy4uL3BheWxvYWQnXG5cbmltcG9ydCB7IHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZm9ybWF0T3B0aW9ucyBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0T3B0aW9ucydcbmltcG9ydCBidWlsZFdoZXJlSW5wdXRUeXBlIGZyb20gJy4vYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBpc0ZpZWxkTnVsbGFibGUgZnJvbSAnLi9pc0ZpZWxkTnVsbGFibGUnXG5pbXBvcnQgd2l0aE51bGxhYmxlVHlwZSBmcm9tICcuL3dpdGhOdWxsYWJsZVR5cGUnXG5cbnR5cGUgTG9jYWxlSW5wdXRUeXBlID0ge1xuICBmYWxsYmFja0xvY2FsZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbiAgbG9jYWxlOiB7XG4gICAgdHlwZTogR3JhcGhRTFR5cGVcbiAgfVxuICB3aGVyZToge1xuICAgIHR5cGU6IEdyYXBoUUxUeXBlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgT2JqZWN0VHlwZUNvbmZpZyA9IHtcbiAgW3BhdGg6IHN0cmluZ106IEdyYXBoUUxGaWVsZENvbmZpZzxhbnksIGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBiYXNlRmllbGRzPzogT2JqZWN0VHlwZUNvbmZpZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT2JqZWN0VHlwZSh7XG4gIG5hbWUsXG4gIGJhc2VGaWVsZHMgPSB7fSxcbiAgZmllbGRzLFxuICBmb3JjZU51bGxhYmxlLFxuICBwYXJlbnROYW1lLFxuICBwYXlsb2FkLFxufTogQXJncyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRUb1NjaGVtYU1hcCA9IHtcbiAgICBhcnJheTogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBBcnJheUZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuYXJyYXlUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXJyYXlUeXBlID0gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChwYXlsb2FkLnR5cGVzLmFycmF5VHlwZXNbaW50ZXJmYWNlTmFtZV0pKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgYXJyYXlUeXBlKSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgYmxvY2tzOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEJsb2NrRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZXMgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICBpZiAoIXBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXSkge1xuICAgICAgICAgIGNvbnN0IGludGVyZmFjZU5hbWUgPVxuICAgICAgICAgICAgYmxvY2s/LmludGVyZmFjZU5hbWUgfHwgYmxvY2s/LmdyYXBoUUw/LnNpbmd1bGFyTmFtZSB8fCB0b1dvcmRzKGJsb2NrLnNsdWcsIHRydWUpXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgcGF5bG9hZC50eXBlcy5ibG9ja1R5cGVzW2Jsb2NrLnNsdWddID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2Jsb2NrVHlwZScsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBpbnRlcmZhY2VOYW1lLFxuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tibG9jay5zbHVnXVxuICAgICAgfSlcblxuICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpKVxuXG4gICAgICBjb25zdCB0eXBlID0gbmV3IEdyYXBoUUxMaXN0KFxuICAgICAgICBuZXcgR3JhcGhRTE5vbk51bGwoXG4gICAgICAgICAgbmV3IEdyYXBoUUxVbmlvblR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICByZXNvbHZlVHlwZTogKGRhdGEpID0+IHBheWxvYWQudHlwZXMuYmxvY2tUeXBlc1tkYXRhLmJsb2NrVHlwZV0ubmFtZSxcbiAgICAgICAgICAgIHR5cGVzOiBibG9ja1R5cGVzLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSkgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGNoZWNrYm94OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxCb29sZWFuLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvZGU6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGNvbGxhcHNpYmxlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBhZGRTdWJGaWVsZCA9IGZpZWxkVG9TY2hlbWFNYXBbc3ViRmllbGQudHlwZV1cbiAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQob2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aENvbGxhcHNpYmxlRmllbGRzXG4gICAgICB9LCBvYmplY3RUeXBlQ29uZmlnKSxcbiAgICBkYXRlOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgRGF0ZVRpbWVSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBlbWFpbDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBFbWFpbEFkZHJlc3NSZXNvbHZlciwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICBncm91cDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBHcm91cEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgZmllbGQ/LmludGVyZmFjZU5hbWUgfHwgY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgaWYgKCFwYXlsb2FkLnR5cGVzLmdyb3VwVHlwZXNbaW50ZXJmYWNlTmFtZV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlOiBpc0ZpZWxkTnVsbGFibGUoZmllbGQsIGZvcmNlTnVsbGFibGUpLFxuICAgICAgICAgIHBhcmVudE5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZ3JvdXBUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmllbGQ/Lmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUG9pbnRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxGbG9hdCkpLFxuICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlczogZm9ybWF0T3B0aW9ucyhmaWVsZCksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICBjb25zdCBpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgICAgIGNvbnN0IGhhc01hbnlWYWx1ZXMgPSBmaWVsZC5oYXNNYW55XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcblxuICAgICAgbGV0IHR5cGVcbiAgICAgIGxldCByZWxhdGlvblRvVHlwZSA9IG51bGxcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykpIHtcbiAgICAgICAgcmVsYXRpb25Ub1R5cGUgPSBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtyZWxhdGlvbnNoaXBOYW1lfV9SZWxhdGlvblRvYCxcbiAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgKHJlbGF0aW9ucywgcmVsYXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnJlbGF0aW9ucyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUocmVsYXRpb24pXToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByZWxhdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCB0eXBlcyA9IHJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4gcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvbl0uZ3JhcGhRTC50eXBlKVxuXG4gICAgICAgIHR5cGUgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke3JlbGF0aW9uc2hpcE5hbWV9X1JlbGF0aW9uc2hpcGAsXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHJlbGF0aW9uVG9UeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMVW5pb25UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgICAgIGFzeW5jIHJlc29sdmVUeXBlKGRhdGEsIHsgcmVxIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkLmNvbGxlY3Rpb25zW2RhdGEuY29sbGVjdGlvbl0uZ3JhcGhRTC50eXBlLm5hbWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGVzLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDsoeyB0eXBlIH0gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmdyYXBoUUwpXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICB0eXBlID0gdHlwZSB8fCBuZXdseUNyZWF0ZWRCbG9ja1R5cGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQXJnczoge1xuICAgICAgICBmYWxsYmFja0xvY2FsZT86IHVua25vd25cbiAgICAgICAgbGltaXQ/OiB1bmtub3duXG4gICAgICAgIGxvY2FsZT86IHVua25vd25cbiAgICAgICAgcGFnZT86IHVua25vd25cbiAgICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgICB9ID0ge31cblxuICAgICAgaWYgKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICByZWxhdGlvbnNoaXBBcmdzLmxvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcEFyZ3MuZmFsbGJhY2tMb2NhbGUgPSB7XG4gICAgICAgICAgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB7XG4gICAgICAgIGFyZ3M6IHJlbGF0aW9uc2hpcEFyZ3MsXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgY29tcGxleGl0eTogMTAgfSxcbiAgICAgICAgYXN5bmMgcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHQpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmVudFtmaWVsZC5uYW1lXVxuICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGNvbnRleHQucmVxLmxvY2FsZVxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZSB8fCBjb250ZXh0LnJlcS5mYWxsYmFja0xvY2FsZVxuICAgICAgICAgIGxldCByZWxhdGVkQ29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICBpZiAoaGFzTWFueVZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgICAgICAgICBjb25zdCByZXN1bHRQcm9taXNlcyA9IFtdXG5cbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVBvcHVsYXRpb25Qcm9taXNlID0gYXN5bmMgKHJlbGF0ZWREb2MsIGkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlkID0gcmVsYXRlZERvY1xuICAgICAgICAgICAgICBsZXQgY29sbGVjdGlvblNsdWcgPSBmaWVsZC5yZWxhdGlvblRvXG5cbiAgICAgICAgICAgICAgaWYgKGlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGVkRG9jLnJlbGF0aW9uVG9cbiAgICAgICAgICAgICAgICBpZCA9IHJlbGF0ZWREb2MudmFsdWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5yZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWxhdGVkVG9NYW55Q29sbGVjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHNbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0c1tpXSA9IHJlc3VsdFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgocmVsYXRlZERvYywgaSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdFByb21pc2VzLnB1c2goY3JlYXRlUG9wdWxhdGlvblByb21pc2UocmVsYXRlZERvYywgaSkpXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlc3VsdFByb21pc2VzKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgaWQgPSB2YWx1ZVxuICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgaWQgPSB2YWx1ZS52YWx1ZVxuICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnID0gdmFsdWUucmVsYXRpb25Ub1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZERvY3VtZW50ID0gYXdhaXQgY29udGV4dC5yZXEucGF5bG9hZERhdGFMb2FkZXIubG9hZChcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgICAgICAgIGNvbnRleHQucmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgICAgICAgcmVsYXRlZENvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAocmVsYXRlZERvY3VtZW50KSB7XG4gICAgICAgICAgICAgIGlmIChpc1JlbGF0ZWRUb01hbnlDb2xsZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiByZWxhdGVkQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAuLi5yZWxhdGVkRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaGFzTWFueVZhbHVlcyA/IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwodHlwZSkpIDogdHlwZSxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHJlbGF0aW9uc2hpcCxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJpY2hUZXh0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJpY2hUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBkZXB0aDoge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhc3luYyByZXNvbHZlKHBhcmVudCwgYXJncywgY29udGV4dCkge1xuICAgICAgICAgIGxldCBkZXB0aCA9IHBheWxvYWQuY29uZmlnLmRlZmF1bHREZXB0aFxuICAgICAgICAgIGlmICh0eXBlb2YgYXJncy5kZXB0aCAhPT0gJ3VuZGVmaW5lZCcpIGRlcHRoID0gYXJncy5kZXB0aFxuICAgICAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuXG4gICAgICAgICAgLy8gUmljaFRleHQgZmllbGRzIGhhdmUgdGhlaXIgb3duIGRlcHRoIGFyZ3VtZW50IGluIEdyYXBoUUwuXG4gICAgICAgICAgLy8gVGhpcyBpcyB3aHkgdGhlIHBvcHVsYXRpb25Qcm9taXNlICh3aGljaCBwb3B1bGF0ZXMgcmljaHRleHQgZmllbGRzIGxpa2UgdXBsb2FkcyBhbmQgcmVsYXRpb25zaGlwcylcbiAgICAgICAgICAvLyBpcyBydW4gaGVyZSBhZ2Fpbiwgd2l0aCB0aGUgcHJvdmlkZWQgZGVwdGguXG4gICAgICAgICAgLy8gSW4gdGhlIGdyYXBocWwgZmluZC50cyByZXNvbHZlciwgdGhlIGRlcHRoIGlzIHRoZW4gaGFyZC1jb2RlZCB0byAwLlxuICAgICAgICAgIC8vIEVmZmVjdGl2ZWx5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHBvcHVsYXRpb25Qcm9taXNlIGZvciBHcmFwaFFMIGlzIG9ubHkgcnVuIGhlcmUsIGFuZCBub3QgaW4gdGhlIGZpbmQudHMgcmVzb2x2ZXIgLyBub3JtYWwgcG9wdWxhdGlvbiBwcm9taXNlLlxuICAgICAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgICAgICBhd2FpdCBlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICByZXE6IGNvbnRleHQucmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzOiBmYWxzZSxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcGFyZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcGFyZW50W2ZpZWxkLm5hbWVdXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcm93OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMsIHN1YkZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkcywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnV2l0aFJvd0ZpZWxkc1xuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAob2JqZWN0VHlwZUNvbmZpZzogT2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFNlbGVjdEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpXG5cbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgdmFsdWVzOiBmb3JtYXRPcHRpb25zKGZpZWxkKSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKSkgOiB0eXBlXG4gICAgICB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgdHlwZSwgZm9yY2VOdWxsYWJsZSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGFic0ZpZWxkKSA9PlxuICAgICAgZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiKSA9PiB7XG4gICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcmZhY2VOYW1lID1cbiAgICAgICAgICAgIHRhYj8uaW50ZXJmYWNlTmFtZSB8fCBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcblxuICAgICAgICAgIGlmICghcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSkge1xuICAgICAgICAgICAgcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGludGVyZmFjZU5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRhYlNjaGVtYSxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZTogcGF5bG9hZC50eXBlcy50YWJUeXBlc1tpbnRlcmZhY2VOYW1lXSB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGFiU2NoZW1hLFxuICAgICAgICAgIC4uLnRhYi5maWVsZHMucmVkdWNlKChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKVxuICAgICAgICAgICAgcmV0dXJuIHN1YkZpZWxkU2NoZW1hXG4gICAgICAgICAgfSwgdGFiU2NoZW1hKSxcbiAgICAgICAgfVxuICAgICAgfSwgb2JqZWN0VHlwZUNvbmZpZyksXG4gICAgdGV4dDogKG9iamVjdFR5cGVDb25maWc6IE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgdGV4dGFyZWE6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dGFyZWFGaWVsZCkgPT4gKHtcbiAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB1cGxvYWQ6IChvYmplY3RUeXBlQ29uZmlnOiBPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVXBsb2FkRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHsgcmVsYXRpb25UbyB9ID0gZmllbGRcblxuICAgICAgY29uc3QgdXBsb2FkTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG5cbiAgICAgIC8vIElmIHRoZSByZWxhdGlvbnNoaXBUeXBlIGlzIHVuZGVmaW5lZCBhdCB0aGlzIHBvaW50LFxuICAgICAgLy8gaXQgY2FuIGJlIGFzc3VtZWQgdGhhdCB0aGlzIGJsb2NrVHlwZSBjYW4gaGF2ZSBhIHJlbGF0aW9uc2hpcFxuICAgICAgLy8gdG8gaXRzZWxmLiBUaGVyZWZvcmUsIHdlIHNldCB0aGUgcmVsYXRpb25zaGlwVHlwZSBlcXVhbCB0byB0aGUgYmxvY2tUeXBlXG4gICAgICAvLyB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjcmVhdGVkLlxuXG4gICAgICBjb25zdCB0eXBlID0gd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uZ3JhcGhRTC50eXBlIHx8IG5ld2x5Q3JlYXRlZEJsb2NrVHlwZSxcbiAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgIClcblxuICAgICAgY29uc3QgdXBsb2FkQXJncyA9IHt9IGFzIExvY2FsZUlucHV0VHlwZVxuXG4gICAgICBpZiAocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgIHVwbG9hZEFyZ3MubG9jYWxlID0ge1xuICAgICAgICAgIHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG5cbiAgICAgICAgdXBsb2FkQXJncy5mYWxsYmFja0xvY2FsZSA9IHtcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyA9IGZpZWxkLnJlbGF0aW9uVG9cblxuICAgICAgY29uc3QgdXBsb2FkID0ge1xuICAgICAgICBhcmdzOiB1cGxvYWRBcmdzLFxuICAgICAgICBleHRlbnNpb25zOiB7IGNvbXBsZXhpdHk6IDIwIH0sXG4gICAgICAgIGFzeW5jIHJlc29sdmUocGFyZW50LCBhcmdzLCBjb250ZXh0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJlbnRbZmllbGQubmFtZV1cbiAgICAgICAgICBjb25zdCBsb2NhbGUgPSBhcmdzLmxvY2FsZSB8fCBjb250ZXh0LnJlcS5sb2NhbGVcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgY29udGV4dC5yZXEuZmFsbGJhY2tMb2NhbGVcbiAgICAgICAgICBjb25zdCBpZCA9IHZhbHVlXG5cbiAgICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWREb2N1bWVudCA9IGF3YWl0IGNvbnRleHQucmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgICAgICAgIHJlbGF0ZWRDb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgcmV0dXJuIHJlbGF0ZWREb2N1bWVudCB8fCBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZSxcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2hlcmVGaWVsZHMgPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uVG9dLmNvbmZpZy5maWVsZHNcblxuICAgICAgdXBsb2FkLmFyZ3Mud2hlcmUgPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgIG5hbWU6IHVwbG9hZE5hbWUsXG4gICAgICAgICAgZmllbGRzOiB3aGVyZUZpZWxkcyxcbiAgICAgICAgICBwYXJlbnROYW1lOiB1cGxvYWROYW1lLFxuICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgIH0pLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHVwbG9hZCxcbiAgICAgIH1cbiAgICB9LFxuICB9XG5cbiAgY29uc3Qgb2JqZWN0U2NoZW1hID0ge1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiAoKSA9PlxuICAgICAgZmllbGRzLnJlZHVjZSgob2JqZWN0VHlwZUNvbmZpZywgZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFNjaGVtYSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBvYmplY3RUeXBlQ29uZmlnXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLm9iamVjdFR5cGVDb25maWcsXG4gICAgICAgICAgLi4uZmllbGRTY2hlbWEob2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgICAgICB9XG4gICAgICB9LCBiYXNlRmllbGRzKSxcbiAgfVxuXG4gIGNvbnN0IG5ld2x5Q3JlYXRlZEJsb2NrVHlwZSA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZShvYmplY3RTY2hlbWEpXG5cbiAgcmV0dXJuIG5ld2x5Q3JlYXRlZEJsb2NrVHlwZVxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZE9iamVjdFR5cGVcbiJdLCJuYW1lcyI6WyJidWlsZE9iamVjdFR5cGUiLCJuYW1lIiwiYmFzZUZpZWxkcyIsImZpZWxkcyIsImZvcmNlTnVsbGFibGUiLCJwYXJlbnROYW1lIiwicGF5bG9hZCIsImZpZWxkVG9TY2hlbWFNYXAiLCJhcnJheSIsIm9iamVjdFR5cGVDb25maWciLCJmaWVsZCIsImludGVyZmFjZU5hbWUiLCJjb21iaW5lUGFyZW50TmFtZSIsInRvV29yZHMiLCJ0eXBlcyIsImFycmF5VHlwZXMiLCJpc0ZpZWxkTnVsbGFibGUiLCJhcnJheVR5cGUiLCJHcmFwaFFMTGlzdCIsIkdyYXBoUUxOb25OdWxsIiwidHlwZSIsIndpdGhOdWxsYWJsZVR5cGUiLCJibG9ja3MiLCJibG9ja1R5cGVzIiwibWFwIiwiYmxvY2siLCJzbHVnIiwiZ3JhcGhRTCIsInNpbmd1bGFyTmFtZSIsImZ1bGxOYW1lIiwiR3JhcGhRTFVuaW9uVHlwZSIsInJlc29sdmVUeXBlIiwiZGF0YSIsImJsb2NrVHlwZSIsImNoZWNrYm94IiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwiR3JhcGhRTFN0cmluZyIsImNvbGxhcHNpYmxlIiwicmVkdWNlIiwib2JqZWN0VHlwZUNvbmZpZ1dpdGhDb2xsYXBzaWJsZUZpZWxkcyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiRW1haWxBZGRyZXNzUmVzb2x2ZXIiLCJncm91cCIsImdyb3VwVHlwZXMiLCJqc29uIiwiR3JhcGhRTEpTT04iLCJudW1iZXIiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwiaGFzTWFueSIsInBvaW50IiwicmFkaW8iLCJHcmFwaFFMRW51bVR5cGUiLCJ2YWx1ZXMiLCJmb3JtYXRPcHRpb25zIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsImlzUmVsYXRlZFRvTWFueUNvbGxlY3Rpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFzTWFueVZhbHVlcyIsInJlbGF0aW9uc2hpcE5hbWUiLCJyZWxhdGlvblRvVHlwZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uIiwiZm9ybWF0TmFtZSIsInZhbHVlIiwiY29sbGVjdGlvbnMiLCJHcmFwaFFMT2JqZWN0VHlwZSIsInJlcSIsImNvbGxlY3Rpb24iLCJuZXdseUNyZWF0ZWRCbG9ja1R5cGUiLCJyZWxhdGlvbnNoaXBBcmdzIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwiZmFsbGJhY2tMb2NhbGUiLCJmYWxsYmFja0xvY2FsZUlucHV0VHlwZSIsImFyZ3MiLCJleHRlbnNpb25zIiwiY29tcGxleGl0eSIsInJlc29sdmUiLCJwYXJlbnQiLCJjb250ZXh0IiwicmVsYXRlZENvbGxlY3Rpb25TbHVnIiwicmVzdWx0cyIsInJlc3VsdFByb21pc2VzIiwiY3JlYXRlUG9wdWxhdGlvblByb21pc2UiLCJyZWxhdGVkRG9jIiwiaSIsImlkIiwiY29sbGVjdGlvblNsdWciLCJyZXN1bHQiLCJwYXlsb2FkRGF0YUxvYWRlciIsImxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHJhbnNhY3Rpb25JRCIsImZvckVhY2giLCJwdXNoIiwiUHJvbWlzZSIsImFsbCIsInJlbGF0ZWREb2N1bWVudCIsInJpY2hUZXh0IiwiZGVwdGgiLCJkZWZhdWx0RGVwdGgiLCJlZGl0b3IiLCJwb3B1bGF0aW9uUHJvbWlzZSIsInNob3dIaWRkZW5GaWVsZHMiLCJzaWJsaW5nRG9jIiwicm93Iiwib2JqZWN0VHlwZUNvbmZpZ1dpdGhSb3dGaWVsZHMiLCJzZWxlY3QiLCJ0YWJzIiwidGFiU2NoZW1hIiwidGFiIiwidGFiSGFzTmFtZSIsInRhYlR5cGVzIiwic3ViRmllbGRTY2hlbWEiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJ1cGxvYWROYW1lIiwidXBsb2FkQXJncyIsIndoZXJlRmllbGRzIiwid2hlcmUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwib2JqZWN0U2NoZW1hIiwiZmllbGRTY2hlbWEiXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRCxHQUMxRCxtQ0FBbUMsR0FDbkMsdUNBQXVDOzs7OytCQW9tQnZDOzs7ZUFBQTs7O3lCQXZsQk87Z0NBQ2dEO2lDQUUzQjt1QkE0QkQ7OEJBQ0g7MEVBQ007bUVBQ1A7c0VBQ0c7NEVBQ007d0VBQ0o7eUVBQ0M7Ozs7OztBQTJCN0IsU0FBU0EsZ0JBQWdCLEVBQ3ZCQyxJQUFJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildWhereInputType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,2BAA2B,CAAA;AAW1E,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,mBAAmB,2CAKtB,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/buildWhereInputType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,2BAA2B,CAAA;AAW1E,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,mBAAmB,2CAKtB,IAAI,KAAG,sBAiFT,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -70,25 +70,34 @@ function _interop_require_default(obj) {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
const fieldName = (0, _formatName.default)(name);
|
|
73
|
+
const recursiveFields = {
|
|
74
|
+
AND: {
|
|
75
|
+
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
76
|
+
name: `${fieldName}_where_and`,
|
|
77
|
+
fields: ()=>({
|
|
78
|
+
...fieldTypes,
|
|
79
|
+
...recursiveFields
|
|
80
|
+
})
|
|
81
|
+
}))
|
|
82
|
+
},
|
|
83
|
+
OR: {
|
|
84
|
+
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
85
|
+
name: `${fieldName}_where_or`,
|
|
86
|
+
fields: ()=>({
|
|
87
|
+
...fieldTypes,
|
|
88
|
+
...recursiveFields
|
|
89
|
+
})
|
|
90
|
+
}))
|
|
91
|
+
}
|
|
92
|
+
};
|
|
73
93
|
return new _graphql.GraphQLInputObjectType({
|
|
74
94
|
name: `${fieldName}_where`,
|
|
75
95
|
fields: {
|
|
76
96
|
...fieldTypes,
|
|
77
|
-
|
|
78
|
-
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
79
|
-
name: `${fieldName}_where_and`,
|
|
80
|
-
fields: fieldTypes
|
|
81
|
-
}))
|
|
82
|
-
},
|
|
83
|
-
OR: {
|
|
84
|
-
type: new _graphql.GraphQLList(new _graphql.GraphQLInputObjectType({
|
|
85
|
-
name: `${fieldName}_where_or`,
|
|
86
|
-
fields: fieldTypes
|
|
87
|
-
}))
|
|
88
|
-
}
|
|
97
|
+
...recursiveFields
|
|
89
98
|
}
|
|
90
99
|
});
|
|
91
100
|
};
|
|
92
101
|
const _default = buildWhereInputType;
|
|
93
102
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZFdoZXJlSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsIEdyYXBoUUxMaXN0IH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IGZpZWxkVG9TY2hlbWFNYXAgZnJvbSAnLi9maWVsZFRvV2hlcmVJbnB1dFNjaGVtYU1hcCdcbmltcG9ydCB7IHdpdGhPcGVyYXRvcnMgfSBmcm9tICcuL3dpdGhPcGVyYXRvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIG5hbWU6IHN0cmluZ1xuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgcGF5bG9hZDogUGF5bG9hZFxufVxuXG4vKiogVGhpcyBkb2VzIGFzIHRoZSBmdW5jdGlvbiBuYW1lIHN1Z2dlc3RzLiBJdCBidWlsZHMgYSB3aGVyZSBHcmFwaFFMIGlucHV0IHR5cGVcbiAqIGZvciBhbGwgdGhlIGZpZWxkcyB3aGljaCBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEVhY2ggZmllbGQgaGFzIGRpZmZlcmVudCBvcGVyYXRvcnMgd2hpY2ggbWF5IGJlIHZhbGlkIGZvciBhIHdoZXJlIGlucHV0IHR5cGUuXG4gKiBGb3IgZXhhbXBsZSwgYSB0ZXh0IGZpZWxkIG1heSBoYXZlIGEgXCJjb250YWluc1wiIG9wZXJhdG9yLCBidXQgYSBudW1iZXIgZmllbGRcbiAqIG1heSBub3QuXG4gKlxuICogYnVpbGRXaGVyZUlucHV0VHlwZSBpcyBzaW1pbGFyIHRvIGJ1aWxkT2JqZWN0VHlwZSBhbmQgb3BlcmF0ZXNcbiAqIG9uIGEgZmllbGQgYmFzaXMgd2l0aCBhIGZldyBkaXN0aW5jdCBkaWZmZXJlbmNlcy5cbiAqXG4gKiAxLiBFdmVyeXRoaW5nIG5lZWRzIHRvIGJlIGEgR3JhcGhRTElucHV0T2JqZWN0VHlwZSBvciBzY2FsYXIgLyBlbnVtXG4gKiAyLiBSZWxhdGlvbnNoaXBzLCBncm91cHMsIHJlcGVhdGVycyBhbmQgZmxleCBjb250ZW50IGFyZSBub3RcbiAqICAgIGRpcmVjdGx5IHNlYXJjaGFibGUuIEluc3RlYWQsIHdlIG5lZWQgdG8gYnVpbGQgYSBjaGFpbmVkIHBhdGhuYW1lXG4gKiAgICB1c2luZyBkb3Qgbm90YXRpb24gc28gTW9uZ29EQiBjYW4gcHJvcGVybHkgc2VhcmNoIG5lc3RlZCBwYXRocy5cbiAqL1xuY29uc3QgYnVpbGRXaGVyZUlucHV0VHlwZSA9ICh7XG4gIG5hbWUsXG4gIGZpZWxkcyxcbiAgcGFyZW50TmFtZSxcbiAgcGF5bG9hZCxcbn06IEFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlID0+
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZFdoZXJlSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsIEdyYXBoUUxMaXN0IH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbn0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IGZpZWxkVG9TY2hlbWFNYXAgZnJvbSAnLi9maWVsZFRvV2hlcmVJbnB1dFNjaGVtYU1hcCdcbmltcG9ydCB7IHdpdGhPcGVyYXRvcnMgfSBmcm9tICcuL3dpdGhPcGVyYXRvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZmllbGRzOiBGaWVsZFtdXG4gIG5hbWU6IHN0cmluZ1xuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgcGF5bG9hZDogUGF5bG9hZFxufVxuXG4vKiogVGhpcyBkb2VzIGFzIHRoZSBmdW5jdGlvbiBuYW1lIHN1Z2dlc3RzLiBJdCBidWlsZHMgYSB3aGVyZSBHcmFwaFFMIGlucHV0IHR5cGVcbiAqIGZvciBhbGwgdGhlIGZpZWxkcyB3aGljaCBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEVhY2ggZmllbGQgaGFzIGRpZmZlcmVudCBvcGVyYXRvcnMgd2hpY2ggbWF5IGJlIHZhbGlkIGZvciBhIHdoZXJlIGlucHV0IHR5cGUuXG4gKiBGb3IgZXhhbXBsZSwgYSB0ZXh0IGZpZWxkIG1heSBoYXZlIGEgXCJjb250YWluc1wiIG9wZXJhdG9yLCBidXQgYSBudW1iZXIgZmllbGRcbiAqIG1heSBub3QuXG4gKlxuICogYnVpbGRXaGVyZUlucHV0VHlwZSBpcyBzaW1pbGFyIHRvIGJ1aWxkT2JqZWN0VHlwZSBhbmQgb3BlcmF0ZXNcbiAqIG9uIGEgZmllbGQgYmFzaXMgd2l0aCBhIGZldyBkaXN0aW5jdCBkaWZmZXJlbmNlcy5cbiAqXG4gKiAxLiBFdmVyeXRoaW5nIG5lZWRzIHRvIGJlIGEgR3JhcGhRTElucHV0T2JqZWN0VHlwZSBvciBzY2FsYXIgLyBlbnVtXG4gKiAyLiBSZWxhdGlvbnNoaXBzLCBncm91cHMsIHJlcGVhdGVycyBhbmQgZmxleCBjb250ZW50IGFyZSBub3RcbiAqICAgIGRpcmVjdGx5IHNlYXJjaGFibGUuIEluc3RlYWQsIHdlIG5lZWQgdG8gYnVpbGQgYSBjaGFpbmVkIHBhdGhuYW1lXG4gKiAgICB1c2luZyBkb3Qgbm90YXRpb24gc28gTW9uZ29EQiBjYW4gcHJvcGVybHkgc2VhcmNoIG5lc3RlZCBwYXRocy5cbiAqL1xuY29uc3QgYnVpbGRXaGVyZUlucHV0VHlwZSA9ICh7XG4gIG5hbWUsXG4gIGZpZWxkcyxcbiAgcGFyZW50TmFtZSxcbiAgcGF5bG9hZCxcbn06IEFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlID0+IHtcbiAgLy8gVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBidWlsZHMgbmVzdGVkIHBhdGhzIGZvciBhbGxcbiAgLy8gZmllbGQgdHlwZXMgd2l0aCBuZXN0ZWQgcGF0aHMuXG5cbiAgbGV0IGlkRmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0IGZpZWxkVHlwZXMgPSBmaWVsZHMucmVkdWNlKChzY2hlbWEsIGZpZWxkKSA9PiB7XG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpIGlkRmllbGQgPSBmaWVsZFxuXG4gICAgaWYgKCFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSAmJiAhZmllbGQuaGlkZGVuKSB7XG4gICAgICBjb25zdCBnZXRGaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXAoe1xuICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlbZmllbGQudHlwZV1cblxuICAgICAgaWYgKGdldEZpZWxkU2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZ2V0RmllbGRTY2hlbWEoZmllbGQpXG5cbiAgICAgICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSB8fCBmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc2NoZW1hLFxuICAgICAgICAgICAgLi4uZmllbGRTY2hlbWEucmVkdWNlKFxuICAgICAgICAgICAgICAoc3ViRmllbGRzLCBzdWJGaWVsZCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5zdWJGaWVsZHMsXG4gICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUoc3ViRmllbGQua2V5KV06IHN1YkZpZWxkLnR5cGUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgICAgW2Zvcm1hdE5hbWUoZmllbGQubmFtZSldOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWFcbiAgfSwge30pXG5cbiAgaWYgKCFpZEZpZWxkKSB7XG4gICAgZmllbGRUeXBlcy5pZCA9IHtcbiAgICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoeyBuYW1lOiAnaWQnLCB0eXBlOiAndGV4dCcgfSBhcyBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWUpLFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICBjb25zdCByZWN1cnNpdmVGaWVsZHMgPSB7XG4gICAgQU5EOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QoXG4gICAgICAgIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlX2FuZGAsXG4gICAgICAgICAgZmllbGRzOiAoKSA9PiAoe1xuICAgICAgICAgICAgLi4uZmllbGRUeXBlcyxcbiAgICAgICAgICAgIC4uLnJlY3Vyc2l2ZUZpZWxkcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0sXG4gICAgT1I6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChcbiAgICAgICAgbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke2ZpZWxkTmFtZX1fd2hlcmVfb3JgLFxuICAgICAgICAgIGZpZWxkczogKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAgICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlYCxcbiAgICBmaWVsZHM6IHtcbiAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgfSxcbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRXaGVyZUlucHV0VHlwZVxuIl0sIm5hbWVzIjpbImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJuYW1lIiwiZmllbGRzIiwicGFyZW50TmFtZSIsInBheWxvYWQiLCJpZEZpZWxkIiwiZmllbGRUeXBlcyIsInJlZHVjZSIsInNjaGVtYSIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJoaWRkZW4iLCJnZXRGaWVsZFNjaGVtYSIsImZpZWxkVG9TY2hlbWFNYXAiLCJ0eXBlIiwiZmllbGRTY2hlbWEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsInN1YkZpZWxkcyIsInN1YkZpZWxkIiwiZm9ybWF0TmFtZSIsImtleSIsImlkIiwid2l0aE9wZXJhdG9ycyIsImZpZWxkTmFtZSIsInJlY3Vyc2l2ZUZpZWxkcyIsIkFORCIsIkdyYXBoUUxMaXN0IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIk9SIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQsR0FDMUQsdUNBQXVDOzs7OytCQTRIdkM7OztlQUFBOzs7eUJBM0hvRDt1QkFTN0M7bUVBQ2dCO21GQUNNOytCQUNDOzs7Ozs7QUFTOUI7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNELE1BQU1BLHNCQUFzQixDQUFDLEVBQzNCQyxJQUFJLEVBQ0pDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxPQUFPLEVBQ0Y7SUFDTCx3REFBd0Q7SUFDeEQsaUNBQWlDO0lBRWpDLElBQUlDO0lBRUosTUFBTUMsYUFBYUosT0FBT0ssTUFBTSxDQUFDLENBQUNDLFFBQVFDO1FBQ3hDLElBQUlDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNUixJQUFJLEtBQUssTUFBTUksVUFBVUk7UUFFOUQsSUFBSSxDQUFDRSxJQUFBQSxnQ0FBeUIsRUFBQ0YsVUFBVSxDQUFDQSxNQUFNRyxNQUFNLEVBQUU7WUFDdEQsTUFBTUMsaUJBQWlCQyxJQUFBQSxtQ0FBZ0IsRUFBQztnQkFDdENYO2dCQUNBQztZQUNGLEVBQUUsQ0FBQ0ssTUFBTU0sSUFBSSxDQUFDO1lBRWQsSUFBSUYsZ0JBQWdCO2dCQUNsQixNQUFNRyxjQUFjSCxlQUFlSjtnQkFFbkMsSUFBSVEsSUFBQUEsd0JBQWlCLEVBQUNSLFVBQVVBLE1BQU1NLElBQUksS0FBSyxRQUFRO29CQUNyRCxPQUFPO3dCQUNMLEdBQUdQLE1BQU07d0JBQ1QsR0FBR1EsWUFBWVQsTUFBTSxDQUNuQixDQUFDVyxXQUFXQyxXQUFjLENBQUE7Z0NBQ3hCLEdBQUdELFNBQVM7Z0NBQ1osQ0FBQ0UsSUFBQUEsbUJBQVUsRUFBQ0QsU0FBU0UsR0FBRyxFQUFFLEVBQUVGLFNBQVNKLElBQUk7NEJBQzNDLENBQUEsR0FDQSxDQUFDLEVBQ0Y7b0JBQ0g7Z0JBQ0Y7Z0JBRUEsT0FBTztvQkFDTCxHQUFHUCxNQUFNO29CQUNULENBQUNZLElBQUFBLG1CQUFVLEVBQUNYLE1BQU1SLElBQUksRUFBRSxFQUFFZTtnQkFDNUI7WUFDRjtRQUNGO1FBRUEsT0FBT1I7SUFDVCxHQUFHLENBQUM7SUFFSixJQUFJLENBQUNILFNBQVM7UUFDWkMsV0FBV2dCLEVBQUUsR0FBRztZQUNkUCxNQUFNUSxJQUFBQSw0QkFBYSxFQUFDO2dCQUFFdEIsTUFBTTtnQkFBTWMsTUFBTTtZQUFPLEdBQXlCWjtRQUMxRTtJQUNGO0lBRUEsTUFBTXFCLFlBQVlKLElBQUFBLG1CQUFVLEVBQUNuQjtJQUU3QixNQUFNd0Isa0JBQWtCO1FBQ3RCQyxLQUFLO1lBQ0hYLE1BQU0sSUFBSVksb0JBQVcsQ0FDbkIsSUFBSUMsK0JBQXNCLENBQUM7Z0JBQ3pCM0IsTUFBTSxDQUFDLEVBQUV1QixVQUFVLFVBQVUsQ0FBQztnQkFDOUJ0QixRQUFRLElBQU8sQ0FBQTt3QkFDYixHQUFHSSxVQUFVO3dCQUNiLEdBQUdtQixlQUFlO29CQUNwQixDQUFBO1lBQ0Y7UUFFSjtRQUNBSSxJQUFJO1lBQ0ZkLE1BQU0sSUFBSVksb0JBQVcsQ0FDbkIsSUFBSUMsK0JBQXNCLENBQUM7Z0JBQ3pCM0IsTUFBTSxDQUFDLEVBQUV1QixVQUFVLFNBQVMsQ0FBQztnQkFDN0J0QixRQUFRLElBQU8sQ0FBQTt3QkFDYixHQUFHSSxVQUFVO3dCQUNiLEdBQUdtQixlQUFlO29CQUNwQixDQUFBO1lBQ0Y7UUFFSjtJQUNGO0lBRUEsT0FBTyxJQUFJRywrQkFBc0IsQ0FBQztRQUNoQzNCLE1BQU0sQ0FBQyxFQUFFdUIsVUFBVSxNQUFNLENBQUM7UUFDMUJ0QixRQUFRO1lBQ04sR0FBR0ksVUFBVTtZQUNiLEdBQUdtQixlQUFlO1FBQ3BCO0lBQ0Y7QUFDRjtNQUVBLFdBQWV6QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/withOperators.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema/withOperators.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,2BAA2B,CAAA;AA4OlC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBA+CF,CAAA"}
|
|
@@ -193,7 +193,7 @@ const defaults = {
|
|
|
193
193
|
type: (field, parentName)=>new _graphql.GraphQLEnumType({
|
|
194
194
|
name: `${(0, _combineParentName.default)(parentName, field.name)}_Input`,
|
|
195
195
|
values: field.options.reduce((values, option)=>{
|
|
196
|
-
if (
|
|
196
|
+
if ((0, _types.optionIsObject)(option)) {
|
|
197
197
|
return {
|
|
198
198
|
...values,
|
|
199
199
|
[(0, _formatName.default)(option.value)]: {
|
|
@@ -201,15 +201,12 @@ const defaults = {
|
|
|
201
201
|
}
|
|
202
202
|
};
|
|
203
203
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
return values;
|
|
204
|
+
return {
|
|
205
|
+
...values,
|
|
206
|
+
[(0, _formatName.default)(option)]: {
|
|
207
|
+
value: option
|
|
208
|
+
}
|
|
209
|
+
};
|
|
213
210
|
}, {})
|
|
214
211
|
})
|
|
215
212
|
}))
|
|
@@ -296,4 +293,4 @@ const withOperators = (field, parentName)=>{
|
|
|
296
293
|
});
|
|
297
294
|
};
|
|
298
295
|
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS93aXRoT3BlcmF0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMU3RyaW5nLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgTnVtYmVyRmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxufSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBSZWxhdGlvbnNoaXBGaWVsZCwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IG9wZXJhdG9ycyBmcm9tICcuL29wZXJhdG9ycydcblxudHlwZSBzdGF0aWNUeXBlcyA9XG4gIHwgJ2NoZWNrYm94J1xuICB8ICdjb2RlJ1xuICB8ICdkYXRlJ1xuICB8ICdlbWFpbCdcbiAgfCAnanNvbidcbiAgfCAnbnVtYmVyJ1xuICB8ICdwb2ludCdcbiAgfCAncmVsYXRpb25zaGlwJ1xuICB8ICdyaWNoVGV4dCdcbiAgfCAndGV4dCdcbiAgfCAndGV4dGFyZWEnXG4gIHwgJ3VwbG9hZCdcblxudHlwZSBkeW5hbWljVHlwZXMgPSAncmFkaW8nIHwgJ3NlbGVjdCdcblxuY29uc3QgR2VvSlNPTk9iamVjdCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ0dlb0pTT05PYmplY3QnLFxuICBmaWVsZHM6IHtcbiAgICBjb29yZGluYXRlczoge1xuICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgfSxcbiAgICB0eXBlOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgfSxcbn0pXG5cbnR5cGUgRGVmYXVsdHNUeXBlID0ge1xuICBba2V5IGluIHN0YXRpY1R5cGVzXToge1xuICAgIG9wZXJhdG9yczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICB0eXBlOiAoKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWU6IHN0cmluZykgPT4gR3JhcGhRTFR5cGUpIHwgR3JhcGhRTFR5cGVcbiAgICB9W11cbiAgfVxufSAmIHtcbiAgW2tleSBpbiBkeW5hbWljVHlwZXNdOiB7XG4gICAgb3BlcmF0b3JzOiB7XG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIHR5cGU6IChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBwYXJlbnROYW1lOiBzdHJpbmcpID0+IEdyYXBoUUxUeXBlXG4gICAgfVtdXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdHM6IERlZmF1bHRzVHlwZSA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLm9wZXJhdG9ycy5lcXVhbGl0eS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgY29kZToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb21wYXJpc29uLCAnbGlrZSddLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBEYXRlVGltZVJlc29sdmVyLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGVtYWlsOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogRW1haWxBZGRyZXNzUmVzb2x2ZXIsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAganNvbjoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5nZW9qc29uXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbl0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogTnVtYmVyRmllbGQpOiBHcmFwaFFMVHlwZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHBvaW50OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbiwgLi4ub3BlcmF0b3JzLmdlb10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLFxuICAgICAgfSkpLFxuICAgICAgLi4ub3BlcmF0b3JzLmdlb2pzb24ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZXhhbXBsZTpcbiAgICAgICAgICogd2l0aGluOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvbHlnb25cIixcbiAgICAgICAgICogIGNvb3JkaW5hdGVzOiBbW1xuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICAgWzEuMCwgMS4wXSxcbiAgICAgICAgICogICBbMS4wLCAwLjBdLFxuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICBdXSxcbiAgICAgICAgICogfVxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKiBpbnRlcnNlY3RzOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvaW50XCIsXG4gICAgICAgICAqICBjb29yZGluYXRlczogWyAwLjUsIDAuNSBdXG4gICAgICAgICAqIH1cbiAgICAgICAgICovXG4gICAgICAgIHR5cGU6IEdlb0pTT05PYmplY3QsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmFkaW86IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogKGZpZWxkOiBSYWRpb0ZpZWxkLCBwYXJlbnROYW1lKTogR3JhcGhRTFR5cGUgPT5cbiAgICAgICAgICBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9JbnB1dGAsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgfSksXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29udGFpbnNdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICByaWNoVGV4dDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogU2VsZWN0RmllbGQsIHBhcmVudE5hbWUpOiBHcmFwaFFMVHlwZSA9PlxuICAgICAgICAgIG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X0lucHV0YCxcbiAgICAgICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25dOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZXNcbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgICB9KSxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHVwbG9hZDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4ub3BlcmF0b3JzLmVxdWFsaXR5Lm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIC8vIGFycmF5OiBuL2FcbiAgLy8gZ3JvdXA6IG4vYVxuICAvLyByb3c6IG4vYVxuICAvLyBjb2xsYXBzaWJsZTogbi9hXG4gIC8vIHRhYnM6IG4vYVxufVxuXG5jb25zdCBsaXN0T3BlcmF0b3JzID0gWydpbicsICdub3RfaW4nLCAnYWxsJ11cblxuY29uc3QgZ3FsVHlwZUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMVHlwZT4gPSB7fVxuXG4vKipcbiAqIEluIEdyYXBoUUwsIHlvdSBjYW4gdXNlIFwid2hlcmVcIiBhcyBhbiBhcmd1bWVudCB0byBmaWx0ZXIgYSBjb2xsZWN0aW9uLiBFeGFtcGxlOlxuICogeyBQb3N0cyh3aGVyZTogeyB0aXRsZTogeyBlcXVhbHM6IFwiSGVsbG9cIiB9IH0pIHsgdGV4dCB9IH1cbiAqIFRoaXMgZnVuY3Rpb24gZGVmaW5lcyB0aGUgb3BlcmF0b3JzIGZvciBhIGZpZWxkJ3MgY29uZGl0aW9uIGluIHRoZSBcIndoZXJlXCIgYXJndW1lbnQgb2YgdGhlIGNvbGxlY3Rpb24gKGl0IHRodXMgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGZpZWxkKS5cbiAqIEZvciBleGFtcGxlLCBpbiB0aGUgZXhhbXBsZSBhYm92ZSwgaXQgd291bGQgY29udHJvbCB0aGF0XG4gKiAtIFwiZXF1YWxzXCIgaXMgYSB2YWxpZCBvcGVyYXRvciBmb3IgdGhlIFwidGl0bGVcIiBmaWVsZFxuICogLSB0aGUgYWNjZXB0ZWQgdHlwZSBvZiB0aGUgXCJlcXVhbHNcIiBhcmd1bWVudCBoYXMgdG8gYmUgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCBmb3Igd2hpY2ggdGhlaXIgdmFsaWQgb3BlcmF0b3JzIGluc2lkZSBhIFwid2hlcmVcIiBhcmd1bWVudCBpcyBiZWluZyBkZWZpbmVkXG4gKiBAcGFyYW0gcGFyZW50TmFtZSB0aGUgbmFtZSBvZiB0aGUgcGFyZW50IGZpZWxkIChpZiBhbnkpXG4gKiBAcmV0dXJucyBhbGwgdGhlIG9wZXJhdG9ycyAoaW5jbHVkaW5nIHRoZWlyIHR5cGVzKSB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIGNvbmRpdGlvbiBmb3IgYSBnaXZlbiBmaWVsZCBpbnNpZGUgYSB3aGVyZVxuICovXG5leHBvcnQgY29uc3Qgd2l0aE9wZXJhdG9ycyA9IChcbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuKTogR3JhcGhRTElucHV0T2JqZWN0VHlwZSA9PiB7XG4gIGlmICghZGVmYXVsdHM/LltmaWVsZC50eXBlXSkgdGhyb3cgbmV3IEVycm9yKGBFcnJvcjogJHtmaWVsZC50eXBlfSBoYXMgbm8gZGVmYXVsdHMgY29uZmlndXJlZC5gKVxuXG4gIGNvbnN0IG5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fb3BlcmF0b3JgXG5cbiAgLy8gR2V0IHRoZSBkZWZhdWx0IG9wZXJhdG9ycyBmb3IgdGhlIGZpZWxkIHR5cGUgd2hpY2ggYXJlIGhhcmQtY29kZWQgYWJvdmVcbiAgY29uc3QgZmllbGRPcGVyYXRvcnMgPSBbLi4uZGVmYXVsdHNbZmllbGQudHlwZV0ub3BlcmF0b3JzXVxuXG4gIGlmICghKCdyZXF1aXJlZCcgaW4gZmllbGQpIHx8ICFmaWVsZC5yZXF1aXJlZCkge1xuICAgIGZpZWxkT3BlcmF0b3JzLnB1c2goe1xuICAgICAgbmFtZTogJ2V4aXN0cycsXG4gICAgICB0eXBlOiBmaWVsZE9wZXJhdG9yc1swXS50eXBlLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiBmaWVsZE9wZXJhdG9ycy5yZWR1Y2UoKG9iamVjdFR5cGVGaWVsZHMsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAvLyBHZXQgdGhlIHR5cGUgb2YgdGhlIG9wZXJhdG9yLiBJdCBjYW4gYmUgZWl0aGVyIHN0YXRpYywgb3IgZHluYW1pYyAoPT4gYSBmdW5jdGlvbilcbiAgICAgIGxldCBncWxUeXBlOiBHcmFwaFFMVHlwZSA9XG4gICAgICAgIHR5cGVvZiBvcGVyYXRvci50eXBlID09PSAnZnVuY3Rpb24nID8gb3BlcmF0b3IudHlwZShmaWVsZCwgcGFyZW50TmFtZSkgOiBvcGVyYXRvci50eXBlXG5cbiAgICAgIC8vIEdyYXBoUUwgZG9lcyBub3QgYWxsb3cgdHlwZXMgd2l0aCBkdXBsaWNhdGUgbmFtZXMsIHNvIHdlIHVzZSB0aGlzIGNhY2hlIHRvIGF2b2lkIHRoYXQuXG4gICAgICAvLyBXaXRob3V0IHRoaXMsIHNlbGVjdCBhbmQgcmFkaW8gZmllbGRzIHdvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSwgYW5kIEdyYXBoUUwgd291bGQgdGhyb3cgYW4gZXJyb3JcbiAgICAgIC8vIFRoaXMgdXN1YWxseSBvbmx5IGhhcHBlbnMgaWYgYSBjdXN0b20gdHlwZSBpcyByZXR1cm5lZCBmcm9tIHRoZSBvcGVyYXRvci50eXBlIGZ1bmN0aW9uXG4gICAgICBpZiAodHlwZW9mIG9wZXJhdG9yLnR5cGUgPT09ICdmdW5jdGlvbicgJiYgJ25hbWUnIGluIGdxbFR5cGUpIHtcbiAgICAgICAgaWYgKGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdKSB7XG4gICAgICAgICAgZ3FsVHlwZSA9IGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3FsVHlwZUNhY2hlW2dxbFR5cGUubmFtZV0gPSBncWxUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxpc3RPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IubmFtZSkpIHtcbiAgICAgICAgZ3FsVHlwZSA9IG5ldyBHcmFwaFFMTGlzdChncWxUeXBlKVxuICAgICAgfSBlbHNlIGlmIChvcGVyYXRvci5uYW1lID09PSAnZXhpc3RzJykge1xuICAgICAgICBncWxUeXBlID0gR3JhcGhRTEJvb2xlYW5cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUZpZWxkcyxcbiAgICAgICAgW29wZXJhdG9yLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogZ3FsVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LCB7fSksXG4gIH0pXG59XG4iXSwibmFtZXMiOlsid2l0aE9wZXJhdG9ycyIsIkdlb0pTT05PYmplY3QiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwibmFtZSIsImZpZWxkcyIsImNvb3JkaW5hdGVzIiwidHlwZSIsIkdyYXBoUUxKU09OIiwiR3JhcGhRTFN0cmluZyIsImRlZmF1bHRzIiwiY2hlY2tib3giLCJvcGVyYXRvcnMiLCJlcXVhbGl0eSIsIm1hcCIsIm9wZXJhdG9yIiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwicGFydGlhbCIsImRhdGUiLCJjb21wYXJpc29uIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiY29udGFpbnMiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImpzb24iLCJnZW9qc29uIiwibnVtYmVyIiwiZmllbGQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwicG9pbnQiLCJnZW8iLCJHcmFwaFFMTGlzdCIsInJhZGlvIiwicGFyZW50TmFtZSIsIkdyYXBoUUxFbnVtVHlwZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidmFsdWVzIiwib3B0aW9ucyIsInJlZHVjZSIsIm9wdGlvbiIsIm9wdGlvbklzT2JqZWN0IiwiZm9ybWF0TmFtZSIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJsaXN0T3BlcmF0b3JzIiwiZ3FsVHlwZUNhY2hlIiwiRXJyb3IiLCJmaWVsZE9wZXJhdG9ycyIsInJlcXVpcmVkIiwicHVzaCIsIm9iamVjdFR5cGVGaWVsZHMiLCJncWxUeXBlIiwiaW5jbHVkZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBK1Fh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
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS93aXRoT3BlcmF0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMU3RyaW5nLFxufSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHsgRGF0ZVRpbWVSZXNvbHZlciwgRW1haWxBZGRyZXNzUmVzb2x2ZXIgfSBmcm9tICdncmFwaHFsLXNjYWxhcnMnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgTnVtYmVyRmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxufSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBSZWxhdGlvbnNoaXBGaWVsZCwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IG9wZXJhdG9ycyBmcm9tICcuL29wZXJhdG9ycydcblxudHlwZSBzdGF0aWNUeXBlcyA9XG4gIHwgJ2NoZWNrYm94J1xuICB8ICdjb2RlJ1xuICB8ICdkYXRlJ1xuICB8ICdlbWFpbCdcbiAgfCAnanNvbidcbiAgfCAnbnVtYmVyJ1xuICB8ICdwb2ludCdcbiAgfCAncmVsYXRpb25zaGlwJ1xuICB8ICdyaWNoVGV4dCdcbiAgfCAndGV4dCdcbiAgfCAndGV4dGFyZWEnXG4gIHwgJ3VwbG9hZCdcblxudHlwZSBkeW5hbWljVHlwZXMgPSAncmFkaW8nIHwgJ3NlbGVjdCdcblxuY29uc3QgR2VvSlNPTk9iamVjdCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ0dlb0pTT05PYmplY3QnLFxuICBmaWVsZHM6IHtcbiAgICBjb29yZGluYXRlczoge1xuICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgfSxcbiAgICB0eXBlOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgfSxcbn0pXG5cbnR5cGUgRGVmYXVsdHNUeXBlID0ge1xuICBba2V5IGluIHN0YXRpY1R5cGVzXToge1xuICAgIG9wZXJhdG9yczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICB0eXBlOiAoKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWU6IHN0cmluZykgPT4gR3JhcGhRTFR5cGUpIHwgR3JhcGhRTFR5cGVcbiAgICB9W11cbiAgfVxufSAmIHtcbiAgW2tleSBpbiBkeW5hbWljVHlwZXNdOiB7XG4gICAgb3BlcmF0b3JzOiB7XG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIHR5cGU6IChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBwYXJlbnROYW1lOiBzdHJpbmcpID0+IEdyYXBoUUxUeXBlXG4gICAgfVtdXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdHM6IERlZmF1bHRzVHlwZSA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLm9wZXJhdG9ycy5lcXVhbGl0eS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgY29kZToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb21wYXJpc29uLCAnbGlrZSddLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBEYXRlVGltZVJlc29sdmVyLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGVtYWlsOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogRW1haWxBZGRyZXNzUmVzb2x2ZXIsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAganNvbjoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5nZW9qc29uXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbl0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogTnVtYmVyRmllbGQpOiBHcmFwaFFMVHlwZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkPy5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHBvaW50OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbiwgLi4ub3BlcmF0b3JzLmdlb10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLFxuICAgICAgfSkpLFxuICAgICAgLi4ub3BlcmF0b3JzLmdlb2pzb24ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZXhhbXBsZTpcbiAgICAgICAgICogd2l0aGluOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvbHlnb25cIixcbiAgICAgICAgICogIGNvb3JkaW5hdGVzOiBbW1xuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICAgWzEuMCwgMS4wXSxcbiAgICAgICAgICogICBbMS4wLCAwLjBdLFxuICAgICAgICAgKiAgIFswLjAsIDAuMF0sXG4gICAgICAgICAqICBdXSxcbiAgICAgICAgICogfVxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKiBpbnRlcnNlY3RzOiB7XG4gICAgICAgICAqICB0eXBlOiBcIlBvaW50XCIsXG4gICAgICAgICAqICBjb29yZGluYXRlczogWyAwLjUsIDAuNSBdXG4gICAgICAgICAqIH1cbiAgICAgICAgICovXG4gICAgICAgIHR5cGU6IEdlb0pTT05PYmplY3QsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmFkaW86IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogKGZpZWxkOiBSYWRpb0ZpZWxkLCBwYXJlbnROYW1lKTogR3JhcGhRTFR5cGUgPT5cbiAgICAgICAgICBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9JbnB1dGAsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgfSksXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29udGFpbnNdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICByaWNoVGV4dDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMSlNPTixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogU2VsZWN0RmllbGQsIHBhcmVudE5hbWUpOiBHcmFwaFFMVHlwZSA9PlxuICAgICAgICAgIG5ldyBHcmFwaFFMRW51bVR5cGUoe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X0lucHV0YCxcbiAgICAgICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbi52YWx1ZSldOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgICB9KSxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbCwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWxdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHVwbG9hZDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4ub3BlcmF0b3JzLmVxdWFsaXR5Lm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIC8vIGFycmF5OiBuL2FcbiAgLy8gZ3JvdXA6IG4vYVxuICAvLyByb3c6IG4vYVxuICAvLyBjb2xsYXBzaWJsZTogbi9hXG4gIC8vIHRhYnM6IG4vYVxufVxuXG5jb25zdCBsaXN0T3BlcmF0b3JzID0gWydpbicsICdub3RfaW4nLCAnYWxsJ11cblxuY29uc3QgZ3FsVHlwZUNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMVHlwZT4gPSB7fVxuXG4vKipcbiAqIEluIEdyYXBoUUwsIHlvdSBjYW4gdXNlIFwid2hlcmVcIiBhcyBhbiBhcmd1bWVudCB0byBmaWx0ZXIgYSBjb2xsZWN0aW9uLiBFeGFtcGxlOlxuICogeyBQb3N0cyh3aGVyZTogeyB0aXRsZTogeyBlcXVhbHM6IFwiSGVsbG9cIiB9IH0pIHsgdGV4dCB9IH1cbiAqIFRoaXMgZnVuY3Rpb24gZGVmaW5lcyB0aGUgb3BlcmF0b3JzIGZvciBhIGZpZWxkJ3MgY29uZGl0aW9uIGluIHRoZSBcIndoZXJlXCIgYXJndW1lbnQgb2YgdGhlIGNvbGxlY3Rpb24gKGl0IHRodXMgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGZpZWxkKS5cbiAqIEZvciBleGFtcGxlLCBpbiB0aGUgZXhhbXBsZSBhYm92ZSwgaXQgd291bGQgY29udHJvbCB0aGF0XG4gKiAtIFwiZXF1YWxzXCIgaXMgYSB2YWxpZCBvcGVyYXRvciBmb3IgdGhlIFwidGl0bGVcIiBmaWVsZFxuICogLSB0aGUgYWNjZXB0ZWQgdHlwZSBvZiB0aGUgXCJlcXVhbHNcIiBhcmd1bWVudCBoYXMgdG8gYmUgYSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCBmb3Igd2hpY2ggdGhlaXIgdmFsaWQgb3BlcmF0b3JzIGluc2lkZSBhIFwid2hlcmVcIiBhcmd1bWVudCBpcyBiZWluZyBkZWZpbmVkXG4gKiBAcGFyYW0gcGFyZW50TmFtZSB0aGUgbmFtZSBvZiB0aGUgcGFyZW50IGZpZWxkIChpZiBhbnkpXG4gKiBAcmV0dXJucyBhbGwgdGhlIG9wZXJhdG9ycyAoaW5jbHVkaW5nIHRoZWlyIHR5cGVzKSB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIGNvbmRpdGlvbiBmb3IgYSBnaXZlbiBmaWVsZCBpbnNpZGUgYSB3aGVyZVxuICovXG5leHBvcnQgY29uc3Qgd2l0aE9wZXJhdG9ycyA9IChcbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuKTogR3JhcGhRTElucHV0T2JqZWN0VHlwZSA9PiB7XG4gIGlmICghZGVmYXVsdHM/LltmaWVsZC50eXBlXSkgdGhyb3cgbmV3IEVycm9yKGBFcnJvcjogJHtmaWVsZC50eXBlfSBoYXMgbm8gZGVmYXVsdHMgY29uZmlndXJlZC5gKVxuXG4gIGNvbnN0IG5hbWUgPSBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fb3BlcmF0b3JgXG5cbiAgLy8gR2V0IHRoZSBkZWZhdWx0IG9wZXJhdG9ycyBmb3IgdGhlIGZpZWxkIHR5cGUgd2hpY2ggYXJlIGhhcmQtY29kZWQgYWJvdmVcbiAgY29uc3QgZmllbGRPcGVyYXRvcnMgPSBbLi4uZGVmYXVsdHNbZmllbGQudHlwZV0ub3BlcmF0b3JzXVxuXG4gIGlmICghKCdyZXF1aXJlZCcgaW4gZmllbGQpIHx8ICFmaWVsZC5yZXF1aXJlZCkge1xuICAgIGZpZWxkT3BlcmF0b3JzLnB1c2goe1xuICAgICAgbmFtZTogJ2V4aXN0cycsXG4gICAgICB0eXBlOiBmaWVsZE9wZXJhdG9yc1swXS50eXBlLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgIG5hbWUsXG4gICAgZmllbGRzOiBmaWVsZE9wZXJhdG9ycy5yZWR1Y2UoKG9iamVjdFR5cGVGaWVsZHMsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAvLyBHZXQgdGhlIHR5cGUgb2YgdGhlIG9wZXJhdG9yLiBJdCBjYW4gYmUgZWl0aGVyIHN0YXRpYywgb3IgZHluYW1pYyAoPT4gYSBmdW5jdGlvbilcbiAgICAgIGxldCBncWxUeXBlOiBHcmFwaFFMVHlwZSA9XG4gICAgICAgIHR5cGVvZiBvcGVyYXRvci50eXBlID09PSAnZnVuY3Rpb24nID8gb3BlcmF0b3IudHlwZShmaWVsZCwgcGFyZW50TmFtZSkgOiBvcGVyYXRvci50eXBlXG5cbiAgICAgIC8vIEdyYXBoUUwgZG9lcyBub3QgYWxsb3cgdHlwZXMgd2l0aCBkdXBsaWNhdGUgbmFtZXMsIHNvIHdlIHVzZSB0aGlzIGNhY2hlIHRvIGF2b2lkIHRoYXQuXG4gICAgICAvLyBXaXRob3V0IHRoaXMsIHNlbGVjdCBhbmQgcmFkaW8gZmllbGRzIHdvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSwgYW5kIEdyYXBoUUwgd291bGQgdGhyb3cgYW4gZXJyb3JcbiAgICAgIC8vIFRoaXMgdXN1YWxseSBvbmx5IGhhcHBlbnMgaWYgYSBjdXN0b20gdHlwZSBpcyByZXR1cm5lZCBmcm9tIHRoZSBvcGVyYXRvci50eXBlIGZ1bmN0aW9uXG4gICAgICBpZiAodHlwZW9mIG9wZXJhdG9yLnR5cGUgPT09ICdmdW5jdGlvbicgJiYgJ25hbWUnIGluIGdxbFR5cGUpIHtcbiAgICAgICAgaWYgKGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdKSB7XG4gICAgICAgICAgZ3FsVHlwZSA9IGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3FsVHlwZUNhY2hlW2dxbFR5cGUubmFtZV0gPSBncWxUeXBlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGxpc3RPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IubmFtZSkpIHtcbiAgICAgICAgZ3FsVHlwZSA9IG5ldyBHcmFwaFFMTGlzdChncWxUeXBlKVxuICAgICAgfSBlbHNlIGlmIChvcGVyYXRvci5uYW1lID09PSAnZXhpc3RzJykge1xuICAgICAgICBncWxUeXBlID0gR3JhcGhRTEJvb2xlYW5cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqZWN0VHlwZUZpZWxkcyxcbiAgICAgICAgW29wZXJhdG9yLm5hbWVdOiB7XG4gICAgICAgICAgdHlwZTogZ3FsVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LCB7fSksXG4gIH0pXG59XG4iXSwibmFtZXMiOlsid2l0aE9wZXJhdG9ycyIsIkdlb0pTT05PYmplY3QiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwibmFtZSIsImZpZWxkcyIsImNvb3JkaW5hdGVzIiwidHlwZSIsIkdyYXBoUUxKU09OIiwiR3JhcGhRTFN0cmluZyIsImRlZmF1bHRzIiwiY2hlY2tib3giLCJvcGVyYXRvcnMiLCJlcXVhbGl0eSIsIm1hcCIsIm9wZXJhdG9yIiwiR3JhcGhRTEJvb2xlYW4iLCJjb2RlIiwicGFydGlhbCIsImRhdGUiLCJjb21wYXJpc29uIiwiRGF0ZVRpbWVSZXNvbHZlciIsImVtYWlsIiwiY29udGFpbnMiLCJFbWFpbEFkZHJlc3NSZXNvbHZlciIsImpzb24iLCJnZW9qc29uIiwibnVtYmVyIiwiZmllbGQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTEZsb2F0IiwicG9pbnQiLCJnZW8iLCJHcmFwaFFMTGlzdCIsInJhZGlvIiwicGFyZW50TmFtZSIsIkdyYXBoUUxFbnVtVHlwZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidmFsdWVzIiwib3B0aW9ucyIsInJlZHVjZSIsIm9wdGlvbiIsIm9wdGlvbklzT2JqZWN0IiwiZm9ybWF0TmFtZSIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJsaXN0T3BlcmF0b3JzIiwiZ3FsVHlwZUNhY2hlIiwiRXJyb3IiLCJmaWVsZE9wZXJhdG9ycyIsInJlcXVpcmVkIiwicHVzaCIsIm9iamVjdFR5cGVGaWVsZHMiLCJncWxUeXBlIiwiaW5jbHVkZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBMlFhQTs7O2VBQUFBOzs7eUJBalFOO2dDQUNnRDtpQ0FDM0I7dUJBU3NCOzBFQUNwQjttRUFDUDtrRUFDRDs7Ozs7O0FBa0J0QixNQUFNQyxnQkFBZ0IsSUFBSUMsK0JBQXNCLENBQUM7SUFDL0NDLE1BQU07SUFD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
|